sccinfo: adjust to work with alternating automata

* spot/twaalgos/sccinfo.cc: Consider universal edges as if they were
existential edges.
* spot/twaalgos/sccinfo.hh: Document that.
* spot/twaalgos/dot.cc: Allow option 's' again, for easy testing.
* tests/core/alternating.test: Adjust tests.
* tests/python/_altscc.ipynb: New file (more tests).
* tests/Makefile.am: Add it.
This commit is contained in:
Alexandre Duret-Lutz 2016-12-01 16:05:27 +01:00
parent d2f471da06
commit a4ce999402
6 changed files with 851 additions and 167 deletions

View file

@ -699,13 +699,13 @@ namespace spot
}
}
auto si =
std::unique_ptr<scc_info>((opt_scc_ && !aut->is_alternating())
? new scc_info(aut) : nullptr);
std::unique_ptr<scc_info>(opt_scc_ ? new scc_info(aut) : nullptr);
start();
if (si)
{
si->determine_unknown_acceptance();
if (!aut->is_alternating())
si->determine_unknown_acceptance();
unsigned sccs = si->scc_count();
for (unsigned i = 0; i < sccs; ++i)