anchor.diff:  
   topDeclaration
     : libraryDeclaration
  +  | scopeDeclaration
     | structDeclaration
     | typeDeclaration
     | nativeDeclaration
  
positive.code:   : ( globalDeclaration
      | functionDeclaration
      | structDeclaration
      | NL
      )*
    ;
  
negative.code:   : 'library' name ('initializer' initializer=name)? ('requires' libraryRequirementsExpression)? NL
        libraryBody
      'endlibrary' NL
    ;
  
  scopeBody
    : ( functionDeclaration
      | structDeclaration
      | globalDeclaration
      | scopeDeclaration
      | NL
      )*
    ;
  
  scopeDeclaration
    : 'scope' name ('initializer' initializer=name)? NL
        scopeBody
      'endscope' NL
    ;
  
  propertyDeclaration
  