45 lines
625 B
Plaintext
45 lines
625 B
Plaintext
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;};
|
|
|