La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

T RADUCTORES EDT CON ANTLR. CASO DE PRUEBA EDT CON ANTLR A continuación realizaremos una representación del árbol generado para la siguiente operación.

Presentaciones similares


Presentación del tema: "T RADUCTORES EDT CON ANTLR. CASO DE PRUEBA EDT CON ANTLR A continuación realizaremos una representación del árbol generado para la siguiente operación."— Transcripción de la presentación:

1 T RADUCTORES EDT CON ANTLR

2 CASO DE PRUEBA EDT CON ANTLR A continuación realizaremos una representación del árbol generado para la siguiente operación aritmética: 345+(3*46-(34+67)+333)*2;

3 f returns [int fresul=0]: num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

4 e1 [int n1] returns [int resultado=0] : OPSUMA t{$resultado=$n1+$t.valor;} n=e1[$resultado]{$resultado=n;}

5 f returns [int fresul=0]: '(' r=e{$fresul=r;} ')'

6 f returns [int fresul=0]: num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

7 t1 [int n1] returns [int resultado=0] : OPMULT f{$resultado=$n1*$f.fresul;} n=t1[$resultado]{$resultado=n;}

8 f returns [int fresul=0]: num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

9 e1 [int n1] returns [int resultado=0] : OPRESTA t{$resultado=$n1-$t.valor;} n=e1[$resultado]{$resultado=n;}

10 f returns [int fresul=0]: '(' r=e{$fresul=r;} ')'

11 f returns [int fresul=0]: num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

12 e1 [int n1] returns [int resultado=0] : OPSUMA t{$resultado=$n1+$t.valor;} n=e1[$resultado]{$resultado=n;}

13 f returns [int fresul=0]:num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

14 f returns [int fresul=0]: '(' r=e{$fresul=r;} ')'

15 e1 [int n1] returns [int resultado=0] : OPSUMA t{$resultado=$n1+$t.valor;} n=e1[$resultado]{$resultado=n;}

16 f returns [int fresul=0]: num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

17 f returns [int fresul=0]: '(' r=e{$fresul=r;} ')'

18 t1 [int n1] returns [int resultado=0] : OPMULT f{$resultado=$n1*$f.fresul;} n=t1[$resultado]{$resultado=n;}

19 f returns [int fresul=0]: num=NUMERO {int v=Integer.parseInt($num.text); $fresul=v;};

20 a: e SEMICOLON { System.out.println("\n\nReconocida expresion aritmetica. Valor final: "+$e.resultado); } a

21 a : ;


Descargar ppt "T RADUCTORES EDT CON ANTLR. CASO DE PRUEBA EDT CON ANTLR A continuación realizaremos una representación del árbol generado para la siguiente operación."

Presentaciones similares


Anuncios Google