anchor.diff:     : ('external' | 'shared')* 'interface' IDENTIFIER (';' | ((':' IDENTIFIER (',' IDENTIFIER)*)? '{' (virtprop | intfmthd)* '}'))
      ;
   
  -var
  +var_
      : ('private' | 'protected')? type_ IDENTIFIER (('=' (initlist | expr)) | arglist)? (',' IDENTIFIER (('=' (initlist | expr)) | arglist)?)* ';'
      ;
   
  
positive.code: grammar angelscript;
  
  script
     : (import_ | enum_ | typdef | class_ | mixin | interface_ | funcdef | virtprop | var | func | namespace | ';')+
     ;
  
  class_
     : ('shared' | 'abstract' | 'final' | 'external')* 'class' IDENTIFIER (';' | ((':' IDENTIFIER (',' IDENTIFIER)*)? '{' (virtprop | func | var | funcdef)* '}'))
     ;
  
  typdef
  
negative.code:    ;
  
  statblock
     : '{' (var_ | statement)* '}'
     ;
  
  paramlist
  