| grammar t013parser; | |
| options { | |
| language = Python; | |
| } | |
| @parser::init { | |
| self.identifiers = [] | |
| self.reportedErrors = [] | |
| } | |
| @parser::members { | |
| def foundIdentifier(self, name): | |
| self.identifiers.append(name) | |
| def emitErrorMessage(self, msg): | |
| self.reportedErrors.append(msg) | |
| } | |
| document: | |
| t=IDENTIFIER {self.foundIdentifier($t.text)} | |
| ; | |
| IDENTIFIER: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*; |