Вы находитесь на странице: 1из 7

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

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 uv 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    |  |  abrevia las tres reglas
  
• 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 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 |  Ba|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 Lenguajes Máquinas que


los aceptan
Sin restricción Recursivamente Máquinas de Turing
(tipo 0) numerables
Sensitivas al Sensitivos al Autómatas lineales
contexto (tipo 1) contexto
Libres de contexto Libres de contexto Autómatas de pila
(tipo 2)
Regulares Regulares Autómatas finitos
(tipo 3) deterministas o no
deterministas

Descripción de las gramáticas

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 ó

Por: Catalina Malacatus Página 3


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

• 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

Por: Catalina Malacatus Página 4


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

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},  = {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, G, R, S) una gramática regular. Un AFN que reconoce el mismo lenguaje que G es el
autómata M = (K, SM, , s, F) definido por

(V  )  {Z} si existe alguna regla A  a (A variable y a símbolo terminal)


K=
(V  ) (variables) en caso contrario.

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)

El estado inicial del autómata es el símbolo inicial de la gramática.


{A | A   es una regla}  {Z} si Z  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 (A, b) = C; A y C son
variables, b es terminal.
– Las reglas A  b, en caso que haya, nos definen transiciones (A, b) = Z, donde Z es un
nuevo estado para el que no hay un símbolo no-terminal asociado.

Por: Catalina Malacatus Página 5


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

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 (A, b) = C define la regla A  bC.
• En caso de que el estado C en la transición (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.
– Q0  aQ1
– Q0  bQ0
– Q1  aQ2
– Q1  bQ0
– Q2  aQ3
– Q2  bQ0
– Q3  aQ3
– Q3  bQ3
– Q0  a
– Q0  b
– Q1  a
– Q1  b
– Q2  b

Por: Catalina Malacatus Página 6


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

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]

Por: Catalina Malacatus Página 7

Вам также может понравиться