Commit graph

4888 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
f2b3653226 autfilt: fix the --acceptance help output
Fixes #334.

* bin/autfilt.cc: Turn std::flush into std::endl, and fix a quoting
issue.
2018-03-16 08:27:20 +01:00
Maximilien Colange
b09c293f1a Clean the usage of spot::acc_cond::mark_t
spot::acc_cond::mark_t is implemented as a bit vector using a single
unsigned, and implicit conversions between mark_t and unsigned may be
confusing. We try to use the proper interface.

* bin/autfilt.cc, bin/ltlsynt.cc, spot/kripke/kripke.cc,
  spot/misc/game.hh, spot/parseaut/parseaut.yy, spot/priv/accmap.hh,
  spot/ta/ta.cc, spot/ta/taexplicit.cc, spot/ta/taproduct.cc,
  spot/taalgos/emptinessta.cc, spot/taalgos/tgba2ta.cc, spot/twa/acc.cc,
  spot/twa/acc.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
  spot/twa/twagraph.hh, spot/twaalgos/alternation.cc,
  spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
  spot/twaalgos/complete.cc, spot/twaalgos/couvreurnew.cc,
  spot/twaalgos/degen.cc, spot/twaalgos/dot.cc,
  spot/twaalgos/dtwasat.cc, spot/twaalgos/dualize.cc,
  spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/ce.cc,
  spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/sccstack.cc,
  spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/lbtt.cc,
  spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
  spot/twaalgos/ndfs_result.hxx, spot/twaalgos/rabin2parity.cc,
  spot/twaalgos/randomgraph.cc, spot/twaalgos/remfin.cc,
  spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
  spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh,
  spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
  spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
  spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
  spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
  spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
  spot/twaalgos/toweak.cc, python/spot/impl.i, tests/core/acc.cc,
  tests/core/twagraph.cc: do not confuse mark_t and unsigned
* tests/python/acc_cond.ipynb: warn about possible change of the API
2018-03-15 10:05:24 +01:00
Alexandre Duret-Lutz
cfcc18e680 simplify: reduce {r;1} to {r} or {1}
Fixes #3.

* spot/tl/simplify.cc: Implement this new rule.
* doc/tl/tl.tex, NEWS: Document it.
* tests/core/reduccmp.test: Test it.
2018-03-15 07:59:25 +01:00
Alexandre Duret-Lutz
2d18ac22fb always capture exceptions by const references
For #199.

* tests/sanity/style.test: Test this.
* bin/ltlcross.cc, spot/parseaut/parseaut.yy,
tests/ltsmin/modelcheck.cc: Fix it.
2018-03-14 17:51:08 +01:00
Alexandre Duret-Lutz
b6e44e6b8b acc: strengthen is_generalized_rabin() and is_generalized_streett()
* spot/twa/acc.cc: These functions were segfaulting on acceptance
conditions such as "Acceptance: 3 t" or "Acceptance: 3 f".
The issue was revealed on branch "next" by the change that print_dot()
display the acceptance condition by default, but we want the fix on
master as well.
* NEWS: Mention the issue.
2018-03-14 15:47:11 +01:00
Alexandre Duret-Lutz
651a27202c [buddy] do not use ACLOCAL_AMFLAGS anymore
Fixes #326.

* Makefile.am: Here.
2018-03-14 15:46:25 +01:00
Maximilien Colange
6a3e8e95c5 Fix various typos
* bin/autfilt.cc, bin/common_post.cc, spot/graph/graph.hh,
  spot/twa/twa.hh, spot/twa/twagraph.hh, spot/twaalgos/remfin.cc: typos
* spot/twaalgos/toweak.cc: incorrect types when invoking std::hash
2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
548a35ad57 adjust test case to work with ltl2dstar 0.5.4
* tests/core/ltl2dstar.test: Here.
2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
f1924430e2 org: update plantuml download URL
* doc/Makefile.am: Here.
2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
ddfbd4edc4 * .gitlab-ci.yml: Switch to LRDE's docker registry. 2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
1a31589a2e More config for GitLab-CI
* .gitlab-ci.yml: Add a build with gcc-snapshot, and disable Debian
packages on all branches except master/next/stable and branches ending
in "-deb".
2018-03-14 15:44:53 +01:00
Alexandre Duret-Lutz
2a308182db dot: make "a" the default
Fixes #319.

* spot/twaalgos/dot.cc: Enable "a" by default.
* bin/common_aoutput.cc, NEWS: Document it.
* doc/org/autfilt.org, doc/org/concepts.org, doc/org/dstar2tgba.org,
doc/org/hierarchy.org, doc/org/ltl2tgba.org, doc/org/oaut.org,
doc/org/randaut.org, doc/org/satmin.org, doc/org/tut23.org,
doc/org/tut24.org, doc/org/tut30.org, doc/org/tut31.org: Adjust or
simplify the documentation.
* tests/core/det.test, tests/core/dstar.test, tests/core/monitor.test,
tests/core/neverclaimread.test, tests/core/readsave.test,
tests/core/tgbagraph.test, tests/core/wdba.test,
tests/python/_autparserr.ipynb, tests/python/automata-io.ipynb,
tests/python/automata.ipynb, tests/python/highlighting.ipynb
tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb,
tests/python/product.ipynb, tests/python/testingaut.ipynb,
tests/python/word.ipynb: Adjust test cases.
2018-03-10 23:23:51 +01:00
Alexandre Duret-Lutz
15fdac6059 acc: strengthen is_generalized_rabin() and is_generalized_streett()
* spot/twa/acc.cc: These functions were segfaulting on acceptance
conditions such as "Acceptance: 3 t" or "Acceptance: 3 f".
The issue was revealed on branch "next" by the change that print_dot()
display the acceptance condition by default, but we want the fix on
master as well.
* NEWS: Mention the issue.
2018-03-10 20:35:07 +01:00
Alexandre Duret-Lutz
057e67e7f6 [buddy] do not use ACLOCAL_AMFLAGS anymore
Fixes #326.

* Makefile.am: Here.
2018-03-09 20:24:37 +01:00
Alexandre Duret-Lutz
23903d204f configure: remove useless calls to AC_CHECK_PROG
Fixes #329.

* configure.ac: Do not check for lbt, modella, and ltl2nba.
* bench/ltl2tgba/defs.in: Remove the associated substitutions,
not used in the scripts.
2018-03-09 20:21:43 +01:00
Alexandre Duret-Lutz
cd9af7214d * spot/misc/hash.hh: Remove useless include. 2018-03-09 20:11:22 +01:00
Maximilien Colange
304f5623d8 Clean a hash function definition
* spot/misc/hashfunc.hh: make the definition of FNV hash magic constants
  more generic
2018-03-08 10:30:08 +01:00
Maximilien Colange
85bc05e737 Move the Fowler-Noll-Vo hash function to a header
* spot/misc/bitvect.cc, spot/misc/hashfunc.hh: move FNV hash function,
  use the new interface
2018-03-02 17:41:06 +01:00
Maximilien Colange
5b2ce2736b Fix various typos
* bin/autfilt.cc, bin/common_post.cc, spot/graph/graph.hh,
  spot/twa/twa.hh, spot/twa/twagraph.hh, spot/twaalgos/remfin.cc: typos
* spot/twaalgos/toweak.cc: incorrect types when invoking std::hash
2018-03-01 16:07:03 +01:00
Alexandre Duret-Lutz
62b86d3049 adjust test case to work with ltl2dstar 0.5.4
* tests/core/ltl2dstar.test: Here.
2018-03-01 14:01:37 +01:00
Alexandre Duret-Lutz
fc1ab9f9bb org: update plantuml download URL
* doc/Makefile.am: Here.
2018-03-01 10:54:20 +01:00
Alexandre Duret-Lutz
fe12f15a16 * .gitlab-ci.yml: Switch to LRDE's docker registry. 2018-03-01 10:54:20 +01:00
Maximilien Colange
d44cc82eb7 Improve purge_unreachable_states()
* NEWS: document it
* spot/twa/twagraph.hh, spot/twa/twagraph.cc: implement it
* tests/core/tgbagraph.test, tests/core/twagraph.cc: test it
2018-02-23 12:05:54 +01:00
Alexandre Duret-Lutz
d08ca97624 * HACKING: Document that "config.h" should be included first. 2018-02-23 11:20:55 +01:00
Alexandre Duret-Lutz
e4b8cd3fe4 setup bug-reference for emacs
* .dir-locals.el: Here.
* tests/core/remfin.test, tests/core/unambig.test:
Make consistent references to issue numbers.
* HACKING: Document convention for mentioning issues.
2018-02-23 11:17:51 +01:00
Alexandre Duret-Lutz
f8575b4290 More config for GitLab-CI
* .gitlab-ci.yml: Add a build with gcc-snapshot, and disable Debian
packages on all branches except master/next/stable and branches ending
in "-deb".
2018-02-22 11:32:11 +01:00
Maximilien Colange
41d5e44914 Slight improvement of the determinization
* spot/twaalgos/determinize.cc: the acceptance condition
  of the determinized automaton should be simpler
* tests/core/safra.test, tests/python/simstate.py: update tests
2018-02-21 18:20:57 +01:00
Maximilien Colange
e945beb607 Improve cleanup_parity
* spot/twaalgos/parity.cc: cleanup_parity and cleanup_parity_here are
  now better at finding useless parity colors
* tests/python/parity.py: test it
* NEWS: document the change
2018-02-21 18:20:57 +01:00
Alexandre Duret-Lutz
ac6b0c9432 include config.h in all *.cc files
This helps working around missing C functions like strcasecmp that do
not exist everywhere (e.g. on Cygwin), and for which lib/ supplies a
replacement.  Unfortunately we do not have such build in our current
continuous integration suite, so we cannot easily detect files where
such config.h inclusion would be useful.  Therefore this patch simply
makes it mandatory to include config.h in *.cc files.  Including this
in public *.hh file is currently forbidden.

* spot/gen/automata.cc, spot/gen/formulas.cc,
spot/kripke/fairkripke.cc, spot/kripke/kripke.cc,
spot/ltsmin/ltsmin.cc, spot/misc/game.cc, spot/parseaut/fmterror.cc,
spot/parsetl/fmterror.cc, spot/parsetl/parsetl.yy,
spot/priv/bddalloc.cc, spot/priv/freelist.cc, spot/priv/satcommon.cc,
spot/priv/trim.cc, spot/priv/weight.cc, spot/ta/ta.cc,
spot/ta/taexplicit.cc, spot/ta/taproduct.cc, spot/ta/tgtaexplicit.cc,
spot/ta/tgtaproduct.cc, spot/taalgos/dot.cc,
spot/taalgos/emptinessta.cc, spot/taalgos/minimize.cc,
spot/taalgos/reachiter.cc, spot/taalgos/statessetbuilder.cc,
spot/taalgos/stats.cc, spot/taalgos/tgba2ta.cc, spot/tl/apcollect.cc,
spot/tl/contain.cc, spot/tl/declenv.cc, spot/tl/defaultenv.cc,
spot/tl/dot.cc, spot/tl/exclusive.cc, spot/tl/hierarchy.cc,
spot/tl/length.cc, spot/tl/ltlf.cc, spot/tl/mark.cc,
spot/tl/mutation.cc, spot/tl/nenoform.cc, spot/tl/print.cc,
spot/tl/randomltl.cc, spot/tl/relabel.cc, spot/tl/remove_x.cc,
spot/tl/simplify.cc, spot/tl/snf.cc, spot/tl/unabbrev.cc,
spot/twa/acc.cc, spot/twa/bdddict.cc, spot/twa/bddprint.cc,
spot/twa/formula2bdd.cc, spot/twa/taatgba.cc, spot/twa/twa.cc,
spot/twa/twagraph.cc, spot/twa/twaproduct.cc, spot/twaalgos/aiger.cc,
spot/twaalgos/alternation.cc, spot/twaalgos/are_isomorphic.cc,
spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
spot/twaalgos/complement.cc, spot/twaalgos/complete.cc,
spot/twaalgos/compsusp.cc, spot/twaalgos/couvreurnew.cc,
spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
spot/twaalgos/determinize.cc, spot/twaalgos/dot.cc,
spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc,
spot/twaalgos/dualize.cc, spot/twaalgos/emptiness.cc,
spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/gtec.cc,
spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc,
spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc,
spot/twaalgos/iscolored.cc, spot/twaalgos/isdet.cc,
spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc,
spot/twaalgos/langmap.cc, spot/twaalgos/lbtt.cc,
spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc,
spot/twaalgos/magic.cc, spot/twaalgos/mask.cc,
spot/twaalgos/minimize.cc, spot/twaalgos/neverclaim.cc,
spot/twaalgos/parity.cc, spot/twaalgos/postproc.cc,
spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
spot/twaalgos/rabin2parity.cc, spot/twaalgos/randomgraph.cc,
spot/twaalgos/randomize.cc, spot/twaalgos/reachiter.cc,
spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc,
spot/twaalgos/sccfilter.cc, spot/twaalgos/sccinfo.cc,
spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
spot/twaalgos/simulation.cc, spot/twaalgos/split.cc,
spot/twaalgos/stats.cc, spot/twaalgos/strength.cc,
spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
spot/twaalgos/toweak.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/length.cc,
tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/parity.cc,
tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
tests/core/safra.cc, tests/core/sccif.cc, tests/core/syntimpl.cc,
tests/core/taatgba.cc, tests/core/tostring.cc, tests/core/trival.cc,
tests/core/twagraph.cc, tests/ltsmin/modelcheck.cc,
spot/parseaut/scanaut.ll, spot/parsetl/scantl.ll: Include config.h.
* spot/gen/Makefile.am, spot/graph/Makefile.am,
spot/kripke/Makefile.am, spot/ltsmin/Makefile.am,
spot/parseaut/Makefile.am, spot/parsetl/Makefile.am,
spot/priv/Makefile.am, spot/ta/Makefile.am, spot/taalgos/Makefile.am,
spot/tl/Makefile.am, spot/twa/Makefile.am, spot/twaalgos/Makefile.am,
spot/twaalgos/gtec/Makefile.am, tests/Makefile.am: Add the -I lib/
flags.
* tests/sanity/includes.test: Catch missing config.h in *.cc, and
diagnose config.h in *.hh.
* tests/sanity/style.test: Better diagnostics.
2018-02-21 17:59:09 +01:00
Alexandre Duret-Lutz
cdec6b28a2 * configure.ac: fix definition of DOT. 2018-02-21 17:58:19 +01:00
Alexandre Duret-Lutz
e8ce4b8cad * .gitlab-ci.yml: $CI_JOB_TOKEN does not seem to work. 2018-02-20 16:01:11 +01:00
Alexandre Duret-Lutz
5b199d7870 * .gitlab-ci.yml: Ignore tags and use $CI_JOB_TOKEN. 2018-02-20 11:26:18 +01:00
Alexandre Duret-Lutz
9a29e8e063 bump version to 2.5.1.dev
* NEWS, configure.ac: Here.
2018-02-20 08:23:08 +01:00
Alexandre Duret-Lutz
6887fcdbff Release Spot 2.5.1
* NEWS, configure.ac, doc/org/setup.org: Set version to 2.5.1.
2018-02-20 07:58:58 +01:00
Alexandre Duret-Lutz
7710008caa org: update link to dev tarball
* doc/org/install.org: Point to the gitlab-ci artefacts.
2018-02-19 20:43:00 +01:00
Alexandre Duret-Lutz
7fa6e150ee * .gitlab-ci.yml: Trigger spot-web and spot-sandbox rebuilds 2018-02-19 15:46:00 +01:00
Alexandre Duret-Lutz
81e5357e62 fix handling of Rabin-like input for dnf_to_dca()
The bug is mentioned by Maximilien Colange in a comment to issue #317,
but turned out to be unrelated to that original issue.

* spot/twaalgos/totgba.cc (dnf_to_streett): Save the correspondence
between the created states an the DNF clause in a named property.
* doc/org/concepts.org, spot/twaalgos/totgba.hh: Mention the new
property.
* spot/twaalgos/cobuchi.cc (save_inf_nca_st): Rewrite using the named
property.  Relying on seen marks and trying to deduce the matching
original clause could only work from plain Rabin.
* tests/core/dca.test: Add the test from Maximilien.
* NEWS: Mention the issue.
2018-02-19 11:40:39 +01:00
Alexandre Duret-Lutz
69f31c89c6 minor code cleanups
* spot/twaalgos/cobuchi.cc, spot/twaalgos/totgba.cc: Here.
2018-02-18 14:02:36 +01:00
Alexandre Duret-Lutz
386a1c32be * .gitlab-ci.yml: Adjust artifact paths for distcheck. 2018-02-17 18:45:20 +01:00
Alexandre Duret-Lutz
e42fea09a7 fix tra_to_tba()
Fixes #324, reported by Tobias Meggendorfer and František Blahoudek.

* spot/twa/acc.hh (rs_pairs_view::paired_with): Rename as...
(rs_pairs_view::paired_with_fin):... this and adjust the code.
* spot/twaalgos/remfin.cc: Use paired_with_fin instead of
paired_with, and do it once per pair.
* tests/core/remfin.test: Add a test case.
* NEWS: Mention the issue.
2018-02-17 18:45:20 +01:00
Alexandre Duret-Lutz
5c39063588 simplify_acceptance: remove one useless call
* spot/twaalgos/cleanacc.cc (merge_identical_marks_here): Do not call
cleanup_acceptance_here(), as this has already been done.
2018-02-16 16:39:01 +01:00
Alexandre Duret-Lutz
5a2e4f54c5 fix is_generalized_rabin() and is_generalized_streett()
Fixes #325.

* spot/twa/acc.cc: Here.
* tests/core/accsimpl.test: New test case.
* NEWS: Mention the issue.
2018-02-16 16:38:00 +01:00
Alexandre Duret-Lutz
9ec6e9172c * .gitlab-ci.yml: Create build tasks. 2018-02-07 12:07:13 +01:00
Alexandre Duret-Lutz
5dbe3c0737 tests: cleanup temporary files leftover by a test case
* tests/python/otfcrash.py: Remove the file generated by divine.
2018-02-01 21:56:26 +01:00
Maximilien Colange
1ebd86de04 Improve IAR construction
spot::iar() was fixed to handle correctly Rabin-like conditions.
It also now supports Streett-like conditions.

* NEWS, spot/twaalgos/postproc.cc: document it
* spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
  implement it
* tests/core/rabin2parity.test, tests/python/except.py: test it
2018-01-24 09:27:37 +01:00
Alexandre Duret-Lutz
ff2a96cc1a fix a bug in streett_to_generalized_buchi
Fixes #320.

* spot/twaalgos/totgba.cc: Fix the bug.
* NEWS: Mention the problem.
* tests/core/streett.test: Add test case.
2018-01-23 17:24:10 +01:00
Alexandre Duret-Lutz
c68b04a99e * NEWS, configure.ac: Bump version to 2.5.0.dev. 2018-01-20 17:45:50 +01:00
Alexandre Duret-Lutz
f3a0ede9f3 Release Spot 2.5
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2018-01-20 15:09:00 +01:00
Alexandre Duret-Lutz
1fd0aa14a2 multiple adjustments for Debian stable
* tests/python/ipnbdoctest.py: Adjust to Python <3.6.
* tests/python/_autparserr.ipynb: Adjust to older IPython version.
* tests/python/stutter-inv.ipynb: Avoid pandas because its output
varies from version to version.
2018-01-20 15:09:00 +01:00
Alexandre Duret-Lutz
527c802511 more coverage
* python/spot/impl.i: Add missing bindings from remprop.hh
* tests/python/except.py: New file to test several error cases.
* tests/Makefile.am: Add it.
* spot/twaalgos/rabin2parity.cc (iar): Fix error message.
2018-01-19 21:19:36 +01:00