Commit graph

3886 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
cd661801df word: throw an exception when printing an empty word
Fixes #146.

* spot/twaalgos/word.cc: Here.
* tests/python/word.ipynb: Add a test case.
2016-03-08 14:22:58 +01:00
Alexandre Duret-Lutz
7e2e4df1bb autfilt: add a --reject-word option
* bin/autfilt.cc: Implement --reject-word.
* NEWS, doc/org/autfilt.org: More doc.
* tests/core/acc_word.test: More tests.
2016-03-08 12:14:14 +01:00
Alexandre Duret-Lutz
774895418a * tests/python/word.ipynb: Add a new test and some comments. 2016-03-08 12:14:14 +01:00
Alexandre Duret-Lutz
6bfde8e454 eval: Fix typography in error messages
* spot/twaalgos/word.cc: Here.
* tests/python/word.ipynb: Adjust.
2016-03-08 12:14:14 +01:00
Alexandre Duret-Lutz
f9e2143a53 * bin/autfilt.cc: Mention --accepting-word if its argument is bogus. 2016-03-08 12:14:14 +01:00
Alexandre Duret-Lutz
e018608177 * AUTHORS: Add Amaury Fauchille. 2016-03-08 12:14:14 +01:00
Alexandre Duret-Lutz
897a6ddc04 autfilt: fix --accept-word
* bin/autfilt.cc: Translate each word as an automaton once,
and do not make a global product of all of them.
* spot/twaalgos/word.cc: Register the atomic propositions used by the
word when converting it into an automaton.
* tests/core/acc_word.test: Add a test case that used to fail, and
another test that make sure some words are not accepted.
2016-03-08 12:14:14 +01:00
Alexandre Duret-Lutz
8360c4e856 eval: adjust to recent parser changes
* spot/parsetl/fmterror.cc, spot/tl/parse.hh: Add an option to display
shifted diagnostics.
* spot/twaalgos/word.cc: Use the new parser interface and the above
option.
2016-03-08 12:14:08 +01:00
Amaury Fauchille
1c82444376 autfilt: add new option --accept-word
Suggested by Matthias Heizmann. Fixes #109.

* NEWS: notify the new option
* THANKS: add Matthias Heizmann
* bin/autfilt.cc: add new option --accept-word=WORD which filters
automata that accept WORD
* doc/org/autfilt.org: add an example of the new option
* tests/Makefile.am: add core/acc_word.test to the list of test files
* tests/core/acc_word.test: test some uses of the new option
2016-03-07 22:19:25 +01:00
Amaury Fauchille
1fd76ee918 word: implement twa word parsing
* spot/twaalgos/word.hh: add parse_word method and a new constructor
* spot/twaalgos/word.cc: implement word parsing
* python/spot/__init__.py: add parse_word method binding
* tests/python/word.ipynb: add word parsing tests
2016-03-07 20:17:00 +01:00
Alexandre Duret-Lutz
61b1f200b6 rename tgba_reachable_iterator as twa_reachable_iterator
* spot/twaalgos/reachiter.cc, spot/twaalgos/reachiter.hh: Here.
* spot/twaalgos/stats.cc, spot/twaalgos/lbtt.cc: Adjust.
* doc/org/upgrade2.org, NEWS: Mention the renaming.
2016-03-06 11:40:42 +01:00
Alexandre Duret-Lutz
ad08a585af rename two confusing methods of emptiness_check_instantiator
* spot/twaalgos/emptiness.hh (emptiness_check_instantiator): rename
min_acceptance_conditions and max_acceptance_conditions to
min_sets and max_sets.
* spot/twaalgos/emptiness.cc, python/ajax/spotcgi.in,
tests/core/ikwiad.cc, tests/core/emptchk.cc, tests/core/randtgba.cc:
Adjust.
* doc/org/upgrade2.org, NEWS: Mention the change.
2016-03-03 18:18:39 +01:00
Alexandre Duret-Lutz
cf79cefd9a fix installation of gtec.hh
* spot/twaalgos/gtec/Makefile.am: install it in spot/twaalgos/gtec,
not spot/tgbaalgos/gtec.
* NEWS: Mention it.
2016-03-03 16:47:16 +01:00
Alexandre Duret-Lutz
e87b271ba5 * doc/org/upgrade2.org: Discuss get_dict(). 2016-03-03 16:46:58 +01:00
Alexandre Duret-Lutz
18d7d0a644 * doc/org/upgrade2.org: More text. 2016-03-03 10:29:12 +01:00
Alexandre Duret-Lutz
892e648970 org: add some help for upgrading old code
* doc/org/upgrade2.org: New file.
* doc/Makefile.am, doc/org/index.org: Add it.
* doc/org/tut22.org: Add some custom id for reference.
* doc/org/spot.css: Style the tables.
* NEWS: Mention the new doc.
2016-03-02 17:44:03 +01:00
Alexandre Duret-Lutz
65726c0f60 twa: rename as_var() as as_vars()
* spot/twa/twa.hh, spot/twaalgos/stutter.cc: Here.
* NEWS: Mention the change.
2016-03-02 16:44:49 +01:00
Alexandre Duret-Lutz
4f1fad80a4 * spot/kripke/fwd.hh: Typo. 2016-03-01 17:06:58 +01:00
Alexandre Duret-Lutz
b2d31b4170 org: Fix a section title.
* doc/org/concepts.org: Fix a mistake reported by František Blahoudek.
2016-03-01 14:27:07 +01:00
Alexandre Duret-Lutz
5ec2f8b7b0 * python/buddy.i: Add a hash function for BDDs. 2016-03-01 10:10:01 +01:00
Etienne Renault
e471d4e67d scanaut: add missing braces to please -Wdangling-else
* spot/parseaut/scanaut.ll: here.
2016-02-29 09:06:06 +01:00
Etienne Renault
092e3630f4 Force casts to please clang on OSX
* spot/twa/twagraph.hh, spot/twaalgos/minimize.cc,
spot/twaalgos/remfin.cc: Here.
2016-02-29 09:06:06 +01:00
Alexandre Duret-Lutz
1e18c1a3d4 * NEWS, configure.ac: Bump version number. 2016-02-18 16:16:37 +01:00
Alexandre Duret-Lutz
6b7f0399f4 Release Spot 1.99.8
* NEWS, configure.ac, doc/org/setup.org: Update version number.
2016-02-18 14:28:06 +01:00
Alexandre Duret-Lutz
d30f7e1f0f * doc/org/index.org: Link to spot-sandbox. 2016-02-18 14:24:07 +01:00
Alexandre Duret-Lutz
f59042fc9f * python/ajax/spotcgi.in: Thinko. 2016-02-18 09:08:31 +01:00
Alexandre Duret-Lutz
22f442f758 parsetl: change the interface to return a parsed_formula
This gets the interface of all the functions parsing formula in line
with the interface of the automaton parser: both return a "parsed_*"
object (parsed_formula or parsed_automaton) that contains the said
object and its list of errors.  Doing so avoid having to declare the
parse_error_list in advance.

* spot/tl/parse.hh, spot/parsetl/parsetl.yy: Do the change.
* spot/parsetl/fmterror.cc: Adjust the error printer.
* NEWS: Document it.
* bin/common_finput.cc, bin/common_finput.hh, bin/ltlcross.cc,
bin/ltldo.cc, bin/ltlfilt.cc, doc/org/tut01.org, doc/org/tut02.org,
doc/org/tut10.org, doc/org/tut20.org, python/ajax/spotcgi.in,
python/spot/impl.i, spot/parseaut/parseaut.yy, tests/core/checkpsl.cc,
tests/core/checkta.cc, tests/core/consterm.cc, tests/core/emptchk.cc,
tests/core/equalsf.cc, tests/core/ikwiad.cc, tests/core/kind.cc,
tests/core/length.cc, tests/core/ltlprod.cc, tests/core/ltlrel.cc,
tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
tests/core/safra.cc, tests/core/syntimpl.cc, tests/core/tostring.cc,
tests/ltsmin/modelcheck.cc, tests/python/alarm.py,
tests/python/interdep.py, tests/python/ltl2tgba.py,
tests/python/ltlparse.py: Adjust all uses.
2016-02-17 20:31:58 +01:00
Etienne Renault
cf4f58c34b Update paths to please Darwin
Fixes #144.

* doc/org/.dir-locals.el.in,
doc/org/init.el.in,
python/ajax/spotcgi.in,
tests/run.in: Here.
2016-02-17 15:02:41 +01:00
Alexandre Duret-Lutz
a45de35244 * debian/python3-spot.examples: Fix wildcard. 2016-02-17 14:31:22 +01:00
Alexandre Duret-Lutz
cbfca2291e * tests/Makefile.am: Move ltsmin.ipynb to TESTS_ipython. 2016-02-17 13:43:28 +01:00
Alexandre Duret-Lutz
b56aec242a debian: do not distribute _*.ipynb files
* tests/Makefile.am (nb-html): Only work on the subset of the notebooks
we want to show.
* debian/python3-spot.examples: Ignore _*.ipynb files.
2016-02-17 08:53:02 +01:00
Alexandre Duret-Lutz
f7c495ad12 debian: do not compress notebooks
So that they can be loaded by ipython directly.

* debian/rules: Exclude *.ipynb from compressed files.
2016-02-16 20:52:51 +01:00
Alexandre Duret-Lutz
9692d734a9 cleanup ltsmin bindings
* python/spot/aux.py (rm_f): new function.
* python/spot/ltsmin.i: Replace the %require magic by a simple function.
Rewrite the %%dve magic.
* tests/python/otfcrash.py: Simplify using spot.ltsmin.require()
* tests/python/ltsmin.ipynb: Likewise, also add more text for the
documentation.
* NEWS: Adjust.
2016-02-16 19:08:28 +01:00
Alexandre Duret-Lutz
9b5a763538 sanity: fix race conditions in the test suite
* tests/sanity/80columns.test, tests/sanity/includes.test,
tests/sanity/private.test, tests/sanity/style.test: Have each test
record failure in a separate file.
2016-02-16 17:29:06 +01:00
Alexandre Duret-Lutz
3a3913cf50 otf_product: fix deletion of iter_cache_
Fixes #152, reported by Valentin Iovene.

* spot/twa/twaproduct.cc (~twa_product): Delete iter_cache_.
* tests/python/otfcrash.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the bug.
2016-02-16 17:26:41 +01:00
Alexandre Duret-Lutz
e86370f894 Turn on some new warnings from GCC 6.0
* m4/gccwarn.m4: Add the new warnings.
* spot/ta/taexplicit.cc, spot/ta/taproduct.cc: Add missing asserts.
2016-02-16 17:26:41 +01:00
Alexandre Duret-Lutz
7078ab0af9 satsolver: use precise fstream class for input or output
* spot/misc/satsolver.cc: Here.
2016-02-16 17:26:41 +01:00
Alexandre Duret-Lutz
22af7aefdf python: report dot errors
* python/spot/aux.py: Catch errors from dot and signal them.
* tests/python/_aux.ipynb: New file.
* tests/Makefile.am: Add it.
* tests/sanity/ipynb.pl: Support the convention that tests starting with
'_' should not be published on the web site.
2016-02-16 14:34:57 +01:00
Alexandre Duret-Lutz
c093b7b78f python: move auxiliary functions in a separate module
* python/spot/aux.py: New file, with function extracted from...
* python/spot/__init__.py: ... here.
* python/.gitignore, python/Makefile.am: Adjust.
2016-02-16 12:56:20 +01:00
Alexandre Duret-Lutz
5d272fd256 use more override and final keywords
This patch is mostly focused on tagging most virtual methods that
override as such.  I found a few methods that where not meant to be
virtual this way, and tagged a few classes "final" along the way.

* bin/common_output.cc, spot/kripke/fairkripke.hh,
spot/kripke/kripke.hh, spot/kripke/kripkegraph.hh,
spot/ltsmin/ltsmin.cc, spot/misc/formater.hh, spot/priv/bddalloc.hh,
spot/ta/ta.hh, spot/ta/taexplicit.hh, spot/ta/taproduct.hh,
spot/ta/tgta.hh, spot/ta/tgtaexplicit.cc, spot/ta/tgtaexplicit.hh,
spot/ta/tgtaproduct.hh, spot/taalgos/emptinessta.hh, spot/tl/declenv.hh,
spot/tl/defaultenv.hh, spot/tl/randomltl.hh, spot/tl/relabel.cc,
spot/twa/bdddict.cc, spot/twa/taatgba.hh, spot/twa/twagraph.hh,
spot/twa/twaproduct.hh, spot/twaalgos/gtec/ce.cc,
spot/twaalgos/gtec/ce.hh, spot/twaalgos/gtec/gtec.hh,
spot/twaalgos/gv04.cc, spot/twaalgos/ltl2taa.cc, spot/twaalgos/magic.cc,
spot/twaalgos/minimize.cc, spot/twaalgos/ndfs_result.hxx,
spot/twaalgos/reachiter.hh, spot/twaalgos/se05.cc,
spot/twaalgos/stutter.cc, spot/twaalgos/tau03.cc: Add more override and
final keywords.
2016-02-16 11:59:00 +01:00
Alexandre Duret-Lutz
1ae0600cae ltlcross: add option --determinize
* bin/ltlcross.cc: Implement it.
* doc/org/ltlcross.org, NEWS: Document it.
* tests/core/ltlcross.test, tests/core/ltlcrossce.test: Test it.
2016-02-15 19:16:45 +01:00
Alexandre Duret-Lutz
26d7264717 org: fix two links
Fixes #150.

* doc/org/tut.org: Fix links to notebooks.
* tests/sanity/ipynb.pl: Catch this type of errors in the future.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
199e5fd2e0 autfilt: implement an --ap=RANGE option
Fixes #130.

* bin/autfilt.cc: Implement the option.
* NEWS: Mention it.
* tests/core/readsave.test: Add a short test.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
beb435ebd8 * tests/core/.gitignore: Ignore safra. 2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
52bf1da3c2 ltlfilt: support --ap=RANGE instead of --ap=N
Fixes #131.

* bin/ltlfilt.cc: Implement the option.
* tests/core/ltlfilt.test: Test it.
* NEWS: Mention it.
2016-02-15 17:17:10 +01:00
Alexandre Duret-Lutz
1b12df46fe ltlfilt: replace --[b]size-max/min by --[b]size
* bin/ltlfilt.cc: Implement the new option, and hide the old
ones.
* doc/org/ltlfilt.org, NEWS: Document these options.
* tests/core/ltl2dstar2.test, tests/core/randpsl.test: Adjust tests
to the new syntax.
2016-02-15 16:10:07 +01:00
Alexandre Duret-Lutz
a3e0c8624e remove twa::compute_support_conditions
Fixes #148.

* spot/twa/twa.hh, spot/twa/twa.cc, spot/kripke/fairkripke.hh,
spot/kripke/fairkripke.cc, spot/ta/tgtaexplicit.hh,
spot/ta/tgtaexplicit.cc, spot/twa/twagraph.hh, spot/twa/twaproduct.hh,
spot/twa/twaproduct.cc, spot/twaalgos/stutter.cc, spot/twa/taatgba.hh,
spot/twa/taatgba.cc: Remove the method.
* spot/taalgos/tgba2ta.cc: Emulate it with a simple loop.
* NEWS: Mention the removal.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
39b95474f8 remove twa::transition_annotation
Fixes #149.

* spot/twa/twa.hh, spot/twa/twa.cc, spot/kripke/fairkripke.hh,
spot/kripke/kripke.hh, spot/twa/twaproduct.cc, spot/twa/twaproduct.hh:
Remove this method.
* spot/twaalgos/emptiness.cc, spot/twaalgos/emptiness.hh,
tests/ltsmin/finite.test: Adjust.
* NEWS: Mention the removal.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
e1f5eb1fd6 doc: improve the twa class documentation
* spot/twa/twa.hh: More documentation.
* doc/Doxyfile.in: Allow same doc for groups of methods.
2016-02-15 11:04:48 +01:00
Alexandre Duret-Lutz
ea348d8e80 * spot/twa/twa.hh: Fix doxygen comments. 2016-02-15 11:04:48 +01:00