Commit graph

499 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
2665b5780a relabel: do not unregister old AP that are also new
Reported by Ayrat Khalimov against the trans.html page when using
ltl3ba.

* spot/twaalgos/relabel.cc: Here.
* tests/core/ltl3dra.test: Test it.
* NEWS: Mention it.
* THANKS: Add Ayrat.
2016-07-11 10:54:58 +02:00
Alexandre Duret-Lutz
70064d0b75 ltl2tgta: remove options --ba, --tgba, and friends
* bin/common_post.cc, bin/common_post.hh: Add a "nooutput" variant of
the options.
* bin/ltl2tgta.cc: Use it.
* NEWS: Mention the fix.
2016-07-11 10:54:58 +02:00
Alexandre Duret-Lutz
d4a385e341 ajax: fix GTA construction
* python/ajax/spotcgi.in: Here.
* NEWS: Mention it.
2016-07-11 10:54:45 +02:00
Alexandre Duret-Lutz
a4c7016f52 degen: fix handling of degen-lcache=1
* spot/twaalgos/degen.cc: Here.
* tests/core/degendet.test: Add test case.
* tests/core/ltl2ta.test: Adjust expected output.
* NEWS: Mention the issue.
2016-07-11 10:53:41 +02:00
Alexandre Duret-Lutz
01e71d108a * NEWS, configure.ac: Bump version number. 2016-06-17 16:40:51 +02:00
Alexandre Duret-Lutz
1cce09bc80 Release Spot 2.0.2
* NEWS: Update.
* configure.ac, doc/org/setup.org: Bump version.
2016-06-17 16:33:30 +02:00
Alexandre Duret-Lutz
dc5237c7e7 relabel: fix infinite recursion in relabel_bse()
Reported by František Blahoudek.

* spot/tl/relabel.cc: Fix.
* tests/core/ltlrel.test: Add test case.
* NEWS: Mention the bug.
2016-06-14 10:11:15 +02:00
Alexandre Duret-Lutz
e75605529a attempt to fix clang++ compilation error
Seen on arch linux when clang++ 3.7.1 uses GCC's 6.1.1 tuple header.

* spot/twaalgos/ltl2tgba_fm.cc (ratexp_to_dfa::succ): Build the return
type explicitly.
* NEWS: Mention the issue.
2016-05-10 10:48:13 +02:00
Alexandre Duret-Lutz
d4c1db287b * NEWS: Update for next version. 2016-05-09 13:13:02 +02:00
Alexandre Duret-Lutz
cfd4a1b98d Release Spot 2.0.1
* NEWS, configure.ac, doc/org/setup.org: Update.
2016-05-09 09:33:24 +02:00
Alexandre Duret-Lutz
4cc6df102a bench: fix bench/ltl2tgba for new bin location
* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/defs.in:
Update location of tools.
* NEWS: Mention the fix.
2016-05-05 19:40:23 +02:00
Alexandre Duret-Lutz
9149724617 doc: add a spot(7) man page
Suggested by Akim Demaille.  Fixes #171.

* bin/man/spot.x, bin/spot.cc: New files.
* bin/man/Makefile.am, bin/Makefile.am: Add them.
* doc/org/tools.org, NEWS: Mention the new page.
2016-05-02 14:40:45 +02:00
Alexandre Duret-Lutz
a1b3b065fa print_hoa: output all registered APs
Also introduce twa::unregister_ap() and twa_graph::remove_unused_ap()
so that the methods where this behavior is expected can be fixed.

And fix ltsmin::kripke() which did not register APs.

Part of #170.

* spot/twaalgos/hoa.cc: Use apvars() to print all registerd APs.
Throw an exception when printing automata using unregistered APs.
* spot/ltsmin/ltsmin.cc: Call register_ap().
* spot/twa/twa.cc, spot/twa/twa.hh, spot/twa/twagraph.cc,
spot/twa/twagraph.hh (twa::unregister_ap, twa_graph::remove_unused_ap):
New methods.
* spot/tl/exclusive.cc, spot/twaalgos/postproc.cc,
spot/twaalgos/remprop.cc, spot/twaalgos/relabel.cc: Use them.
* tests/core/maskacc.test, tests/core/maskkeep.test,
tests/core/strength.test: Adjust expected results.
* NEWS: Mention those changes.
2016-05-01 15:09:06 +02:00
Alexandre Duret-Lutz
dad17b36b8 honor ap() when counting transitions
Fixing this bug alone revealed another bug: parsing never claim or LBTT
automata did not register APs.  So this fixes both bugs.

This is the first part of #170.

* spot/twa/twa.hh (register_aps_from_dict): New method.
* spot/parseaut/parseaut.yy: Call it for never claim and LBTT files.
* spot/twaalgos/stats.cc: Simplify using ap_vars().
* tests/core/ltl2tgba.test: Add a test case.
* NEWS: Mention the bugs.
2016-05-01 15:06:21 +02:00
Alexandre Duret-Lutz
4f913c7fb5 autfilt: fix simpification of exclusive AP
* bin/autfilt.cc: Here.
* tests/core/exclusive-tgba.test: Test it.
* NEWS: Mention the fix.
2016-05-01 15:06:21 +02:00
Alexandre Duret-Lutz
1d739d766f python: export tgba_determinize
* python/spot/impl.i: Here.
* tests/python/automata.ipynb: Use it.
* NEWS: Mention it.
2016-04-22 20:22:55 +02:00
Alexandre Duret-Lutz
370ac51b6b docyment make_emptiness_check_instantiator()
Fixes #161, reported by Yann Thierry-Mieg.

* spot/twaalgos/emptiness.hh: Here.
* NEWS: Mention it.
2016-04-21 08:58:44 +02:00
Alexandre Duret-Lutz
7c7f0df8a8 check_strength(): also check negated properties
The test is in the patch introducing HOA 1.1 output.

* spot/twaalgos/strength.cc: Here.
* NEWS: Mention the bug.
2016-04-20 15:27:28 +02:00
Alexandre Duret-Lutz
f50486b4cf parseaut: fix parsing of /*****/
* spot/parseaut/scanaut.ll: Here.
* tests/core/strength.test: Add a test.
* NEWS: Mention the bug.
2016-04-20 15:27:28 +02:00
Alexandre Duret-Lutz
134982c08b Typo in --help output
* bin/common_aoutput.cc: Fix --help output for -Hk.
* NEWS: Mention it.
2016-04-18 21:20:38 +02:00
Alexandre Duret-Lutz
5185844d8a * NEWS, configure.ac: Bump version number. 2016-04-18 21:16:46 +02:00
Alexandre Duret-Lutz
96a2a13c85 Release Spot 2.0
* configure.ac, doc/org/setup.org, NEWS: Update version number.
2016-04-11 06:52:12 +02:00
Alexandre Duret-Lutz
a6afaf3d9d adjust for recent renaming of valid_trans()
* spot/kripke/kripkegraph.hh, spot/twa/twagraph.hh: Call
is_valid_edge() instead.
* NEWS: Mention the renaming.
2016-04-10 17:22:26 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
Etienne Renault
091251b5b7 Provide support for %dve and %require
* NEWS, python/spot/ltsmin.i,
tests/python/ltsmin.ipynb: Here.
2016-02-15 09:08:37 +01:00
Alexandre Duret-Lutz
f7b5dcf47d autfilt: add support for --are-equivalent
Fixes #17.

* bin/autfilt.cc: Implement it.
* tests/core/included.test: Test it.
* NEWS: Mention it.
2016-02-12 19:53:52 +01:00
Alexandre Duret-Lutz
b59ebdc40c * NEWS: typo 2016-02-12 19:50:37 +01:00
Alexandre Duret-Lutz
021921f0c3 autfilt: add --included-in filter
* bin/autfilt.cc: Implement the option.
* tests/core/included.test: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the new option.
2016-02-12 17:46:38 +01:00