anchor.diff:        (
           SEMICOLON
           { $statement.setEndToken($SEMICOLON); }
  -      /*| { displayRecognitionError(getTokenNames(), 
  +      | { displayRecognitionError(getTokenNames(), 
                 new MismatchedTokenException(SEMICOLON, input)); }
           COMMA
  -        { $statement.setEndToken($COMMA); }*/
  +        { $statement.setEndToken($COMMA); }
         )
         { expecting=-1; }
       ;
  
positive.code:         se.setExpression(e);
          v.setSpecifierExpression(se); 
          $variable = v; }
      //-> ^(VARIABLE SYNTHETIC_VARIABLE memberName ^(SPECIFIER_EXPRESSION ^(EXPRESSION ^(BASE_MEMBER_EXPRESSION memberName))))
      ;
  
  
  
negative.code:       { $specifierExpression = new SpecifierExpression($IN_OP); }
        (expression
        { $specifierExpression.setExpression($expression.expression); })?
      ;
      
  whileLoop returns [WhileStatement statement]
      : { $statement = new WhileStatement(null); }
        whileBlock
        { $statement.setWhileClause($whileBlock.clause); }
      ;
  
  whileBlock returns [WhileClause clause]
  