anchor.diff:     : 'nil'
      | 'true'
      | 'false'
  -   | int_literal
  -   | real_literal
  -   | char_literal
  -   | string_literal
  +   | INT_LITERAL
  +   | REAL_LITERAL
  +   | CHAR_LITERAL
  +   | STRING_LITERAL
      | 'self'
      | reference
      | 'bind' entities ((bind_arg (',' bind_arg)*)?)
      | type_spec '$' (field (',' field)*)*
  -   | type_spec '$' ((expression ':')? (expression (',' expression)*)?)?
  -   | type_spec '$' name ((actual_parm (',' actual_parm)*)?)?
  +   | type_spec '$' ((expression ':')? (expression (',' expression)*)?)
  +   | type_spec '$' name ((actual_parm (',' actual_parm)*)?)
      | 'up' '(' expression ')'
      | 'down' '(' expression ')'
      ;
  
positive.code:    : IDENTIFIER
     ;
  
  IDENTIFIER
     : [a-zA-Z] [a-zA-Z0-9]+
     ;
  
  int_literal
     : DIGIT+
     ;
  
  DIGIT
     : [0-9]
     ;
  
negative.code:    | expression
     ;
  
  name
     : IDENTIFIER
     ;
  