anchor.diff:  
   fragment EXP: [Ee] [+\-]? INT;
   
  +//https://spec.graphql.org/October2021/#sec-Language.Source-Text.Ignored-Tokens
  +
   // \- since - means "range" inside [...]
   
   WS: [ \t\n\r]+ -> skip;
  
positive.code:     | NEGATIVE_SIGN? NONZERO_DIGIT DIGIT*
      ;
  
  PUNCTUATOR: '!'
      | '$'
      | '(' | ')'
  
negative.code: 
   GraphQL grammar derived from:
  
   GraphQL Draft Specification - Oct 2021 upgraded from June 2018
  
   http://facebook.github.io/graphql/ https://github.com/facebook/graphql
  
   AB:10-sep19: replaced type with type_ to resolve conflict for golang generator
  
   AB: 13-oct-19: added type system as per June 2018 specs
   
   AB: 28-aug-22 made changes for 2021 (since 2018) specs
      
  
   */
  grammar GraphQL;
  
  //https://spec.graphql.org/October2021/#sec-Document
  document: definition+ EOF;
  
  definition:
  	executableDocument  // deviation from 2018 (new)
  	| typeSystemDocument //https://spec.graphql.org/October2021/#TypeSystemDocument (new in 2021)
  	| typeSystemExtensionDocument; //https://spec.graphql.org/October2021/#TypeSystemExtensionDocument (new in 2021)
  
  //https://spec.graphql.org/October2021/#ExecutableDocument
  executableDocument: executableDefinition+;  //(new) 2021
  
  //https://spec.graphql.org/October2021/#ExecutableDefinition
  executableDefinition: operationDefinition | fragmentDefinition;
  
  //https://spec.graphql.org/October2021/#sec-Language.Operations
  operationDefinition:
  	operationType name? variableDefinitions? directives? selectionSet
  	| selectionSet
  