Commit c920825f authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

work around issue #317

* spot/twaalgos/cobuchi.cc: Call sbacc() on transition-based input.
* tests/Makefile.am: Remove XFAIL_TESTS.
* NEWS: Adjust.
parent 61b0a542
......@@ -33,7 +33,8 @@ New in spot 2.4.4.dev (net yet released)
- ltl2tgba, autfilt, and dstar2tgba have some new '--cobuchi' option
to force co-Büchi acceptance on the output. Beware: if the input
language is not co-Büchi realizable the output automaton will
recognize a superset of the input.
recognize a superset of the input. Currently, the output is
always state-based.
- genltl learned to generate six new families of formulas, taken from
the SYNTCOMP competition on reactive synthesis, and from from
......@@ -97,7 +98,7 @@ New in spot 2.4.4.dev (net yet released)
these four functions. The language of produced automata include
the original language, but may be larger if the original automaton
is not co-Büchi realizable. Based on Boker & Kupferman FOSSACS'11
paper.
paper. Currently only supports state-based output.
- spot::scc_info::states_on_acc_cycle_of() return all states
visited by any accepting cycle of the specified SCC. It only
......
......@@ -31,6 +31,7 @@
#include <spot/twaalgos/totgba.hh>
#include <spot/twaalgos/isdet.hh>
#include <spot/twaalgos/strength.hh>
#include <spot/twaalgos/sbacc.hh> // For issue #317
#include <stack>
#include <unordered_map>
......@@ -274,6 +275,11 @@ namespace spot
throw std::runtime_error("dnf_to_nca() only works with DNF acceptance "
"condition");
// FIXME: At the moment this algorithm does not support
// transition-based acceptance. See issue #317. Once that is
// fixed we may remove the next line.
ref = sbacc(std::const_pointer_cast<twa_graph>(ref));
auto streett_aut = spot::dnf_to_streett(ref, true);
std::vector<acc_cond::rs_pair> pairs;
......@@ -609,6 +615,11 @@ namespace spot
throw std::runtime_error("nsa_to_dca() only works with Streett-like or "
"Parity acceptance condition");
// FIXME: At the moment this algorithm does not support
// transition-based acceptance. See issue #317. Once that is
// fixed we may remove the next line.
aut = sbacc(std::const_pointer_cast<twa_graph>(aut));
// Get states that must be visited infinitely often in NCA.
vect_nca_info nca_info;
nsa_to_nca(aut, named_states, &nca_info);
......@@ -635,6 +646,11 @@ namespace spot
throw std::runtime_error("dnf_to_dca() only works with DNF (Rabin-like "
"included) acceptance condition");
// FIXME: At the moment this algorithm does not support
// transition-based acceptance. See issue #317. Once that is
// fixed we may remove the next line.
aut = sbacc(std::const_pointer_cast<twa_graph>(aut));
// Get states that must be visited infinitely often in NCA.
vect_nca_info nca_info;
dnf_to_nca(aut, false, &nca_info);
......
......@@ -315,9 +315,6 @@ TESTS_twa = \
core/parity2.test \
core/ltlsynt.test
# Issue #317.
XFAIL_TESTS = core/dca2.test
############################## PYTHON ##############################
if USE_PYTHON
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment