140 likes | 259 Views
Traductores DDS con CUP. Ejemplo. Cadena de entrada : false or ( 1 >= 0 ) ;. Cadena de entrada : false or ( 1 >= 0 ) ;. A::= L:eL semicolon {: System.out.println("<br><br>Expresion logica correcta. Valor final: " + eL.getValor()); :};. Cadena de entrada : false or ( 1 >= 0 ) ;.
E N D
Traductores DDS con CUP Ejemplo
Cadena de entrada : false or ( 1 >= 0 ) ; A::= L:eL semicolon {: System.out.println("\n\nExpresion logica correcta. Valor final: " + eL.getValor()); :};
Cadena de entrada : false or ( 1 >= 0 ) ; L ::= L:eL opor J:eJ {:Simbolo s = new Simbolo(); s.setTipo(Simbolo.BOOLEANO); s.setValor(eL.getValor() || eJ.getValor()); RESULT = s; :}
Cadena de entrada : false or ( 1 >= 0 ) ; J ::= apertura_parentesis L:eL cierre_parentesis {: Simbolo s = new Simbolo(); s.setTipo(eL.getTipo()); s.setValor(eL.getValor()); RESULT = s; :}
Cadena de entrada : false or ( 1 >= 0 ) ; L:== J:eJ {: Simbolo s = new Simbolo(); s.setTipo(eJ.getTipo()); s.setValor(eJ.getValor()); RESULT = s; :}
Cadena de entrada : false or ( 1 >= 0 ) ; J:== C:eL {: Simbolo s = new Simbolo(); s.setTipo(eL.getTipo()); s.setValor(eL.getValor()); RESULT = s; :}
Cadena de entrada : false or ( 1 >= 0 ) ; L:== J:eJ {: Simbolo s = new Simbolo(); s.setTipo(eJ.getTipo()); s.setValor(eJ.getValor()); RESULT = s; :}
Cadena de entrada : false or ( 1 >= 0 ) ; C ::= numero:n1 opmayorigual numero:n2 {: Simbolo s = new Simbolo(); s.setTipo(Simbolo.NUMERO); int na = Integer.parseInt(n1); int nb = Integer.parseInt(n2); s.setValor(na >= nb); RESULT = s;:}
Cadena de entrada : false or ( 1 >= 0 ) ; J::= vfalse {: Simbolo s = new Simbolo(); s.setTipo(Simbolo.BOOLEANO); s.setValor(false); RESULT = s; :} FALSE
Cadena de entrada : false or ( 1 >= 0 ) ; TRUE FALSE
Cadena de entrada : false or ( 1 >= 0 ) ; TRUE FALSE
FALSE OR TRUE = TRUE Cadena de entrada : false or ( 1 >= 0 ) ; TRUE FALSE
FALSE OR TRUE = TRUE Resultado de la evaluación= TRUE TRUE FALSE