Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 03a94d8f913fd31140f11f39714fa79d > files > 28

ant-antlr3-20110110-8.mga3.noarch.rpm

grammar Poly;
options {output=AST;}
tokens { MULT; } // imaginary token

poly: term ('+'^ term)*
    ;

term: INT ID  -> ^(MULT["*"] INT ID)
    | INT exp -> ^(MULT["*"] INT exp)
    | exp
    | INT
	| ID
    ;

exp : ID '^'^ INT
    ;
    
ID	: 'a'..'z'+ ;

INT	: '0'..'9'+ ;

WS	: (' '|'\t'|'\r'|'\n')+ {skip();} ;