Commit graph

4662 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
020c981188 ltlcross: detect remove_fin failures
Fixes #314, reported by František Blahoudek.

* bin/ltlcross.cc: Here.
* tests/core/ltlcross3.test: Add new test case.
* NEWS: Mention the bug.
2018-01-06 14:08:44 +01:00
Alexandre Duret-Lutz
a924bc561a remove_fin: use simplify_acceptance
* spot/twaalgos/remfin.cc: Simplify acceptance before trying the
different strategies.
* spot/twaalgos/cleanacc.cc: Skip simplify_complementary_marks_here()
on generalized Büchi.
* tests/core/remfin.test, tests/python/tra2tba.py: Adjust.
* spot/twaalgos/totgba.cc: Simplify the result of Streett->GBA.
* NEWS: Adjust.
2018-01-06 12:48:46 +01:00
Alexandre Duret-Lutz
2feba6ad5e simplify_acceptance: fix handling of first edge
Fixes #315.

* spot/twaalgos/cleanacc.cc (simplify_acceptance_here): Do not
compare the first edge against previous_a.
* tests/core/accsimpl.test: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the bug.
2018-01-06 09:21:23 +01:00
Alexandre Duret-Lutz
17b295e10f python: SVG display of word as signals
Fixes #309.

* python/spot/__init__.py (twa_word.as_svg, twa_word.show): New
  methods.
* tests/python/word.ipynb: Use them.
* NEWS: Mention them.
2018-01-04 18:43:12 +01:00
Alexandre Duret-Lutz
678446f1d6 bump copyright year
* bin/common_setup.cc, debian/copyright: Here.
2018-01-02 20:34:38 +01:00
Alexandre Duret-Lutz
0aca26e3f9 parity: fix error handling
* spot/twaalgos/parity.cc: Do not throw a pointer to an exception,
throw the exception directly.  Factor all the throwing code in a
function.
* tests/python/parity.py: Add test case.
2018-01-02 17:45:33 +01:00
Alexandre Duret-Lutz
288ea95658 postproc: add Python bindings for Parity changes
* python/spot/__init__.py: Here.
* tests/python/parity.py: New file.
* tests/Makefile.am: Add it.
2018-01-02 17:45:33 +01:00
Alexandre Duret-Lutz
42ebf8b18c postproc: introduce --parity output
* spot/twaalgos/postproc.hh, spot/twaalgos/postproc.cc: Add parity
  options.
* bin/common_post.cc: Add support for --parity.
* NEWS: Mention it.
* tests/core/parity2.test: New file.
* tests/Makefile.am: Add it.
2018-01-02 12:07:26 +01:00
Alexandre Duret-Lutz
412c2059bf man: obsolete paragraph in ltlcross doc
Reported by František Blahoudek.

* bin/man/ltlcross.x: Remove obsolete paragraph with reference to
columns in_states, in_edges, in_transitions, and in_acc that
were removed in 1.99.3.
2017-12-28 20:36:52 +01:00
Alexandre Duret-Lutz
0d963d5f7e Merge branch 'master' into next 2017-12-25 15:48:09 +01:00
Alexandre Duret-Lutz
9c77cb321e * NEWS, configure.ac: Bump version to 2.4.4.dev. 2017-12-25 15:46:44 +01:00
Alexandre Duret-Lutz
2f5fb47c7f Release Spot 2.4.4
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2017-12-25 15:42:03 +01:00
Alexandre Duret-Lutz
915d2f4659 sbacc: more fixes related to #312
The issue also exists with determinism.

* tests/core/sbacc.test: New test case.
* spot/twaalgos/sbacc.cc: Fix it.
* NEWS: Update.
2017-12-25 15:38:55 +01:00
Alexandre Duret-Lutz
18e65f3bc8 sbacc: fix sbacc producing complete automata marked as incomplete
Fixes #312, reported by František Blahoudek.

* spot/twaalgos/sbacc.cc: Detect the case were this can happen,
and fix it.
* tests/core/sbacc.test: New test case.
* NEWS: Mention the bug.
2017-12-25 15:38:47 +01:00
Alexandre Duret-Lutz
396024143c to_tgba: fix handling of CNF with multiple unit clauses
Fixes #313, reported by František Blahoudek.

* spot/twaalgos/totgba.cc (to_generalized_buchi): Fix it.
* tests/core/remfin.test: Test it.
* NEWS: Mention it.
2017-12-25 15:38:28 +01:00
Alexandre Duret-Lutz
ec393708bb sbacc: more fixes related to #312
The issue also exists with determinism.

* tests/core/sbacc.test: New test case.
* spot/twaalgos/sbacc.cc: Fix it.
* NEWS: Update.
2017-12-24 20:44:15 +01:00
Alexandre Duret-Lutz
5467fa1622 * spot/twaalgos/stutter.cc (highlight_vector): Replace existing colors. 2017-12-23 09:58:41 +01:00
Alexandre Duret-Lutz
8579bedfaf python: highlighting with vector of bools
* python/spot/__init__.py: Deal with vectors of bools.
* tests/python/highlighting.ipynb: Test this.
2017-12-23 09:58:41 +01:00
Alexandre Duret-Lutz
95fd75940a sbacc: fix sbacc producing complete automata marked as incomplete
Fixes #312, reported by František Blahoudek.

* spot/twaalgos/sbacc.cc: Detect the case were this can happen,
and fix it.
* tests/core/sbacc.test: New test case.
* NEWS: Mention the bug.
2017-12-22 18:27:07 +01:00
Alexandre Duret-Lutz
9ec7df670e to_tgba: fix handling of CNF with multiple unit clauses
Fixes #313, reported by František Blahoudek.

* spot/twaalgos/totgba.cc (to_generalized_buchi): Fix it.
* tests/core/remfin.test: Test it.
* NEWS: Mention it.
2017-12-22 17:53:30 +01:00
Alexandre Duret-Lutz
19348c8938 python: give access to the "product-states" property
* python/spot/impl.i (get_product_states, set_product_states): New.
* tests/python/product.ipynb: Use it.
* NEWS: Mention it.
2017-12-22 17:27:26 +01:00
Alexandre Duret-Lutz
904cfb27fa scc_info: detect incorrect initial state
* spot/twaalgos/sccinfo.cc: Here.
* tests/python/sccinfo.py: Test it.
2017-12-22 17:23:10 +01:00
Alexandre Duret-Lutz
31ccab026b python: allow spot.formula(spot.formula(...))
* python/spot/__init__.py: Recognize if the input is already a
formula.
* tests/python/formulas.ipynb: Test this.
2017-12-22 17:18:36 +01:00
Alexandre Duret-Lutz
3b4335d243 stutter: two new functions
* spot/twaalgos/stutter.hh, spot/twaalgos/stutter.cc: Introduce
is_stutter_invariant_forward_closed and
make_stutter_invariant_forward_closed_inplace.
* tests/python/stutter-inv.ipynb: Use them.
2017-12-19 21:03:35 +01:00
Alexandre Duret-Lutz
8d5f2ca917 * tests/python/ipnbdoctest.py: Work around different pandas versions. 2017-12-19 21:03:35 +01:00
Alexandre Duret-Lutz
7f97c90470 Merge branch 'master' into next 2017-12-19 10:40:50 +01:00
Alexandre Duret-Lutz
696d81f651 Bump version number
* configure.ac, NEWS: Update to 2.4.3.dev.
2017-12-19 10:40:07 +01:00
Alexandre Duret-Lutz
325d3f921f Release Spot 2.4.3
* NEWS, configure.ac, doc/org/setup.org: Update.
2017-12-19 10:13:07 +01:00
Alexandre Duret-Lutz
ac80b07d93 introduce check_determinism()
* spot/twaalgos/isdet.hh, spot/twaalgos/isdet.cc (check_determinism):
New function.
* NEWS: Mention it.
* tests/python/semidet.py: New file.
* tests/Makefile.am: Add it.
2017-12-18 15:57:17 +01:00
Alexandre Duret-Lutz
7500962c3d org: fix URL to last successful build
* doc/org/install.org: Here.
2017-12-14 09:55:38 +01:00
Alexandre Duret-Lutz
62d1e0219d Add support for computing operator nesting depth
* spot/tl/hierarchy.hh, spot/tl/hierarchy.cc (nesting_depth): New
function.
* python/spot/__init__.py: Also make it a method of formula in Python
* bin/common_output.cc, bin/common_output.hh: Implement
--stats=%[OP]n.
* NEWS: Mention it.
* tests/core/format.test, tests/python/formulas.ipynb: Test it.
2017-12-10 20:31:56 +01:00
Alexandre Duret-Lutz
49b76bcf66 doxygen doc: minor improvements
* doc/footer.html: Make the footer XML compatible.
* doc/mainpage.dox: Fix references to modules.
* spot/tl/formula.hh: Introduce a hierarchy module.
* spot/tl/hierarchy.hh: Use it.
2017-12-08 22:07:11 +01:00
Alexandre Duret-Lutz
f56e1e8a6c org: fix URL to last successful build
* doc/org/install.org: Here.
2017-11-28 18:22:32 +01:00
Alexandre Duret-Lutz
89e1dbc3c8 bin: do not redefine argp_bug_address
This prevented static compilation on MinGW.

* bin/common_setup.cc: Here.
2017-11-28 11:31:35 +01:00
Alexandre Duret-Lutz
24a98b1736 fix usage pf importlib.util.find_spec for newer pythons
* tests/python/ipnbdoctest.py: Here.  It seems importlib
does not load importlib.util anymore.
2017-11-28 11:31:35 +01:00
Maximilien Colange
0fabd6b7fb Fix a typo in a test
* tests/sanity/namedprop.test: fix typo for proper output
2017-11-28 11:31:35 +01:00
Alexandre Duret-Lutz
d967dcb155 fix ASAN reports about mismatched emplace new/delete
* spot/misc/bitvect.cc, spot/misc/bitvect.hh, spot/tl/formula.cc,
spot/tl/formula.hh: Here.
* NEWS: Mention the bug.
2017-11-28 11:31:35 +01:00
Alexandre Duret-Lutz
544d63f2f2 couvreur99_new: fix two memory leaks found by ASAN
This only occurs when doing the emptiness check of twa with allocated
states.

* spot/twaalgos/couvreurnew.cc: Here.
* NEWS: Mention the bug.
2017-11-28 11:31:34 +01:00
Alexandre Duret-Lutz
a55801c223 fix some g++-snapshot warnings
* spot/twaalgos/couvreurnew.cc: explicit operator bool is not used by
return.
2017-11-28 11:25:41 +01:00
Alexandre Duret-Lutz
1242ba045e bin: do not redefine argp_bug_address
This prevented static compilation on MinGW.

* bin/common_setup.cc: Here.
2017-11-28 11:24:33 +01:00
Maximilien Colange
b23f1d5054 Finer control over the build of the documentation
* Makefile.am: move the doc subdirectory to its own variable
2017-11-27 14:42:30 +01:00
Alexandre Duret-Lutz
d219e4a556 tests: reduce the memory/time footprint of ltl2dstar.test
* tests/core/ltl2dstar.test: Reduce the amount of tests performed on
one formula that is problematic for ltl2dstar.
2017-11-24 19:35:58 +01:00
Alexandre Duret-Lutz
a9a375ccd8 tests: git rid of all the tool=tool assignents
Our use of
  ltl2tgba=ltl2tgba
  autfilt=autfilt
  ...
all over the test cases comes from the time where those tools were not
in PATH and we actually had something like
  ltl2tgba=../../bin/ltl2tgba
  autfilt=../../bin/autfilt

But today that is useless, and we prefer to write ltl2tgba rather than
$ltl2tgba, so let's remove this old cruft.

* tests/core/basimul.test, tests/core/det.test, tests/core/lbt.test,
tests/core/lenient.test, tests/core/ltl2dstar.test,
tests/core/ltl2dstar2.test, tests/core/ltl2dstar3.test,
tests/core/ltl2dstar4.test, tests/core/ltlcross2.test,
tests/core/ltlcross3.test, tests/core/ltlcross4.test,
tests/core/ltlcrossce2.test, tests/core/ltldo.test,
tests/core/ltlfilt.test, tests/core/optba.test,
tests/core/prodor.test, tests/core/rand.test,
tests/core/randomize.test, tests/core/remfin.test,
tests/core/satmin.test, tests/core/sbacc.test,
tests/core/strength.test, tests/core/stutter-ltl.test,
tests/core/stutter-tgba.test, tests/core/unabbrevwm.test,
tests/core/unambig.test: Get rid of all tool=tool assignments.
2017-11-24 19:35:58 +01:00
Alexandre Duret-Lutz
a31ba7ff80 rename one printable_formula
We currently have 3 printable_formula classes in Spot; let's reduce
this to 2.

* bin/common_output.cc (anonymous::printable_formula): Rename to...
(anonymous::printable_formula_with_location): ... this.
2017-11-24 19:35:58 +01:00
Alexandre Duret-Lutz
c7f6655043 fix doxygen doc build
* debian/rules: Build it last.
* configure.ac: Add missing comma.
2017-11-24 19:35:58 +01:00
Maximilien Colange
ce3eeb448d Fix ltlsynt tests
* tests/core/ltlsynt.test: Escape newlines and test PGsolver printer
2017-11-24 14:42:00 +01:00
Maximilien Colange
d071c7e14f Heavily optimize tgba_determinize()
* spot/twaalgos/determinize.cc: a lot of optimizations (and refactoring)
2017-11-24 14:42:00 +01:00
Maximilien Colange
d358521b3a Fix script running IPython tests
* tests/python/ipnbdoctest.py: skip test when jupyter is not found
2017-11-24 14:37:37 +01:00
Alexandre Duret-Lutz
7b2517a518 formula: accept additional arguments for map and traverse
Fixes #306.

* spot/tl/formula.hh, python/spot/__init__.py: Implement this
in C++ and Python.
* doc/org/tut03.org: Document (and indirectly test) it.
* NEWS: Mention it.
2017-11-23 23:04:15 +01:00
Alexandre Duret-Lutz
7dd791fe59 * doc/Makefile.am (DISTCLEANFILES): Avoid multiple definitions. 2017-11-23 23:03:09 +01:00