aboutsummaryrefslogtreecommitdiff
path: root/runtime/CSharp3/Sources/Antlr3.Runtime.Test/SemanticPredicateReduction.g3
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')+;