anchor.diff:  grammar angelscript;
   
   script
  -   : (import_ | enum_ | typdef | class_ | mixin | interface_ | funcdef | virtprop | var | func | namespace | ';')+
  +   : (import_ | enum_ | typdef | class_ | mixin | interface_ | funcdef | virtprop | var_ | func_ | namespace | ';')+
      ;
   
   class_
  -   : ('shared' | 'abstract' | 'final' | 'external')* 'class' IDENTIFIER (';' | ((':' IDENTIFIER (',' IDENTIFIER)*)? '{' (virtprop | func | var | funcdef)* '}'))
  +   : ('shared' | 'abstract' | 'final' | 'external')* 'class' IDENTIFIER (';' | ((':' IDENTIFIER (',' IDENTIFIER)*)? '{' (virtprop | func_ | var_ | funcdef)* '}'))
      ;
   
   typdef
  
positive.code:    : 'namespace' IDENTIFIER '{' script '}'
     ;
  
  func
     : ('shared' | 'external')* ('private' | 'protected')? (((type_ '&'?) | '~'))? IDENTIFIER paramlist 'const'? FUNCATTR? (';' | statblock)
     ;
  
  
negative.code:    | cast
     | LITERAL
     | '(' assign ')'
     | lambda_
     ;
  
  constructcall
  