470 likes | 585 Views
TRADUCTORES EDT CON ANTLR. 345+(3*46-(34+67)+333)*2;. a e ; a t e1 f t1 + t e1
E N D
345+(3*46-(34+67)+333)*2; a e ; a t e1 f t1 + t e1 345 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a t e1 f t1 + t e1 345 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a t e1 345 t1 + t e1 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;t1[int n2] returns [int v=0]:{$v=$n2;}; a e ; a t e1 345t1+ t e1 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;t returns [int result=0]: n=f {$result=$n.res;} t1[$n.res] {$result=$t1.v;} a e ; a t e1 345+ t e1 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; e returns [int val=0]: n=t {$val=$n.result;} a e ; a 345 e1 + t e1 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; A e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 f t1 - t e1 3* f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;t returns [int result=0]: n=f {$result=$n.res;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 3 t1 - t e1 * f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 t1 [3] - t e1 * f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 t1 [3]- t e1 * f t1 f t1 + t e1 46( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;t1[int n2] returns [int v=0]: OPMULT n1=f {$v=$n2*$n1.res;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 t1 - t e1 *46 t1[3] f t1 + t e1 ( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;t returns [int result=0]: n=f {$result=$n.res;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 t e1 2 138- t e1 f t1 + t e1 ( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 138 e1 2 - t e1 f t1 + t e1 ( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2;f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 t e1 333 f t1 + t e1 34 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 t e1 333 34 t1 + t e1 f t1 67
345+(3*46-(34+67)+333)*2; t1[int n2] returns [int v=0]:{$v=$n2;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 t e1 333 [34] t1 + t e1 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 34 e1 333 + t e1 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 [34]e1 333 + t e1 f t1 67
345+(3*46-(34+67)+333)*2; f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 [34]e1 333 + t e1 f t1 67
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 [34]e1 333 + t e1 67 t1
345+(3*46-(34+67)+333)*2; t returns [int result=0]: n=f {$result=$n.res;} t1[$n.res] {$result=$t1.v;}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 [34]e1 333 + t e1 [67]t1
345+(3*46-(34+67)+333)*2; e1[int n2] returns [int v=0]: OPSUMA n1=t {$v=$n2+$n1.result;} num=e1[$v] {$v=$num.v;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 e1 333 + 67 e1[34]
345+(3*46-(34+67)+333)*2; e returns [int val=0] : n=t {$val=$n.result;} e1[$n.result] {$val=$e1.v;}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( e ) f t1 101333
345+(3*46-(34+67)+333)*2; f returns [int res=0]: '(' n=e ')' {$res=$n.val;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 f t1 + t e1 ( 101) f t1 333
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 101 t1 + t e1 f t1 333
345+(3*46-(34+67)+333)*2; t returns [int result=0]: n=f {$result=$n.res;} t1[$n.res] {$result=$t1.v;}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 - t e1 [101]t1 + t e1 f t1 333
345+(3*46-(34+67)+333)*2; e1[int n2] returns [int v=0]:OPRESTA n1=t {$v=$n2-$n1.result;} num=e1[$v] {$v=$num.v;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 [138]e1 2 -101 e1 + t e1 f t1 333
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 e1 2 e1[37] + t e1 f t1 333
345+(3*46-(34+67)+333)*2; f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 e1 2 e1[37] + t e1 f t1 333
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 e1 2 e1[37] + t e1 333 t1
345+(3*46-(34+67)+333)*2; t1[int n2] returns [int v=0]:{$v=$n2;}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 e1 2 e1[37] + t e1 [333]t1
345+(3*46-(34+67)+333)*2; e1[int n2] returns [int v=0]: OPSUMA n1=t {$v=$n2+$n1.result;} num=e1[$v] {$v=$num.v;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 e1 2 e1[37] + 333 e1
345+(3*46-(34+67)+333)*2; e1[int n2] returns [int v=0]: OPSUMA n1=t {$v=$n2+$n1.result;} num=e1[$v] {$v=$num.v;} a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 e1 2 370
345+(3*46-(34+67)+333)*2; e returns [int val=0]: n=t {$val=$n.result;} e1[$n.result] {$val=$e1.v;}; a e ; a e1[345 ] + t e1 f t1 ( e )* f t1 3702
345+(3*46-(34+67)+333)*2; f returns [int res=0]:'(' n=e ')' {$res=$n.val;} a e ; a e1[345 ] + t e1 f t1 (370)* f t1 2
345+(3*46-(34+67)+333)*2; t returns [int result=0]: n=f {$result=$n.res;} t1[$n.res] {$result=$t1.v;}; a e ; a e1[345 ] + t e1 370 t1 * f t1 2
345+(3*46-(34+67)+333)*2; a e ; a e1[345 ] + t e1 t1[370] * f t1 2
345+(3*46-(34+67)+333)*2; f returns [int res=0]: num=NUMERO {$res=Integer.parseInt($num.text);}; a e ; a e1[345 ] + t e1 t1[370] * f t1 2
345+(3*46-(34+67)+333)*2; t1[int n2] returns [int v=0]: OPMULT n1=f {$v=$n2*$n1.res;} num=t1[$v] {$v=$num.v;} a e ; a e1[345 ] + t e1 t1[370] * 2 t1
345+(3*46-(34+67)+333)*2; t returns [int result=0]: n=f {$result=$n.res;} t1[$n.res] {$result=$t1.v;}; a e ; a e1[345 ] + t e1 740
345+(3*46-(34+67)+333)*2; e1[int n2] returns [int v=0]: OPSUMA n1=t {$v=$n2+$n1.result;} num=e1[$v] {$v=$num.v;} a e ; a e1[345 ] + 740 e1
345+(3*46-(34+67)+333)*2; e returns [int val=0]: n=t {$val=$n.result;} e1[$n.result] {$val=$e1.v;}; a e ; a 1085
345+(3*46-(34+67)+333)*2; a: num=e SEMICOLON { System.out.println("\n\nReconocida expresion aritmetica. Valor final: "+$num.val); } a ; a 1085 ; a
345+(3*46-(34+67)+333)*2; 1085 Reconocida expresion aritmetica. Valor final: 1085