anchor.diff:    : identifier ( '.' identifier )* ;
   
   mapping
  -  : 'mapping' '(' elementaryTypeName '=>' typeName ')' ;
  +  : 'mapping' '(' (elementaryTypeName | userDefinedTypeName) '=>' typeName ')' ;
   
   functionTypeName
  -  : 'function' functionTypeParameterList
  -    ( InternalKeyword | ExternalKeyword | stateMutability )*
  -    ( 'returns' functionTypeParameterList )? ;
  +  : 'function' parameterList modifierList returnParameters? ;
   
   storageLocation
     : 'memory' | 'storage' | 'calldata';
  
positive.code: IdentifierPart
    : [a-zA-Z0-9$_] ;
  
  StringLiteral
    : '"' DoubleQuotedStringCharacter* '"'
    | '\'' SingleQuotedStringCharacter* '\'' ;
  
  
negative.code:   : [0-9A-Fa-f] ;
  
  ReservedKeyword
    : 'after'
    | 'case'
    | 'default'
    | 'final'
    | 'in'
  