INGENIERIA EN SISTEMAS

Unidad: Lenguajes Formales










Tema: "GRAMÁTICAS REGULARES”
Estudiante: Catalina Malacatus

LOJA -ECUADOR
2010 - 2011

UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES

Por: Catalina Malacatus Página 2



Gramática
Una gramática G es un cuádruplo (V, E, R, S) donde
– V es un alfabeto.
– E, 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 ÷ E.
Los elementos de V ÷ E son llamados variables o símbolos no terminales.
Por lo general las reglas se escriben o ÷ | en lugar de (o, |).
Aplicar la regla o ÷ | a una palabra uov produce la palabra u|v, por lo que las reglas pueden ser vistas
como reglas de remplazo.

Explicación de los elementos de una gramática
• Símbolos terminales: son elementos del alfabeto que no se pueden transformar, por eso se
llaman terminales. Normalmente se denotan por letras minúsculas.
• Variables o símbolos no terminales: son elementos auxiliares que permiten poner restricciones
sintácticas a un lenguaje. Las variables sí se pueden transformar, utilizando las reglas, en una
cadena de variables y/o terminales. Por lo general se denotan por letras mayúsculas o por la
notación <variable>.
• Reglas: permiten reemplazar variables para generar oraciones válidas de un lenguaje. Puede
haber varias reglas para una misma variable, en este caso y para ahorrar espacio, las distintas
opciones se colocan en una sola regla con los distintos reemplazos separados por |.
• Por ejemplo o ÷ | | ¸ | o abrevia las tres reglas
o ÷ | o ÷ ¸ o ÷ o
• Símbolo inicial: es el símbolo a partir del cual se generan todas las palabras válidas.


Lenguaje generado por una gramática

Definición: Decimos que la cadena w
1
deriva en un paso a la cadena w
2
(w
1
¬
G
w
2
) si y solo si existen
cadenas x, y e V
*
tales que w
1
= xuy y w
2
= 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 e 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 = w
1
¬ w
2
¬ w
3
¬ . ¬ w
n
= w. Escribimos si o 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 E
*
(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.
| o
*

G
¬
UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES

Por: Catalina Malacatus Página 3



Ejemplo de Gramática
• G = (V, E, R, S)
– V = {a, b, c, S, A, B}
– E = {a, b, c}
– R: S ÷ AccA A ÷ BA | ì B ÷ a | b | c
w
1
= abcc e L(G) y w
2
= acb e 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














Descripción de las gramáticas

Gramáticas Regulares (tipo 3 o G
3
): 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 ó
Gramáticas Lenguajes Máquinas que
los aceptan
Sin restricción
(tipo 0)
Recursivamente
numerables
Máquinas de Turing
Sensitivas al
contexto (tipo 1)
Sensitivos al
contexto
Autómatas lineales
Libres de contexto
(tipo 2)
Libres de contexto Autómatas de pila
Regulares
(tipo 3)
Regulares Autómatas finitos
deterministas o no
deterministas


UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES

Por: Catalina Malacatus Página 4



• 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 G
2
): el conjunto de reglas es un subconjunto finito de (V ÷
E) × 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 G
1
): el conjunto de reglas es un subconjunto finito de V
+
× V
+
,
es decir, las reglas son de la forma oA| ÷ oI| donde o, |, I e V
*
y A e V ÷ E, 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 G
0
): 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



UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES

Por: Catalina Malacatus Página 5



Autómatas y gramáticas

Decimos que una gramática regular G es equivalente a un autómata M (G ~ M) si el lenguaje reconocido
por el autómata es igual al lenguaje generado por la gramática, es decir, si L(G) = L(M).
Ejemplo:
Gramática G con V = {a, b, S, A}, E = {a, b}, variables = {S, A}, el símbolo inicial es S y las reglas de
producción son S ÷ aS | aA A ÷ bA | b

G y M son equivalentes, ambos reconocen a
+
b
+
.


Conversión de gramáticas regulares a autómatas finitos
Sea G = (V, E
G
, R, S) una gramática regular. Un AFN que reconoce el mismo lenguaje que G es el
autómata M = (K, S
M
, o, s, F) definido por

(V ÷ E) {Z} si existe alguna regla A ÷ a (A variable y a símbolo terminal)
K =
(V ÷ E) (variables) en caso contrario.

El alfabeto del autómata consiste de los símbolos terminales de la gramática, es decir, E
M
= E
G
.
B cuando exista una regla A ÷ aB (a símbolo terminal y A, B variables)
o(A,a) =
Z cuando exista una regla A ÷ a (a símbolo terminal y A variable)

El estado inicial del autómata es el símbolo inicial de la gramática.
{A | A ÷ ì es una regla} {Z} si Z e K
F =
{A | A ÷ ì es una regla} en caso contrario

Conversión de gramáticas regulares
• En palabras:
– Asociar a los símbolos no terminales (variables) de la gramática los estados del
autómata.
– Cada regla A ÷ bC de la gramática nos define una transición o(A, b) = C; A y C son
variables, b es terminal.
– Las reglas A ÷ b, en caso que haya, nos definen transiciones o(A, b) = Z, donde Z es un
nuevo estado para el que no hay un símbolo no-terminal asociado.

UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES

Por: Catalina Malacatus Página 6




Ejemplo
• Convertir una gramática regular a un autómata finito.
– S ÷ aA
– S ÷ bA
– A ÷ aB
– A ÷ bB
– A ÷ a
– B ÷ aA
– B ÷ bA



Conversión de autómatas finitos a gramáticas regulares
• Asociar a los estados del autómata los símbolos no terminales de la gramática.
• El símbolo inicial de la gramática corresponde al estado inicial del autómata.
• La transición o(A, b) = C define la regla A ÷ bC.
• En caso de que el estado C en la transición o(A, b) = C sea un estado final, entonces añadimos la
regla A ÷ b, además de la regla A ÷ bC, ya incluida en el paso anterior.
Ejemplo
• Convertir un autómata finito a una gramática regular.
– Q
0
÷ aQ
1

– Q
0
÷ bQ
0

– Q
1
÷ aQ
2

– Q
1
÷ bQ
0

– Q
2
÷ aQ
3

– Q
2
÷ bQ
0

– Q
3
÷ aQ
3

– Q
3
÷ bQ
3

– Q
0
÷ a


– Q
0
÷ b


– Q
1
÷ a


– Q
1
÷ b


– Q
2
÷ b








UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGÍA LAS INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES

Por: Catalina Malacatus Página 7




Bibliografía:

DICLIB, Gramática regular, [en línea], véase en: http://www.diclib.com/cgi-
bin/d1.cgi?l=es&base=es_wiki_10&page=showid&id=15049 [Consultado: Lun
25/Oct/2010]

RESUMENESUNED, Lenguajes Regulares, [en línea], véase en:
http://resumenesuned.wordpress. com/2009/09/14/tema-1-lenguajes-regulares/
[Consultado: Lun 25/Oct/2010]

CORONA Franco, Gramática, [en línea], véase en: http://www.google.com.ec/url?q=
http://www.rogeliodavila.com/teordelen/tlnotes/doctorcorona/Gramaticas.ppt&sa=U&
ei=1cLITMqjJ8SAlAfG1tT2Ag&ved=0CBYQFjAAOAo&usg=AFQjCNGRZQ7LrNUlrSNJXqHk-
wRN63K2kA [Consultado: Lun 25/Oct/2010]

Sign up to vote on this title
UsefulNot useful