diff options
Diffstat (limited to 'antlr-3.4/runtime/Python/tests/t014parser.g')
-rw-r--r-- | antlr-3.4/runtime/Python/tests/t014parser.g | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/antlr-3.4/runtime/Python/tests/t014parser.g b/antlr-3.4/runtime/Python/tests/t014parser.g new file mode 100644 index 0000000..4c8238f --- /dev/null +++ b/antlr-3.4/runtime/Python/tests/t014parser.g @@ -0,0 +1,35 @@ +grammar t014parser; +options { + language = Python; +} + +@parser::init { +self.events = [] +self.reportedErrors = [] +} + +@parser::members { +def emitErrorMessage(self, msg): + self.reportedErrors.append(msg) +} + + +document: + ( declaration + | call + )* + EOF + ; + +declaration: + 'var' t=IDENTIFIER ';' + {self.events.append(('decl', $t.text))} + ; + +call: + t=IDENTIFIER '(' ')' ';' + {self.events.append(('call', $t.text))} + ; + +IDENTIFIER: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*; +WS: (' '|'\r'|'\t'|'\n') {$channel=HIDDEN;}; |