remove_fin: improve behavior on unclean acceptance

Related to #188.  This is a third fix that independently
makes `'utfilt --is-unambiguous -q smaller.hoa' instantaneous.

* spot/twaalgos/remfin.cc: Clean the received automaton if
necessary.
* bin/autfilt.cc: No need to call cleanup_acceptance_here() before
remove_fin() anymore.
* tests/core/remfin.test: Add an additional test.
* NEWS: Mention the change.
This commit is contained in:
Alexandre Duret-Lutz 2016-10-19 10:34:23 +02:00
parent 3dc084c4f6
commit 56f768f5a6
4 changed files with 363 additions and 4 deletions

9
NEWS
View file

@ -5,8 +5,13 @@ New in spot 2.1.2.dev (not yet released)
* is_unambiguous() was rewritten in a more efficient way.
* scc_info learned to determine the acceptance of simple SCCs made
of a single self-loop without ressorting to remove_fin() for complex
acceptance conditions.
of a single self-loop without ressorting to remove_fin() for complex
acceptance conditions.
* remove_fin() has been improved to better deal with automata with
"unclean" acceptance, i.e., acceptance sets that are declared but
not used. In particular, this helps scc_info to be more efficient
at deciding the acceptance of SCCs in presence of Fin acceptance.
New in spot 2.1.2 (2016-10-14)