xref: /aosp_15_r20/external/antlr/runtime/Python/tests/t013parser.g (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robotgrammar t013parser;
2*16467b97STreehugger Robotoptions {
3*16467b97STreehugger Robot  language = Python;
4*16467b97STreehugger Robot}
5*16467b97STreehugger Robot
6*16467b97STreehugger Robot@parser::init {
7*16467b97STreehugger Robotself.identifiers = []
8*16467b97STreehugger Robotself.reportedErrors = []
9*16467b97STreehugger Robot}
10*16467b97STreehugger Robot
11*16467b97STreehugger Robot@parser::members {
12*16467b97STreehugger Robotdef foundIdentifier(self, name):
13*16467b97STreehugger Robot    self.identifiers.append(name)
14*16467b97STreehugger Robot
15*16467b97STreehugger Robotdef emitErrorMessage(self, msg):
16*16467b97STreehugger Robot    self.reportedErrors.append(msg)
17*16467b97STreehugger Robot}
18*16467b97STreehugger Robot
19*16467b97STreehugger Robotdocument:
20*16467b97STreehugger Robot        t=IDENTIFIER {self.foundIdentifier($t.text)}
21*16467b97STreehugger Robot        ;
22*16467b97STreehugger Robot
23*16467b97STreehugger RobotIDENTIFIER: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
24