anchor.diff:     ;
   
   throw_stat
  -   : throw_stat_sub delim
  -   ;
  -
  -sql_statement
  -   :
  -   // NOTE: since the SQL statement ends with SEMI, a newline(delim) is on the HIDDEN channel (
  -   // Long ones ('SELECT' | 'SELECTBLOB' | 'UPDATE' | 'UPDATEBLOB' | 'INSERT' | 'MERGE' | 'DELETE' | 'PREPARE' | 'EXECUTE' 'IMMEDIATE' | 'DECLARE' | 'CLOSE' | 'FETCH' | 'OPEN' | 'COMMIT' | 'ROLLBACK' | 'CONNECT' | 'DISCONNECT') swallow_to_semi SEMI)
  -   |
  -   // Short ones ('COMMIT' | 'CONNECT' | 'ROLLBACK' | 'DISCONNECT') SEMI
  -   |
  -   // Strange ones (NOTE: Here we handle presence of the function describe(String s))  ('DESCRIBE' identifier_name identifier_name identifier_name) SEMI
  -   ;
  +   : throw_stat_sub 
  +   ;
  +
   
   identifier
      : identifier_name
  
positive.code:    | identifier_name
     ;
  
  delim
     : NEWLINE
     | DELIM
     | EOF
     ;
  
  
  DQUOTED_STRING
     : '"' (E_TILDE | ~ ('"') | E_DOUBLE_QUOTE)* '"'
  
negative.code:    ;
  
  super_call_statement
     : super_call_sub 
     ;
  
  event_call_statement_sub
  