anchor.diff:  
   // https://msdn.microsoft.com/en-us/library/ms174969.aspx
   drop_procedure
  -    : DROP proc=(PROC | PROCEDURE) (IF EXISTS)? func_proc_name (',' func_proc_name)* ';'?
  +    : DROP proc=(PROC | PROCEDURE) (IF EXISTS)? func_proc_name_two_part (',' func_proc_name_two_part)* ';'?
       ;
   
   // https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-trigger-transact-sql
  
positive.code:     ;
  
  execute_body
      : (return_status=LOCAL_ID '=')? (func_proc_name | expression) (execute_statement_arg (',' execute_statement_arg)*)? ';'?
      | '(' execute_var_string ('+' execute_var_string)* ')' (AS? (LOGIN | USER) '=' STRING)? ';'?
      ;
  
  
negative.code: 
  // https://msdn.microsoft.com/en-us/library/ms187926(v=sql.120).aspx
  create_or_alter_procedure
      : ((CREATE (OR ALTER)?) | ALTER) proc=(PROC | PROCEDURE) func_proc_name_two_part (';' DECIMAL)?
        ('('? procedure_param (',' procedure_param)* ')'?)?
        (WITH procedure_option (',' procedure_option)*)?
        (FOR REPLICATION)? AS sql_clauses
  