Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gramaticas Regulares
Gramaticas Regulares
Introduccin
La descripcin de un lenguaje en base a gramticas es importante ya que
permite analizar la estructura gramatical del lenguaje.
La descripcin de una gramtica se basa en los siguientes cuatro elementos:
Un conjunto finito de smbolos que forman las cadenas del lenguaje. Estos
smbolos se denominan smbolos terminales y al conjunto que los agrupa
Alfabeto de smbolos terminales.
Un conjunto finito de smbolos denominados smbolos no terminales que
actuan a modo de variables. Cada smbolo no terminal representa un
conjunto de cadenas que se derivan a partir de ese smbolo no terminal.
Un smbolo inicial, que ser un smbolo contenido en el conjunto de
smbolos no terminales y a partir del cual se comienzan a realizar las
derivaciones de la gramtica.
Un conjunto finito de producciones o reglas de reescritura que representan
la definicin recursiva de un lenguaje.
De manera informal se puede decir que derivar una gramtica consiste en
ir substituyendo los smbolos no terminales por el lado derecho de la regla de
reescritura en la que dichos smbolos no terminales aparecen en el lado izquierdo.
Cualquier derivacin de una gramtica se inicia con la derivacin del smbolo
inicial.
A modo de ejemplo inicial consideremos la siguiente gramtica, con smbolo
inicial S:
S xA
S yB
A xA
Ax
B yB
By
Una posible derivacin de la gramtica sera la siguiente:
AxA
Ax
S xA = S xxA = S xxx
Esta derivacin generara la cadena xxx.
Otra posible derivacin podra ser la siguiente:
ByB
By
S yB = S yyB = S yyy
que generara la cadena yyy
1
Gramticas Regulares
Las producciones de una gramtica regular se ajustan a la siguiente estructura:
El lado izquierdo de las reglas de reescritura contienen un nico smbolo no
terminal
El lado derecho de las reglas de reescritura contienen: un nico smbolo
terminal, un smbolo terminal seguido de un smbolo no terminal, o el
smbolo
De acuerdo a estas condiciones, las gramticas vistas en el apartado anterior
son gramticas regulares.
Dada una gramtica regular el lenguaje que genera es siempre un lenguaje
regular que puede representarse igualmente mediante un autmata finito o
mediante una expresin regular.
A continuacin mostramos ms ejemplos de gramticas regulares:
La siguiente gramtica regular:
S
2
S xS
S yS
S
genera el lenguaje formado por todas las cadenas que se pueden formar con
el alfabeto , esto es,
Dado el alfabeto = {x, y}, la siguiente gramtica regular, con smbolo
inicial S:
S xS
S yS
A yA
A xA
A
genera el lenguaje formado nicamente por dos cadenas, L(G) = {xx, xy}
Puesto que las gramticas regulares y los autmatas finitos reconocen ambos
los lenguajes regulares, en la siguiente seccin vamos a comprobar cmo, dada
una gramtica regular, se puede construir el autmata finito equivalente.
3
x
S
y
Figura 1: Autmata finito que reconoce el lenguaje
b) De la misma forma si consideramos la gramtica:
S xS
S yS
A yA
A xA
A
El autmata finito equivalente estar definido de la siguiente forma:
El alfabeto ser {x, y}
El conjunto de estados ser {S, A}
El estado inicial ser {S}
5
x
S
y
T