1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| grammar t045dfabug;
| options {
| language =Cpp;
| output = AST;
| }
|
| @lexer::includes
| {
| #include "UserTestTraits.hpp"
| }
| @lexer::namespace
| { Antlr3Test }
|
| @parser::includes {
| #include "UserTestTraits.hpp"
| }
| @parser::namespace
| { Antlr3Test }
|
| // this rule used to generate an infinite loop in DFA.predict
| r
| options { backtrack=true; }
| : (modifier+ INT)=> modifier+ expression
| | modifier+ statement
| ;
|
| expression
| : INT '+' INT
| ;
|
| statement
| : 'fooze'
| | 'fooze2'
| ;
|
| modifier
| : 'public'
| | 'private'
| ;
|
| ID : 'a'..'z' + ;
| INT : '0'..'9' +;
| WS: (' ' | '\n' | '\t')+ {$channel = HIDDEN;};
|
|