xref: /aosp_15_r20/external/antlr/runtime/Python/tests/t030specialStates.g (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robotgrammar t030specialStates;
2*16467b97STreehugger Robotoptions {
3*16467b97STreehugger Robot  language = Python;
4*16467b97STreehugger Robot}
5*16467b97STreehugger Robot
6*16467b97STreehugger Robot@init {
7*16467b97STreehugger Robotself.cond = True
8*16467b97STreehugger Robot}
9*16467b97STreehugger Robot
10*16467b97STreehugger Robot@members {
11*16467b97STreehugger Robotdef recover(self, input, re):
12*16467b97STreehugger Robot    # no error recovery yet, just crash!
13*16467b97STreehugger Robot    raise re
14*16467b97STreehugger Robot}
15*16467b97STreehugger Robot
16*16467b97STreehugger Robotr
17*16467b97STreehugger Robot    : ( {self.cond}? NAME
18*16467b97STreehugger Robot        | {not self.cond}? NAME WS+ NAME
19*16467b97STreehugger Robot        )
20*16467b97STreehugger Robot        ( WS+ NAME )?
21*16467b97STreehugger Robot        EOF
22*16467b97STreehugger Robot    ;
23*16467b97STreehugger Robot
24*16467b97STreehugger RobotNAME: ('a'..'z') ('a'..'z' | '0'..'9')+;
25*16467b97STreehugger RobotNUMBER: ('0'..'9')+;
26*16467b97STreehugger RobotWS: ' '+;
27