Commit graph

4302 commits

Author SHA1 Message Date
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
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
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
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
Alexandre Duret-Lutz
bf99e6c24e print_hoa: turn the safety checks into exceptions
Because when those assertions fails in Python, they crash the
interpreter.

* spot/twaalgos/hoa.cc (print_hoa): Remplace assert() by throw.
2017-04-08 17:21:46 +02:00
Thomas Medioni
0d884d4a93 autfilt: Add --dualize option
* NEWS: Mention this addition.
* bin/autfilt.cc: Add dualize option
* tests/Makefile.am: Add dualize option test file to the suite.
* tests/core/dualize.test: Test the dualize option.
2017-04-07 17:15:39 +02:00
Thomas Medioni
152b5d0d30 dtwa_complement: deprecated, use dualize() instead.
* NEWS: Mention of the deprecation
* bench/stutter/stutter_invariance_randomgraph.cc,
  bin/autfilt.cc, bin/ltlcross.cc, spot/twaalgos/langmap.cc,
  spot/twaalgos/minimize.cc, spot/twaalgos/powerset.cc,
  spot/twaalgos/stutter.cc, tests/core/ikwiad.cc,
  tests/python/bugdet.py, tests/python/remfin.py,
  tests/python/sum.py: Refactor calls to dtwa_complement() with calls
  to dualize().
* doc/org/upgrade2.org: Change mention of dtwa_complement with dualize.
* spot/twaalgos/complement.hh: Add deprecation notice.
* python/spot/impl.i: Add deprecation notice for the python bindings.
2017-04-07 17:15:38 +02:00
Thomas Medioni
073a6e8198 dtwa_complement: replace code with call to dualize
* NEWS: Mention of this modification
* spot/twaalgos/complement.cc: Replace dtwa_complement with a call
  to dualize
2017-04-07 17:15:38 +02:00
Thomas Medioni
c9d8d41fd3 implement dualize to complement automatons
* NEWS: Mention the implementation
* python/spot/impl.i: Add dualize() to python interface.
* spot/twaalgos/Makefile.am: Add dualize.cc,hh to the build
* spot/twaalgos/dualize.cc: Implement dualize() that takes an automaton
  and returns its dual
* spot/twaalgos/dualize.hh: Implement dualize()
* tests/Makefile.am: Add dualize tests to the test suite
* tests/python/dualize.py: Test cases for dualize
2017-04-07 17:15:38 +02:00
Alexandre Duret-Lutz
c90400a1b0 * AUTHORS: Add Thomas Medioni. 2017-04-07 13:52:05 +02:00
Alexandre Duret-Lutz
08c153d3bb genltl: add support for --p-patterns
Fixes #246.

* bin/genltl.cc: Implement it.
* bin/man/genltl.x, doc/org/genltl.org, NEWS: Document it.
* tests/core/ltl2tgba2.test: Test it.
2017-04-07 11:30:31 +02:00
Alexandre Duret-Lutz
4b7a6238b4 genltl: add --hkrss-patterns
Fixes #245.

* bin/genltl.cc: Add the option.
* bin/man/genltl.x: Add reference.
* tests/core/ltl2tgba2.test: Use these patterns.
* doc/org/genltl.org, NEWS: Document the options.
2017-04-07 11:29:49 +02:00
Alexandre Duret-Lutz
14addce640 genltl: add --spec-patterns as an alias to --dac-patterns
* bin/genltl.cc: Here.
* NEWS: Mention it.
2017-04-07 11:29:33 +02:00
Alexandre Duret-Lutz
276f40602e bin: add shorthands for ltl2dpa ltl2da and ltl2ldba
* bin/common_trans.cc: Here.
* doc/org/ltlcross.org, doc/org/ltldo.org, NEWS: Adjust.
2017-04-07 11:28:39 +02:00
Maximilien Colange
6806113a14 Fix wrong URL for Debian packages.
* debian/control: Fix URL.
2017-04-07 11:16:09 +02:00
Alexandre Duret-Lutz
1daffe12f0 remfin: fix a corner case for rabin_to_buchi_maybe
when fin_alone sets where presents (i.e., not really Rabin condition),
the rabin_to_buchi_maybe() could fail to notice DBA-typeness.

* spot/twaalgos/remfin.cc: Don't set scc_ba_type to false when
fin_alone is present.
* tests/core/remfin.test: Add a test case.
2017-04-07 11:14:06 +02:00
Alexandre Duret-Lutz
cc0e9a5e1e bin: add shorthands for ltl2dpa ltl2da and ltl2ldba
* bin/common_trans.cc: Here.
* doc/org/ltlcross.org, doc/org/ltldo.org, NEWS: Adjust.
2017-04-06 14:33:14 +02:00
Maximilien Colange
31a9bc6416 Fix wrong URL for Debian packages.
* debian/control: Fix URL.
2017-04-05 11:03:59 +02:00
Alexandre Duret-Lutz
b442d2bbd4 remfin: fix a corner case for rabin_to_buchi_maybe
when fin_alone sets where presents (i.e., not really Rabin condition),
the rabin_to_buchi_maybe() could fail to notice DBA-typeness.

* spot/twaalgos/remfin.cc: Don't set scc_ba_type to false when
fin_alone is present.
* tests/core/remfin.test: Add a test case.
2017-04-04 14:20:41 +02:00
Thomas Medioni
cebc4b00b5 sum: Fix universal initial state bug
* spot/twaalgos/sum.cc: Fix the sum of automatas having universal
  initial transitions.
* tests/core/explsum.test: Add test case testing the handling of
  universal initial transitions in sum.
2017-04-03 11:32:45 +02:00
Thomas Medioni
01ee49290f bench: fix stutter bench compiler errors.
* NEWS: mention this fix.
* bench/stutter/stutter_bench.sh, bench/stutter/user.sh: Path to spot
  binaries would include an inexistant src directory.
* bench/stutter/stutter_invariance_formulas.cc: Add override qualifier
  to satisfy -Wsuggest-override.
2017-03-31 21:45:33 +02:00
Alexandre Duret-Lutz
1ed6e518dd various typos
* bench/dtgbasat/gen.py, spot/twaalgos/complement.hh: Fix
looser->loser and lossing->losing.
* tests/sanity/style.test: Catch 'an uni[^n]'.
* spot/ta/ta.hh, spot/taalgos/tgba2ta.cc, spot/taalgos/tgba2ta.hh,
spot/twa/twagraph.cc, spot/twaalgos/complement.hh,
spot/twaalgos/sccinfo.cc: Fix various occurences of this pattern.
2017-03-31 21:44:49 +02:00
Alexandre Duret-Lutz
b910330a78 [buddy] Typos in comments
* src/kernel.c (bdd_addref): Fix typo documentation.
* src/bddop.c (bdd_appall, bdd_appallcomp): Likewise.
2017-03-31 21:22:04 +02:00
Alexandre Duret-Lutz
f5d53e3a5e python: update some incorrect or obsolete code
* tests/python/ipnbdoctest.py: Use importlib instead of imp.
* tests/python/ltlparse.py: Fix invalid escape sequence.
2017-03-31 21:22:04 +02:00
Thomas Medioni
5f43fec8db bench: fix stutter bench compiler errors.
* NEWS: mention this fix.
* bench/stutter/stutter_bench.sh, bench/stutter/user.sh: Path to spot
  binaries would include an inexistant src directory.
* bench/stutter/stutter_invariance_formulas.cc: Add override qualifier
  to satisfy -Wsuggest-override.
2017-03-31 13:40:05 +02:00
Alexandre Duret-Lutz
be41155308 various typos
* bench/dtgbasat/gen.py, spot/twaalgos/complement.hh: Fix
looser->loser and lossing->losing.
* tests/sanity/style.test: Catch 'an uni[^n]'.
* spot/ta/ta.hh, spot/taalgos/tgba2ta.cc, spot/taalgos/tgba2ta.hh,
spot/twa/twagraph.cc, spot/twaalgos/complement.hh,
spot/twaalgos/sccinfo.cc, spot/twaalgos/sum.hh: Fix various occurences
of this pattern.
2017-03-30 21:45:43 +02:00
Alexandre Duret-Lutz
42e5cd955e [buddy] Typos in comments
* src/kernel.c (bdd_addref): Fix typo documentation.
* src/bddop.c (bdd_appall, bdd_appallcomp): Likewise.
2017-03-30 21:45:22 +02:00