Está en la página 1de 15

Anlisis Sintctico Ascendente

4.5 en adelante

Por desplazamiento y reduccin


La entrada se reduce al smbolo inicial Desplazando elementos de la entrada Llegar de las hojas hacia la raz

Procedimiento
A partir de la entrada
Se sustituye una subcadena
Adecuadamente elegida Que concuerde con un lado derecho

Por el no terminal del lado izquierdo


Trazando una derivacin inversa Por el lado derecho

Ejemplo
Gramtica S => aABe A => Abc | b B => d Entrada abbcde se reduce a S por: abbcde

Ejemplo
Gramtica S => aABe A => Abc | b B => d Entrada abbcde se reduce a S por: abbcde aAbcde

Ejemplo
Gramtica S => aABe A => Abc | b B => d Entrada abbcde se reduce a S por: abbcde aAbcde aAde Por qu no aAAcde?

Ejemplo
Gramtica S => aABe A => Abc | b B => d Entrada abbcde se reduce a S por: abbcde aAbcde aAde aABe

Ejemplo
Gramtica S => aABe A => Abc | b B => d Entrada abbcde se reduce a S por: abbcde aAbcde aAde aABe

Ejemplo
Gramtica S => aABe A => Abc | b B => d
Mangos

Entrada abbcde se reduce a S por: abbcde aAbcde aAde aABe

Mangos
Subcadena Concuerda con un lado derecho Se reduce al no terminal de la izquierda Avanza un paso en la derivacin inversa
De una derivacin derecha

Si la gramtica no es ambigua
Existe exactamente un mango

Volviendo al ejemplo
Gramtica S => aABe A => Abc | b B => d Es recursiva por la izquierda Puede derivar abbcde?

Volviendo al ejemplo
Gramtica S => aABe A => Abc | b B => d Es recursiva por la izquierda Puede derivar abbcde?
Solo por la derecha

Ejercicio
Programa -> Instruccin | { Rutina } Rutina -> Instruccin ; Instruccin | Instruccin ; Rutina Instruccin -> nil | Variable ++ | Variable -- | While Prueba do Programa Prueba -> Variable <> 0 | Variable = 0

Analizar Ascendentemente While v<>0 do { y++; x++; v--; }

Gramticas LR
Gramticas LR
Left to Right
de izquierda a derecha

Rightmost production
La produccin de ms a la derecha

Variaciones: SLR, LALR, LR(k)

Tercer proyecto
Compilador de programas while Generando script de assembler para debug Tomando en cuenta los macros Fecha de entrega 21-10-2006

También podría gustarte