|
1.5. GRAMÁTICAS REGULARES
1.5.1. Gramáticas formales Gramática es un conjunto de reglas que estructuran la formación de un lenguaje. Una frase en español tendría las siguientes reglas gramaticales: < frase > ® < sujeto > < predicado > < punto >< sujeto > ® < sustantivo > < sustantivo > ® María <sustantivo > ® Juan < predicado > ® < verbo intransitivo > < predicado > ® < verbo transitivo > < objeto > < verbo intransitivo > ® patinar < verbo transitivo > ® golpear < verbo transitivo > ® quiere < objeto > < objeto > ® a < sustantivo > < punto > ® . Una gramática estará formada por los siguientes elementos
El conjunto de terminales, no terminales, símbolo de inicio y un conjunto finito de reglas de reescritura constituye lo que se denomina gramática estructurada por frases. Denotar que puede darse el caso de que haya varias reglas de reescritura que tengan el símbolo de inicio en su parte izquierda; esto es necesario para que una misma gramática represente patrones distintos de cadenas. Formalmente, una gramática está definida por la cuádrupla (V,T,S,R) donde:
En general los dos lados de las reglas de reescritura pueden ser combinaciones de terminales y no terminales, la parte izquierda siempre debe tener al menos un no terminal. El lado derecho puede tener la cadena vacía, la cual se denomina regla l . A partir de ahora vamos a representar los terminales con letras en minúscula y los no terminales con mayúsculas. La derivación de una cadena consiste en generar una cadena aplicando las reglas de la gramática. Se puede derivar si al comenzar con el símbolo de inicio, se puede producir esa cadena sustituyendo sucesivamente los patrones de la izquierda por las expresiones del lado derecho correspondiente, hasta que solo quedan terminales. Sea una gramática G cualquiera; si sus terminales son símbolos de un alfabeto S decimos que G es una gramática de S y las cadenas generadas por ella pertenecen a S* ; la gramática G del alfabeto S especifica un lenguaje y se representa por L(G).
Se llama gramática regular a aquella que en sus reglas de reescritura tiene las siguientes restricciones:
En el caso de no querer reglas con solo un terminal (b.2), estas se pueden sustituir por dos reglas de reescritura, una cuya parte derecha será siempre un terminal seguido de un no terminal, el cual no existía en la gramática original y la otra cuya parte izquierda es ese no terminal nuevo y la derecha es la cadena vacía. N X
Hay que aclarar dos conceptos: en primer lugar se trata de un autómata finito no determinista debido a que se están haciendo equivalencias con tripletas, y no con una función; en segundo lugar hay que tener en cuenta que pueden existir gramáticas no regulares que definan un lenguaje regular.
© 1999 Roberto de la Fuente López. Todos los derechos reservados Fecha de actualización: 15 de abril de 1999 |