anchor.diff:  mode LITERAL;
   
   LITERAL_INLINE_WS
  -    : [ ]+ -> channel(HIDDEN)
  +    :   [ ]+ -> channel(HIDDEN)
       ;
   
   ANYTHING
  -    : ~[ \t\r\n\u000C]+ -> popMode
  +    :   ~[ \t\r\n\u000C]+ -> popMode
       ;
   
   mode CONSTRAINT_MODE;
   
   CONSTRAINT_INLINE_WS
  -    : [ ]+ -> channel(HIDDEN)
  +    :   [ ]+ -> channel(HIDDEN)
       ;
   
   GREATER_THAN_OR_EQUAL
  -    : '>='
  +    :   '>='
       ;
   
   LESS_THAN_OR_EQUAL
  -    : '<='
  +    :   '<='
       ;
   
   GREATER_THAN
  -    : '>'
  +    :   '>'
       ;
   
   LESS_THAN
  -    : '<'
  +    :   '<'
       ;
   
   CONJUNCTION
  -    : '&'
  +    :   '&'
       ;
   
   DISJUNCTION
  -    : '|'
  +    :   '|'
       ;
   
   SIZE_OF
  -    : '#'
  +    :   '#'
       ;
   
   HAS_SOME
  -    : 'e'
  +    :   'e'
       ;
   
   REAL_LITERAL
  
positive.code:     ;
  
  CONSTRAINT_END
      : ']' -> popMode
      ;
  
negative.code:     ;
  
  VALUE
      :   'value'
      ;
  
  BEAN
      :   'bean'
      ;
  
  TYPE
      :   'type'
      ;
  
  CONSTRUCTOR
      :   'constructor'
      ;
  
  MUTABLE_BUILDER
      :   'builder'
      ;
  
  IMMUTABLE_BUILDER
      :   'immutable builder'
      ;
  
  OPTIONAL
      :   'optional'
      ;
  
  OPEN_TYPE_PARAMETERS
      :   '<'
      ;
  
  CLOSE_TYPE_PARAMETERS
      :   '>'
      ;
  
  PACKAGE
      :   'package'
      ;
  
  PACKAGE_SEPARATOR
      :   '.'
      ;
  
  DEFAULT
      :   'default' -> pushMode(LITERAL)
      ;
  
  OPTIONS
      :   'options'
      ;
  
  EXTENDS
      :   ':'
      ;
  
  IMPORT
      :   'imports'
      ;
  
  PROPERTIES
      :   'properties'
      ;
  
  AUTHOR
  