traductores edt con antlr

47
TRADUCTORES EDT CON ANTLR

Upload: fathia

Post on 11-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

TRADUCTORES EDT CON ANTLR. 345+(3*46-(34+67)+333)*2;. a e ; a t e1 f t1 + t e1 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TRADUCTORES EDT CON ANTLR

TRADUCTORES EDT CON ANTLR

Page 2: TRADUCTORES EDT CON ANTLR

345+(3*46-(34+67)+333)*2;

a e ; a t e1 f t1 + t e1345 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

Page 3: TRADUCTORES EDT CON ANTLR

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 e1345 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

Page 4: TRADUCTORES EDT CON ANTLR

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

Page 5: TRADUCTORES EDT CON ANTLR

345+(3*46-(34+67)+333)*2;t1[int n2] returns [int v=0]:

{$v=$n2;};

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

Page 6: TRADUCTORES EDT CON ANTLR

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

Page 7: TRADUCTORES EDT CON ANTLR

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

Page 8: TRADUCTORES EDT CON ANTLR

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

Page 9: TRADUCTORES EDT CON ANTLR

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

Page 10: TRADUCTORES EDT CON ANTLR

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

Page 11: TRADUCTORES EDT CON ANTLR

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

Page 12: TRADUCTORES EDT CON ANTLR

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

Page 13: TRADUCTORES EDT CON ANTLR

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

Page 14: TRADUCTORES EDT CON ANTLR

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

Page 15: TRADUCTORES EDT CON ANTLR

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

Page 16: TRADUCTORES EDT CON ANTLR

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

Page 17: TRADUCTORES EDT CON ANTLR

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

Page 18: TRADUCTORES EDT CON ANTLR

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

Page 19: TRADUCTORES EDT CON ANTLR

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

Page 20: TRADUCTORES EDT CON ANTLR

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

Page 21: TRADUCTORES EDT CON ANTLR

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

Page 22: TRADUCTORES EDT CON ANTLR

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

Page 23: TRADUCTORES EDT CON ANTLR

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

Page 24: TRADUCTORES EDT CON ANTLR

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

Page 25: TRADUCTORES EDT CON ANTLR

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]

Page 26: TRADUCTORES EDT CON ANTLR

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 101 333

Page 27: TRADUCTORES EDT CON ANTLR

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

Page 28: TRADUCTORES EDT CON ANTLR

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

Page 29: TRADUCTORES EDT CON ANTLR

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

Page 30: TRADUCTORES EDT CON ANTLR

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

Page 31: TRADUCTORES EDT CON ANTLR

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

Page 32: TRADUCTORES EDT CON ANTLR

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

Page 33: TRADUCTORES EDT CON ANTLR

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

Page 34: TRADUCTORES EDT CON ANTLR

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

Page 35: TRADUCTORES EDT CON ANTLR

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

Page 36: TRADUCTORES EDT CON ANTLR

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

Page 37: TRADUCTORES EDT CON ANTLR

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 370 2

Page 38: TRADUCTORES EDT CON ANTLR

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

Page 39: TRADUCTORES EDT CON ANTLR

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

Page 40: TRADUCTORES EDT CON ANTLR

345+(3*46-(34+67)+333)*2;

a e ; a e1[345 ] + t e1 t1[370] * f t1 2

Page 41: TRADUCTORES EDT CON ANTLR

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

Page 42: TRADUCTORES EDT CON ANTLR

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

Page 43: TRADUCTORES EDT CON ANTLR

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

Page 44: TRADUCTORES EDT CON ANTLR

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

Page 45: TRADUCTORES EDT CON ANTLR

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

Page 46: TRADUCTORES EDT CON ANTLR

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

Page 47: TRADUCTORES EDT CON ANTLR

345+(3*46-(34+67)+333)*2;

1085 Reconocida expresion aritmetica. Valor final: 1085