Modify the powerset algorithm to keep track of accepting states
from the initial automaton. * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Added class tgba_explicit_number, a tgba_explicit where states are labelled by integers. * src/tgbaalgos/powerset.hh, src/tgbaalgos/powerset.cc: When building the deterministic automaton, keep track of which states were created from an accepting state in the initial automaton. The states are added to the new optional parameter (if not 0), acc_list. Use tgba_explicit_number instead of tgba_explicit_string to build the result. * src/tgbaalgos/scc.cc (spot): Small fix. Print everything on std::cout.
This commit is contained in:
parent
bd742ef6a4
commit
e2e138f6e6
6 changed files with 95 additions and 18 deletions
|
|
@ -22,6 +22,7 @@
|
|||
#ifndef SPOT_TGBAALGOS_POWERSET_HH
|
||||
# define SPOT_TGBAALGOS_POWERSET_HH
|
||||
|
||||
# include <list>
|
||||
# include "tgba/tgbaexplicit.hh"
|
||||
|
||||
namespace spot
|
||||
|
|
@ -32,7 +33,11 @@ namespace spot
|
|||
/// This create a deterministic automaton that recognize the
|
||||
/// same language as \a aut would if its acceptance conditions
|
||||
/// were ignored. This is the classical powerset algorithm.
|
||||
tgba_explicit* tgba_powerset(const tgba* aut);
|
||||
/// If acc_list is not 0. Whenever a power state is created from one
|
||||
/// accepting state (a state belonging to an accepting SCC), then this power
|
||||
/// state is added to acc_list.
|
||||
tgba_explicit* tgba_powerset(const tgba* aut,
|
||||
std::list<const state*>* acc_list = 0);
|
||||
}
|
||||
|
||||
#endif // SPOT_TGBAALGOS_POWERSET_HH
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue