anchor.diff:  
   // GRAMMAR OF A TYPE INHERITANCE CLAUSE
   
  -typeInheritanceClause : ':' typeInheritanceList  ;
  +typeInheritanceClause : ':' classRequirement ',' typeInheritanceList
  + | ':' classRequirement
  + | ':' typeInheritanceList
  + ;
   typeInheritanceList : typeIdentifier (',' typeIdentifier)* ;
  +classRequirement: 'class' ;
   
   // ---------- Lexical Structure -----------
   
  
positive.code:  ;
  externalParameterName : identifier | '_'  ;
  localParameterName : identifier | '_'  ;
  defaultArgumentClause : AssignmentOperator expression  ;
  
  // GRAMMAR OF AN ENUMERATION DECLARATION
  
  enumDeclaration : attributes? 'enum' enumDef  ;
  enumDef: unionStyleEnum | rawValueStyleEnum  ;
  unionStyleEnum : enumName genericParameterClause?'{' unionStyleEnumMembers?'}'  ;
  unionStyleEnumMembers : unionStyleEnumMember unionStyleEnumMembers? ;
  unionStyleEnumMember : declaration | unionStyleEnumCaseClause ';'? ;
  unionStyleEnumCaseClause : attributes? 'case' unionStyleEnumCaseList  ;
  
negative.code: 
  inOutExpression : '&' identifier ;
  
  // GRAMMAR OF A TRY EXPRESSION
  
  tryOperator : 'try' '!'? ;
  
  // GRAMMAR OF A BINARY EXPRESSION
  
  binaryExpression
    : binaryOperator prefixExpression
    | assignmentOperator tryOperator? prefixExpression
    | conditionalOperator tryOperator? prefixExpression
    | typeCastingOperator
    ;
  
  // GRAMMAR OF AN ASSIGNMENT OPERATOR
  
  assignmentOperator : '='  ;
  
  // GRAMMAR OF A CONDITIONAL OPERATOR
  
  