Animación CUP DDS con CUP Cadena de entrada: (false and (74 >= 34)) xor 45 < 78 ;
(false and (74 >= 34)) xor 45 < 78 ; A
ALAL
A L L xor J
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J J ( L )
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J J ( L ) false J
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J J ( L ) false J C
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J J ( L ) false J C n1 >= n2
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J J ( L ) false J C n1 >= n2 J:=vfalse {: Simbolo s=new Simbolo(); s.valor=false; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 L and J false ( L ) J C n1 >= n2 L::=J:eval {: Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( L ) J C n1 >= n2 L::=J:eval {: Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( L ) J C n1 >= n2
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( L ) J C true C::=numero:n1 opmayori numero:n2 {:int v1=Integer.parseInt(n1); int v2=Integer.parseInt(n2); Simbolo s=new Simbolo(); s.valor=(v1 >= v2); RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( L ) J true J::=C:eval {: Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( L ) true L::=C:eval {: Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( true )
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J ( true ) J::=apertura_parentesis L:eval cierre_parentesis {: Simbolo s=new Simbolo(); s.valor=(eval.valor); RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and J true
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and true
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false and true L::=L:ev1 opand J:ev2 {: Simbolo s=new Simbolo(); s.valor=(ev1.valor && ev2.valor); RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( L ) n1 < n2 false
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( false ) n1 < n2
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C ( false ) n1 < n2 J::=apertura_parentesis L:eval cierre_parentesis {: Simbolo s=new Simbolo(); s.valor=(eval.valor); RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J J C false n1 < n2
(false and (74 >= 34)) xor 45 < 78 ; A L L xor J false C n1 < n2 L::=J:eval {: Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L false xor J C n1 < n2
(false and (74 >= 34)) xor 45 < 78 ; A L false xor J C n1 < n2
(false and (74 >= 34)) xor 45 < 78 ; A L false xor J C 45 < 78 C::=numero:n1 opmenor numero:n2 {: int v1=Integer.parseInt(n1); int v2=Integer.parseInt(n2); Simbolo s=new Simbolo(); s.valor=(v1 < v2); RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L false xor J C true
(false and (74 >= 34)) xor 45 < 78 ; A L false xor J true J::=C:eval {: Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L false xor true
(false and (74 >= 34)) xor 45 < 78 ; A L false xor true L::=L:ev1 opxor J:ev2 {: Simbolo s=new Simbolo(); s.valor=(ev1.valor ^ ev2.valor); RESULT = s; :}
(false and (74 >= 34)) xor 45 < 78 ; A L true
(false and (74 >= 34)) xor 45 < 78 ; A true A::=L:eval semicolon {: System.out.println("\n\nExpresion logica correcta. Valor final: "+ eval.valor +"\n\n"); :};
(false and (74 >= 34)) xor 45 < 78 ; APERTURA_PAR [(]FALSE [false] OPAND [and] APERTURA_PAR [(]NUMERO [74] OPMAYORI [>=] NUMERO [34]CIERRE_PAR [)]CIERRE_PAR [)] OPXOR [xor] NUMERO [45] OPMENOR [<] NUMERO [78] SEMICOLON [;] NUMERO [345] Expresion logica correcta. Valor final: true