1grammar t026actions; 2options { 3 language = Python; 4} 5 6@lexer::init { 7 self.foobar = 'attribute;' 8} 9 10prog 11@init { 12 self.capture('init;') 13} 14@after { 15 self.capture('after;') 16} 17 : IDENTIFIER EOF 18 ; 19 catch [ RecognitionException, exc ] { 20 self.capture('catch;') 21 raise 22 } 23 finally { 24 self.capture('finally;') 25 } 26 27 28IDENTIFIER 29 : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* 30 { 31 # a comment 32 self.capture('action;') 33 self.capture('\%r \%r \%r \%r \%r \%r \%r \%r;' \% ($text, $type, $line, $pos, $index, $channel, $start, $stop)) 34 if True: 35 self.capture(self.foobar) 36 } 37 ; 38 39WS: (' ' | '\n')+; 40