anchor.diff:      | st45=detachServiceLevelStatement { $stmt = std::move(st45); }
       | st46=listServiceLevelStatement { $stmt = std::move(st46); }
       | st47=listServiceLevelAttachStatement { $stmt = std::move(st47); }
  -
       ;
   
   /*
  
positive.code: #include "cql3/statements/create_view_statement.hh"
  #include "cql3/statements/create_type_statement.hh"
  #include "cql3/statements/create_function_statement.hh"
  #include "cql3/statements/create_service_level_statement.hh"
  #include "cql3/statements/sl_prop_defs.hh"
  #include "cql3/statements/attach_service_level_statement.hh"
  
negative.code:     | d=deleteStatement  { $statement = std::move(d); }
      ;
  
  dropAggregateStatement returns [std::unique_ptr<cql3::statements::drop_aggregate_statement> expr]
      @init {
          bool if_exists = false;
          std::vector<shared_ptr<cql3_type::raw>> arg_types;
          bool args_present = false;
      }
      : K_DROP K_AGGREGATE
        (K_IF K_EXISTS { if_exists = true; } )?
        fn=functionName
        (
          '('
            (
              v=comparatorType { arg_types.push_back(v); }
              ( ',' v=comparatorType { arg_types.push_back(v); } )*
            )?
          ')'
          { args_present = true; }
        )?
        { $expr = std::make_unique<cql3::statements::drop_aggregate_statement>(std::move(fn), std::move(arg_types), args_present, if_exists); }
      ;
  
  createAggregateStatement returns [std::unique_ptr<cql3::statements::create_aggregate_statement> expr]
      @init {
          bool or_replace = false;
          bool if_not_exists = false;
  
          std::vector<shared_ptr<cql3_type::raw>> arg_types;
      }
      : K_CREATE (K_OR K_REPLACE { or_replace = true; })?
        K_AGGREGATE
        (K_IF K_NOT K_EXISTS { if_not_exists = true; })?
        fn=functionName
        '('
          (
            v=comparatorType { arg_types.push_back(v); }
            ( ',' v=comparatorType { arg_types.push_back(v); } )*
          )?
        ')'
        K_SFUNC sfunc = allowedFunctionName
  