anchor.diff:      BRACKET_BRACE_OP body BRACKET_BRACE_CLOSE;
   
   programHeader :
  -    (ctrlImport)+;
  +    (ctrlImport)+ ctrlModuleName;
  +
  +ctrlModuleName :
  +    CTRL_MODULE ID SEMICOLON;
   
   ctrlImport:
  -    CTRL_IMPORT ID SEMICOLON;
  +    CTRL_IMPORT ID (CTRL_DOT ID)* SEMICOLON;
   
   statement :
       ((expression | returnStatement) SEMICOLON) | definition | ifStatement | whileLoop;
  
positive.code:     CTRL_DEF (variableDefinition | functionDefinition);
  
  variableDefinition :
      type ID TAB_SUFFIX? expression SEMICOLON;
  
  value :
      VAL_STRING | VAL_INT | VAL_FLOAT;
  
negative.code: 
  ID                      :   [a-zA-Z][a-zA-Z0-9]*;
  
  WS                      :   (' '|'\r'|'\n') -> skip;
  COMMENT                 :   ( '//' ~[\r\n]* '\r'? '\n' | '/*' .*? '*/' ) -> skip;