2012-01-12 03:21:05 +08:00
|
|
|
grammar A;
|
|
|
|
|
2012-02-14 12:47:19 +08:00
|
|
|
/*
|
|
|
|
Auto gen:
|
|
|
|
public Token ID() { }
|
|
|
|
public List<Token> x() { }
|
|
|
|
public Token x(int i) { }
|
|
|
|
public eContext e() { }
|
|
|
|
or: public List<eContext> e() { }
|
|
|
|
*/
|
|
|
|
z : ID x+=INT+ e {List x = $INT; Token t = $ID;} ;
|
|
|
|
|
|
|
|
/*
|
2012-02-14 01:16:29 +08:00
|
|
|
s : Q q=e {Object o=$q.v;} -> one
|
|
|
|
| z=e {Object o=$z.v;}
|
|
|
|
;
|
2012-01-12 03:21:05 +08:00
|
|
|
|
|
|
|
e returns [int v]
|
2012-02-14 01:16:29 +08:00
|
|
|
: a=e op='*' b=e {$v = $a.v * $b.v;} -> mult
|
|
|
|
| b=e '+' e
|
|
|
|
| '(' x=e ')'
|
|
|
|
;
|
2012-02-14 12:47:19 +08:00
|
|
|
*/
|
2012-02-14 01:16:29 +08:00
|
|
|
/*
|
2012-02-14 12:47:19 +08:00
|
|
|
INT : '9';
|
2012-02-14 01:16:29 +08:00
|
|
|
a : u=A A -> x
|
|
|
|
| B b {Token t=$B;} -> y
|
|
|
|
| C+ -> z
|
|
|
|
| d=D
|
2012-01-12 03:21:05 +08:00
|
|
|
;
|
|
|
|
|
2012-02-14 01:16:29 +08:00
|
|
|
b : B ;
|
|
|
|
*/
|