anchor.diff:      : '\"' ('\"\"' | ~('\"'))* '\"'
       ;
   
  -NUM_INT
  -    : ('0'..'9')+ (('.' ('0'..'9')+ (EXPONENT)?)?|EXPONENT)
  -    ;
  -
  -fragment
  -EXPONENT
  -    : ('e') ('+'|'-')? ('0'..'9')+
  +NUMBER
  +    : ('0'..'9')+ ('.' ('0'..'9')+)?
       ;
   
   SPACE
  
positive.code:     ;
  
  routinename
      : PERCENT? identifier '(' paramlist? ')' (SPACE+ comment)? CR
      ;
  
  paramlist
      : param (',' param)*
      ;
  
  param
  
negative.code:     : '!'
      ;
  
  
  LPAREN
      : '('
      ;
  
  RPAREN
      : ')'
      ;
  
  ADD
      : '+'
      ;
  
  SUBTRACT
      : '-'
      ;
  
  MULTIPLY
      : '*'
      ;
  
  DIVIDE
      : '/'
      ;
  
  IDENTIFIER
      : ('a'..'z' | 'A'..'Z')  ('a'..'z'|'A'..'Z'|'0'..'9')*
      ;
  