Commit graph

3551 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
5a9b0aa1c1 python: add bindings for ltsmin
* python/spot/ltsmin.i: New file.
* python/Makefile.am: Add it.
* python/spot/impl.i: Add bindings for kripke and fair_kripke.
* tests/python/ltsmin.ipynb: New file.
* tests/Makefile.am, doc/org/tut.org: Add it.
* tests/python/ipnbdoctest.py: Make it possible for notebook
to exit(77).
* debian/control: Make the Python package dependent
on libspotltsmin0.
* python/spot/__init__.py: Typo.
2016-01-26 19:20:53 +01:00
Alexandre Duret-Lutz
215fcb799a Make spot.py a python package instead of a module
* python/spot.py, python/spot_impl.i: Rename as...
* python/spot/__init__.py, python/spot/impl.i: ... these.
* python/Makefile.am, tests/run.in: Adjust for new paths.
* tests/python/automata-io.ipynb, tests/python/automata.ipynb,
tests/python/decompose.ipynb, tests/python/piperead.ipynb,
tests/python/testingaut.ipynb: Adjust messages to refer to spot.impl
instead of spot_impl.
2016-01-26 19:20:26 +01:00
Alexandre Duret-Lutz
727d4cc678 * doc/org/concepts.org: Fix a few typos. 2016-01-23 22:11:18 +01:00
Alexandre Duret-Lutz
c4e9083f4e product: raise an exception if the dict are different
Fixes #132.

* python/spot.py (translate): Allow changing the dictionary.
* tests/python/prodexpt.py: New file.
* tests/Makefile.am: Add it.
* spot/twa/twaproduct.cc, spot/twaalgos/product.cc: Add them.
* NEWS: Mention the change.
2016-01-23 21:28:35 +01:00
Alexandre Duret-Lutz
78fd7beaaf org: Add a Concepts page.
* doc/org/concepts.org: New file.
* doc/Makefile.am: Add it.
* doc/org/oaut.org: Add anchor.
* doc/org/index.org, doc/org/tut.org: Add links to concepts.org.
* doc/org/spot.css: Set up boxes for implementation details.
* NEWS: Mention the new page.
2016-01-23 17:49:32 +01:00
Alexandre Duret-Lutz
2364ff8148 typos
* bin/autfilt.cc, spot/twaalgos/degen.cc, spot/twaalgos/dtwasat.cc,
spot/twaalgos/remfin.cc, spot/twaalgos/sccfilter.cc: "only work" ->
"only works".
2016-01-21 19:11:25 +01:00
Alexandre Duret-Lutz
73b1a0901e * doc/org/.gitignore: Add sitemap.org. 2016-01-21 19:07:48 +01:00
Alexandre Duret-Lutz
7673b4b535 * python/spot.py: Make it possible to call str('dot') on formula. 2016-01-21 19:07:48 +01:00
Alexandre Duret-Lutz
ad8b964520 org: generate a sitemap
* doc/org/.dir-locals.el.in, doc/org/init.el.in: Enable sitemap
generation.
2016-01-18 16:57:26 +01:00
Alexandre Duret-Lutz
5b82978449 * doc/org/setup.org: Disable html postamble. 2016-01-18 16:57:06 +01:00
Alexandre Duret-Lutz
dc93e13490 * NEWS, configure.ac: Bump version number. 2016-01-15 16:29:09 +01:00
Alexandre Duret-Lutz
f466320b4a Release Spot 1.99.7
* NEWS, configure.ac, doc/org/setup.org: Bump version to 1.99.7.
2016-01-15 11:30:16 +01:00
Alexandre Duret-Lutz
c22ef61037 * python/ajax/spotcgi.in: Rename acc.is_tt() to acc.is_t(). 2016-01-15 08:50:48 +01:00
Alexandre Duret-Lutz
f5d156abf2 * NEWS: Minor cleanup. 2016-01-15 08:49:08 +01:00
Alexandre Duret-Lutz
0f39da9ed6 * doc/org/compile.org: Typos. 2016-01-15 08:39:08 +01:00
Alexandre Duret-Lutz
66d8f3ce09 work around core dump created by running ipython4
* tests/Makefile.am (distclean-local): Erase python/core.
2016-01-14 18:37:48 +01:00
Alexandre Duret-Lutz
51483b9b7f fix complete
Alexandre Lewkowicz reported a case where complete() would peek an
existing state that is accepting, and wrongly use it as a sink.

* spot/twaalgos/complete.cc: Fix the function.
* tests/core/complete.test: Add two more tests.
* NEWS: Mention the bug.
2016-01-14 17:16:17 +01:00
Alexandre Duret-Lutz
6c62362fe9 parseaut: add support for negated properties
* spot/parseaut/parseaut.yy: Here.
* tests/core/parseaut.test: Test it.
* NEWS: Mention it.
2016-01-14 16:58:17 +01:00
Alexandre Duret-Lutz
da391492f3 twa: store property bits as trivals
* spot/twa/twa.hh: Store property bits as trivals.
* NEWS: Mention the change.
* spot/parseaut/parseaut.yy, spot/twaalgos/are_isomorphic.cc,
spot/twaalgos/complete.cc, spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc,
spot/twaalgos/isdet.cc, spot/twaalgos/isunamb.cc, spot/twaalgos/lbtt.cc,
spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/postproc.cc,
spot/twaalgos/remfin.cc, spot/twaalgos/strength.cc,
spot/twaalgos/stutter.cc, spot/twaalgos/stutter.hh,
spot/twaalgos/totgba.cc, tests/core/ikwiad.cc,
tests/python/product.ipynb, tests/python/remfin.py: Adjust.
* doc/org/hoa.org, doc/org/tut21.org: Update documentation.
2016-01-13 17:57:54 +01:00
Alexandre Duret-Lutz
1aeb260adf trival: new class for tri-valued logic
* spot/misc/trival.hh: New file.
* spot/misc/Makefile.am: Add it.
* python/spot_impl.i: Add Python bindings.
* tests/core/trival.cc, tests/core/trival.test,
tests/python/trival.py: New files, testing it.
* tests/Makefile.am: Add them.
2016-01-13 17:57:54 +01:00
Etienne Renault
e764cf6f3b Preserve named-states during defrag
* spot/twa/twagraph.cc, spot/twa/twagraph.hh,
tests/core/tgbagraph.test, tests/core/twagraph.cc,
NEWS: here.
2016-01-12 21:06:46 +01:00
Alexandre Duret-Lutz
d22ecba9b6 twa: call unregister_all_my_variables()
Fixes #129.

* spot/twa/twa.cc (~twa): call unregister_all_my_variables()
* spot/twa/twagraph.hh, spot/twa/twaproduct.cc,
spot/twaalgos/stutter.cc: Simplify.
* NEWS: Mention the change.
2016-01-10 21:02:31 +01:00
Alexandre Duret-Lutz
d0b38156f3 bin: make HOA the default output
* bin/common_aoutput.cc: Make HOA the default output.
* NEWS: Mention this.
* doc/org/autfilt.org, doc/org/dstar2tgba.org, doc/org/hoa.org,
doc/org/ltl2tgba.org, doc/org/ltl2tgta.org, doc/org/ltlcross.org,
doc/org/ltldo.org, doc/org/oaut.org, doc/org/randaut.org,
doc/org/satmin.org, doc/org/tut02.org, doc/org/tut03.org,
doc/org/tut20.org, doc/org/tut21.org, doc/org/tut30.org,
tests/core/dstar.test, tests/core/ltldo2.test, tests/core/monitor.test,
tests/python/piperead.ipynb: Adjust.
2016-01-08 13:42:57 +01:00
Alexandre Duret-Lutz
9d6727da5c bin: add support for SPOT_DEFAULT_FORMAT
* bin/common_aoutput.cc, bin/common_aoutput.hh, bin/common_setup.cc:
Implement it.
* NEWS, bin/man/spot-x.x: Document it.
* tests/core/readsave.test: Test it.
2016-01-06 18:17:06 +01:00
Alexandre Duret-Lutz
cca2022e90 bin: add -d as a shorthand for --dot
* bin/common_aoutput.cc: Here.
* NEWS, doc/org/oaut.org: Mention it.
* tests/core/readsave.test: Use it once.
2016-01-06 16:27:59 +01:00
Alexandre Duret-Lutz
ea5f52ddbb randaut: rename -d as -e
This is so that we can have -d as an alias for --dot everywhere.

* bin/randaut.cc: Rename -d as -e.
* NEWS: Mention the change.
* doc/org/autfilt.org, doc/org/oaut.org, doc/org/randaut.org,
tests/core/parseaut.test, tests/core/readsave.test: Adjust.
2016-01-06 15:54:11 +01:00
Alexandre Duret-Lutz
8c04e31a35 org: fix definition of PATH
* doc/org/.dir-locals.el.in, doc/org/init.el.in: bin/ is no longer in
spot/.
2016-01-06 15:43:36 +01:00
Alexandre Duret-Lutz
5232e6a2fb * tests/core/randaut.test: Simplify calls to randaut/autfilt. 2016-01-06 15:17:59 +01:00
Alexandre Duret-Lutz
d5c8574650 * bin/README: Typo. 2016-01-06 15:08:28 +01:00
Alexandre Duret-Lutz
3b115f0105 * HACKING: Minor updates to a few sections. 2016-01-06 14:25:37 +01:00
Alexandre Duret-Lutz
f470edc6c4 Do not run the Python tests when --disable-python.
* tests/Makefile.am (TESTS_python): Define conditionally.
2016-01-06 14:24:51 +01:00
Alexandre Duret-Lutz
bf7df62032 * tools/test-driver-teamcity: Do not add tests/ in the output. 2016-01-05 17:20:51 +01:00
Alexandre Duret-Lutz
f08dbe7000 * NEWS: Mention recent directory moves. 2016-01-05 17:20:51 +01:00
Alexandre Duret-Lutz
82a718a0f2 * bin/common_setup.cc: Bump copyright year. 2016-01-05 17:20:51 +01:00
Alexandre Duret-Lutz
d68db6ad44 use find to clean to test suite temporary directories
* tests/Makefile.am (distclean-local): Here.
2016-01-05 17:20:51 +01:00
Alexandre Duret-Lutz
6e854b6d83 move the sanity tests in tests/sanity/
* spot/sanity/: Move ...
* tests/sanity/: ... here.
* spot/sanity/Makefile.am: Merge with...
* tests/Makefile.am: ... this.
* tests/run.in: Learn to run perl tests.
* README, configure.ac, spot/Makefile.am: Adjust.
* spot/tl/mark.hh: Add missing SPOT_API detected by
fixed private.test.

* spot/twaalgos/weight.cc, spot/twaalgos/weight.hh: Move...
* spot/priv/weight.cc, spot/priv/weight.hh: ... here, as
suggested by fixed private.test.
* spot/twaalgos/tau03opt.cc, spot/twaalgos/Makefile.am,
spot/priv/Makefile.am: Adjust.
2016-01-05 17:20:51 +01:00
Alexandre Duret-Lutz
6b881a2e38 * tests/python/ipnbdoctest.py: 80 columns. 2016-01-05 11:53:03 +01:00
Alexandre Duret-Lutz
ddc424f5a3 move ltsmin tests to tests/ltsmin/
* spot/ltsmin/defs.in: Delete.
* spot/ltsmin/README, spot/ltsmin/beem-peterson.4.dve,
spot/ltsmin/check.test, spot/ltsmin/elevator2.1.pm,
spot/ltsmin/finite.dve, spot/ltsmin/finite.pm, spot/ltsmin/finite.test,
spot/ltsmin/finite2.test, spot/ltsmin/kripke.test,
spot/ltsmin/modelcheck.cc: Move...
* tests/ltsmin/: ... here.
* spot/ltsmin/README: Point to tests/ltsmin/README.
* README, configure.ac, spot/ltsmin/Makefile.am, tests/.gitignore,
tests/Makefile.am, tests/core/defs.in: Adjust.
2016-01-05 11:52:24 +01:00
Alexandre Duret-Lutz
7e6bfd0e8f * debian/rules: Fix html conversion of notebooks. 2016-01-05 09:08:06 +01:00
Alexandre Duret-Lutz
5cb94a1a3f Merge the core and python tests in the tests/ directory
* tests/: Rename as...
* tests/core/: ... this.
* python/tests/: Rename as...
* tests/python/: ... this.
* python/tests/run.in: Move as...
* tests/run.in: This, and adjust.
* tests/Makefile.am: Adjust to run both core and python tests.
* configure.ac, README, debian/python3-spot.examples, debian/rules,
doc/org/tut.org, python/Makefile.am, spot/ltsmin/Makefile.am,
spot/ltsmin/kripke.test, spot/sanity/ipynb.test: Adjust.
2016-01-04 16:02:30 +01:00
Alexandre Duret-Lutz
18572db39f * spot/sanity/ipynb.test: Fix notebook detection. 2015-12-28 18:04:08 +01:00
Alexandre Duret-Lutz
8483f7fc50 * doc/org/tut.org: Minor fixes. 2015-12-27 20:20:42 +01:00
Alexandre Duret-Lutz
134dfc73de move spot/bin/ and spot/tests/ up by one level
* spot/bin/: Move...
* bin/: ... here.
* spot/tests/: Move...
* tests/: ... here.
* Makefile.am, README, bench/stutter/Makefile.am,
bench/stutter/stutter_invariance_formulas.cc, doc/Makefile.am,
configure.ac, debian/rules, spot/Makefile.am, spot/ltsmin/Makefile.am,
spot/ltsmin/kripke.test, spot/sanity/style.test, python/tests/run.in:
Adjust.
2015-12-27 20:10:59 +01:00
Alexandre Duret-Lutz
ff4837f4f2 python: more robust handling of %timeit in notebooks
* python/tests/ipnbdoctest.py: Simply ignore %timeit blocks.
2015-12-26 20:16:53 +01:00
Alexandre Duret-Lutz
6fb4df4359 Move spot-if/ltsmin/ to spot/ltsmin/
* spot-if/ltsmin/: Rename as...
* spot/ltsmin/: ... this.
* spot-if/: Delete.
* Makefile.am, NEWS, README, configure.ac, debian/libspot-dev.install,
doc/Doxyfile.in, spot/Makefile.am, spot/sanity/80columns.test,
spot/sanity/style.test: Adjust.
2015-12-25 13:45:42 +01:00
Alexandre Duret-Lutz
34c3c1cedc rename wrap/python/ to python/
* wrap/python/: Rename to...
* python/: ... this.
* wrap/: Delete.
* Makefile.am, README, configure.ac, debian/python3-spot.examples,
debian/rules, doc/org/.dir-locals.el.in, doc/org/init.el.in,
spot/sanity/ipynb.test: Adjust.
2015-12-25 12:38:25 +01:00
Alexandre Duret-Lutz
74ec9c54c4 show how to implement product in Python
* wrap/python/tests/product.ipynb: New file.
* wrap/python/tests/Makefile.am, doc/org/tut.org: Add it.
* wrap/python/tests/ipnbdoctest.py: Ignore %timeit results.
* wrap/python/spot_impl.i: Add bindings for
set_state_names()/get_state_names().
* spot/twaalgos/product.cc: Fix computation of properties.
* doc/org/hoa.org: Name.
* NEWS: Update.
2015-12-24 19:47:15 +01:00
Alexandre Duret-Lutz
ad37cacbc0 twa: fix duplicate propositions in ap()
Calling register_ap() with same atomic proposition several time, for
instance via copy_ap() in a product, would create duplicate atomic
propositions.  This fix will be exercised by the next patch.

* spot/twa/twa.hh: Here.
* spot/twaalgos/compsusp.cc, spot/twaalgos/ltl2taa.cc: Fix
to correctly register atomic propositions.
* NEWS: Mention it.
2015-12-24 19:46:43 +01:00
Alexandre Duret-Lutz
fbf5ac0ea7 acc_cond: get rid of generalized_buchi()
It is already in acc_cond::acc_code::generalized_buchi() along with all
other acceptance condition constructors.

* spot/twa/acc.hh (acc_cond::generalized_buchi): Remove.
* spot/tests/ikwiad.cc, spot/twaalgos/postproc.cc: Adjust.
2015-12-18 18:18:47 +01:00
Alexandre Duret-Lutz
df1ef302e8 acc_code: parse from the constructor
* spot/twa/acc.hh, spot/twa/acc.cc (parse_acc_code): Rename as...
(acc_cond::acc_code): ... this, making it a lot easier to build
acceptance conditions from strings.
* NEWS: Mention the change.
* spot/twaalgos/dtwasat.cc, spot/bin/randaut.cc, spot/tests/acc.cc:
Adjust.
* wrap/python/tests/acc_cond.ipynb, wrap/python/tests/accparse.ipynb,
wrap/python/tests/accparse2.py: Simplify, but not completely to exercise
all variants.
* wrap/python/spot_impl.i: Make acc_code's constructor implicit.
2015-12-18 18:18:28 +01:00