Traductores DDS con CUP
Introducción Los siguientes pasos facilitarán el seguimiento de la animación: Primero se mostrará la expresión lógica que se va a analizar. Posteriormente se desarrollará dicha cadena en forma de árbol. A continuación se podrá observar como los atributos sintetizados se van transfiriendo en el árbol hasta llegar a la raíz y, por tanto, obteniendo la solución final. Este árbol está dividido en varias partes para una mayor visibilidad y comprensión, primero se analizará la parte izquierda y luego la derecha.
Cadena de prueba La expresión lógica que vamos usar para analizar el comportamiento de nuestro traductor es: (false and (74 >= 34)) xor 45 < 78 ;
Árbol completo El árbol que representa dicha expresión es el que se muestra a continuación, en las siguientes diapositivas se explicará su funcionamiento: A L L xor J C J num < 4578 ( L ) L J and J false ( L ) J C num >= 3474
Animación DDS J C num >= 3474 J ( L ) Num.valor=34Num.valor=78
Animación DDS J C num >= 3474 J ( L ) C.Valor = num.valor >= num.valor=true
Animación DDS J C num >= 3474 J ( L ) J.Valor = true
Animación DDS J C num >= 3474 J ( L ) L.valor = true
Animación DDS J C num >= 3474 J ( L ) J.valor = true
Animación DDS L J ( L ) LJ and J false J.valor = false
Animación DDS L J ( L ) LJ and J false L.valor = false
Animación DDS L J ( L ) LJ and J false L.valor =L.valor and J.valor= false
Animación DDS L J ( L ) LJ and J false J.valor = false
Animación DDS L J ( L ) LJ and J false L.valor = false
Animación DDS L L xor J C num < A Num.valor = 45 Num.valor = 78
Animación DDS L L xor J C num < A C.valor = num.valor<num.valor=true
Animación DDS L L xor J C num < A J.valor = true
Animación DDS L L xor J C num < A L.valor = L.valor xor J.valor = true
Animación DDS L L xor J C num < A A.valor = true