anchor.diff:  
   create_trigger_stmt
    : K_CREATE ( K_TEMP | K_TEMPORARY )? K_TRIGGER ( K_IF K_NOT K_EXISTS )?
  -   ( database_name '.' )? trigger_name ( K_BEFORE  | K_AFTER | K_INSTEAD K_OF )? 
  -   ( K_DELETE | K_INSERT | K_UPDATE ( K_OF column_name ( ',' column_name )* )? ) K_ON ( database_name '.' )? table_name
  +   trigger_name ( K_BEFORE  | K_AFTER | K_INSTEAD K_OF )?
  +   ( K_DELETE | K_INSERT | K_UPDATE ( K_OF column_name ( ',' column_name )* )? ) K_ON table_name
      ( K_FOR K_EACH K_ROW )? ( K_WHEN expr )?
      K_BEGIN ( ( update_stmt | insert_stmt | delete_stmt | select_stmt ) ';' )+ K_END
    ;
   
   create_view_stmt
    : K_CREATE ( K_TEMP | K_TEMPORARY )? K_VIEW ( K_IF K_NOT K_EXISTS )?
  -   ( database_name '.' )? view_name K_AS select_stmt
  +   view_name K_AS select_stmt
    ;
   
   create_virtual_table_stmt
    : K_CREATE K_VIRTUAL K_TABLE ( K_IF K_NOT K_EXISTS )?
  -   ( database_name '.' )? table_name
  +   table_name
      K_USING module_name ( '(' module_argument ( ',' module_argument )* ')' )?
    ;
   
  
positive.code:                           | expr ( ',' expr )*
                            )? 
                        ')'
                      | ( database_name '.' )? table_name )
   | ( ( K_NOT )? K_EXISTS )? '(' select_stmt ')'
   | K_CASE expr? ( K_WHEN expr K_THEN expr )+ ( K_ELSE expr )? K_END
   | raise_function
  
negative.code:  : any_name
   ;
  
  table_name 
   : IDENTIFIER
   ;
  