1grammar t030specialStates;
2options {
3  language = JavaScript;
4}
5
6@members {
7this.recover = function(input, re) {
8    throw re;
9};
10}
11
12r
13    : ( {this.cond}? NAME
14        | {!this.cond}? NAME WS+ NAME
15        )
16        ( WS+ NAME )?
17        EOF
18    ;
19
20NAME: ('a'..'z') ('a'..'z' | '0'..'9')+;
21NUMBER: ('0'..'9')+;
22WS: ' '+;
23