Commit graph

4081 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
574f47c366 Release Spot 2.2.2
* NEWS, configure.ac, doc/org/setup.org: Update version.
2016-12-16 06:50:59 +01:00
Alexandre Duret-Lutz
38fdb40eaf spotcgi: correctly kill ltl3ba on timeout
* python/spot/__init__.py (automata): Do not create a session for
every command, this is only needed if automata() is run with a timeout
parameter.
* python/ajax/spotcgi.in: Adjust exclude the main process from
the process group, so that only children are killed on SIGALRM.
* NEWS: Mention the bug.
2016-12-15 22:20:31 +01:00
Alexandre Duret-Lutz
cd34827510 spotcgi: correctly kill ltl3ba on timeout
* python/spot/__init__.py (automata): Do not create a session for
every command, this is only needed if automata() is run with a timeout
parameter.
* python/ajax/spotcgi.in: Adjust exclude the main process from
the process group, so that only children are killed on SIGALRM.
* NEWS: Mention the bug.
2016-12-15 21:57:11 +01:00
Alexandre Duret-Lutz
55eae0d8bc * spot/twa/twa.hh (twa_succ_iterable): Mark move ctor as noexcept. 2016-12-15 11:11:59 +01:00
Maximilien Colange
05f8333e76 Add an option to enable C++14.
* configure.ac: add an option --enable-c++14.
* NEWS: mention the new option.
2016-12-14 09:40:38 +01:00
Maximilien Colange
878649c823 [buddy] Add an option to enable C++14.
* configure.ac: add an option --enable-c++14.
2016-12-13 17:42:22 +01:00
Maximilien Colange
114f7f1200 Default emptiness check is the new version of Couvreur.
* spot/twa/twa.cc: is_empty() and accepting_run() now call the new
version of the Couvreur algorithm.
2016-12-13 16:18:31 +01:00
Maximilien Colange
1a08eca840 Add a new, parameterized, version of the Couvreur emptiness check.
This version has optimization for explicit twa, and also for weak and
terminal (depending on whether an accepting run is requested) automata.

* spot/twaalgos/couvreurnew.hh, spot/twaalgos/couvreurnew.cc,
  spot/twaalgos/Makefile.am: New files for the new algorithm.
* spot/twaalgos/emptiness.cc, tests/core/randtgba.cc:
  Register new algorithm.
2016-12-13 16:18:31 +01:00
Alexandre Duret-Lutz
f0416b3f3c ltsmin: workaround spurious gcc-snapshot warning
* spot/ltsmin/ltsmin.cc: Add an assert.
2016-12-10 21:56:25 +01:00
Alexandre Duret-Lutz
15709084b8 ltlf: ensure alive holds initially
Reported by Shufang Zhu.

* spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion
and update the comments.
* tests/core/ltlfilt.test: Adjust test cases.
* NEWS: Mention the fix.
* THANKS: Add Shufang Zhu.
2016-12-10 20:23:07 +01:00
Alexandre Duret-Lutz
413eab1d32 ltlf: ensure alive holds initially
Reported by Shufang Zhu.

* spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion
and update the comments.
* tests/core/ltlfilt.test: Adjust test cases.
* NEWS: Mention the fix.
* THANKS: Add Shufang Zhu.
2016-12-09 21:37:15 +01:00
Alexandre Duret-Lutz
7824005d3e install back the safety check of includes.test
Compilation of each header file alone, as a safety check, was removed
when introducing "#pragma once" because we did not have to check for
possible double inclusion.  However we still need to compile each
header to make sure they are self-contained.

* tests/sanity/includes.test: Compile each header.
* tests/run.in: Export various compiler and directory flags.
* spot/twaalgos/emptiness_stats.hh, spot/misc/mspool.hh,
spot/misc/fixpool.hh: Include <spot/misc/common.hh>.
* spot/misc/common.hh: Include <cassert>.
* NEWS: Mention the fixed headers.
2016-12-02 17:59:32 +01:00
Alexandre Duret-Lutz
0ab8dc06c4 install back the safety check of includes.test
Compilation of each header file alone, as a safety check, was removed
when introducing "#pragma once" because we did not have to check for
possible double inclusion.  However we still need to compile each
header to make sure they are self-contained.

* tests/sanity/includes.test: Compile each header.
* tests/run.in: Export various compiler and directory flags.
* spot/twaalgos/emptiness_stats.hh, spot/misc/mspool.hh,
spot/misc/fixpool.hh: Include <spot/misc/common.hh>.
* spot/misc/common.hh: Include <cassert>.
* NEWS: Mention the fixed headers.
2016-12-02 15:03:43 +01:00
Alexandre Duret-Lutz
2198543a7a parseaut: diagnose invalid acceptance terms
* spot/parseaut/parseaut.yy: Add a diagnostic.
* tests/core/parseaut.test: Test it.
* NEWS: Document it.
2016-12-01 22:21:42 +01:00
Alexandre Duret-Lutz
38b82dba9b ltsmin: use any installed libltdl
This should solve issue with the Debian package.

* spot/ltsmin/Makefile.am: Use the LTDLINC, LTDLDEPS and LIBLTDL as
documented.
* NEWS: Mention the fix.
2016-12-01 22:20:46 +01:00
Alexandre Duret-Lutz
3d726fccb2 parseaut: diagnose invalid acceptance terms
* spot/parseaut/parseaut.yy: Add a diagnostic.
* tests/core/parseaut.test: Test it.
* NEWS: Document it.
2016-12-01 18:34:44 +01:00
Alexandre Duret-Lutz
f3b95a8a11 tests: recognize ./run jupyter
* tests/run.in: Here.
2016-12-01 18:34:44 +01:00
Maximilien Colange
e8a3f62491 Fix a sanity check.
* tests/sanity/style.test: Allow parenthesis after 'operator delete'.
2016-12-01 11:58:28 +01:00
Maximilien Colange
9a1e411502 Properly time computations of accepting runs in randtgba.
* tests/core/randtgba.cc: do not time statistics.
2016-12-01 10:54:42 +01:00
Alexandre Duret-Lutz
2b07326217 twa_graph: simplify two precondition checks
* spot/twa/twagraph.hh (state_acc_sets, state_is_accepting): Do not
check num_sets()==0 since this would imply prop_state_acc().
2016-11-30 14:26:30 +01:00
Alexandre Duret-Lutz
034620c521 graph: fix internal iterator constness
* spot/graph/graph.hh: Use only const variants of begin()/end(), since
they do not modify the iterator.
2016-11-30 14:26:30 +01:00
Alexandre Duret-Lutz
5841af026a sccinfo: simplify initial code
* spot/twaalgos/sccinfo.cc: We do not need to care
about 0 states anymore.
2016-11-30 14:26:30 +01:00
Alexandre Duret-Lutz
5ca1281e36 tests: speed up recuc.test and reducpsl.test
... by calling valgrind less often.

* tests/core/reduc.test, tests/core/reducpsl.test: Call
valgrind only on 1 of the 12 calls to randltl, and
2 of the 7 calls to reduc.
2016-11-29 15:54:08 +01:00
Alexandre Duret-Lutz
7e5b336f16 tests: divide the run time of parse.test by 20
* tests/core/readltl.cc: Process many formulas from a
file instead of one arg at a time.
* tests/core/parse.test, tests/core/parseerr.test, tests/core/utf8.test:
Adjust to supply a file as input.
2016-11-29 14:46:23 +01:00
Alexandre Duret-Lutz
ad51525608 tests: divide the run time of tostring.test by 40
* tests/core/tostring.test: Move all the input formulas into...
* tests/core/tostring.cc: ... the code, and do the loop there.
2016-11-29 14:46:22 +01:00
Maximilien Colange
b3ee68310f Automata with no state are no longer allowed.
* NEWS, spot/twa/twa.hh: Document the change.
* spot/twa/twagraph.hh, spot/kripke/kripkegraph.hh:
  Add an exception in get_init_state_number().
  get_init_state() now calls get_init_state_number().
* spot/twa/twagraph.cc, spot/twaalgos/simulation.cc,
  spot/twaalgos/powerset.cc, spot/twaalgos/complete.cc,
  spot/twaalgos/sccfilter.cc: Remove now useless tests.
* spot/twaalgos/hoa.cc: Remove now useless comment.
* spot/twaalgos/minimize.cc: Never return an automaton with no state.
2016-11-29 10:34:03 +01:00
Alexandre Duret-Lutz
da6fc955a3 debian: add lintian-overrides for the Doxygen doc
* debian/source/lintian-overrides: New file.
* Makefile.am: Add it.
2016-11-29 08:14:14 +01:00
Alexandre Duret-Lutz
51a683c23f debian: depend on libjs-jquery
This fix some lintian issues.

* debian/control: Add dependency.
* debian/rules: Fix the generated html page to use the local jquery.
2016-11-28 18:17:48 +01:00
Alexandre Duret-Lutz
b1f9081761 ltsmin: use any installed libltdl
This should solve issue with the Debian package.

* spot/ltsmin/Makefile.am: Use the LTDLINC, LTDLDEPS and LIBLTDL as
documented.
* NEWS: Mention the fix.
2016-11-28 18:17:48 +01:00
Alexandre Duret-Lutz
341eeb2ba1 strength: fix is_terminal()
Fix #198.  Reported by Maximilien Colange.

* spot/twaalgos/strength.cc (is_terminal): Test that no accepting
transition lead to a rejecting SCC.
* tests/core/strength.test: Add test case.
* spot/twaalgos/strength.hh, spot/twa/twa.hh, doc/org/concepts.org:
Adjust documentation.
* NEWS: Mention the fix.
2016-11-28 18:03:30 +01:00
Alexandre Duret-Lutz
9bc978a90f strength: fix is_terminal()
Fix #198.  Reported by Maximilien Colange.

* spot/twaalgos/strength.cc (is_terminal): Test that no accepting
transition lead to a rejecting SCC.
* tests/core/strength.test: Add test case.
* spot/twaalgos/strength.hh, spot/twa/twa.hh, doc/org/concepts.org:
Adjust documentation.
* NEWS: Mention the fix.
2016-11-28 18:02:28 +01:00
Maximilien Colange
2fbc75f439 New macro to downcast shared pointers.
* spot/misc/casts.hh: Add a macro down_pointer_cast.
2016-11-28 14:51:55 +01:00
Maximilien Colange
5952392494 Use the [[deprecated]] standard attribute when possible.
* spot/misc/common.hh: Change SPOT_DEPRECATED definition.
2016-11-25 13:53:36 +01:00
Alexandre Duret-Lutz
22292e6058 sanity: do not check source files in *.dir/*
Because gal2c generates some C++ sources that do not match our coding
convention and should not be checked.

* tests/sanity/80columns.test, tests/sanity/style.test: Do not test
files in tests' work directories.
2016-11-24 20:48:28 +01:00
Alexandre Duret-Lutz
1afb76a630 split ltsmin/check.test in three files
Fixes #195.

* tests/ltsmin/check.test: Extract the spins and gal checks
and move them to...
* tests/ltsmin/check2.test, tests/ltsmin/check3.test: ... these files.
* tests/Makefile.am: Adjust.
2016-11-24 11:36:26 +01:00
Alexandre Duret-Lutz
f868e0cea6 scc_filter: remove left-over print
Reported by František Blahoudek.

* spot/twaalgos/sccfilter.cc: Remove extra print statement.
* NEWS: Mention it.
2016-11-24 11:00:40 +01:00
Alexandre Duret-Lutz
e1d0c07d4b * NEWS, configure.ac: Bump version number. 2016-11-24 11:00:30 +01:00
Alexandre Duret-Lutz
dc4a477172 lts-min: fix loading of spins models
This fixes c9aabcdd.

* spot/ltsmin/ltsmin.cc: Update the extension after compiling
the model.  Do not duplicate the symbol lookups for DVE and gal2C.
Also, improve error reporting in case of missing symbol.
* tests/ltsmin/check.test: Remove stray character.
2016-11-24 10:44:11 +01:00
Alexandre Duret-Lutz
e2b0b9d989 scc_filter: remove left-over print
Reported by František Blahoudek.

* spot/twaalgos/sccfilter.cc: Remove extra print statement.
* NEWS: Mention it.
2016-11-24 07:31:32 +01:00
Maximilien Colange
fd2f79200f Improve error messages when loading compiled models.
* spot/ltsmin/ltsmin.cc: Improve error messages.
2016-11-23 11:03:30 +01:00
Maximilien Colange
c9aabcddab Add support to load GAL models.
* spot/ltsmin/ltsmin.cc: Handle GAL models.
* tests/Makefile.am: Test the new feature.
* tests/ltsmin/check.test: Also check GAL.
* tests/ltsmin/beem-peterson.4.gal: A new GAL model for tests.
* tests/ltsmin/finite.gal: A new GAL model for tests.
* tests/ltsmin/finite3.test: A new test for GAL.
2016-11-23 11:03:30 +01:00
Etienne Renault
ec83e60bb9 bitvec: remove useless methods
* spot/misc/bitvect.hh, tests/core/bitvect.cc,
tests/core/bitvect.test: here.
2016-11-23 09:39:58 +01:00
Etienne Renault
43ec36cda7 Prefer emplace_back to push_back
* spot/graph/ngraph.hh, spot/ltsmin/ltsmin.cc,
spot/misc/bitvect.hh, spot/misc/intvcomp.cc,
spot/misc/satsolver.cc, spot/priv/weight.cc,
spot/ta/taexplicit.cc, spot/taalgos/minimize.cc,
spot/taalgos/reachiter.cc, spot/tl/exclusive.cc,
spot/tl/formula.cc, spot/tl/formula.hh,
spot/tl/mark.cc, spot/tl/mutation.cc,
spot/tl/relabel.cc, spot/tl/remove_x.cc,
spot/tl/simplify.cc, spot/twa/acc.cc,
spot/twa/acc.hh, spot/twa/formula2bdd.cc,
spot/twa/taatgba.cc, spot/twa/taatgba.hh,
spot/twa/twa.hh, spot/twa/twagraph.cc,
spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
spot/twaalgos/compsusp.cc, spot/twaalgos/copy.cc,
spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
spot/twaalgos/determinize.cc, spot/twaalgos/dtwasat.cc,
spot/twaalgos/emptiness.cc, spot/twaalgos/gv04.cc,
spot/twaalgos/hoa.cc, spot/twaalgos/ltl2taa.cc,
spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
spot/twaalgos/mask.hh, spot/twaalgos/minimize.cc,
spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
spot/twaalgos/randomgraph.cc, spot/twaalgos/reachiter.cc,
spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
spot/twaalgos/sccfilter.cc, spot/twaalgos/se05.cc,
spot/twaalgos/simulation.cc, spot/twaalgos/stutter.cc,
spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
spot/twaalgos/word.cc, tests/core/bitvect.cc: here.
2016-11-23 09:39:58 +01:00
Alexandre Duret-Lutz
ef214b2c42 * NEWS, configure.ac: Bump version number. 2016-11-21 11:09:51 +01:00
Alexandre Duret-Lutz
9cf8535578 Release Spot 2.2.1
* NEWS, configure.ac, doc/org/setup.org: Update.
2016-11-21 09:00:51 +01:00
Alexandre Duret-Lutz
4e1c8dfd74 add test-case for bdd_noderesize
* tests/core/ltl2tgba.test: Add new test-case,
reported by Tomáš Babiak.
* NEWS: Mention the bug fixed by previous patch.
2016-11-19 16:46:14 +01:00
Alexandre Duret-Lutz
38c4fc8812 [buddy] fix bdd_noderesize
* src/kernel.c: Fix error introduced by 5a862295.
Report from Tomáš Babiak.
2016-11-19 16:46:10 +01:00
Alexandre Duret-Lutz
88a8a3efbe * NEWS: Typo. 2016-11-14 20:39:35 +01:00
Alexandre Duret-Lutz
5376466f43 * configure.ac, NEWS: Bump version number. 2016-11-14 10:15:38 +01:00
Alexandre Duret-Lutz
dd960dc71c Release Spot 2.2
* configure.ac, doc/org/setup.org, NEWS: Set version number.
2016-11-14 06:02:13 +01:00