| grammar t026actions; |
| options { |
| language = Python; |
| } |
| |
| @lexer::init { |
| self.foobar = 'attribute;' |
| } |
| |
| prog |
| @init { |
| self.capture('init;') |
| } |
| @after { |
| self.capture('after;') |
| } |
| : IDENTIFIER EOF |
| ; |
| catch [ RecognitionException, exc ] { |
| self.capture('catch;') |
| raise |
| } |
| finally { |
| self.capture('finally;') |
| } |
| |
| |
| IDENTIFIER |
| : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* |
| { |
| # a comment |
| self.capture('action;') |
| self.capture('\%r \%r \%r \%r \%r \%r \%r \%r;' \% ($text, $type, $line, $pos, $index, $channel, $start, $stop)) |
| if True: |
| self.capture(self.foobar) |
| } |
| ; |
| |
| WS: (' ' | '\n')+; |