grammar t030specialStates;
options {
  language = Python;
}

@init {
self.cond = True
}

@members {
def recover(self, input, re):
    # no error recovery yet, just crash!
    raise re
}

r
    : ( {self.cond}? NAME
        | {not self.cond}? NAME WS+ NAME
        )
        ( WS+ NAME )?
        EOF
    ;

NAME: ('a'..'z') ('a'..'z' | '0'..'9')+;
NUMBER: ('0'..'9')+;
WS: ' '+;