Prefix many algorithms with runtime_error for unexpected acceptance

* src/tgba/tgbagraph.cc (merge_transitions): Disable acceptance
merging if Fin acceptance is used.
* src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc,
src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/isweakscc.cc,
src/tgbaalgos/lbtt.cc, src/tgbaalgos/minimize.cc,
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/safety.cc,
src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc: Throw an
exception if an unsupported type of acceptance is received.
This commit is contained in:
Alexandre Duret-Lutz 2015-02-25 22:59:33 +01:00
parent da2ccdb2ed
commit f0b1b9438f
11 changed files with 52 additions and 7 deletions

View file

@ -190,6 +190,10 @@ namespace spot
bool use_cust_acc_orders, int use_lvl_cache,
bool skip_levels)
{
if (!a->acc().is_generalized_buchi())
throw std::runtime_error
("degeneralize() can only work with generalized Büchi acceptance");
bool use_scc = use_lvl_cache || use_cust_acc_orders || use_z_lvl;
bdd_dict_ptr dict = a->get_dict();