huangcm
2024-12-18 9d29be7f7249789d6ffd0440067187a9f040c2cd
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;};