anchor.diff:    | Identifier 'as' Identifier
   ;
   
  -exportStatement
  -  : 'export' '*' fromClause ';'?
  -  | 'export' namedImports fromClause? ';'?
  -  | 'export' variableStatement
  -  | 'export' functionDeclaration
  -  | 'export' lexicalStatement
  -  | 'export' 'default' functionDeclaration
  -  | 'export' 'default' singleExpression ';'?
  +exportDeclaration
  +  : Export '*' fromClause ';'?
  +  | Export namedImports fromClause? ';'?
  +  | Export variableStatement
  +  | Export functionDeclaration
  +  | Export lexicalDeclaration
  +  | Export Default functionDeclaration
  +  | Export Default singleExpression ';'?
  +;
  +
  +classDeclaration
  +  : Default? Class Identifier? classTail
  +;
  +
  +classTail
  +  : heritage? '{' classElement+ '}'
  +;
  +
  +heritage
  +  : Extends singleExpression
  +;
  +
  +classElement
  +  : Static? methodDefinition
  +;
  +
  +methodDefinition
  +  : propertyName '(' formalParameterList ')' '{' functionBody '}'
  +  | getter propertyName '(' ')' '{' functionBody '}'
  +  | setter propertyName '(' propertySetParameterList ')' '{' functionBody '}'
  +  | '*' propertyName '(' formalParameterList ')' '{' functionBody '}'
   ;
   
   /// Block :
  
positive.code:  | throwStatement
   | tryStatement
   | debuggerStatement
   | importStatement
   | exportStatement
   | lexicalStatement
   ;
  
  lexicalStatement
    : 'let' bindingList
    | 'const' bindingList
  ;
  
  bindingList
  
negative.code:   : '...' Identifier
  ;
  
  importDeclaration
   : Import importClause fromClause ';'?
   | Import StringLiteral ';'?
  ;
  
  
  