Gramática Regular
Gramática Regular
Gramática Regular
Gramática
Una gramática G es un cuádruplo (V, , R, S) donde
– V es un alfabeto.
– , el conjunto de los símbolos terminales, es un subconjunto de V.
– R, el conjunto de reglas de transformación o de producción, es un subconjunto de V* ×
V*.
– S, el símbolo inicial, es un elemento de V .
Los elementos de V son llamados variables o símbolos no terminales.
Por lo general las reglas se escriben en lugar de (, ).
Aplicar la regla a una palabra uv produce la palabra uv, por lo que las reglas pueden ser vistas
como reglas de remplazo.
Definición: Decimos que la cadena w1 deriva en un paso a la cadena w2 (w1 G w2) si y solo si existen
cadenas x, y V* tales que w1 = xuy y w2 = xvy y además existe una regla u v en R. Si no hay lugar a
confusión, se acostumbra omitir el subíndice que indica la gramática G.
Definición: una cadena w V* es derivable a partir de la gramática G si y solo si existe una secuencia de
derivación iniciando en el símbolo inicial y terminando en la cadena
w: S = w1 w2 w3 wn = w. Escribimos G si deriva a en 0 o más pasos.
*
Definición: el lenguaje generado por una gramática G, L(G), es igual al conjunto de las palabras en * (es
decir, consisten de símbolos terminales) derivables a partir de G.
Una gramática describe las reglas sintácticas del lenguaje. Si una palabra no sigue las reglas, entonces no
pertenecen al lenguaje generado por la gramática.
Por: Catalina Malacatus Página 2
UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES
Ejemplo de Gramática
• G = (V, , R, S)
– V = {a, b, c, S, A, B}
– = {a, b, c}
– R: S AccA A BA | Ba|b|c
w1 = abcc L(G) y w2 = acb L(G)
Cadena Regla Derivación
S S AccA S AccA
AccA A BA BAccA
BAccA B a aAccA
aAccA A BA aBAccA
aBAccA B b abAccA
abAccA A abccA
abccA A abcc
Jerarquía de Chomsky
Gramáticas Regulares (tipo 3 o G3): es una gramática formal (N, Σ, P, S) que puede ser clasificada como
regular izquierda o regular derecha. Las gramáticas regulares sólo pueden generar a los lenguajes
regulares de manera similar a los autómatas finitos y las expresiones regulares. Toda gramática regular
es una gramática libre de contexto.
Una gramática regular derecha es aquella cuyas reglas de producción P son de la siguiente forma:
• A → a, Un símbolo terminal seguido de una variable ó
• A → aB, Sólo un símbolo terminal ó
• A → ε, La cadena vacía.
Análogamente, en una gramática regular izquierda, las reglas son de la siguiente forma:
• A → a, Un símbolo terminal seguido de una variable ó
• A → Ba, Sólo un símbolo terminal ó
• A → ε, La cadena vacía.
Resumiendo: El lado izquierdo consiste sólo de una variable, y el lado derecho consiste de:
Un símbolo terminal seguido de una variable ó
Sólo un símbolo terminal ó
La cadena vacía.
Ejemplo: A aB | a |
Gramáticas Libres de Contexto, GLC, (tipo 2 o G2): el conjunto de reglas es un subconjunto finito de (V
) V*, es decir:
El lado izquierdo consiste sólo de una variable.
No hay restricciones para el lado derecho.
Ejemplo: S aSb | ab |
Gramáticas Sensitivas al Contexto (tipo 1 o G1): el conjunto de reglas es un subconjunto finito de V+ × V+,
es decir, las reglas son de la forma A donde , , V* y A V , es decir, A es un símbolo
no terminal. Además, las reglas son no-contractivas, es decir, la longitud del lado izquierdo es menor o
igual a la longitud del lado derecho. Esta propiedad de no-contracción garantiza que un lenguaje
sensitivo al contexto no contiene .
Ejemplos: S abc | aAbc Ab bA Ac Bbcc
bB Bb aB aa | aaA
Gramáticas sin restricción (tipo 0 o G0): el conjunto de reglas es un subconjunto finito de V+ × V*, es
decir, no hay restricciones para las reglas, excepto que el lado izquierdo no es .
Ejemplos: S aSBC | aBC CB BC aB ab
bB bb bC bc cC ccA bc
Autómatas y gramáticas
El alfabeto del autómata consiste de los símbolos terminales de la gramática, es decir, M = G.
B cuando exista una regla A aB (a símbolo terminal y A, B variables)
(A,a) =
Z cuando exista una regla A a (a símbolo terminal y A variable)
Ejemplo
• Convertir una gramática regular a un autómata finito.
– S aA
– S bA
– A aB
– A bB
– Aa
– B aA
– B bA
Bibliografía: