anchor.diff:  
   ID: STRING;
   
  +//https://spec.graphql.org/October2021/#EscapedCharacter
   fragment ESC: '\\' ( ["\\/bfnrt] | UNICODE);
   
   fragment UNICODE: 'u' HEX HEX HEX HEX;
  
positive.code: 	| objectValue
     ;
  
  //https://spec.graphql.org/June2018/#sec-Int-Value
  intValue: INT;
  
  //https://spec.graphql.org/June2018/#sec-Float-Value
  floatValue: FLOAT;
  
  //https://spec.graphql.org/June2018/#sec-Boolean-Value
  booleanValue
  	:	'true'
  	|	'false'
  	;
  
  //https://spec.graphql.org/June2018/#sec-String-Value
  stringValue : STRING | BLOCK_STRING;
  
  //https://spec.graphql.org/June2018/#sec-Null-Value
  nullValue: 'null';
  
  //https://spec.graphql.org/June2018/#sec-Enum-Value
  enumValue: name; //{ not (nullValue | booleanValue) };
  
  //https://spec.graphql.org/June2018/#sec-List-Value
  listValue: '[' ']'
      | '[' value+ ']'
      ;
  
  //https://spec.graphql.org/June2018/#sec-Input-Object-Values
  objectValue: '{' objectField* '}';
  
  objectField: name ':' value;
  
  //https://spec.graphql.org/June2018/#sec-Language.Variables
  variable: '$' name;
  variableDefinitions: '(' variableDefinition+ ')';
  variableDefinition: variable ':' type_ defaultValue?;
  defaultValue: '=' value;
  
  //https://spec.graphql.org/June2018/#sec-Type-References
  type_: namedType '!'?
      | listType '!'?
      ;
  
negative.code:     | NEGATIVE_SIGN? NONZERO_DIGIT DIGIT*
      ;
  
  //https://spec.graphql.org/October2021/#Punctuator
  PUNCTUATOR: '!'
      | '$'
      | '(' | ')'
  