sccfilter: implement a new version of tgba_digraph
The new version currently supports removal of useless state as well as removal of acceptance sets from non-accepting SCCs (the two versions). It does not yet support simplifation of acceptance sets and removal of suspendable formulae. However the design, using filters that are composed before being applied, should make it easier to implement. * src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccfilter.hh: Implement the new scc_filter and supporting classes. * src/tgbaalgos/simulation.cc, src/tgbaalgos/simulation.hh: Use it. The simulation now always return a tgba_digraph. * src/tgbatest/sim.test: Adjust.
This commit is contained in:
parent
e299a3d1bf
commit
13673a1421
5 changed files with 224 additions and 73 deletions
|
|
@ -67,11 +67,17 @@ namespace spot
|
|||
/// (i.e., transitions leaving accepting states are all marked as
|
||||
/// accepting) may destroy this property. Use scc_filter_states()
|
||||
/// instead.
|
||||
/// @{
|
||||
SPOT_API tgba*
|
||||
scc_filter(const tgba* aut, bool remove_all_useless = false,
|
||||
scc_map* given_sm = 0, bdd susp = bddtrue,
|
||||
bool early_susp = false, bdd ignored = bddtrue);
|
||||
|
||||
SPOT_API tgba_digraph*
|
||||
scc_filter(const tgba_digraph* aut, bool remove_all_useless = false,
|
||||
scc_info* given_si = 0);
|
||||
/// @}
|
||||
|
||||
/// \brief Prune unaccepting SCCs.
|
||||
///
|
||||
/// This is an abridged version of scc_filter(), that only remove
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue