Commit graph

4800 commits

Author SHA1 Message Date
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
Maximilien Colange
1da0afbafe Improve ltlsynt interface
To ease debugging and testing, ltlsynt can output the synthesized
strategy as an automaton, not just an aiger circuit.
Also, its exit code has been changed to something meaningful.

* bin/ltlsynt.cc: Various improvements: options, exit code, code style
* spot/twaalgos/aiger.hh, spot/twaalgos/aiger.cc,
  spot/twaalgos/Makefile.am: Move the aiger printer to separate files
* tests/core/ltlsynt.test: Clean up and update test file
* tests/Makefile.am: Add the test file to the test suite
* NEWS: document the new aiger printer
* doc/org/concepts.org: document the named property "synthesis-outputs",
  used by print_aiger
2017-11-23 14:46:50 +01:00
Alexandre Duret-Lutz
502ddc6d0a * tests/python/dca.test: Fix location of temporary. 2017-11-23 13:40:05 +01:00
Alexandre Duret-Lutz
5504e2255a do not run optipng anymore
* doc/Makefile.am (dist-hook): Remove.
* HACKING: Adjust.
2017-11-23 13:40:05 +01:00
Alexandre Duret-Lutz
974a4238f6 introduce formula::is_leaf()
Fixes #307.

* spot/tl/formula.hh: Here.
* tests/python/ltlparse.py: Test it.
* NEWS: Mention it.
2017-11-23 13:40:05 +01:00
Alexandre Duret-Lutz
246b5d8fed doc: implement --enable-doxygen and do not distribute the doc
Fixes #299.

* configure.ac, doc/Makefile.am: Adjust.
* NEWS, HACKING, README: Document the change.
* doc/dot.in: Delete, not used anymore.
* doc/Doxyfile.in: Adjust to not look for dot.
* debian/rules: Use --enable-doxygen.
2017-11-22 16:06:04 +01:00
Alexandre Duret-Lutz
cec522d56b 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-22 16:06:03 +01:00
Alexandre Duret-Lutz
cc00898514 fix python/dca.test for VPATH builds
* tests/python/dca.test: Do not assume the run script is in the source
directory.
2017-11-22 16:06:03 +01:00
Alexandre Duret-Lutz
61602a3bba org: convert all images to svg
Suggested in #299.

* doc/org/autfilt.org, doc/org/concepts.org, doc/org/dstar2tgba.org,
doc/org/genaut.org, doc/org/hierarchy.org, doc/org/hoa.org,
doc/org/ltl2tgba.org, doc/org/ltl2tgta.org, doc/org/ltlcross.org,
doc/org/oaut.org, doc/org/randaut.org, doc/org/satmin.org,
doc/org/tut11.org, doc/org/tut23.org, doc/org/tut24.org,
doc/org/tut30.org, doc/org/tut31.org, doc/org/tut50.org,
doc/org/tut51.org: Adjust all dot outputs to produce svg.
* doc/org/arch.tex, doc/org/hierarchy.tex, doc/org/satmin.tex: Adjust
to produce a pdf with 12pt text.
* doc/Makefile.am: Adjust the generation of arch.svg, hierarchy.svg,
and satmin.svg: From above.
* doc/org/.dir-locals.el.in, doc/org/init.el.in: Adjust dot arguments
to produce svg with 12pt text (the default was 14pt).
* doc/org/spot.css: Use Lato as the main font for consistency with
automata.
* HACKING: pdf2svg is now required to build the doc.
2017-11-22 12:03:53 +01:00
Alexandre Duret-Lutz
454cc73670 doc: use SVG in the doxygen manual
Suggested in #299.

* doc/Doxyfile.in: Here.
2017-11-22 12:03:52 +01:00
Maximilien Colange
7066fe29e5 Fix a typo in a test
* tests/sanity/namedprop.test: fix typo for proper output
2017-11-22 11:08:39 +01:00
Alexandre GBAGUIDI AISSE
7e0fc448c5 hierarchy: Rewrite is_recurrence(), is_persistence() and add tests
* spot/tl/hierarchy.cc: Rewrite is_recurrence(), is_persistence()
* spot/tl/hierarchy.hh: Fix typo.
* tests/core/hierarchy.test: Add tests.
2017-11-21 01:20:05 +01:00
Alexandre Duret-Lutz
d89579321f 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-17 18:11:55 +01:00