scc_info: determine accepting/rejecting-SCCs for any acceptance

* src/twaalgos/sccinfo.cc, src/twaalgos/sccinfo.hh
(determine_unknown_acceptance): New function to call explicitly
in case one want to know whether the accepting/rejecting status
of all SCCs regardless of the acceptance.
* src/twaalgos/dotty.cc src/twaalgos/sccfilter.cc,
src/twaalgos/sccfilter.hh: Use it.
* src/tests/unambig.test, src/tests/sccdot.test: Add more tests.
* doc/org/oaut.org: Adjust doc for --dot=s, orange is not output
anymore.
This commit is contained in:
Alexandre Duret-Lutz 2015-05-13 23:16:26 +02:00
parent 07ee3d2dd0
commit 8c32fba8b9
8 changed files with 148 additions and 20 deletions

View file

@ -478,6 +478,8 @@ namespace spot
start();
if (si)
{
si->determine_unknown_acceptance();
unsigned sccs = si->scc_count();
for (unsigned i = 0; i < sccs; ++i)
{
@ -493,6 +495,8 @@ namespace spot
else if (si->is_rejecting_scc(i))
os_ << " color=red\n";
else
// May only occur if the call to
// determine_unknown_acceptance() above is removed.
os_ << " color=orange\n";
if (name_ || opt_show_acc_)