stringtranslate.com

Gramática recursiva

En informática , una gramática se denomina informalmente gramática recursiva si contiene reglas de producción que son recursivas , lo que significa que expandir un no terminal de acuerdo con estas reglas puede eventualmente conducir a una cadena que incluya el mismo no terminal nuevamente. De lo contrario, se denomina gramática no recursiva . [1]

Por ejemplo, una gramática para un lenguaje libre de contexto se deja recursiva si existe un símbolo no terminal A que se puede pasar a través de las reglas de producción para producir una cadena con A (como el símbolo más a la izquierda). [2] [3] Todos los tipos de gramáticas en la jerarquía de Chomsky pueden ser recursivas y es la recursión la que permite la producción de conjuntos infinitos de palabras. [1]

Propiedades

Una gramática no recursiva sólo puede producir un lenguaje finito; y cada lenguaje finito puede ser producido por una gramática no recursiva. [1] Por ejemplo, una gramática de línea recta produce sólo una palabra.

Una gramática recursiva libre de contexto que no contiene reglas inútiles produce necesariamente un lenguaje infinito. Esta propiedad constituye la base de un algoritmo que puede comprobar de manera eficiente si una gramática libre de contexto produce un lenguaje finito o infinito. [4]

Referencias

  1. ^ abc Nederhof, Mark-Jan; Satta, Giorgio (2002), "Análisis de gramáticas no recursivas libres de contexto", Actas de la 40.ª reunión anual de la Asociación de Lingüística Computacional (ACL '02) , Stroudsburg, PA, EE. UU.: Asociación de Lingüística Computacional, págs. 112-119, doi : 10.3115/1073083.1073104.
  2. ^ Notas sobre teoría y análisis del lenguaje formal, James Power, Departamento de Ciencias de la Computación, Universidad Nacional de Irlanda, Maynooth Maynooth, Co. Kildare, Irlanda.
  3. ^ Moore, Robert C. (2000), "Eliminación de la recursión por la izquierda de las gramáticas libres de contexto", Actas de la 1.ª Conferencia del Capítulo norteamericano de la Asociación de Lingüística Computacional (NAACL 2000), Stroudsburg, PA, EE. UU.: Asociación de Lingüística Computacional, págs. 249-255.
  4. ^ Fleck, Arthur Charles (2001), Modelos formales de computación: los límites últimos de la computación, serie AMAST sobre computación, vol. 7, World Scientific, Teorema 6.3.1, pág. 309, ISBN 9789810245009.