La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Animación del Traductor DDS con CUP

Presentaciones similares


Presentación del tema: "Animación del Traductor DDS con CUP"— Transcripción de la presentación:

1 Animación del Traductor DDS con CUP
Procesadores de Lenguajes Práctica 12 Optativa – Analizador Semántico

2 Gramática La gramática que se ha utilizado para esta animación ha sido la siguiente: A ::= L ; A J ::= ( L ) | L ; | true | false L ::= L and J | not ( L ) | L or J | C | L nand J | L nor C ::= numero ==numero | L xor J | numero != numero | L xnor J | numero < numero | J | numero > numero | numero <= numero | numero >= numero 24/03/2009 Procesadores de Lenguajes - Práctica 12 - Analizador Semántico

3 ( false and true ) xor 45 > 78 ;
Caso de Prueba La animación que se muestra en las siguientes diapositivas se trata del siguiente caso de prueba: ( false and true ) xor 45 > 78 ; Se ha elegido este caso de prueba con el fin de que el árbol que viene a continuación no se saliera de las transparencias y su visión fuera clara. Pero en la práctica se puede probar cualquier caso de prueba que sea soportado por la gramática. 24/03/2009 Procesadores de Lenguajes - Práctica 12 - Analizador Semántico

4 Árbol A ; L J L xor C J 45 > 78 L ) ( Se aplicó la reducción:
L ::= L and J J ::= false J ::= ( L ) C ::= numero > numero L ::= J J ::= true L ::= J A ::= L ; L ::= L xor J J ::= C L and J ( false and true ) xor 45 > 78 ; J true false 24/03/2009 Procesadores de Lenguajes - Práctica 12 - Analizador Semántico

5 Árbol + Acciones Semánticas
A.s = false A L.s = false xor false = false ; L J.s = false L.s = false J L xor C.val = 45>78= false C J.s = false J 45 > 78 L ) ( L.s = false and true = false L.s = false J.val = true L and J ( false and true ) xor 45 > 78 ; J.val = false J true false 24/03/2009 Procesadores de Lenguajes - Práctica 12 - Analizador Semántico

6 Explicación En la transparencia 4 podemos ver como se genera el árbol.
La diapositiva siguiente muestra ese mismo árbol pero con las acciones semánticas, lo que provoca que ese árbol tome sentido. Las acciones semánticas sirven para evaluar una expresión. En este caso se está evaluando una expresión booleana. En el árbol se puede ver como las acciones semánticas van de abajo hacia arriba. 24/03/2009 Procesadores de Lenguajes - Práctica 12 - Analizador Semántico

7 Explicación El árbol que contiene las acciones semánticas tiene diferentes atributos que son: *.s: significan que son atributos sintetizados. *.val: significan el valor que toma ese atributo cuando sube dicho valor de un nodo hoja. Las flechas indican el sentido en el que se van evaluando los datos y resolviendo el cálculo booleano de la expresión, hasta que el resultado llega a la raíz que es cuando se muestra por pantalla el valor final obtenido. 24/03/2009 Procesadores de Lenguajes - Práctica 12 - Analizador Semántico


Descargar ppt "Animación del Traductor DDS con CUP"

Presentaciones similares


Anuncios Google