SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Profundización y ejemplos sobre análisis sintáctico descendente predictivo, muestra el diagrama de transiciones que puede generarse a partir de la gramática.
Interfaces de Usuarios, Interacción Humano-Computador y Lenguajes de Programación
Profundización y ejemplos sobre análisis sintáctico descendente predictivo, muestra el diagrama de transiciones que puede generarse a partir de la gramática.
2.
Por desplazamiento y reducción <ul><li>La entrada se “reduce” al símbolo inicial </li></ul><ul><li>Desplazando elementos de la entrada </li></ul><ul><li>Llegar de las hojas hacia la raíz </li></ul>
3.
Procedimiento <ul><li>A partir de la entrada </li></ul><ul><ul><li>Se sustituye una subcadena </li></ul></ul><ul><ul><ul><li>Adecuadamente elegida </li></ul></ul></ul><ul><ul><ul><li>Que concuerde con un lado derecho </li></ul></ul></ul><ul><ul><li>Por el no terminal del lado izquierdo </li></ul></ul><ul><ul><ul><li>Trazando una derivación inversa </li></ul></ul></ul><ul><ul><ul><li>Por el lado derecho </li></ul></ul></ul>
4.
Ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Entrada “abbcde” se reduce a S por: </li></ul><ul><li>abbcde </li></ul>
5.
Ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Entrada “abbcde” se reduce a S por: </li></ul><ul><li>abbcde </li></ul><ul><li>a A bcde </li></ul>
6.
Ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Entrada “abbcde” se reduce a S por: </li></ul><ul><li>abbcde </li></ul><ul><li>a A bcde </li></ul><ul><li>a A de </li></ul><ul><li>¿Por qué no a AA cde ? </li></ul>
7.
Ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Entrada “abbcde” se reduce a S por: </li></ul><ul><li>abbcde </li></ul><ul><li>a A bcde </li></ul><ul><li>a A de </li></ul><ul><li>a AB e </li></ul>
8.
Ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Entrada “abbcde” se reduce a S por: </li></ul><ul><li>abbcde </li></ul><ul><li>a A bcde </li></ul><ul><li>a A de </li></ul><ul><li>a AB e </li></ul><ul><li>S </li></ul>
9.
Ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Entrada “abbcde” se reduce a S por: </li></ul><ul><li>abbcde </li></ul><ul><li>a A bcde </li></ul><ul><li>a A de </li></ul><ul><li>a AB e </li></ul><ul><li>S </li></ul>Mangos Mangos Mangos Mangos
10.
Mangos <ul><li>Subcadena </li></ul><ul><li>Concuerda con un lado derecho </li></ul><ul><li>Se reduce al no terminal de la izquierda </li></ul><ul><li>Avanza un paso en la derivación inversa </li></ul><ul><ul><li>De una derivación derecha </li></ul></ul><ul><li>Si la gramática no es ambigua </li></ul><ul><ul><li>Existe exactamente un mango </li></ul></ul>
11.
Volviendo al ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Es recursiva por la izquierda </li></ul><ul><li>¿Puede derivar abbcde? </li></ul>
12.
Volviendo al ejemplo <ul><li>Gramática </li></ul><ul><li>S => a AB e </li></ul><ul><li>A => A bc | b </li></ul><ul><li>B => d </li></ul><ul><li>Es recursiva por la izquierda </li></ul><ul><li>¿Puede derivar abbcde? </li></ul><ul><ul><li>Solo por la derecha </li></ul></ul>
14.
Gramáticas LR <ul><li>Gramáticas LR </li></ul><ul><ul><li>Left to Right </li></ul></ul><ul><ul><ul><li>de izquierda a derecha </li></ul></ul></ul><ul><ul><li>Rightmost production </li></ul></ul><ul><ul><ul><li>La producción de más a la derecha </li></ul></ul></ul><ul><li>Variaciones: SLR, LALR, LR(k) </li></ul>
15.
Tercer proyecto <ul><li>Compilador de programas while </li></ul><ul><li>Generando script de assembler para debug </li></ul><ul><li>Tomando en cuenta los macros </li></ul><ul><li>Fecha de entrega 21-10-2006 </li></ul>