* src/parseaut/parseaut.yy, src/parseaut/scanaut.ll: All multiple
dstar automata to be chained.
* src/bin/dstar2tgba.cc: Loop over multiple automata in a file.
* src/tests/dstar.test: Test that.
Note that the parser is still not able to reader multiple dstar
automata.
* src/dstarparse/: Delete.
* configure.ac, src/Makefile.am, README: Adjust.
* src/parseaut/parseaut.yy, src/parseaut/scanaut.ll: Merge in the
dstarparser rules.
* src/bin/common_trans.cc, src/bin/common_trans.hh,
src/bin/dstar2tgba.cc, src/bin/ltlcross.cc, src/bin/ltldo.cc,
src/tests/ikwiad.cc: Adjust usage.
* src/tests/parseaut.test: Adjust expected output.
* src/parseaut/public.hh (parsed_aut): Add a type field.
* src/parseaut/parseaut.yy: Fill it.
* src/dstarparse/dstarparse.yy: Use this field instead of
the private enumeration.
This was suggested by one of the reviewers of our LPAR'15 paper.
* src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Implement
the colored option.
* src/tests/satmin2.test: Test it.
* doc/org/satmin.org, NEWS: Document it.
* src/tests/bitvect.cc: Fix it, it was failing an assert() on 32bit
architectures because the subset test was done in the wrong order.
Reported by Christopher Ziegler.
* NEWS: Mention it.
Fixes#96, reported by Vitus Lam & Christopher Ziegler.
* src/bin/ltlcross.cc: Catch std::bad_alloc, skip those
products and the related tests. Display a count of
those skipped tests at the end.
* NEWS: Mention it.
* src/tests/ltlcross3.test: Adjust expected error
message.
This implies learning alternative rules for G, and W as well, since
those would use R.
Fixes#103. Suggested by Joachim Klein.
* src/ltlvisit/unabbrev.cc, src/ltlvisit/unabbrev.hh: Implement the
new rules.
* doc/tl/tl.tex: Document the rules.
* src/tests/unabbrevwm.test: Test them.
* src/bin/ltlfilt.cc, NEWS: Mention that --unabbreviate accepts R.
* src/dstarparse/dstarparse.yy, src/dstarparse/dstarscan.ll
src/dstarparse/parsedecl.hh, src/dstarparse/public.hh:
Adjust to return the same return types as parse_aut.
* src/dstarparse/fmterror.cc: Delete, we can use
the one of parse_aut.
* src/dstarparse/Makefile.am: Adjust.
* src/tests/ikwiad.cc, src/bin/dstar2tgba.cc,
src/bin/ltldo.cc: Adjust usage.
* src/bin/ltlcross.cc: The the result of dstar_parse() as-is, now that
it is a TωA like those produced by parse_aut(). As a consequence,
get rid of all the code storing statistics about the input
automaton.
* src/tests/ltlcross3.test, src/tests/ltl2dstar.test: Adjust expected
CSV output.
* doc/org/ltlcross.org, src/bin/man/ltlcross.x: Adjust to not
mention that %D performs a tranformation to Büchi.
Since we just removed that conversion, those can go as well. Yay!
* src/tests/kv.test, src/twa/twamask.cc,
src/twa/twamask.hh, src/twa/twaproxy.cc,
src/twa/twaproxy.hh, src/twaalgos/scc.cc,
src/twaalgos/scc.hh: Delete.
* src/twaalgos/Makefile.am, src/twa/Makefile.am,
src/tests/Makefile.am, src/tests/ikwiad.cc: adjust.
* src/dstarparse/dstarparse.yy: Use the twa_graph_ptr to store the
acceptance condition.
* src/dstarparse/dra2ba.cc, src/dstarparse/dstar2tgba.cc,
src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc: Delete
all these conversion routines.
* src/dstarparse/public.hh, src/dstarparse/Makefile.am: Adjust.
* src/bin/dstar2tgba.cc: Adjust to call to_generalized_buchi()
instead.
* src/bin/ltlcross.cc: Adjust to call remove_fin() instead.
* src/bin/ltldo.cc: Use the parsed automaton as-is.
* src/tests/degenid.test, src/tests/dstar.test, src/tests/ikwiad.cc:
Adjust test cases.
I.e., automata that could be Rabin if we add some empty Fin(x) or full
Inf(y) sets. This way it does not matter when remove_fin() is called
after cleanup_acceptance().
* src/twaalgos/remfin.cc: Implement that.
* src/tests/remfin.test: More tests.
Because using multiple acceptance condition is pointless in this case.
* src/twaalgos/remfin.cc (ra_to_ba): Extract most of the RA->BA code
into this new function for clarity.
* src/tests/remfin.test: Adjust.
Fixes#39, reported by Joachim Klein.
* src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc: Take an option
to specify which of xor/equiv/implies should be rewritten.
* src/ltlvisit/print.cc (print_spin): Rewrite only xor.
* src/tests/ltlfilt.test: Add a test case.
* NEWS: Mention this.
* src/twa/twagraph.hh (namer): Use a template alias instead
of a trait.
* src/twa/twagraph.cc, src/parseaut/parseaut.yy,
src/twaalgos/ltl2tgba_fm.cc: Adjust.