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