anchor.diff:     ;
   
   constant_decl
  -   : constant_decl_sub (SEMI )
  +   : constant_decl_sub (SEMI)
      ;
   
   function_forward_decl
  -   : access_modif_part? scope_modif? ('FUNCTION' data_type_name | 'SUBROUTINE') identifier_name LPAREN parameters_list_sub? RPAREN ('LIBRARY' (DQUOTED_STRING | QUOTED_STRING) ('ALIAS' 'FOR' (DQUOTED_STRING | QUOTED_STRING))?)? ('RPCFUNC' 'ALIAS' 'FOR' (DQUOTED_STRING | QUOTED_STRING))? ('THROWS' identifier_name)? 
  +   : access_modif_part? scope_modif? ('FUNCTION' data_type_name | 'SUBROUTINE') identifier_name LPAREN parameters_list_sub? RPAREN ('LIBRARY' (DQUOTED_STRING | QUOTED_STRING) ('ALIAS' 'FOR' (DQUOTED_STRING | QUOTED_STRING))?)? ('RPCFUNC' 'ALIAS' 'FOR' (DQUOTED_STRING | QUOTED_STRING))? ('THROWS' identifier_name)?
      ;
   
   parameter_sub
  
positive.code:    ;
  
  event_call_statement
     : event_call_statement_sub 
     ;
  
  create_call_sub
  
negative.code:    ;
  
  exit_statement
     : exit_statement_sub
     ;
  
  choose_statement
     : 'CHOOSE' 'CASE' expression ((choose_case_range_sub) | (choose_case_cond_sub) | (choose_case_else_sub) | choose_case_value_sub) + 'END' 'CHOOSE'
     ;
  
  choose_case_value_sub
     : 'CASE' expression (COMMA expression)* statement*
     ;
  
  choose_case_cond_sub
     : 'CASE' 'IS' ('=' | '>' | '<' | '<>' | '>=' | '<=') expression statement*
     ;
  
  choose_case_range_sub
     : 'CASE' atom 'TO' atom statement*
     ;
  
  choose_case_else_sub
     : 'CASE' 'ELSE' statement*
     ;
  
  goto_stat_sub
  