anchor.diff:  schemaExtension: 'extend' schemaDefinition ;
   typeExtension: 'extend' typeDefinition;
   
  -// original code: execution definitions 
  +// original code: execution definitions
   // GraphQL Draft Specification - July 2015
   execDefinition: operationDefinition | fragmentDefinition;
   
   operationDefinition:
   	selectionSet
  -	| operationType NAME variableDefinitions? directives? selectionSet;
  -
  -selectionSet: '{' selection ( ','? selection)* '}';
  +	| operationType NAME? variableDefinitions? directives? selectionSet;
  +
  +selectionSet: '{' selection+ '}';
   
   operationType: 'query' | 'mutation' | 'subscription';
   
   selection: field | fragmentSpread | inlineFragment;
   
  -field: fieldName arguments? directives? selectionSet?;
  -
  -fieldName: alias | NAME;
  -
  -alias: NAME ':' NAME;
  -
  -arguments: '(' argument ( ',' argument)* ')';
  -
  -argument: NAME ':' valueOrVariable;
  +field: alias? fieldName arguments? directives? selectionSet?;
  +
  +fieldName: NAME;
  +
  +alias: NAME ':';
  +
  +arguments: '(' argument+ ')';
  +
  +argument: NAME ':' value;
   
   fragmentSpread: '...' fragmentName directives?;
   
  
positive.code: 
  // https://graphql.github.io/graphql-spec/June2018/#sec-Schema
  schemaDefinition:
  	 'schema' directives? rootOperationTypeDefinitionList;
  
  rootOperationTypeDefinitionList:
  	'{' rootOperationTypeDefinition (
  		','? rootOperationTypeDefinition
  	)* '}';
  rootOperationTypeDefinition: operationType ':' namedType;
  namedType: NAME;
  
  
negative.code: 	| enumTypeDefinition
  	| inputObjectTypeDefinition;
  
  scalarTypeDefinition: description? 'scalar' NAME directives?;
  description: String_;
  
  // https://graphql.github.io/graphql-spec/June2018/#sec-Objects
  objectTypeDefinition : description?
    'type' NAME
     implementsInterfaces?
     directives?
     fieldsDefinition?;
  
  implementsInterfaces: 'implements' '&'? namedType
      | implementsInterfaces '&' namedType
      ;
  
  
  fieldsDefinition: '{'  fieldDefinition+ '}';
  fieldDefinition: description? NAME  argumentsDefinition? ':' type_  directives? ;
  argumentsDefinition: '(' inputValueDefinition+ ')';
  inputValueDefinition:  description? NAME ':' type_ defaultValue? directives?;
  
  //https://graphql.github.io/graphql-spec/June2018/#sec-Interfaces
  interfaceTypeDefinition
   : description? 'interface' NAME directives? fieldsDefinition?;
  
  // https://graphql.github.io/graphql-spec/June2018/#sec-Unions
  unionTypeDefinition:  description? 'union' NAME directives? unionMemberTypes?;
  unionMemberTypes: '=' '|'?  type_ ('|' type_)* ;
  
  unionTypeExtension : 'extend' unionTypeDefinition;
  
  enumTypeDefinition:  description? 'enum' NAME directives? enumValuesDefinition?;
  enumValuesDefinition: '{' ( description? enumValue  directives?)+  '}';
  enumValue: NAME; //{ not (nullValue | booleanValue) };
  
  enumTypeExtension: 'extend' enumTypeDefinition;
  
  