Introduce scc_filter_states().

The main motivation is the upcoming patch that introduces
simulation_sba() and requires this function.

* src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccfilter.cc: Implement it.
* src/tgbaalgos/postproc.cc: Use it for monitors, because we do not
care about acceptance conditions.
* NEWS: Mention it.
This commit is contained in:
Alexandre Duret-Lutz 2013-05-12 17:22:00 +02:00
parent 2cab8197e5
commit 6b5b002ff9
4 changed files with 133 additions and 7 deletions

View file

@ -110,12 +110,20 @@ namespace spot
scc_filter_ = 1;
// Remove useless SCCs.
if (scc_filter_ > 0 || type_ == Monitor)
{
const tgba* s = scc_filter(a, scc_filter_ > 1);
delete a;
a = s;
}
if (type_ == Monitor)
{
// Do not bother about acceptance conditions, they we be
// ignored.
const tgba* s = scc_filter_states(a);
delete a;
a = s;
}
else if (scc_filter_ > 0)
{
const tgba* s = scc_filter(a, scc_filter_ > 1);
delete a;
a = s;
}
if (type_ == Monitor)
{