replace sba_explicit_* by tgba_digraph, and use tgba_digraph is postproc
This is a huge patch. tgba_digraph are equiped with some boolean properties that can be used to indicate whether they represent SBA (and will carry more informations later). All algorithms that produce or use sba_explicit_* automata are changed to use tgba_digraph. postproc has been rewritten using only tgba_digraph, and this required changing the return types of many algorithms from tgba* to tgba_digraph*. * src/bin/dstar2tgba.cc, src/bin/ltlfilt.cc, src/dstarparse/dra2ba.cc, src/dstarparse/dstar2tgba.cc, src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc, src/dstarparse/public.hh, src/tgba/tgbagraph.hh, src/tgba/tgbasafracomplement.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/compsusp.hh, src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/minimize.hh, src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccinfo.cc, src/tgbaalgos/stripacc.cc, src/tgbaalgos/stripacc.hh, src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh, src/tgbatest/ltl2tgba.cc, wrap/python/spot.i: Update.
This commit is contained in:
parent
637aeff2d3
commit
6c9d5e4bb3
26 changed files with 296 additions and 257 deletions
|
|
@ -49,7 +49,7 @@ namespace spot
|
|||
|
||||
// This function is defined in nra2nba.cc, and used only here.
|
||||
SPOT_LOCAL
|
||||
tgba* nra_to_nba(const dstar_aut* nra, const tgba* aut);
|
||||
tgba_digraph* nra_to_nba(const dstar_aut* nra, const tgba* aut);
|
||||
|
||||
namespace
|
||||
{
|
||||
|
|
@ -320,7 +320,7 @@ namespace spot
|
|||
}
|
||||
|
||||
|
||||
tgba* dra_to_ba(const dstar_aut* dra, bool* dba)
|
||||
tgba_digraph* dra_to_ba(const dstar_aut* dra, bool* dba)
|
||||
{
|
||||
assert(dra->type == Rabin);
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
namespace spot
|
||||
{
|
||||
tgba*
|
||||
tgba_digraph*
|
||||
dstar_to_tgba(const dstar_aut* daut)
|
||||
{
|
||||
switch (daut->type)
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ namespace spot
|
|||
// In dra_to_dba() we call this function with a second argument
|
||||
// that is a masked version of nra->aut.
|
||||
SPOT_LOCAL
|
||||
tgba* nra_to_nba(const dstar_aut* nra, const tgba* aut)
|
||||
tgba_digraph* nra_to_nba(const dstar_aut* nra, const tgba* aut)
|
||||
{
|
||||
assert(nra->type == Rabin);
|
||||
nra_to_nba_worker w(nra, aut);
|
||||
|
|
@ -134,7 +134,7 @@ namespace spot
|
|||
}
|
||||
|
||||
SPOT_API
|
||||
tgba* nra_to_nba(const dstar_aut* nra)
|
||||
tgba_digraph* nra_to_nba(const dstar_aut* nra)
|
||||
{
|
||||
return nra_to_nba(nra, nra->aut);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ namespace spot
|
|||
}
|
||||
|
||||
SPOT_API
|
||||
tgba* nsa_to_tgba(const dstar_aut* nsa)
|
||||
tgba_digraph* nsa_to_tgba(const dstar_aut* nsa)
|
||||
{
|
||||
assert(nsa->type == Streett);
|
||||
tgba_digraph* a = nsa->aut;
|
||||
|
|
|
|||
|
|
@ -106,14 +106,14 @@ namespace spot
|
|||
|
||||
/// \brief Convert a non-deterministic Rabin automaton into a
|
||||
/// non-deterministic Büchi automaton.
|
||||
SPOT_API tgba*
|
||||
SPOT_API tgba_digraph*
|
||||
nra_to_nba(const dstar_aut* nra);
|
||||
|
||||
/// \brief Convert a non-deterministic Rabin automaton into a
|
||||
/// non-deterministic Büchi automaton.
|
||||
///
|
||||
/// This version simply ignores all states in \a ignore.
|
||||
SPOT_API tgba*
|
||||
SPOT_API tgba_digraph*
|
||||
nra_to_nba(const dstar_aut* nra, const state_set* ignore);
|
||||
|
||||
/// \brief Convert a deterministic Rabin automaton into a
|
||||
|
|
@ -132,18 +132,18 @@ namespace spot
|
|||
/// If the optional \a dba_output argument is non-null, the
|
||||
/// pointed Boolean will be updated to indicate whether the
|
||||
/// returned Büchi automaton is deterministic.
|
||||
SPOT_API tgba*
|
||||
SPOT_API tgba_digraph*
|
||||
dra_to_ba(const dstar_aut* dra, bool* dba_output = 0);
|
||||
|
||||
/// \brief Convert a non-deterministic Streett automaton into a
|
||||
/// non-deterministic tgba.
|
||||
SPOT_API tgba*
|
||||
SPOT_API tgba_digraph*
|
||||
nsa_to_tgba(const dstar_aut* nra);
|
||||
|
||||
/// \brief Convert a Rabin or Streett automaton into a TGBA.
|
||||
///
|
||||
/// This function calls dra_to_ba() or nsa_to_tgba().
|
||||
SPOT_API tgba*
|
||||
SPOT_API tgba_digraph*
|
||||
dstar_to_tgba(const dstar_aut* dstar);
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue