Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GramsLibresContexto
GramsLibresContexto
uaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 1 / 66
Verano, 2011
Contenido
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes
1 Gramaticas Libres de Contexto formal de CFGs 2 Denicion 3 Derivaciones usando gramaticas a la izquierda y mas a la derecha 4 Derivaciones mas 5 El Lenguaje de la Gramatica
6 Sentential Forms
(INAOE)
Verano, 2011
2 / 66
Por lo que necsitamos una clase mas grande de lenguages Las Gramaticas Libres de Contexto (Context-Free Languages) o CFLs jugaron un papel central en lenguaje natural desde los 50s y en los compiladores desde los 60s Las Gramaticas Libres de Contexto forman la base de la sintaxis BNF
Son actualmente importantes para XML y sus DTDs
0n 10n Lpal . Al leer 0n el FA debe de entrar a un ciclo. Si quitamos el ciclo entonces llegamos a una contradiccion.
Pal ndromes
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 5 / 66
Denamos Lpal de forma inductiva. Base: , 0 y 1 son pal ndromes. Induccion : Si w es un pal 0w 0 y 1w 1. ndrome, tambien Ninguna otra cosa es pal ndrome.
Pal ndromes
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 6 / 66
P P P P P
0 1 0P 0 1P 1
sintactica.
P es en esta gramatica el s tambien mbolo inicial. 1 5 son producciones o reglas. La variable denida
tambien se llama la (parcialmente) en la produccion y la cadena de cero, 1 o mas cabeza de la produccion s mbolos terminales o variables a la derecha de la se llama el cuerpo de la produccion. produccion
Ejemplos
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 9 / 66
A = {P , P 0, P 1, P 0P 0, P 1P 1}.
Muchas veces se agrupan las producciones con la
pueden denir por la gramatica: Gregex = ({E }, {0, 1}, A, E ), donde A = {E 0, E 1, E E .E , E E + E , E E , E (E )}.
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 10 / 66
operadores son + y , y los argumentos son identicadores (strings) que empiezan con a o b en L((a + b )(a + b + 0 + 1) ). Las expresiones se denen por la gramatica: G = ({E , I }, T , P , E ) donde T = {+, .(, ), a, b , 0, 1} y P es el siguiente conjunto de producciones: 1)E I 2)E E + E 3)E E E 4)E (E ) 5)I a 6)I b 7)I Ia 8)I Ib 9)I I 0 10)I I 1
cuerpo a la cabeza para reconocrer si una cadena en el lenguaje denido por la gramatica. esta Ejemplo de una inferencia recursiva de la cadena: a (a + b 00). Cadenas Cabeza Del Leng. Cadenas de: usadas (i) a I 5 (ii) b I 6 (iii) b 0 I 9 (ii) (iv) b 00 I 9 (iii) (v) a E 1 (i) (vi) b 00 E 1 (iv) (vii) a + b 00 E 2 (v),(vi) (viii) (a + b 00) E 4 (vii) (ix) a (a + b 00) E 3 (v),(viii)
Verano, 2011 11 / 66
Derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 12 / 66
A V , {, } (V T ) y A P .
Entonces, escribimos: A G o si se
Cerradura de
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 13 / 66
. Lo que quiere decir es que usamos uno a mas pasos de derivacion. Ideas:
Base: Sea (V T ) , entronces (osea que
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 14 / 66
E a (a + b 00)
e Inferencia Derivacion
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 15 / 66
osea que si podemos inferir que una cadena de en el lenguaje de una s mbolos terminales w esta variable A entonces A w y al reves.
Nota 1: en cada paso podemos tener varios reglas de
exitosas de una cadena en particular, por ejemplo: de a (a + b 00). E E + E no nos lleva a la derivacion
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes
a la izquierda por siempre reemplaza la variable mas uno de los cuerpos de sus producciones. Derivacion mas a la derecha (rightmost derivation): a la derecha rm siempre re-emplaza la variable mas por uno de los cuerpos de sus producciones.
(INAOE)
Verano, 2011
16 / 66
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 17 / 66
anterior la podemos hacer como derivacion La derivacion a la izquierda: mas E lm E E lm I E lm a E lm a (E ) lm a (E + E ) lm a (I + E ) lm a (a + E ) lm a (a + I ) lm a (a + I 0) lm a (a + I 00) lm a (a + b 00) o simplemente E lm a (a + b 00)
Ejemplo (cont.)
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 18 / 66
la podemos hacer mas a la derecha: Por otro lado, tambien E rm E E rm E (E ) rm E (E + E ) rm E (E + I ) rm E (E + I 0) rm E (E + I 00) rm E (E + b 00) rm E (I + b 00) rm E (a + b 00) rm I (a + b 00) rm a (a + b 00) o simplemente E rm a (a + b 00).
Equivalencias
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 19 / 66
El Lenguaje de la Gramatica
El Lenguaje de la Gramatica
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 20 / 66
G es: L(G) = {w T : S G w }, osea el conjunto de cadenas sobre T derivadas del s mbolo inicial.
Si G es una CFG al L(G) se llama lenguaje libre de
El Lenguaje de la Gramatica
Prueba:
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 21 / 66
P , P 1 y P 0 son producciones, concluimos que P G w en todos los casos base. Induccion : Suponemos |w | 2. Como w = w R , tenemos que w = 0x 0 o w = 1x 1 y que x = x R . Si w = 0x 0 sabemos de la hipotesis inductiva que P x , entonces P 0P 0 0x 0 = w , entonces w L(Gpal ).
El caso para w = 1x 1 es similar.
El Lenguaje de la Gramatica
Pal ndrome
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 22 / 66
mostrar que w = w R .
Como w L(Gpal ), tenemos que P w . Lo que
sobre la longitud de . hacemos es induccion Base: La derivacion de se hace en un solo paso, por lo que w debe de ser , 0 o 1, todos pal ndromes.
El Lenguaje de la Gramatica
Pal ndrome
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 23 / 66
toma n + 1 pasos y que el enunciado es verdadero para n pasos. Osea, si P x en n pasos, x es pal ndrome. Por lo que debemos de tener para n + 1 pasos:
w = 0x 0 0P 0 P o w = 1x 1 1P 1 P donde la
toma n pasos. segunda derivacion Por la hipotesis inductiva, x es un pal ndrome, por lo que se completa la prueba.
Sentential Forms
Sentential Forms
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 24 / 66
izquierda (left-sentencial form), y si S rm decimos que es una forma de sentencia derecha (right-sentencial form).
L(G) son las formas de sentencia que estan en T .
Sentential Forms
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 25 / 66
denimos anteriormente, E (I + E ) es una forma de sentencia ya que: E E E E (E ) E (E + E ) E (I + E ). Esta derivacion no es ni mas a la izquierda ni mas a la derecha.
Por otro lado: a E es una forma de sentencia
Arboles de Parseo
Arboles de Parseo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 26 / 66
arbol de parseo (parse tree), el cual nos da la estructura (sintactica) de w . w puede ser un programa, un query en SQL, un documento en XML, etc. Los arboles de parseo son una representacion atlernativa de las derivaciones e inferencias recursivas. Pueden existir varios arboles de parseo para la misma cadena.
Idealmente nos gustar a que existiera solo uno, i.e., que
Arboles de Parseo
Sea G = (V , T , P , S ) una CFG. Un arbol es un arbol de parseo de G si: etiquetado con una variable en 1 Cada nodo interior esta V etiquetada con un s 2 Cada hoja esta mbolo en V T {}. Cada hoja etiquetada con es el unico hijo de su padre.
3
Si un nodo interior tiene etiqueta A y sus hijos (de izquierda a derecha) tienen etiquetas: X1 , X2 , . . . , Xk , entonces: A X1 , X2 , . . . , Xk P
Arboles de Parseo
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 28 / 66
Arboles de Parseo
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 29 / 66
Arboles de Parseo
de hojas de izquierda a derecha. Son en especial relevantes los arboles de parseo que:
1 2
Arboles de Parseo
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes
cuyo producto es: a (a + b 00) (podemos comparar este que hicimos antes). arbol con la derivacion
(INAOE) Verano, 2011 31 / 66
Arboles de Parseo
Equivalencias
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 32 / 66
en el lenguaje de A este
Aw A lm w y A rm w Existe un arbol de parseo de G con ra z A que produce
Arboles de Parseo
Equivalencias
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 33 / 66
Arboles de Parseo
De inferencias a arboles
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 34 / 66
en el lenguaje de una que podemos mostrar que w esta variable A. Entonces existe un arbol de parseo para G que produce w . Prueba: la hacemos por induccion en la longitud de la inferencia Base: Un paso. Debemos de usar la produccion A w. El arbol de parseo es entonces:
Arboles de Parseo
De inferencias a arboles
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 35 / 66
cuando Xi T , y cuando Xi V , entonces wi previamente inferida en Xi en a los mas n pasos. fue Por la hipotesis de inferencia existen i arboles de parseo con ra z Xi que producen wi . Entonces el siguiente en una arbol de parseo de G con ra z en A que produce w :
Arboles de Parseo
De inferencias a arboles
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 36 / 66
Arboles de Parseo
De arboles a derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
izquierda de un arbol de parseo. Ejemplo: De una gramatica podemos tener la siguiente E I Ib ab . derivacion: Entonces, para cualquier y existe uan derivacion E I Ib ab . Por ejemplo, supongamos que tenemos la derivacion: E E + E E + (E )
Entonces podemos escoger = E + ( y = ) y
Arboles de Parseo
De arboles a derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes
supongamos que existe un arbol de parseo cuya ra z tiene etiqueta A y que produce w . Entonces A lm w en G. Prueba: la hacemos por induccion en la altura del arbol. Base: La altura es 1, y el arbol debe de verse asi:
Por lo tanto A w P y A lm w .
(INAOE) Verano, 2011 38 / 66
Arboles de Parseo
De arboles a derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 39 / 66
Arboles de Parseo
De arboles a derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 40 / 66
Entonces w = w1 w2 . . . wk donde:
1 2
Si Xi T , entonces wi = Xi Si Xi V , entonces debe de ser la ra z de un subarbol inductiva que nos da wi , Xi lm wi en G por la hipotesis
Arboles de Parseo
De arboles a derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 41 / 66
Ahora mostramos A lm w1 w2 . . . wi Xi +1 Xi +2 . . . Xk ,
A lm w1 w2 . . . wi 1 Xi Xi +1 . . . Xk
Caso 1: Si Xi T , no hacemos nada ya que Xi = wi
Arboles de Parseo
De arboles a derivaciones
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 42 / 66
Xi lm 1 lm 2 . . . lm wi . Por la derivacion propiedad libre de contexto de las revivaciones podemos proceder como:
A lm
w 1 w 2 . . . w i 1 X i X i + 1 . . . X k lm w1 w2 . . . wi 1 1 Xi +1 . . . Xk lm w1 w2 . . . wi 1 2 Xi +1 . . . Xk lm ... w 1 w 2 . . . w i 1 w i X i + 1 . . . X k lm
Arboles de Parseo
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 43 / 66
Arboles de Parseo
Ejemplo (cont.)
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 44 / 66
mas a la izquierda: E lm I lm a que derivacion corresponde con la rama izquierda del arbol, y la mas a la izquierda: derivacion
E lm (E ) lm (E + E ) lm (I + E ) lm (a + E ) lm
Arboles de Parseo
Ejemplo (cont.)
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 45 / 66
completo empezamos con E lm E E y expandimos y la segunda E la primera E con la primera derivacion con la segunda derivacion:
E lm E E lm I E lm a E lm a (E ) lm
a (E + E ) lm a (I + E ) lm a (a + E ) lm a (a I ) lm a (a + I 0) lm a (a + I 00) lm a (a + b 00) De forma similar podemos convertir un arbol en una mas a la derecha. Osea, si existe un arbol derivacion de parseo con ra z etiquetada con la variable A que produce w T , entonces existe: A rm w .
Arboles de Parseo
w = w1 w2 . . . wk donde Xi wi .
El factor wi se puede extraer de A w viendo
de Xi . unicamente a la expansion
Por ejemplo: E a b + a y
E E
X1
X2
E
X3
+
X4
E
X5
Arboles de Parseo
Tenemos que: E E E E E + E I E + E
A G w y que w es una cadena de s mbolos en el terminales. Entonces podemos inferir que w esta lenguaje de la variable A. Prueba: la hacemos por induccion en la longitud de la A G w derivacion
Arboles de Parseo
A w en P . Por lo que podemos inferir una produccion en el lenguaje de A. que w esta Induccion : Suponemos A G w en n + 1 pasos. como: A G X1 X2 . . . Xk G w Escribimos la derivacion
Arboles de Parseo
Xi G wi puede usar a lo donde Xi G wi . Ademas n pasos. mas Ahora tenemos una produccuon A X1 X2 . . . Xk y sabemos por la hipotesis inductiva que podemos inferir en el lenguaje de Xi . que wi esta Por lo que podemos inferir que w1 w2 . . . wk esta en el lenguaje de A.
En la gramatica: EI E E +E E E E E (E ) ... la sentencia E + E E tiene dos derivaciones: E E + E E + E E y E E E E + E E lo cual nos da dos arboles de parseo:
Si tuvieramos numeros, e.g., 2,4 y 6, en lugar de las E s nos dar a 26 por un lado y 36 por el otro. La existencia de varias derivaciones no es gran problema, sino la existencia de varios arboles de parseo.
Por ejemplo, en la misma gramatica: ... Ia Ib I Ia I Ib I I0 I I1 la cadena a + b tiene varias derivaciones: E E +E I+E a+E a+I a+b E E +E E +I I +I I +b a+b sin embargo, sus arboles de parseo son los mismos y la estructura de a + b no es amb gua.
que G es amb gua si existe una cadena en T que de un arbol tenga mas de parseo. Si todas las cadenas en L(G) tienen a lo mas un arbol de parseo, se dice que G es no amb gua . Ejemplo: La cadena a + a a tiene dos arboles de parseo:
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
ambiguedad a mano
Las malas noticias: no hay un algoritmo para hacerlo Peores noticias: Algunos CFLs solo tienen CFGs
amb guas.
En la gramatica: E I |E + E |E E |(E ) y
No hay precedencia entre y + No existe un agrupamiento en las secuencias de operadores, e.g., E + E + E signica: E + (E + E ) o (E + E ) + E .
Verano, 2011
54 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
podemos introducir mas variables para forzar un Solucion: agrupamiento uniforme: Un factor (F ) es una expresion que no puede separarse por un o + Un termino que no puede (T ) es una expresion separarse por un +
El resto son expresiones que pueden separarse por o
Verano, 2011
55 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
La gramatica queda: I a|b |Ia|Ib |I 0|I 1 F I |(E ) T F |T F E T |E + T Con esto, el unico arbol de parseo de a + a a es:
Verano, 2011
56 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
Verano, 2011
57 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
Las razones por las cuales la gramatica nueva es no amb gua son:
Un factor es o un identicador o (E ) para una expresion
E
El unico arbol de parseo de una secuencia
Verano, 2011
58 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
t1 + t2 + . . . + tn1 + tn de terminos ti y solo se puede y parsear con t1 + t2 + . . . + tn1 como una expresion con tn como termino.
Verano, 2011 59 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
Verano, 2011
60 / 66
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE)
Verano, 2011
61 / 66
Derivaciones y ambiguedad
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 62 / 66
En general:
Se tienen un arbol de parseo pero varias derivaciones Muchas derivaciones mas a la izquierda implican
muchos arboles de parseo Muchas derivaciones mas a la derecha implican muchos arboles de parseo
Derivaciones y ambiguedad
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes
terminales w tiene dos arboles de parseo diferentes si y a la izquierda solo si w tiene dos derivaciones mas distintas desde el s mbolo inicial. Esquema de la prueba: (Solo si) Si dos arboles de parseo dieren, tienen un nodo con diferentes a la izquierda producciones. Las derivaciones mas correspondientes usaran sus derivaciones en estas dos distintas. producciones diferentes y por lo tanto seran (Si) Analizando como se construye un arbol de parseo mas a la izquierda, debe de a partir de una derivacion ser claro que dos derivaciones distintas producen dos arboles de parseo distintos.
(INAOE)
Verano, 2011
63 / 66
Ambiguedad Inherente
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 64 / 66
1} {an b m c m d n : n 1, m 1} Una gramatica para L es: S AB |C A aAb |ab B cBd |cd C aCd |aDd D bDc |bc
Ejemplo
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 65 / 66
Ejemplo (cont.)
Gramaticas Libres de Contexto Denicion formal de CFGs Derivaciones usando gramaticas Derivaciones a la mas izquierda y a la mas derecha El Lenguaje de la Gramatica Sentential Forms Arboles de Parseo Ambiguedad en Gramaticas y Lenguajes (INAOE) Verano, 2011 66 / 66
S lm AB lm aAbB lm aabbB lm aabbcBd lm aabbccdd y S lm C lm aCd lm aabDdd lm aabbccdd Se puede mostrar que todas las gramaticas para L se comportan como la anterior. L es inherentemente amb guo.