Commit graph

3709 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
5e47d4df38 update some URLs to skip permanent redirections
* doc/org/concepts.org, doc/org/ltlcross.org, doc/org/ltldo.org,
python/ajax/trans.html, tools/man2html.pl: Update URLs.
2016-04-10 12:16:28 +02:00
Alexandre Duret-Lutz
868f2634f8 org: document automata properties
Fixes #157.

* doc/org/concepts.org: Document the properties.
* doc/org/hoa.org: Link to it.
* NEWS: Mention the change.
2016-04-10 11:33:46 +02:00
Alexandre Duret-Lutz
4299517c8d org: add picture for the architecture
* doc/org/arch.tex: New file.
* doc/Makefile.am: Compile it.
* doc/org/concepts.org: Show it.
2016-04-10 10:04:14 +02:00
Alexandre Duret-Lutz
949638930b * NEWS: Mention recent python changes. 2016-04-09 10:14:31 +02:00
Alexandre Duret-Lutz
59e1f6a339 ltlfilt: implement --reject-word and --accept-word
* bin/common_range.hh: Store the common definition of words.
* bin/autfilt.cc: Use it.
* bin/ltlfilt.cc: Likewise, and implement those two options.
* tests/core/acc_word.test: Test them.
* doc/org/autfilt.org: Augment the last example to point out
that it can now be done with ltlfilt.
* NEWS: Mention the new options.
2016-04-09 10:10:41 +02:00
Alexandre Duret-Lutz
901f287032 python: add prints for atomic_prop_set
Fixes #159.

* python/spot/ltsmin.i: Here.
* python/spot/impl.i: Disable duplicate instantiation.
* tests/python/ltsmin.ipynb: Test it.
2016-04-08 23:01:07 +02:00
Alexandre Duret-Lutz
e429e2f056 * tests/sanity/style.test: Cancel set -x. 2016-04-08 22:34:17 +02:00
Alexandre Duret-Lutz
ed3b58c99c let ltsmin.model.kripke() take the output of atomic_prop_collect()
Fixes #160.

* spot/tl/formula.hh (formula::ap): New specialization.
* tests/python/ltsmin.ipynb: Test it.
2016-04-08 22:33:48 +02:00
Alexandre Duret-Lutz
a4f111f342 * spot/tl/formula.hh: More doxygen comments for fnode. 2016-04-01 18:26:27 +02:00
Alexandre Duret-Lutz
50c2192edf tests: correctly declare word.ipynb
Fixes #158, reported by Laurent Xu.

* tests/Makefile.am (TESTS_python): Move word.ipynb...
(TESTS_ipython): ... here.
2016-03-17 18:07:45 +01:00
Alexandre Duret-Lutz
d8a9737f02 * NEWS, configure.ac: Bump version to 1.99.9a. 2016-03-13 16:54:23 +01:00
Alexandre Duret-Lutz
54d6507fc2 Release Spot 1.99.9.
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2016-03-13 16:45:08 +01:00
Alexandre Duret-Lutz
2402c2141d Mark more classes are final.
Fixes #42.

* bench/stutter/stutter_invariance_formulas.cc, bin/autfilt.cc,
bin/common_output.cc, bin/dstar2tgba.cc, bin/ltl2tgba.cc,
bin/ltl2tgta.cc, bin/ltlcross.cc, bin/ltldo.cc, bin/ltlfilt.cc,
bin/ltlgrind.cc, spot/misc/intvcmp2.cc, spot/misc/intvcomp.cc,
spot/taalgos/dot.cc, spot/taalgos/statessetbuilder.cc,
spot/taalgos/stats.cc, spot/tl/relabel.cc, spot/tl/simplify.cc,
spot/tl/snf.cc, spot/twa/bdddict.cc, spot/twa/twaproduct.cc,
spot/twaalgos/degen.cc, spot/twaalgos/determinize.cc,
spot/twaalgos/dot.cc, spot/twaalgos/emptiness.cc,
spot/twaalgos/gtec/ce.cc, spot/twaalgos/ltl2tgba_fm.cc,
spot/twaalgos/magic.cc, spot/twaalgos/neverclaim.cc,
spot/twaalgos/se05.cc, spot/twaalgos/simulation.cc,
spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc: Add final.
2016-03-13 16:03:39 +01:00
Alexandre Duret-Lutz
8814f16637 * python/ajax/spotcgi.in: Fix error message. 2016-03-13 15:10:04 +01:00
Alexandre Duret-Lutz
e081926885 * spot/twaalgos/word.hh: Add documentation. 2016-03-13 15:06:52 +01:00
Alexandre Duret-Lutz
8bc10dea82 * tests/core/ikwiad.cc: Rewrite the help text without std::endl. 2016-03-13 13:37:34 +01:00
Alexandre Duret-Lutz
546fa92a5d * spot/tl/formula.hh (binop): Fix Doxygen comment. 2016-03-12 19:43:45 +01:00
Alexandre Duret-Lutz
1287525afa * doc/org/autfilt.org: Add missing text. 2016-03-10 18:32:39 +01:00
Laurent XU
81333df2c3 * python/Makefile.am: Fix Makefile's targets in separated folder. 2016-03-10 17:40:46 +01:00
Alexandre Duret-Lutz
5313098308 * AUTHORS: Add Laurent Xu. 2016-03-10 17:40:46 +01:00
Alexandre Duret-Lutz
73e4fcd033 ensure the no-tab rule
* HACKING: Mention the no-tab rule.
* tests/sanity/style.test: Only test for it at the beginning of line.
2016-03-10 17:40:46 +01:00
Laurent XU
f7e7b4f14e sanity: Replace tabulars by spaces in *.cc *.hh *.hxx
* bin/autfilt.cc, bin/common_aoutput.cc, bin/common_aoutput.hh,
bin/common_finput.cc, bin/common_finput.hh, bin/common_hoaread.cc,
bin/common_output.cc, bin/common_output.hh, bin/common_post.cc,
bin/common_post.hh, bin/common_r.hh, bin/common_range.cc,
bin/common_range.hh, bin/common_setup.cc, bin/common_trans.cc,
bin/common_trans.hh, bin/dstar2tgba.cc, bin/genltl.cc,
bin/ltl2tgba.cc, bin/ltl2tgta.cc, bin/ltlcross.cc, bin/ltldo.cc,
bin/ltlfilt.cc, bin/ltlgrind.cc, bin/randaut.cc, bin/randltl.cc,
bin/spot-x.cc, spot/graph/graph.hh, spot/graph/ngraph.hh,
spot/kripke/kripkegraph.hh, spot/ltsmin/ltsmin.cc,
spot/ltsmin/ltsmin.hh, spot/misc/bareword.cc, spot/misc/bitvect.cc,
spot/misc/bitvect.hh, spot/misc/common.hh, spot/misc/escape.cc,
spot/misc/fixpool.hh, spot/misc/formater.cc, spot/misc/hash.hh,
spot/misc/intvcmp2.cc, spot/misc/intvcmp2.hh, spot/misc/intvcomp.cc,
spot/misc/intvcomp.hh, spot/misc/location.hh, spot/misc/minato.cc,
spot/misc/minato.hh, spot/misc/mspool.hh, spot/misc/optionmap.cc,
spot/misc/optionmap.hh, spot/misc/random.cc, spot/misc/random.hh,
spot/misc/satsolver.cc, spot/misc/satsolver.hh, spot/misc/timer.cc,
spot/misc/timer.hh, spot/misc/tmpfile.cc, spot/misc/trival.hh,
spot/parseaut/fmterror.cc, spot/parseaut/parsedecl.hh,
spot/parseaut/public.hh, spot/parsetl/fmterror.cc,
spot/parsetl/parsedecl.hh, spot/priv/accmap.hh, spot/priv/bddalloc.cc,
spot/priv/freelist.cc, spot/priv/trim.cc, spot/priv/weight.cc,
spot/priv/weight.hh, spot/ta/taexplicit.cc, spot/ta/taexplicit.hh,
spot/ta/taproduct.cc, spot/ta/taproduct.hh, spot/ta/tgtaexplicit.cc,
spot/ta/tgtaexplicit.hh, spot/ta/tgtaproduct.cc,
spot/ta/tgtaproduct.hh, spot/taalgos/dot.cc, spot/taalgos/dot.hh,
spot/taalgos/emptinessta.cc, spot/taalgos/emptinessta.hh,
spot/taalgos/minimize.cc, spot/taalgos/tgba2ta.cc,
spot/taalgos/tgba2ta.hh, spot/tl/apcollect.cc, spot/tl/contain.cc,
spot/tl/contain.hh, spot/tl/dot.cc, spot/tl/exclusive.cc,
spot/tl/exclusive.hh, spot/tl/formula.cc, spot/tl/formula.hh,
spot/tl/length.cc, spot/tl/mark.cc, spot/tl/mutation.cc,
spot/tl/mutation.hh, spot/tl/parse.hh, spot/tl/print.cc,
spot/tl/print.hh, spot/tl/randomltl.cc, spot/tl/randomltl.hh,
spot/tl/relabel.cc, spot/tl/relabel.hh, spot/tl/remove_x.cc,
spot/tl/simplify.cc, spot/tl/simplify.hh, spot/tl/snf.cc,
spot/tl/snf.hh, spot/tl/unabbrev.cc, spot/tl/unabbrev.hh,
spot/twa/acc.cc, spot/twa/acc.hh, spot/twa/bdddict.cc,
spot/twa/bdddict.hh, spot/twa/bddprint.cc, spot/twa/formula2bdd.cc,
spot/twa/formula2bdd.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
spot/twa/twa.cc, spot/twa/twa.hh, spot/twa/twagraph.cc,
spot/twa/twagraph.hh, spot/twa/twaproduct.cc, spot/twa/twaproduct.hh,
spot/twaalgos/are_isomorphic.cc, spot/twaalgos/are_isomorphic.hh,
spot/twaalgos/bfssteps.cc, spot/twaalgos/bfssteps.hh,
spot/twaalgos/cleanacc.cc, spot/twaalgos/complete.cc,
spot/twaalgos/compsusp.cc, spot/twaalgos/compsusp.hh,
spot/twaalgos/copy.cc, spot/twaalgos/cycles.cc,
spot/twaalgos/cycles.hh, spot/twaalgos/degen.cc,
spot/twaalgos/degen.hh, spot/twaalgos/determinize.cc,
spot/twaalgos/determinize.hh, spot/twaalgos/dot.cc,
spot/twaalgos/dot.hh, spot/twaalgos/dtbasat.cc,
spot/twaalgos/dtbasat.hh, spot/twaalgos/dtwasat.cc,
spot/twaalgos/dtwasat.hh, spot/twaalgos/emptiness.cc,
spot/twaalgos/emptiness.hh, spot/twaalgos/emptiness_stats.hh,
spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/ce.hh,
spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/gtec.hh,
spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc,
spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/hoa.hh,
spot/twaalgos/isdet.cc, spot/twaalgos/isunamb.cc,
spot/twaalgos/isweakscc.cc, spot/twaalgos/lbtt.cc,
spot/twaalgos/lbtt.hh, spot/twaalgos/ltl2taa.cc,
spot/twaalgos/ltl2taa.hh, spot/twaalgos/ltl2tgba_fm.cc,
spot/twaalgos/ltl2tgba_fm.hh, spot/twaalgos/magic.cc,
spot/twaalgos/magic.hh, spot/twaalgos/mask.cc, spot/twaalgos/mask.hh,
spot/twaalgos/minimize.cc, spot/twaalgos/minimize.hh,
spot/twaalgos/ndfs_result.hxx, spot/twaalgos/neverclaim.cc,
spot/twaalgos/neverclaim.hh, spot/twaalgos/postproc.cc,
spot/twaalgos/postproc.hh, spot/twaalgos/powerset.cc,
spot/twaalgos/powerset.hh, spot/twaalgos/product.cc,
spot/twaalgos/product.hh, spot/twaalgos/projrun.cc,
spot/twaalgos/projrun.hh, spot/twaalgos/randomgraph.cc,
spot/twaalgos/randomgraph.hh, spot/twaalgos/randomize.cc,
spot/twaalgos/randomize.hh, spot/twaalgos/reachiter.cc,
spot/twaalgos/reachiter.hh, spot/twaalgos/relabel.cc,
spot/twaalgos/relabel.hh, spot/twaalgos/remfin.cc,
spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc,
spot/twaalgos/sccfilter.cc, spot/twaalgos/sccfilter.hh,
spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh,
spot/twaalgos/se05.cc, spot/twaalgos/se05.hh,
spot/twaalgos/sepsets.cc, spot/twaalgos/simulation.cc,
spot/twaalgos/simulation.hh, spot/twaalgos/stats.cc,
spot/twaalgos/stats.hh, spot/twaalgos/strength.cc,
spot/twaalgos/strength.hh, spot/twaalgos/stripacc.cc,
spot/twaalgos/stutter.cc, spot/twaalgos/stutter.hh,
spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc,
spot/twaalgos/tau03opt.hh, spot/twaalgos/totgba.cc,
spot/twaalgos/translate.cc, spot/twaalgos/word.cc, tests/core/acc.cc,
tests/core/bitvect.cc, tests/core/checkpsl.cc, tests/core/checkta.cc,
tests/core/consterm.cc, tests/core/emptchk.cc, tests/core/equalsf.cc,
tests/core/graph.cc, tests/core/ikwiad.cc, tests/core/intvcmp2.cc,
tests/core/intvcomp.cc, tests/core/kind.cc, tests/core/kripkecat.cc,
tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/randtgba.cc,
tests/core/readltl.cc, tests/core/reduc.cc, tests/core/safra.cc,
tests/core/syntimpl.cc, tests/ltsmin/modelcheck.cc: Replace tabulars by
8 spaces.
* tests/sanity/style.test: Add checks for no tabulars in *.cc *.hh *.hxx
2016-03-10 17:40:46 +01:00
Laurent XU
1eee12b8b4 python: add wrapper on twa_graph::edges()
* spot/twa/twagraph.hh (edges): Do not hide from SWIG.
* spot/graph/graph.hh: Hide stuff that SWIG do not understand.
* python/spot/impl.i: Add some typemaps and fragment to
iterate over the result of twa_graph::edges().
2016-03-10 17:12:21 +01:00
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