anchor.diff:   | extensionDeclaration ';'?
    | subscriptDeclaration ';'?
    | operatorDeclaration ';'?
  - | macroDeclaration
  + | compilerControlStatement
    ;
   
   declarations : declaration declarations? ;
  
positive.code: 
  // GRAMMAR OF A LITERAL
  
  literal : numericLiteral | StringLiteral | BooleanLiteral | NilLiteral ;
  
  // GRAMMAR OF AN INTEGER LITERAL
  
negative.code: classRequirement: 'class' ;
  
  // ------ Build Configurations (Macros) -------
  
  compilerControlStatement: buildConfigurationStatement | lineControlStatement ;
  buildConfigurationStatement: '#if' buildConfiguration statements? buildConfigurationElseIfClauses? buildConfigurationElseClause? '#endif' ;
  buildConfigurationElseIfClauses: buildConfigurationElseIfClause+ ;
  buildConfigurationElseIfClause: '#elseif' buildConfiguration statements? ;
  buildConfigurationElseClause: '#else' statements? ;
  
  buildConfiguration: platformTestingFunction | identifier | booleanLiteral
   | '(' buildConfiguration ')'
   | '!' buildConfiguration
   | buildConfiguration ('&&' | '||') buildConfiguration
   ;
  
  platformTestingFunction: 'os' '(' operatingSystem ')' | 'arch' '(' architecture ')' ;
  operatingSystem: 'OSX' | 'iOS' | 'watchOS' | 'tvOS' ;
  architecture: 'i386' | 'x86_64' | 'arm' | 'arm64' ;
  
  lineControlStatement: '#line' (lineNumber fileName)? ;
  lineNumber: integerLiteral ;
  fileName: StringLiteral ;
  
  // ---------- Lexical Structure -----------
  
  