anchor.diff:  tryBlock:               ws_cols TRY WS* STATEMENT_SEPARATOR
                               blockMember*
   ;
  -catchBlock:             ws_cols CATCH WS+ pattern WS* STATEMENT_SEPARATOR
  +catchBlock:             ws_cols CATCH WS* pattern WS* STATEMENT_SEPARATOR
                               blockMember*
   ;
   pattern:                DIV patternBody DIV;
  
positive.code:                         elseBlock?
                          ws_cols ENDIF WS* STATEMENT_SEPARATOR
  ;
  ifBlock:                ws_cols IF WS+ expr WS* STATEMENT_SEPARATOR
                             blockMember*
  ;
  elifBlock:              ws_cols ELSEIF WS+ expr WS* STATEMENT_SEPARATOR
                             blockMember*
  ;
  elseBlock:              ws_cols ELSE WS* STATEMENT_SEPARATOR
  
negative.code: //
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  script:
      STATEMENT_SEPARATOR* executable+ EOF;
  
  executable:
      comment | forLoop | whileLoop | functionDefinition | ifStatement | tryStatement | command;
  