tokens = tokPlus tokMinus tokMult tokDivide tokOpenParen tokCloseParen
	tokEquals tokNumber;

input: line input#
     |
	 ;

input#: line input#
      |
	  ;

line: expr tokEquals {print}
	;

expr: tokOpenParen expr tokCloseParen expr#
	| [tokNumber] expr#
	;

expr#: tokPlus expr {add} expr#
     | tokMinus expr {subtract} expr#
	 | tokMult expr {multiply} expr#
	 | tokDivide expr {divide} expr#
	 |
	 ;