tgba_digraph: add a copy constructor, and obsolete dupexp
* src/tgba/tgbagraph.hh, src/tgba/tgbagraph.cc: Add a copy constructor, and some method to purge unreachable states. * src/graph/graph.hh (defrag_states): Erase transition of removed states. * src/tgbaalgos/complete.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/simulation.cc, src/tgbatest/checkpsl.cc, src/tgbatest/emptchk.cc, src/tgbatest/ltl2tgba.cc: Adjust to use make_tgba_digraph() instead of tgba_dupexp_dfs() or tgba_dupexp_bfs(). * src/tgbaalgos/dupexp.cc, src/tgbaalgos/dupexp.hh: Use make_tgba_digraph() when possible. * src/tgbatest/det.test, src/tgbatest/sim.test: Adjust expected results.
This commit is contained in:
parent
971788fdbe
commit
923785f76a
14 changed files with 128 additions and 27 deletions
|
|
@ -29,7 +29,6 @@
|
|||
#include "tgbaalgos/sccfilter.hh"
|
||||
#include "tgba/tgbaproduct.hh"
|
||||
#include "tgbaalgos/dotty.hh"
|
||||
#include "tgbaalgos/dupexp.hh"
|
||||
|
||||
void
|
||||
syntax(char* prog)
|
||||
|
|
@ -93,8 +92,8 @@ main(int argc, char** argv)
|
|||
|
||||
if (fpos->is_ltl_formula())
|
||||
{
|
||||
auto apos = scc_filter(spot::tgba_dupexp_dfs(ltl_to_taa(fpos, d)));
|
||||
auto aneg = scc_filter(spot::tgba_dupexp_dfs(ltl_to_taa(fneg, d)));
|
||||
auto apos = scc_filter(make_tgba_digraph(ltl_to_taa(fpos, d)));
|
||||
auto aneg = scc_filter(make_tgba_digraph(ltl_to_taa(fneg, d)));
|
||||
if (!spot::product(apos, aneg)->is_empty())
|
||||
{
|
||||
std::cerr << "non-empty intersection between pos and neg (TAA)\n";
|
||||
|
|
|
|||
|
|
@ -103,9 +103,9 @@ digraph G {
|
|||
2 -> 2 [label="1"]
|
||||
2 -> 3 [label="!a"]
|
||||
2 -> 4 [label="!b"]
|
||||
3 [label="3"]
|
||||
3 [label="3", peripheries=2]
|
||||
3 -> 3 [label="!a\n{0}"]
|
||||
4 [label="4"]
|
||||
4 [label="4", peripheries=2]
|
||||
4 -> 4 [label="!b\n{0}"]
|
||||
}
|
||||
EOF
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@
|
|||
#include "tgba/tgbaproduct.hh"
|
||||
#include "tgbaalgos/gtec/gtec.hh"
|
||||
#include "tgbaalgos/dotty.hh"
|
||||
#include "tgbaalgos/dupexp.hh"
|
||||
#include "tgbaalgos/emptiness.hh"
|
||||
|
||||
void
|
||||
|
|
@ -103,7 +102,7 @@ main(int argc, char** argv)
|
|||
{
|
||||
auto a = spot::ltl_to_taa(f, d);
|
||||
aut[0] = a;
|
||||
aut[1] = spot::degeneralize_tba(spot::tgba_dupexp_bfs(a));
|
||||
aut[1] = spot::degeneralize_tba(spot::make_tgba_digraph(a));
|
||||
}
|
||||
{
|
||||
auto a = spot::ltl_to_tgba_fm(f, d);
|
||||
|
|
|
|||
|
|
@ -324,7 +324,7 @@ spot::tgba_digraph_ptr ensure_digraph(const spot::tgba_ptr& a)
|
|||
auto aa = std::dynamic_pointer_cast<spot::tgba_digraph>(a);
|
||||
if (aa)
|
||||
return aa;
|
||||
return spot::tgba_dupexp_dfs(a);
|
||||
return spot::make_tgba_digraph(a);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ run 0 ../ltl2tgba -X -RDCS -b in.tgba > out.tgba
|
|||
|
||||
cat >expected.tgba <<EOF
|
||||
acc = "0";
|
||||
"0", "3", "b",;
|
||||
"3", "3", "a", "0";
|
||||
"0", "1", "b",;
|
||||
"1", "1", "a", "0";
|
||||
EOF
|
||||
|
||||
diff out.tgba expected.tgba
|
||||
|
|
@ -44,8 +44,8 @@ diff out.tgba expected.tgba
|
|||
run 0 ../ltl2tgba -RDCIS -b XXXXGFa > out.tgba
|
||||
|
||||
cat >expected.tgba <<EOF
|
||||
acc = "a";
|
||||
"0", "0", "a", "a";
|
||||
acc = "0";
|
||||
"0", "0", "a", "0";
|
||||
"0", "0", "!a",;
|
||||
EOF
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue