Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
Índice
3
Concepto de Gramá1ca Formal
Introducción (i)
• Producciones:
– Definición (Producción):
Sea S un alfabeto. Una producción es un par ordenado (x, y),
también representado por x::=y, tal que xÎå+ e yÎå*
– Definición (Derivación):
Sea S un alfabeto, y P un conjunto de producciones sobre å. Sean
v y w dos palabras de å*. Se dice que w deriva de v, o v produce
w, o v se reduce a w, y se presenta por v®*w si:
1. v=w
2. existe una secuencia finita de derivaciones directas
u0®u1
u1®u2
…
un-1®un
tales que u0=v y un=w.
• La longitud de una derivación v®*w es el número de derivaciones
directas en la secuencia.
• El operador ®+ se refiere a una derivación con longitud >0
Concepto de Gramática Formal
Producciones (v)
– Ejemplos:
• La longitud de u®*u es 0
• å={ C, N, 0, 1, 2}
• P={ N::=CN, N::=C, C::=0, C::=1, C::=2}
¿Longitud de N ®* 00?
N ® CN
CN ® CC
CC ® 0C N ®* 00 con longitud 4
0C ® 00
• ¿{ x | x Î å* y CCC ®* x y x es “irreducible”}?
• ¿{ x | x Î å* y N ®* x y x es “irreducible”}?
Concepto de Gramática Formal
Producciones (y vi)
– Propiedades de la derivación
• Gramá6ca Formal:
– Ejemplo: GramáXca del Castellano
La sintaxis del castellano se define mediante reglas:
1. Un oración consta de sujeto y predicado y termina con un punto.
2. Un sujeto es una frase nominal.
3. Una frase nominal es un grupo nominal seguido de un califica5vo (que
puede faltar)
4. etc…
Podemos usar producciones para representar estas reglas:
<oración>::=<sujeto> <predicado>.
<sujeto>::=<frase_nominal>
<frase_nominal>::=<grupo_nominal> <calificaXvo>
<frase_nominal>::=<grupo_nominal>
….
Concepto de Gramá1ca Formal
Gramá7ca Formal (ii)
S®Ab®b
S®Ab®aAbb®abb
S®Ab®aAbb® aaAbbb®aabbb
...
{x | S ®*x y x es “irreducible”} = {anbn+1 | n>=0}
Concepto de Gramática Formal
Gramática Formal (iv)
¿ {x | S ®* x y x es "irreducible"}?
– Ejemplos:
G1=({S, A), {a, b}, S, P)
P={S::=Ab, A::=aAb, A::=l}
– Ejemplos:
G=({S, A), {a, b}, S, P)
P={S::=Ab, A::=aAb | l}
Formas sentenciales: S, Ab, aaAbbb, aabbb, b
No lo son: a, aaAbb
Concepto de Gramá1ca Formal
Lenguaje asociado a una gramá7ca (ii)
– Definición (sentencia):
Una sentencia de G es una forma sentencial x tal que x Î ST*
– Ejemplos:
Þ L(G1)={anbn+1 | n³0}
Concepto de Gramá1ca Formal
Lenguaje asociado a una gramá7ca (v)
– Ejemplos:
Þ ¿L(G2)?
Concepto de Gramá1ca Formal
Lenguaje asociado a una gramá7ca (vi)
– Ejemplos:
Þ ¿L(G3)?
Concepto de Gramática Formal
Lenguaje asociado a una gramática (vii)
– Ejemplos:
Þ ¿L(G4)?
Concepto de Gramática Formal
Lenguaje asociado a una gramática (viii)
– Ejemplos:
– Ejemplos:
Þ ¿L(G6)?
Concepto de Gramá1ca Formal
Recursividad (i)
• Recursividad:
– Ejemplos:
– Ejemplos:
– Corolarios:
• Gramáticas Equivalentes:
– Ejemplos:
G1=({S}, {a, b}, S, {S::= aSb | ab })
G2=({A, B, C, E},{a, b}, A, P)
con P={ A::=aABC | abC
CB::=BC
bB::=bb
bC::=b
E::=b }
Þ ¿son G1 y G2 equivalentes?
Índice
35
Tipos de Gramá1cas
Jerarquía de Chomsky (i)
• Jerarquía de Chomsky:
G0
G1
G2
G3
• Gramá6cas de Tipo 0:
– Definición (GramáLcas de Lpo 0):
Las gramá6cas de 6po 0 son aquellas gramá\cas cuyas reglas de
producción \ene la forma:
xAy::=v con x, y, v Î S*, A Î SN
• Gramáticas de Tipo 1:
– Definición (Gramáticas de tipo 1):
Las gramáticas de tipo 1 son aquellas cuyas producciones tienen
una de las dos formas siguientes:
1. xAy::=xvy con x,y ÎS*, AÎSN, vÎS+
2. S::=l, siendo SÎSN el axioma
• Nota:
– Las producciones mantienen el contexto pero no pueden ser
compresoras (con la excepción de S::=l):
Þ S ® u1 ® u2 ®... ® un con 1£ |u1| £ |u2| £ ... £ |un|
(si no se utiliza la regla S::=l)
– La regla S::=l permite generar la palabra vacía.
Tipos de Gramáticas
Jerarquía de Chomsky – Gramáticas de tipo 1 (y ii)
• Gramá6cas de Tipo 2:
– Definición (GramáLcas de Lpo 2):
Las gramá6cas de 6po 2 son aquellas cuyas producciones \enen la
forma:
A::=v con v ÎS*, AÎSN
– Nota:
A::=l es una producción de Xpo 2.
Sin embargo, se puede demostrar que todo lenguaje generado por
una gramáXca de Xpo 2 puede ser generado por una gramáXca cuyas
producciones Xenen la forma:
A::=v con v ÎS+, AÎSN
S::=l siendo S el axioma de la gramáXca
Tipos de Gramáticas
Jerarquía de Chomsky – Gramáticas de tipo 2 (y ii)
• Gramáticas de Tipo 3:
– Definición (Gramáticas regulares normalizadas):
• Gramáticas lineales por la izquierda: todas aquellas cuyas
producciones tienen una de las siguientes formas:
A::=a
A::=Va (S, A, V Î SN, a Î ST, y S el axioma)
S::=l
• Gramáticas lineales por la derecha: todas aquellas cuyas
producciones tienen una de las siguientes formas:
A::=a
A::=aV (S, A, V Î SN, a Î ST, y S el axioma)
S::=l
• Una gramática es regular (o de tipo 3) si es lineal por la
derecha o lineal por la izquierda
Tipos de Gramáticas
Jerarquía de Chomsky – Gramáticas de tipo 3 (ii)
– Ejemplos:
47
Índice
48
Árboles de Derivación
Representación (i)
u0 = S ® u1 ® ... ® un= w
Árboles de Derivación
Representación (ii)
– Ejemplos:
G1= ({A, B, S}, {a, b}, S, P)
P={ S::=AB
A::= aA | a
B::= bB|b }
A B
a b b
Árboles de Derivación
Representación (vi)
– Ejemplos:
A®aABC®aabCBC®aabBC®aabbC®aabb
Árboles de Derivación
Representación (vii)
• A®aABC®aabCBC®aabBC®aabbC®aabb
A B C
a a b λ b λ
Árboles de Derivación
Representación (viii)
– Definición (ambigüedad):
Sea una gramática G. Una sentencia xÎL(G) es ambigua si puede
obtenerse por medio de varias derivaciones distintas
correspondientes a árboles de derivación diferentes
• Una gramática es ambigua si genera alguna sentencia ambigua
• Un lenguaje es inherentemente ambiguo si no existe una gramática
que la describe y que no sea ambigua
Árboles de Derivación
Ambigüedad (x)
– Ejemplo:
G1=( { E } , { -, *, i }, E , P )
P = { E::= E - E | E * E | i }
i-i*i
Árboles de Derivación
Ambigüedad (xi)
E E
9 6
E E
2 3
9 I - 2 I * 3 I
Árboles de Derivación
Ambigüedad (xii)
21
E E
7 3
E E
9 2
9 I - 2 I * 3 I
Árboles de Derivación
Ambigüedad (xiii)
i–i*i y i–i*i
– Notas:
• Existen lenguajes que son inherentemente ambiguos (que sólo se
pueden describir, por ejemplo, con gramáticas independientes del
contexto ambiguas).
• El hecho de que la gramática que describe un lenguaje sea ambigua
no implica necesariamente que el lenguaje sea inherentemente
ambiguo
Árboles de Derivación
Ambigüedad (xvi)
E::=E-E | I 9-4-3–2
PROBLEMA E
E E
5 1
E E E E
9 4 3 2
9 I - 4 I - 3 I - 2 I
Árboles de Derivación
Ambigüedad (xviii)
E
E::=E-i | i 9-4-3-2
0
Solución!
E i
2 2
E i
5 3
E i
9 4
9 I - 4 I - 3 I - 2 I
Árboles de Derivación
Ambigüedad (xix)
E T
T T F
F F
i - i * i
E® E - T® i - T® i - T * F ® i - F * F® i – i * F ® i – i * I
¿?
69
Modelos de Computación
Tema 3: Gramá+cas Formales