antlr/tool/playground/A.g4

47 lines
591 B
Plaintext
Raw Normal View History

grammar A;
/*
Auto gen:
public Token ID() { }
public List<Token> x() { }
public Token x(int i) { }
public eContext e() { }
or: public List<eContext> e() { }
*/
2012-02-15 05:59:53 +08:00
//z : ID INT+ e z+ X X -> Foo;
/*
e : f* | f* ;
f : F ;
statement
: 'if' E statement ('else' statement)? -> Foo
| 'for' '(' E ')' statement
;
*/
/*
2012-02-14 01:16:29 +08:00
s : Q q=e {Object o=$q.v;} -> one
| z=e {Object o=$z.v;}
;
2012-02-15 05:59:53 +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-15 05:59:53 +08:00
2012-02-14 01:16:29 +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-02-14 01:16:29 +08:00
b : B ;
*/