Introduce scc.cc to compute SCC stats and map.

This commit is contained in:
Alexandre Duret-Lutz 2008-12-05 12:04:31 +01:00
parent d5235c6901
commit c44d6277f2
5 changed files with 432 additions and 1 deletions

View file

@ -47,6 +47,7 @@
#include "tgbaalgos/rundotdec.hh"
#include "tgbaalgos/stats.hh"
#include "tgbaalgos/scc.hh"
#include "tgbaalgos/emptiness_stats.hh"
void
@ -91,6 +92,8 @@ syntax(char* prog)
<< " (requires -e)" << std::endl
<< " -k display statistics on the TGBA instead of dumping it"
<< std::endl
<< " -K dump the graph of SCCs in dot"
<< std::endl
<< " -L fair-loop approximation (implies -f)" << std::endl
<< " -m try to reduce accepting runs, in a second pass"
<< std::endl
@ -324,6 +327,10 @@ main(int argc, char** argv)
{
output = 9;
}
else if (!strcmp(argv[formula_index], "-K"))
{
output = 10;
}
else if (!strcmp(argv[formula_index], "-L"))
{
fair_loop_approx = true;
@ -731,6 +738,10 @@ main(int argc, char** argv)
}
case 9:
stats_reachable(a).dump(std::cout);
build_scc_stats(a).dump(std::cout);
break;
case 10:
dump_scc_dot(a, std::cout);
break;
default:
assert(!"unknown output option");