anchor.diff:  
   nameStmt : NAME WS valueStmt WS AS WS valueStmt;
   
  -onErrorStmt : ON_ERROR | ON_LOCAL_ERROR WS (GOTO WS valueStmt | RESUME WS NEXT);
  +onErrorStmt : (ON_ERROR | ON_LOCAL_ERROR) WS (GOTO WS valueStmt | RESUME WS NEXT);
   
   onGoToStmt : ON WS valueStmt WS GOTO WS valueStmt (WS? ',' WS? valueStmt)*;
   
  
positive.code: typeHint : '&' | '%' | '#' | '!' | '@' | '$';
  
  visibility : PRIVATE | PUBLIC | FRIEND | GLOBAL;
  
  
  // ambiguous keywords
  ambiguousKeyword : 
  
negative.code: ;
  
  ifBlockStmt : 
  	IF WS ifConditionStmt WS THEN endOfStatement 
  	block?
  ;
  
  ifConditionStmt : valueStmt;
  
  ifElseIfBlockStmt : 
  	ELSEIF WS ifConditionStmt WS THEN endOfStatement
  	block?
  ;
  
  ifElseBlockStmt : 
  	ELSE endOfStatement 
  	block?
  ;
  
  implementsStmt : IMPLEMENTS WS ambiguousIdentifier;
  