Está en la página 1de 4

UNIVERSIDAD NACIONAL DE LOJA

A.E.I.R.N.N.R.

NOMBRE: Verónica Soto


MODULO: Noveno “B”

GRAMATICAS REGULARES

En informática una gramática regular 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.

Dos gramáticas regulares que generan el mismo lenguaje regular se denominan equivalentes. 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:

1. A → a, donde A es un símbolo no-terminal en N y a uno terminal en Σ

2. A → aB, donde A y B pertenecen a N y a pertenece a Σ

3. A → ε, donde A pertenece a N.

Análogamente, en una gramática regular izquierda, las reglas son de la siguiente forma:

1. A → a, donde A es un símbolo no-terminal en N y a uno terminal en Σ

2. A → Ba, donde A y B pertenecen a N y a pertenece a Σ

3. A → ε, donde A pertenece a N.

Una definición equivalente evita la regla 1 (A → a) ya que es sustituible por:

A → aL
L→ε

en el caso de las gramáticas regulares derechas y por:

A → La
L→ε

en el caso de las izquierdas.

Algunos autores alternativamente no permiten el uso de la regla 3 suponiendo que la cadena vacía no
pertenece al lenguaje.

Un ejemplo de una gramática regular G con N = {S, A}, Σ = {a, b, c}, P se define mediante las siguientes
reglas:

S → aS
S → bA
A→ ε
A → cA

Donde S es el símbolo inicial. Esta gramática describe el mismo lenguaje expresado mediante la expresión
regular a*bc*.

Dada una gramática regular izquierda es posible convertirla, mediante un algoritmo en una derecha y
viceversa.
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 Gw2) 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 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.

Ejemplo
• 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

Descripción de las gramáticas

• Gramáticas Regulares (tipo 3 o G3): el conjunto de reglas es un subconjunto finito de (V )


[ (V ) ), es decir:
– El lado izquierdo consiste sólo de una variable.
– 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 cc A bc

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
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

BIBLIOGRAFIA:
Figueroa,J. Autómatas Finitos y Gramáticas Regulares
URL:http://www.google.com.ec/url?sa=t&source=web&cd=2&ved=0CBwQFjAB&url=http%3A%2F%
2Fwww.exa.unicen.edu.ar%2Fcatedras%2Fccomp1%2FApunte3.pdf&ei=sKPITNjZGML7lwf_uaz2Ag
&usg=AFQjCNFkSklgWSsaXGJphYn0lOJCBJwbpg. Consultado 27/Octubre/2010

GRAMATICAS REGULARES - EXPRESIONES REGULARES. Disponible en URL:


http://www.google.com.ec/url?sa=t&source=web&cd=4&ved=0CCQQFjAD&url=http%3A%2F%2Fww
w.ual.es%2F~jsagrado%2FWALF%2FArchivos%2FPracticas%2FUnidad%25204.pdf&ei=sKPITNjZG
ML7lwf_uaz2Ag&usg=AFQjCNEN-t7P7p9fX6fPBgg-xcsKQ4he7Q. Consultado 27/Octubre/2010

También podría gustarte