blob: 65930398938f8bac71dc64a6436afc9ee6f9a919 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
grammar SemanticPredicateReduction;
options {
language=CSharp3;
TokenLabelType=CommonToken;
}
@lexer::namespace{Antlr3.Runtime.Test}
@parser::namespace{Antlr3.Runtime.Test}
start : mainprog optional? EOF;
mainprog : '(' args ')';
args : ID ID*;
optional: ':' args element ':' args element2;
element : {true}?=>args2;
element2: {false}?=>args3;
args2 : ID ID*;
args3 : ID ID* ;
WS : (' '|'\t'|'\n'|'\r')+;
ID : ('a'..'z')+;
|