Documentos de Académico
Documentos de Profesional
Documentos de Cultura
As Intact I Co Ascendent e
As Intact I Co Ascendent e
4.5 en adelante
Procedimiento
A partir de la entrada
Se sustituye una subcadena
Adecuadamente elegida Que concuerde con un 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
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
Gramticas LR
Gramticas LR
Left to Right
de izquierda a derecha
Rightmost production
La produccin de ms a la derecha
Tercer proyecto
Compilador de programas while Generando script de assembler para debug Tomando en cuenta los macros Fecha de entrega 21-10-2006