anchor.diff:          (')' | ']' | '>')
       ;
   
  -/*------------------------------------------------------------------
  - * PARSER RULES
  - *------------------------------------------------------------------*/
  +// --------- parser rules ------------
   
   ident
      : keyword_as_ident //{addChild(new TerminalNodeImpl(keyword_as_ident.getText()));}
  -   		//{return ID<IDNode>[$keyword_as_ident.text];}
      | ID
      ;
   
  
positive.code:         | '\t'
          | '\r'
          | '\n'
    //      ) {$channel=HIDDEN;}
    	) -> channel(HIDDEN)
      ;
  
  COMMENT
      :  ( ('//') ~('\n'|'\r')* '\r'? '\n'? 
    //  |   '/*' ( options {greedy=false;} : . )* '*/' 
      | '/*' .*? '*/'
      )
      -> channel(HIDDEN)
  
negative.code: fragment
  EXPONENT : ('e'|'E') ('+'|'-')? ('0'..'9')+ ;
  
  fragment
  DIGIT : '0'..'9'
      ;
  