Está en la página 1de 22

Motivacin

Definicin de Gramticas Formales


Tipos de Notacin

Las Gramticas Formales


Como definir un Lenguaje Formal

Universidad de Cantabria

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Esquema

Motivacin

Definicin de Gramticas Formales

Tipos de Notacin

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Problema

Dado un lenguaje L, se nos presenta el problema de


describirlo. Para resolverlo se pueden tomar dos caminos:
Dar una forma de generar todas las palabras del lenguaje.
Dar un algoritmo para demostrar que una palabra esta en
el lenguaje.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Problema

Dado un lenguaje L, se nos presenta el problema de


describirlo. Para resolverlo se pueden tomar dos caminos:
Dar una forma de generar todas las palabras del lenguaje.
Dar un algoritmo para demostrar que una palabra esta en
el lenguaje.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Diferencias entre los Mtodos

A simple vista, los dos mtodos no son equivalentes. Podemos


pensar por ejemplo en el lenguaje formado por los programas
escritos en java que devuelven para cualquier entrada Hola
Mundo.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Diferencias entre los Mtodos

Tambin tenemos la otra cara de la moneda, saber reconocer


no implica saber generar elementos del conjunto. Un ejemplo
lo daran el lenguaje definido por los libros en espaol.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

La Idea detrs de una Gramtica

Los lenguajes que vamos a tratar no son simples conjuntos de


palabras. Las palabras estn porque tienen una estructura, han
sido generadas por unas reglas.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Las Gramticas Formales


Definicin (Gramticas Formales)
Una gramtica formal es una cuaterna G = (V , , Q0 , P),
donde:
V es un conjunto finito llamado alfabeto de smbolos no
terminales o, simplemente, alfabeto de variables.
es otro conjunto finito, que verifica V = y se suele
denominar alfabeto de smbolos terminales.
Q0 V es una variable distinguida que se denomina
smbolo inicial.
P (V ) (V ) es un conjunto finito llamado
conjunto de producciones (o, simplemente, sistema de
reescritura).
Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Como Operar: Sistema de Transicin

Para poder definir la dinmica asociada a una gramtica,


necesitamos asociarle un sistema de transicin.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Como Operar: Sistema de Transicin


Definicin
Sea G = (V , , Q0 , P) una gramtica, definiremos el sistema
de transicin asociado (SG , G ) dado por las propiedades
siguientes:
El espacio de configuraciones ser dado por:
SG := (V ) .
Dadas dos configuraciones s1 , s2 SG , decimos que
s1 G s2 si se verifica la siguiente propiedad:
x, y , , SG = (V ) , tales que
s1 := x y , s2 := x y , (, ) P.
Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Lenguaje generado por una Gramtica

Definicin
Dada una gramtica G = (V , , Q0 , P) y su espacio de
configuraciones SG se define el lenguaje generado por una
gramtica al conjunto de configuraciones s1 tales que:
Q0 G s1 ,
adems s1 .

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Ejemplos
Ejemplo
Consideremos la gramtica: G = (V , , Q0 , P), donde
V := {Q0 }, := {a, b}, , P := {(Q0 , aQ0 ), (Q0 , )}.
El sistema de transicin tiene por configuraciones
S := {Q0 , a, b} y un ejemplo de una computacin sera:
aaQ0 bb aaaQ0 bb aaaaQ0 bb aaaabb = aaaabb.
Ntese que las dos primeras veces hemos usado la regla de
reescritura (Q0 , aQ0 ) y la ltima vez hemos usado (Q0 , ).

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Ejemplos

Ejemplo
Utilizando la misma gramtica podemos tambin estudiar el
lenguaje generado por la gramtica:
L = {a, aa, aaa, . . .}.
Para generar una palabra con n letras a seguidas simplemente
hacemos
Q0 aQ0 . . . |a .{z
. . a} Q0 |a .{z
. . a} .
n veces

n veces

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin

Por analoga con el sistema de transicin, se suelen usar la


notacin A 7 B en lugar de (A, B) P, para indicar una
produccin. Y, en el caso de tener ms de una produccin que
comience en el mismo objeto, se suele usar A 7 B | C, en
lugar de escribir A 7 B, A 7 C.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Mas Ejemplos
Ejemplo
Consideremos la gramtica: G = (V , , Q0 , P), donde
V := {Q0 }, := {a, b}, , P := {Q0 7 aAb, aA 7 aaAb|}.
Un ejemplo de una computacin sera:
Q0 7 aAb 7 aaAb 7 aab.
Curiosamente, el lenguaje especificado tambin puede ser
especificado por esta otra gramtica:
V := {Q0 }, := {a, b}, , P := {Q0 7 b|aA, A 7 aA|b}.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin BNF

Es un modelo de notacin que recuerda ms los manuales de


programacin. En l, se introducen los siguientes cambios:
Las variables X V se representan mediante hX i.
Los smbolos terminales (del alfabeto ) no son
modificados.
El smbolo asociado a las producciones 7 es
reemplazado por =.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Ejemplo de Notacin BNF


Ejemplo
La gramtica que genera el lenguaje
L = {, a, aa, aaa, . . .}
se puede describir de la siguiente manera
V = {hQi}, = {a, b},
donde las producciones seran:
hQi = ahQi
hQi = .

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin EBNF

Es una extensin de la notacin anterior. Bsicamente, aade


funcionalidad a la notacin BNF, permitiendo repeticiones o
diferentes opciones.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin EBNF
Estas son las principales cambios con respecto a la notacin
BNF,
Las variables X V no son modificadas.
Los smbolos terminales (del alfabeto ) se representan
entre comillas simples.
El smbolo asociado a las producciones 7 es remplazado
por :.
Se introducen nuevos smbolos para representar
repeticiones (ninguna, una o mas repeticiones) + (una
repeticin al menos).
? indica que la expresin puede ocurrir o no.

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin EBNF

Tambin tiene una representacin grfica


A:
a

Figura: Representacin A:aB

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin EBNF

B:
C

Figura: Representacin B:C*

Gramticas Formales

Motivacin
Definicin de Gramticas Formales
Tipos de Notacin

Notacin EBNF

D:
F
E

Figura: Representacin D:F | E

Gramticas Formales

También podría gustarte