anchor.diff:  ;
   
   multiplicativeExpression
  -	: (unaryExpression -> unaryExpression )(LTERM* multOps LTERM* unaryExpression -> ^(multOps $multiplicativeExpression unaryExpression))*
  +	: (unaryExpression  -> unaryExpression )(LTERM* multOps LTERM* unaryExpression -> ^(multOps $multiplicativeExpression unaryExpression))*
   	;
   
   
   postfixExpression
  - :leftHandSideExpression  -> leftHandSideExpression
  - | leftHandSideExpression '--' -> ^( MINUSMINUS leftHandSideExpression)
  + : leftHandSideExpression '--' -> ^( MINUSMINUS leftHandSideExpression)
    | leftHandSideExpression '++' -> ^(PLUSPLUS leftHandSideExpression)
  + |leftHandSideExpression  -> leftHandSideExpression
     
   ;
   
  
positive.code: 	;
  	
  emptyStatement
  	: ';'
  	;
  	
  expressionStatement
  
negative.code: 	
  
  program
  	: a=LTERM*  sourceElements LTERM* EOF -> ^(PROG sourceElements) // omitting LTERM and EOF
  
  	;
  
  