anchor.diff:  NullLiteral
    : 'null'
    | 'nil'
  + | 'N'
    ;
   
   BooleanLiteral
  - : 'true'
  - | 'false'
  + : 'true' | 'T'
  + | 'false' | 'F'
    ;
   
   StringLiteral
  
positive.code: fragment LetterOrDigit : [a-zA-Z0-9$_];
  
  
  COMMA : '!';
  QUOTE : '\'';
  
  WS :  (' '|'\r'|'\t'|'\u000C'|'\n')+ -> skip;
  
negative.code:  ;
  
  argumentList
   : (COMMA? (literal | identifierVal)+ COMMA?)+
   | sourceElement+
   ;
  
  method
   : identifierName arguments
   ;
  
  expression
    : method                              # CallExpression
    | Identifier (('.' Identifier)+)?     # FieldExpression
    ;
  
  identifierName : Identifier;
  