anchor.diff:  
   
   // flow
  -if: ifCond bodyFlow elseIf* else?;
  +ifSt: ifCond bodyFlow elseIf* elseSt?;
   ifCond: IF LPAREN expression RPAREN;
   elseIf: ELSE ifCond bodyFlow;
  -else : ELSE bodyFlow;
  -
  -while: WHILE LPAREN (expression | assignment) RPAREN bodyFlow;
  -for: FOR LPAREN id IN expression RPAREN bodyFlow;
  +elseSt : ELSE bodyFlow;
  +
  +whileSt: WHILE LPAREN (expression | assignment) RPAREN bodyFlow;
  +forSt: FOR LPAREN id IN expression RPAREN bodyFlow;
   
   bodyFlow
       : block
  
positive.code:     : expression
      | assignment
      | assignmentNull
      | if
      | while
      | for
      | block
      | return
      ;
  
  lambdaParameters: BITOR (id (COMMA id)*) BITOR;
  block: LBRACE lambdaParameters? statement* RBRACE;
  return: RETURN expression;
  
  // class
  class: attributes? FOREIGN? CLASS  id inheritance? LBRACE classBody RBRACE;
  inheritance: IS id ;
  
  // class atributes
  
negative.code: script: fileAtom+ EOF;
  
  fileAtom
      : classDefinition
      | function
      | importModule
      | statement
  