38
Práctica Optativa 11 Práctica Optativa 11 Procesadores de los Lenguajes 2010/2011 Traductor DDS con CUP

Práctica Optativa 11

  • Upload
    rio

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

Práctica Optativa 11. Procesadores de los Lenguajes 2010/2011 Traductor DDS con CUP. Traductor DDS con CUP. Se va a mostrar el árbol sintáctico y el paso de los atributos para el traductor DDS con CUP que se nos presenta en la práctica. La cadena de entrada usada es la proporcionada también: - PowerPoint PPT Presentation

Citation preview

Page 1: Práctica Optativa 11

Práctica Optativa 11Práctica Optativa 11

Procesadores de los Lenguajes 2010/2011Traductor DDS con CUP

Page 2: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUPSe va a mostrar el árbol

sintáctico y el paso de los atributos para el traductor DDS con CUP que se nos presenta en la práctica.

La cadena de entrada usada es la proporcionada también:(false and (74 >= 34)) xor 45 < 78 ;

345 > 678 nand (false xnor 12 == 34) ;

Page 3: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUPLa cadena a reconocer es la siguiente:

(false and (74 >= 34)) xor 45 < 78 ; 345 > 678 nand (false xnor 12 == 34) ;

Se empieza a generar el árbol sintáctico como se ha hecho hasta el momento y se obtiene el árbol que se puede observar en la siguiente diapositiva.

Los nodos poseen un atributo donde almacenan el valor necesario y se trata del medio necesario para transmitir información a otros nodos.

Las diapositivas no se van a centrar en como construir el árbol sintáctico si no en como se traspasan los atributos mientras se crea dicho árbol.

Page 4: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Árbol sintáctico:

Page 5: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Al leer el token false, el terminal guarda en su atributo el valor false y lo transmite a su nodo padre, J.

Page 6: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

En este paso, el atributo de J es transmitido a su nodo padre L.

Page 7: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

En este punto, L transmite su atributo a su nodo padre L.El nodo padre necesita el valor del atributo de su nodo hijo J, por lo que tiene que esperar a que se obtenga ese valor.

Page 8: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUPEl terminal NUMERO, reconoce el número 34 y lo transmite a su nodo padre.Este tiene que esperar a tener la información de sus otros hijos.

Page 9: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUPEl terminal NUMERO, reconoce el número 74 y lo transmite a su nodo padre.El nodo C, al tener toda la información necesaria, guardará en su atributo la comparación correspondiente.

Page 10: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUPEn este caso el nodo C, realiza la operación: 34>=74 guardando en su atributo el valor correspondiente (false) y transmitiendolo a su nodo padre J.

Page 11: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Se puede observar como el nodo J simplemente se encarga de guardar enviar a su nodo padre L, el valor que recibe de su nodo hijo C.

Page 12: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Como los paréntesis no suponen ninguna operación, simplemente el nodo L transmite el valor de su atributo a su nodo padre J.

Page 13: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

El nodo J, transmite el valor a su nodo padre L. Éste, al tener los valores necesarios al fin, puede realizar la operación oportuna como se verá en la siguiente diapositiva.

Page 14: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Podemos observar como L guarda el valor correspondiente a la operación: (false and false) obteniéndose el valor false y enviándoselo a su nodo padre L.

Page 15: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

L al recibir, el valor de su nodo hijo L, lo transmite a su nodo padre L como ha ocurrido en casos anteriores.

Page 16: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Como hemos visto en casos anteriores, el nodo hijo L le transmite el valor de su atributo a su nodo padre aunque este debe esperar a tener el valor de su otro hijo para poder hallar el valor de su atributo.

Page 17: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

En terminal NUMERO, reconoce el número 45 y lo se lo pasa a un nivel superior del árbol.

Page 18: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

El terminal NUMERO reconoce el número 78 y lo transmite al no terminal C que ya puede realizar la operación oportuna y almacenarla como atributo.

Page 19: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Se realiza la operación: 45<78 dando como resultado true, almacenándolo en su atributo y transmitiéndolo a su nodo padre J.

Page 20: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

El no terminal J, al recibir el valor de C, transmite al nodo padre L. Éste ya tiene los dos valores necesarios para operar por lo que en el siguiente paso podrá hallar el valor que deberá almacenar su atributo.

Page 21: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

El no terminal L ya puede obtener el valor de su atributo realizando la operación: false xor true, dando como resultado true.Este valor se transmite al nodo padre que coincide con el axioma donde se debe imprimir el valor resultante.

Page 22: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUPAl encontrarnos en el axioma, el valor que recibe no debe ser transmitido a ningún lugar si no mostrado por pantalla.Como se ha obtenido el valor true, se muestra por pantalla y se sigue recorriendo el árbol.

Page 23: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Como ya se ha visto el funcionamiento para el primer no terminal A, posteriormente se va a representar el funcionamiento sin necesidad de explicar cada paso.

Page 24: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 25: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 26: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 27: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 28: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 29: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 30: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 31: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 32: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 33: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 34: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 35: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 36: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Page 37: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP

Al final, al llegar al segundo axioma se muestra por pantalla el segundo valor requerido.

Page 38: Práctica Optativa 11

Traductor DDS con CUPTraductor DDS con CUP