postproc: preliminary support for alternating automata

* spot/twaalgos/postproc.cc: Call remove_alternation().
* tests/core/alternating.test: Additional test.
This commit is contained in:
Alexandre Duret-Lutz 2016-12-24 20:33:00 +01:00
parent 9f6924ccfb
commit f1b8d5f1d4
3 changed files with 46 additions and 0 deletions

View file

@ -34,6 +34,7 @@
#include <spot/twaalgos/sbacc.hh>
#include <spot/twaalgos/sepsets.hh>
#include <spot/twaalgos/determinize.hh>
#include <spot/twaalgos/alternation.hh>
namespace spot
{
@ -173,6 +174,14 @@ namespace spot
if (type_ == BA || SBACC_)
state_based_ = true;
if (a->is_alternating() &&
// We will probably have to revisit this condition later.
// Currently, the intent is that postprocessor should never
// return an alternating automaton, unless it is called with
// its laxest settings.
!(type_ == Generic && PREF_ == Any && level_ == Low))
a = remove_alternation(a);
if (type_ != Generic && !a->acc().is_generalized_buchi())
{
a = to_generalized_buchi(a);