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;}; |