Commit graph

684 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
556db2a203 Merge branch 'master' into next 2016-07-11 11:06:05 +02:00
Alexandre Duret-Lutz
2abfd73a30 Release Spot 2.0.3
* NEWS, configure.ac, doc/org/setup.org: Update.
2016-07-11 10:59:23 +02:00
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
3f9925c9cb * NEWS: Typo. 2016-07-11 10:46:32 +02:00
Alexandre Duret-Lutz
421a9a1b12 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-07 15:57:14 +02:00
Alexandre Duret-Lutz
91e8493c7f 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-06 15:03:22 +02:00
Alexandre Duret-Lutz
e4134af15f ajax: fix GTA construction
* python/ajax/spotcgi.in: Here.
* NEWS: Mention it.
2016-07-06 15:03:22 +02:00
Alexandre Duret-Lutz
e80b443bc8 sat-minimize: check for unused options
Fixes #179.

* spot/twaalgos/dtwasat.cc: Add the check.
* tests/core/minusx.test: Test it.
* NEWS: Mention it.
2016-06-22 21:18:34 +02:00
Alexandre Duret-Lutz
e419150c30 option_map: Diagnose unused option on request
* spot/misc/optionmap.hh, spot/misc/optionmap.cc (report_unused_options,
set_, set_set_): New methods.
* bin/autfilt.cc, bin/dstar2tgba.cc, bin/ltl2tgba.cc,
bin/ltl2tgta.cc: Call report_unused_options().
* tests/core/ltlcross2.test, tests/core/readsave.test: Fix typos in
options.
* tests/core/minusx.test: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention this.
2016-06-22 20:57:53 +02:00
Alexandre Duret-Lutz
205e2116d1 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-06-21 18:03:02 +02:00
Alexandre Duret-Lutz
31627eac0b Merge branch 'master' into next 2016-06-17 16:41:48 +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
a0cd56735a 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 09:56:17 +02:00
Alexandre Duret-Lutz
272daf62fc python: add a %%pml magic
Fixes #162.

* python/spot/ltsmin.i: Implement the magic.
* NEWS: Mention it.
* tests/python/ltsmin-pml.ipynb: New file.
* tests/Makefile.am, doc/org/tut.org: Add it.
* tests/python/ipnbdoctest.py: Adjust.
2016-06-12 12:53:55 +02:00
Alexandre Duret-Lutz
b408827110 add binding for language_containment_checker and document them
* spot/tl/contain.cc, spot/tl/contain.hh: Simplify the
use of language_containment_checker by adding default argument.
* python/spot/__init__.py, python/spot/impl.i: Bind it in Python.
* doc/org/tut04.org: New file to illustrate it.
* doc/org/tut.org, doc/Makefile.am: Add it.
* NEWS: Mention those changes.
2016-05-25 15:12:45 +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
0278735ebe 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-09 22:48:32 +02:00
Alexandre Duret-Lutz
d4c1db287b * NEWS: Update for next version. 2016-05-09 13:13:02 +02:00
Alexandre Duret-Lutz
694e485ec2 Merge branch 'master' into next 2016-05-09 09:46: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
73621e8f17 record properties as side-effect of is_deterministic() / is_weak() / ...
Fixes #165.

* spot/twaalgos/isdet.cc, spot/twaalgos/strength.cc: Here.
* spot/twaalgos/isdet.hh, spot/twaalgos/strength.hh, NEWS: Document it.
* spot/twaalgos/hoa.cc: Fix output of negated properties.
* tests/core/readsave.test: New test case.
2016-05-08 16:37:00 +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
b708ab778f genltl: add formulas from three papers
Fixes #166.

* bin/genltl.cc: Add option --dac-patterns, --eh-patterns,
--sb-patterns.
* NEWS, bin/man/genltl.x, doc/org/genltl.org: Document them.
* bench/ltl2tgba/formulae.ltl: Delete.
* bench/ltl2tgba/known: Use genltl instead.
* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/README: Update.
* tests/core/ltl2tgba2.test: New test case, using genltl.
* tests/Makefile.am: Add it.
2016-05-05 18:39:13 +02:00
Alexandre Duret-Lutz
fd5d59984b 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 18:15:44 +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
d02ee34e10 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 10:41:41 +02:00
Alexandre Duret-Lutz
e91c6ba2f1 python: support operator rewriting in __format__
Fixes #168.

* python/spot/__init__.py: Implement it.
* tests/python/formulas.ipynb: Test it.
* NEWS: Mention it.
2016-05-01 21:05:49 +02:00
Alexandre Duret-Lutz
d9174593c8 common_trans: allow rewriting operators
Part of #168.

* spot/misc/formater.cc: Adjust to support bracketed options.
* bin/common_trans.hh, bin/common_trans.cc: Use that to
support rewriting operators.
* doc/org/ltlcross.org, tests/core/ltldo.test: Add some examples.
* NEWS: Mention it.
2016-05-01 21:05:49 +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
f5bfc07cfc autfilt: add --unused-ap and --used-ap
Last part of #170.

* bin/autfilt.cc: Implement the new options.
* tests/core/remprop.test: Add a quick test.
* NEWS: Mention these options.
2016-05-01 13:29:03 +02:00
Alexandre Duret-Lutz
95d16ba009 autfilt: add --remove-unused-ap
Part of #170.

* bin/autfilt.cc: Here.
* tests/core/remprop.test: Test it.
* NEWS: Mention it.
2016-05-01 13:03:18 +02:00
Alexandre Duret-Lutz
1c2c914d7e 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 11:47:53 +02:00
Alexandre Duret-Lutz
9afa98a1dd 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-04-29 18:16:21 +02:00
Alexandre Duret-Lutz
1ceb0ed272 autfilt: fix simpification of exclusive AP
* bin/autfilt.cc: Here.
* tests/core/exclusive-tgba.test: Test it.
* NEWS: Mention the fix.
2016-04-29 12:08:32 +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
33391798a3 python: export tgba_determinize
* python/spot/impl.i: Here.
* tests/python/automata.ipynb: Use it.
* NEWS: Mention it.
2016-04-22 18:50:51 +02:00
Alexandre Duret-Lutz
e50ff35d0f autfilt: add options to filter by SCC count and types
* bin/autfilt.cc: Implement those options.
* NEWS: Mention them.
* doc/org/randaut.org: Add a quick example.
* tests/core/strength.test: Add some basic tests.
* tests/core/acc_word.test: Adjust options abbreviations.
2016-04-21 16:56:45 +02:00
Alexandre Duret-Lutz
7d930359c1 ltldo: add option --errors
* bin/ltldo.cc: Implement --errors.
* tests/core/ltldo.test: Test it.
* NEWS: Mention it.
2016-04-21 14:39:56 +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
f904c0e05c docyment make_emptiness_check_instantiator()
Fixes #161, reported by Yann Thierry-Mieg.

* spot/twaalgos/emptiness.hh: Here.
* NEWS: Mention it.
2016-04-20 21:39:54 +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
7144efabb9 hoa: add option to output version 1.1
* spot/twaalgos/hoa.cc: Implement the option.
* bin/common_aoutput.cc, doc/org/hoa.org,
doc/org/oaut.org, spot/twaalgos/hoa.hh, NEWS: Document it.
* tests/core/strength.test: Test that.
2016-04-20 15:23:55 +02:00