sig
  type select = SlicingTypes.sl_mark PdgMarks.select
  type n_or_d_marks
  val build_simple_node_selection :
    ?nd_marks:SlicingActions.n_or_d_marks ->
    SlicingTypes.sl_mark -> SlicingActions.n_or_d_marks
  val build_addr_dpds_selection :
    ?nd_marks:SlicingActions.n_or_d_marks ->
    SlicingTypes.sl_mark -> SlicingActions.n_or_d_marks
  val build_data_dpds_selection :
    ?nd_marks:SlicingActions.n_or_d_marks ->
    SlicingTypes.sl_mark -> SlicingActions.n_or_d_marks
  val build_ctrl_dpds_selection :
    ?nd_marks:SlicingActions.n_or_d_marks ->
    SlicingTypes.sl_mark -> SlicingActions.n_or_d_marks
  val build_node_and_dpds_selection :
    ?nd_marks:SlicingActions.n_or_d_marks ->
    SlicingTypes.sl_mark -> SlicingActions.n_or_d_marks
  val translate_crit_to_select :
    Db.Pdg.t ->
    ?to_select:SlicingActions.select ->
    ((PdgTypes.Node.t * Locations.Zone.t option) list *
     SlicingActions.n_or_d_marks)
    list -> SlicingActions.select
  val mk_fct_crit :
    SlicingInternals.fct_info ->
    SlicingInternals.fct_crit -> SlicingInternals.criterion
  val mk_crit_fct_user_select :
    SlicingInternals.fct_info ->
    SlicingActions.select -> SlicingInternals.criterion
  val mk_crit_fct_top :
    SlicingInternals.fct_info ->
    SlicingTypes.sl_mark -> SlicingInternals.criterion
  val mk_crit_prop_persit_marks :
    SlicingInternals.fct_info ->
    SlicingActions.select -> SlicingInternals.criterion
  val mk_ff_user_select :
    SlicingInternals.fct_slice ->
    SlicingActions.select -> SlicingInternals.criterion
  val mk_crit_choose_call :
    SlicingInternals.fct_slice ->
    Cil_types.stmt -> SlicingInternals.criterion
  val mk_crit_change_call :
    SlicingInternals.fct_slice ->
    Cil_types.stmt ->
    SlicingInternals.called_fct -> SlicingInternals.criterion
  val mk_crit_missing_inputs :
    SlicingInternals.fct_slice ->
    Cil_types.stmt ->
    SlicingActions.select * bool -> SlicingInternals.criterion
  val mk_crit_missing_outputs :
    SlicingInternals.fct_slice ->
    Cil_types.stmt ->
    SlicingActions.select * bool -> SlicingInternals.criterion
  val mk_crit_examines_calls :
    SlicingInternals.fct_slice ->
    SlicingTypes.sl_mark PdgMarks.info_called_outputs ->
    SlicingInternals.criterion
  val mk_appli_select_calls :
    SlicingInternals.fct_info -> SlicingInternals.criterion
  val mk_crit_mark_calls :
    SlicingInternals.fct_info ->
    Cil_types.kernel_function ->
    SlicingTypes.sl_mark -> SlicingInternals.criterion
  val mk_crit_add_output_marks :
    SlicingInternals.fct_slice ->
    SlicingActions.select -> SlicingInternals.criterion
  val print_nd_and_mark_list :
    Format.formatter -> SlicingActions.n_or_d_marks -> unit
  val print_nodes : Format.formatter -> PdgTypes.Node.t list -> unit
  val print_sel_marks_list :
    Format.formatter -> SlicingActions.select -> unit
  val print_crit : Format.formatter -> SlicingInternals.criterion -> unit
  val print_f_crit :
    Format.formatter -> SlicingInternals.fct_user_crit -> unit
  val print_list_crit :
    Format.formatter -> SlicingInternals.criterion list -> unit
end