Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porChe Roble Modificado hace 9 años
1
T RADUCTORES DDS CON CUP Práctica Optativa 12
2
CASO DE PRUEBA DDS CON CUP A continuación realizaremos una representación del árbol generado para la siguiente expresión lógica: (false and (74 >= 34)) xor 45 < 78 ;
3
A Comenzamos por el axioma:
4
A := L
5
L := L xor J
6
J := C
7
C := numero opmenor numero
8
L := J
9
J := apertura_parentesis L cierre_parentesis
10
L := L and J
11
J := apertura_parentesis L cierre_parentesis
12
L := J
13
J := C
14
C := numero opmayori numero
15
L := J
16
J := vfalse
17
{: Simbolo s=new Simbolo(); s.valor=false; RESULT = s; :} Evaluación de la expresión lógica mediante análisis ascendente del árbol sintáctico:
18
L::=J:j {: Simbolo s=new Simbolo(); s.valor=j.valor; RESULT = s; :}
20
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; :}
21
J::=C:c {: Simbolo s=new Simbolo(); s.valor=c.valor; RESULT = s; :}
22
L::=J:j {: Simbolo s=new Simbolo(); s.valor=j.valor; RESULT = s; :}
23
J::=apertura_parentesis L:l cierre_parentesis {: Simbolo s=new Simbolo(); s.valor=l.valor; RESULT = s; :}
25
L::=L:l opand J:j {: Simbolo s=new Simbolo(); s.valor=(l.valor && j.valor); RESULT = s; :}
26
J::=apertura_parentesis L:l cierre_parentesis {: Simbolo s=new Simbolo(); s.valor=l.valor; RESULT = s; :}
27
L::=J:j {: Simbolo s=new Simbolo(); s.valor=j.valor; RESULT = s; :}
29
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; :}
30
J ::= C:c {: Simbolo s=new Simbolo(); s.valor=c.valor; RESULT = s; :}
31
L ::= L:l opxor J:j {: Simbolo s=new Simbolo(); s.valor=(l.valor != j.valor); RESULT = s; :}
33
A::=L:l semicolon {: System.out.println("\n\nExpresion logica correcta. Valor final: "+ l.valor +"\n\n"); :}; Resultado producido por la expresió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] Expresión lógica correcta. Valor final: true
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.