Commit graph

4375 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
b6808115b9 bin: remove temporary files even on errors
Fixes #259.

* bin/common_setup.cc: Register a cleanup_tmpfiles() via atexit.
* tests/core/ltldo.test: Add a test case.
* NEWS: Mention the bug.
2017-05-04 15:35:17 +02:00
Alexandre Duret-Lutz
5601806e24 * Makefile.am (gen-ChangeLog): Generate BuDDy's ChangeLog. 2017-05-04 13:33:52 +02:00
Alexandre Duret-Lutz
613c485c24 [buddy] rename ChangeLog
We generate ChangeLog from git log now.

* ChangeLog: Rename as...
* ChangeLog.1: ... this.
* Makefile.am: Distribute the latter.
2017-05-04 13:32:52 +02:00
Alexandre Duret-Lutz
c8b443ba32 install a libspotgen.pc file
* spot/gen/libspotgen.pc.in: New file.
* spot/gen/Makefile.am: Install libspotgen.pc.
* debian/libspot-dev.install: Update.
2017-05-04 11:13:23 +02:00
Alexandre Duret-Lutz
887d14dea2 fix libspot.pc and libspotltsmin.pc generation
Report from Jeroen Meijer.

* spot/Makefile.am (libspot.pc): Depends on Makefile.  Use a
temporary.  Declare in CLEANFILES instead of DISTCLEANFILES.
* spot/ltsmin/Makefile.am (libspotltsmin.pc): Likewise.
2017-05-04 11:13:20 +02:00
Alexandre Duret-Lutz
800db9c251 [buddy] fix libbddx.pc generation
Report from Jeroen Meijer.

* src/Makefile.am (libbddx.pc): Depends on Makefile.  Use a
temporary.  Declare in CLEANFILES instead of DISTCLEANFILES.
2017-05-04 11:13:19 +02:00
Alexandre Duret-Lutz
172bee495a minimize_dfa: use the twa_graph interface
Fixes #233, although more cleanup would be welcome.

* spot/twaalgos/minimize.cc: Replace the uses of twa methods by
twa_graph methods, and simplify some data structures.
* tests/core/acc_word.test, tests/core/readsave.test,
tests/python/automata.ipynb: Adjust changed output due
to different data structures.
2017-05-01 22:10:29 +02:00
Alexandre Duret-Lutz
469d8067e0 gen: another automaton family
* spot/gen/automata.hh, spot/gen/automata.cc,
bin/genaut.cc: Introduce L_DSA.
* tests/core/genaut.test: Add quick test.
2017-04-28 13:32:48 +02:00
Alexandre Duret-Lutz
ae78e1d2b2 gen: set more properties in automata
* spot/gen/automata.cc: Set more properties.
* tests/python/gen.py: Check that they are set.
2017-04-28 13:32:48 +02:00
Alexandre Duret-Lutz
ec51f976f8 gen: introduce a new automaton family
* spot/gen/automata.cc, spot/gen/automata.hh: Define AUT_L_NBA.
* bin/genaut.cc (--l-nba): New option.
* bin/man/genaut.x, doc/org/genaut.org, NEWS: Document it.
* tests/python/gen.py, tests/core/genaut.test: Test it.
2017-04-28 13:32:42 +02:00
Alexandre Duret-Lutz
649793df75 gen: pass the bdd_dict to aut_pattern()
* spot/gen/automata.hh (aut_pattern): Add the dict argument.
* spot/gen/automata.cc, python/spot/gen.i: Adjust.
* tests/python/gen.py: Make sure two automata built without
specifying any dictionary share the same one.
2017-04-28 13:32:03 +02:00
Alexandre Duret-Lutz
11ca2803c9 gen: hide ks_cobuchi(), introduce aut_pattern()
* spot/gen/automata.hh, spot/gen/automata.cc: Hide ks_cobuchi() behind
introduce aut_pattern(), as we have already done for the formulas.
* bin/genaut.cc: Simplify using this interface.
* python/spot/gen.i: Introduce aut_patterns().
* tests/python/gen.ipynb, tests/python/gen.py: Adjust.
2017-04-28 13:32:03 +02:00
Alexandre Duret-Lutz
ca7f72bb4b gen: prefix ltl_pattern identifiers with LTL_
This helps with autocompletion in IPython, and it will prevent us from
mixing LTL patterns with automata patterns (once we have more than one
automata generator).

* spot/gen/formulas.hh: Here.
* spot/gen/formulas.cc, bin/genltl.cc, tests/python/gen.ipynb,
tests/python/gen.py: Adjust.
2017-04-28 13:32:03 +02:00
Thomas Medioni
0c69649ba1 * bin/.gitignore: Ignore genaut binary. 2017-04-28 12:17:44 +02:00
Alexandre Duret-Lutz
f4070187d9 * NEWS: Reword and reorder a few entries. 2017-04-26 15:06:02 +02:00
Alexandre Duret-Lutz
540b971355 gen: rename genltl() to ltl_pattern() and introduce ltl_patterns()
* spot/gen/formulas.hh, spot/gen/formulas.cc (genltl): Rename as...
(ltl_pattern): This.
(ltl_pattern_max): New function.
* bin/genltl.cc: Adjust names, and simplify using ltl_pattern_max().
* python/spot/gen.i (ltl_patterns): New function.
* tests/python/gen.py: Test it.
* tests/python/gen.ipynb: New file to document the spot.gen package.
* tests/Makefile.am, doc/org/tut.org: Add gen.ipynb.
2017-04-26 15:06:02 +02:00
Alexandre Duret-Lutz
b8065a7947 * doc/org/concepts.org: Typos in property flag names. 2017-04-26 09:08:24 +02:00
Alexandre Duret-Lutz
cbfb79e343 typos: familly -> family
* bench/ltlcounter/README, doc/org/upgrade2.org: Here.
2017-04-26 09:07:34 +02:00
Alexandre Duret-Lutz
aff3d09015 bin: remove unsupported %b stats from --help
* bin/common_aoutput.cc: Here.
* NEWS: Mention it.
2017-04-26 09:07:28 +02:00
Alexandre Duret-Lutz
2dc115fe2c * doc/org/concepts.org: Typos in property flag names. 2017-04-26 09:04:27 +02:00
Alexandre Duret-Lutz
8939e0dd50 genltl: move all formula generation code to spot/gen/
Fixes #254.

* spot/gen/formulas.cc, spot/gen/formulas.hh: New files.
* spot/gen/Makefile.am: Add them.
* spot/Makefile.am: Fix build order.
* bin/genltl.cc: Move most code to the above files and adjust.
* bin/Makefile.am: Link genltl with libspotgen.
* doc/org/arch.tex: Adjust picture to show that genltl uses
libspotgen.
* python/spot/gen.i: Include formulas.hh.
* tests/python/gen.py: Make sure genltl() and ltl_pattern_name()
can be called.
2017-04-25 18:14:15 +02:00
Maximilien Colange
52af3948d6 Remove useless code.
* spot/twaalgos/determinize.cc: remove code.
2017-04-25 09:15:28 +02:00
Maximilien Colange
17bbef6cce Check that automata produced by ks_cobuchi are state-based.
* tests/python/gen.py: implement the check.
2017-04-24 14:03:04 +02:00
Maximilien Colange
2532c2fff4 ks_cobuchi produces state-based automata.
* spot/gen/automata.cc: implement the change.
2017-04-24 12:01:04 +02:00
Alexandre Duret-Lutz
472cd77098 org: update the architecture diagram
For #254.

* doc/org/arch.tex: Include libspotgen and its python bindings,
genaut, and also the buddy bindings.
* doc/org/concepts.org: Adjust the description.
2017-04-23 19:56:01 +02:00
Alexandre Duret-Lutz
f185aabf44 python: add wrapper for libspotgen
For #254.

* python/spot/gen.i, tests/python/gen.py: New files.
* python/Makefile.am, tests/Makefile.am: Adjust.
* NEWS: Mention the spot.gen python package.
2017-04-23 17:24:23 +02:00
Alexandre Duret-Lutz
5e8f3ee629 typos: familly -> family
* bench/ltlcounter/README, doc/org/upgrade2.org: Here.
2017-04-23 11:28:28 +02:00
Alexandre Duret-Lutz
d25cdd4c6c ks_cobuchi: forbid n=0
* spot/gen/automata.hh: State the precondition.
* spot/gen/automata.cc: Catch n==0.
* tests/core/genaut.test: Test it.
2017-04-22 21:19:00 +02:00
Alexandre Duret-Lutz
586f0cce7b sanity: ensure all binaries are documented
* tests/sanity/bin.test: New file.
* tests/Makefile.am: Run it.
2017-04-22 14:19:59 +02:00
Alexandre Duret-Lutz
22aba2c4e2 genaut: add missing documentation
* bin/man/genaut.x, doc/org/genaut.org: New files.
* bin/man/Makefile.am, doc/Makefile.am: Add them.
* doc/org/tools.org, bin/man/randaut.x, bin/man/randltl.x,
bin/man/genltl.x: Link to them.
2017-04-22 14:19:35 +02:00
Alexandre Duret-Lutz
d9022f796c bin: remove unsupported %b stats from --help
* bin/common_aoutput.cc: Here.
* NEWS: Mention it.
2017-04-22 11:04:32 +02:00
Alexandre Duret-Lutz
e4a5bf8192 genaut: minor fixes and add test case
* bin/genaut.cc: Use RANGE instead of N, and document it.
Output the FORMAT documentation, and fix handling of %F and %L.
* tests/core/genaut.test: New file.
* tests/Makefile.am: Add it.
2017-04-22 11:00:50 +02:00
Maximilien Colange
3c0aecf4e6 Add a genaut binary.
Similarly to genltl that generates LTL formulas for various classes that
appear in the literature, genaut generates automata.

* NEWS: Mention the modification.
* bin/Makefile.am: Build the new binary.
* bin/genaut.cc: The new binary itself.
2017-04-21 18:13:33 +02:00
Maximilien Colange
d90e38eb2a Add a new library to generate formulas and automata.
This library, called libspotgen, gathers functions to generate classes
of automata found in the literature.
Related to #254.

* NEWS, README: Mention the modification.
* Makefile.am, debian/control, debian/libspotgen0.install: Build the new
  library in a separate package.
* spot/gen/automata.hh, spot/gen/automata.cc: Add a family of co-Büchi
  automata.
* configure.ac, spot/Makefile.am, spot/gen/Makefile.am: Build the new
  library.
2017-04-21 18:13:33 +02:00
Thomas Medioni
b428ed31ec Implements is_streett_like() and streett_like_pairs(), is_rabin_like...
Adds the method spot::acc_cond::is_streett_like() that behaves like
spot::acc_cond::is_streett() except that it works on a wider range
of acceptance conditions, called Streett-like. Also adds
spot::acc_cond::streett_like_pairs() that returns a boolean assessing
whether the acceptance condition is Streett-like and also returns all
the Streett_like pairs.
Defines the new struct type spot::acc_cond::rs_pair.
Similarily, Adds the methods spot::acc_cond::is_rabin_like() and
spot::acc_cond::rabin_like_pairs().

* NEWS: Mention this modification
* python/spot/impl.i: Declares the new struct to SWIG, and defines
the streett_like_pairs() vector as an output parameter, which makes
the python code return a tuple (boolean, vector) rather than a
pass-by-reference vector.
* spot/twa/acc.cc, spot/twa/acc.hh: Declares an implements the new
methods and the new nested struct.
* tests/Makefile.am: Add new tests to the suite
* tests/python/rs_like.py: Tests the new methods and
the SWIG bindings.
2017-04-21 16:24:08 +02:00
Alexandre Duret-Lutz
6ac9128699 org: typos
* doc/org/concepts.org: Fix some typos.
2017-04-20 22:02:22 +02:00
Alexandre Duret-Lutz
07c2dd3b64 introduce original-states
* spot/twaalgos/degen.cc, spot/twaalgos/degen.hh,
spot/twaalgos/mask.hh: Store original states in "original-states"
properties.
* spot/twaalgos/dot.cc: Add support for option 'd'.
* bin/common_aoutput.cc: Document it.
* doc/org/concepts.org, NEWS: Document "original-states".
* tests/core/readsave.test: Add some tests.
2017-04-20 20:07:30 +02:00
Alexandre Duret-Lutz
e7797b727d org: typos
* doc/org/concepts.org: Fix some typos.
2017-04-20 20:01:18 +02:00
Thomas Medioni
cc3bdfcd2e mark_t: sets() no longer returns a vector
spot::mark_t::sets() was modified so that it now returns an iterable
object rather than an std::vector<unsigned>.

* NEWS: Mention the modification.
* python/spot/impl.i: Declares mark_container as iterable to SWIG.
* spot/parseaut/parseaut.yy: Adapts to the modification.
* spot/twa/acc.hh: Implement the modification.
* tests/python/acc_cond.ipynb: Adapts to the modification.
2017-04-20 14:06:57 +02:00
Alexandre Duret-Lutz
f02ca87f07 sbacc: fix a serious bug
Reported by Thibaud Michaud

* spot/twaalgos/sbacc.cc: Do not label rejecting SCCs with the empty
mark, as it might be accepting.
* tests/core/sbacc.test: Add test cases.
* NEWS: Mention the bug.
2017-04-19 20:55:42 +02:00
Alexandre Duret-Lutz
9377db2e5e sbacc: fix a serious bug
Reported by Thibaud Michaud

* spot/twaalgos/sbacc.cc: Do not label rejecting SCCs with the empty
mark, as it might be accepting.
* tests/core/sbacc.test: Add test cases.
* NEWS: Mention the bug.
2017-04-19 18:46:35 +02:00
Alexandre Duret-Lutz
cb920242a7 [buddy] fix previous patch
* src/fdd.c: C++ comments are not supported in C90.
2017-04-19 13:25:07 +02:00
Alexandre Duret-Lutz
ba15788a94 [buddy] fix previous patch
* src/fdd.c: C++ comments are not supported in C90.
2017-04-19 13:24:44 +02:00
Michael Weber
2fb93faa4e [buddy] Addref in fdd_intaddvarblock
* src/fdd.c (fdd_intaddvarblock): Add missing addref.

Signed-off-by: Jaco van de Pol <J.C.vandepol@ewi.utwente.nl>
Signed-off-by: Michael Weber <michaelw@cs.utwente.nl>
2017-04-19 11:22:43 +02:00
Michael Weber
44ca086f5d [buddy] Addref in fdd_intaddvarblock
* src/fdd.c (fdd_intaddvarblock): Add missing addref.

Signed-off-by: Jaco van de Pol <J.C.vandepol@ewi.utwente.nl>
Signed-off-by: Michael Weber <michaelw@cs.utwente.nl>
2017-04-19 11:22:20 +02:00
Alexandre Duret-Lutz
334f04b0c4 Merge branch 'master' into next 2017-04-11 11:11:05 +02:00
Alexandre Duret-Lutz
19602e4bd0 Bump version number to 2.3.3.dev
* NEWS, configure.ac: Here.
2017-04-11 10:46:40 +02:00
Alexandre Duret-Lutz
e39e5ac586 Spot 2.3.3
* NEWS, configure.ac, doc/org/setup.org: Bump version number.
2017-04-11 10:43:04 +02:00
Alexandre Duret-Lutz
88bc78f9e2 * spot/twaalgos/remfin.cc: Typos in comments. 2017-04-08 17:24:10 +02:00
Alexandre Duret-Lutz
e58a00a2e3 * spot/twaalgos/remfin.cc: Typos in comments. 2017-04-08 17:22:29 +02:00