anchor.diff:  // 5.2.3.1.2 WithEvents Variable Declarations
   witheventsVariableDcl : WithEvents identifier As classTypeName;
   classTypeName       :   definedTypeExpression;
  -
  -constDeclaration    :   (Global | Public | Private)? Const constItemList;
  -constItemList       :   constItem (',' constItem)*;
  -constItem           :   identifier asClause? '=' constantExpression;
  -
  -typeDeclaration     :   (Global | Public | Private)? Type ID EOS
  -                        End Type;
  -//udtMemberList       :   udtElement (EOS udtElement)*;
  -//udtElement          :   ID arrayDim asClause;
  -
  -enumDeclaration     :   (Global | Public | Private)? Enum ID EOS
  -                        End Enum;
  -//memberList          :   enumElement (',' enumElement)*;
  -//enumElement         :   ID '=' constantExpression;
  -
  -extProcDeclaration  :   (Public | Private)? Declare PtrSafe? (Sub | Function) ID 
  -                        Lib StringLiteral (Alias StringLiteral)? procedureParameters;
  -
  -eventDeclaration    :   (Public )? Event ID ('(' ( positionalParameters )? ')')?;
   
   // 5.2.3.1.3 Array Dimensions and Bounds
   arrayDim            :   '(' boundsList ')';
  
positive.code:     |   extProcDeclaration
      ;
  
  // 5.2.1.1 Option Compare Directive
  optionCompareDirective
      :   Option Compare (Binary | Text | Database);
  
  // 5.2.1.2 Option Base Directive
  optionBaseDirective
      :   Option Base IntegerLiteral;
  
  // 5.2.1.3 Option Explicit Directive
  optionExplicitDirective
      :   Option Explicit;
  
  // 5.2.1.4 Option Private Directive
  optionPrivateDirective
      :   Option Private Module;
  
  // 5.2.2 Implicit Definition Directives
  // TODO
  
negative.code:     ;
  
  // 5.2.4.2 Implements Directive
  implementsDirective         :   Implements ID;
  
  // 5.2.3.1 Module Variable Declaration Lists
  variableDeclaration :   (Global | Public | Private | Dim) Shared? variableDclList;
  