Upload
malha
View
30
Download
0
Embed Size (px)
DESCRIPTION
TRADUCTORES DDS CON CUP. Ejemplo de prueba. (false and (74 >= 34)) xor 45 < 78 ;. (false and (74 >= 34)) xor 45 < 78 ;. A. (false and (74 >= 34)) xor 45 < 78 ;. A L. A::=L. (false and (74 >= 34)) xor 45 < 78 ;. A L L xor J. L::=L xor J. (false and (74 >= 34)) xor 45 < 78 ;. - PowerPoint PPT Presentation
Citation preview
TRADUCTORES DDS CON CUP
Ejemplo de prueba
(false and (74 >= 34)) xor 45 < 78 ;
(false and (74 >= 34)) xor 45 < 78 ;
A
(false and (74 >= 34)) xor 45 < 78 ;
AL
A::=L
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J
L::=L xor J
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C
L::=J
J::=C
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2
J::=( L )
C::=n1<n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 L and J
L::=L and J
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 L and J J ( L )
L::=J
J::=( L )
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 L and J J ( L ) false J
J::=false
L::=J
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 L and J J ( L ) false J
C
J::=C
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 L and J J ( L ) false J
C n1>=n2
C::=n1>=n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
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 ;
AL
L xor J J C ( L ) n1 < n2 false and J ( L ) J
C n1>=n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 false and J ( L ) J
C n1>=n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 false and J ( L ) J
C 74>=34
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 ;
AL
L xor J J C ( L ) n1 < n2 false and J ( L ) J
C true
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
L xor J J C ( L ) n1 < n2 false and J ( L ) true
L::=J:eval {:Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s;
:}
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 false and J ( true)
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
L xor J J C ( L ) n1 < n2 false and J true
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( L ) n1 < n2 false and true
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
L xor J J C ( L ) n1 < n2 false
(false and (74 >= 34)) xor 45 < 78 ;
AL
L xor J J C ( false ) n1 < n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
L xor J J C false n1 < n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
false xor J C n1 < n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
false xor J C n1 < n2
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
false xor J C true
(false and (74 >= 34)) xor 45 < 78 ;
AL
false xor J true J::=C:eval {:
Simbolo s=new Simbolo(); s.valor=eval.valor; RESULT = s;
:}
(false and (74 >= 34)) xor 45 < 78 ;
AL
false xor true
(false and (74 >= 34)) xor 45 < 78 ;
AL
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 ;
AL
true
(false and (74 >= 34)) xor 45 < 78 ;
Atrue
A::=L:eval semicolon {: System.out.println("\n\nExpresion logica correcta. Valor final: "+ eval.valor +"\n\n"); :};
(false and (74 >= 34)) xor 45 < 78 ;
RESULTADO
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