Commit graph

3082 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
c5ecd09fb6 bin: Update default options of ltl3dra
* src/bin/common_trans.cc: Update to expect HOA by default.
* doc/org/ltlcross.org, doc/org/ltldo.org: Adjust.
2015-03-30 21:57:04 +02:00
Alexandre Duret-Lutz
961d005b84 python: read automata from pipes
* src/hoaparse/hoaparse.yy, src/hoaparse/hoascan.ll,
src/hoaparse/parsedecl.hh, src/hoaparse/public.hh:
Add a way to read automata from a file descriptor.
* wrap/python/spot.py: Add machinery to read from
pipes.
* wrap/python/tests/piperead.ipynb: New file.
* wrap/python/tests/Makefile.am: Add it.
* wrap/python/tests/run.in: Setup PATH.
2015-03-30 21:57:04 +02:00
Alexandre Duret-Lutz
af8e7d62de * src/tgbatest/defs.in: Unset SPOT_DOTDEFAULT and SPOT_DOTEXTRA. 2015-03-30 12:24:31 +02:00
Alexandre Duret-Lutz
75328f1a21 autfilt: add a --simplify-exclusive-ap option
* src/bin/autfilt.cc: Add option.
* src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh: implement it.
* src/tgbatest/exclusive.test: Test it.
* src/misc/minato.cc, src/misc/minato.hh: Add an interface to
simplify a Boolean function with don't care.
2015-03-30 12:01:32 +02:00
Alexandre Duret-Lutz
25de479e12 python: add a spot.automata(filename) interface, yielding automata
* src/hoaparse/fmterror.cc, src/hoaparse/public.hh,
src/hoaparse/hoaparse.yy (hoa_stream_parser::parse_strict): New method
that raises an exception whenever a syntax error is encountered.
* src/ltlparse/public.hh (parse_error): Move ...
* src/misc/common.hh: ... here.
* wrap/python/spot_impl.i: Wrap the hoa output.
* wrap/python/spot.py: Implement spot.automata.
* wrap/python/tests/automata-io.ipynb: New test.
* wrap/python/tests/Makefile.am: Add it.
2015-03-27 17:27:12 +01:00
Alexandre Duret-Lutz
8e6b35e5e3 org: uses nice dot arrows
Suggested by Akim Demaille.  Fixes #69.

* doc/org/.dir-locals.el, doc/org/init.el.in,
wrap/python/tests/automata.ipynb: Set arrowhead and arrowsize.
* doc/org/autfilt.org, doc/org/dstar2tgba.org,
doc/org/ltl2tgba.org, doc/org/oaut.org: Adjust.
2015-03-26 09:39:06 +01:00
Alexandre Duret-Lutz
30b8788676 debian: disable -flto for binaries
This work around what appears to be an exception handling bug, causing
binaries to not always catch excepting thrown by the library.

* debian/rules: Here.
2015-03-26 07:56:10 +01:00
Alexandre Duret-Lutz
483212d275 Make --keep-states more useful by actually removing states.
Fixes #70.

We don't modify the behavior of mask_keep_states(), because it is
actually useful in some algorithm to remove states without renumbering
all the other states.

* src/bin/autfilt.cc: Call purge_dead_states().
* src/tgbatest/maskkeep.test: Adjust.
2015-03-25 21:34:01 +01:00
Alexandre Duret-Lutz
23bcbb5b37 complete: Fix completion of automata using Fin-acceptance
* src/tgba/acc.cc, src/tgba/acc.hh: Add a way to extract
an unstatisfiable mark, and fix the eval() function for
Fin acceptance.
* src/tgbaalgos/complete.cc: Label the sink state using
an unsatisfiable mark.  Do not assume generalized Büchi.
* src/tgbatest/complete.test: New test.
* src/tgbatest/Makefile.am: Add it.
2015-03-25 20:49:12 +01:00
Alexandre Duret-Lutz
7353e47f0c cleanacc: better cleanup
Sometimes, simplifying the acceptance condition (because it refers to
sets that do not appear in the automaton) cause more sets to be removed
from the acceptance condition, and therefore warrant another pass to
remove those sets from the automaton.

* src/tgbaalgos/cleanacc.cc: Here.
* src/tgbatest/hoaparse.test: Add a test case.
2015-03-25 20:02:59 +01:00
Alexandre Duret-Lutz
bf42ac3699 * wrap/python/tests/automata.ipynb: Update for recent changes. 2015-03-24 23:48:34 +01:00
Alexandre Duret-Lutz
4553ac06cf autfilt: add a --remove-ap option
* src/tgbaalgos/remprop.cc, src/tgbaalgos/remprop.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbatest/remprop.test: New test.
* src/tgbatest/Makefile.am: Add it.
* src/bin/autfilt.cc: Implement the option.
* doc/org/autfilt.org: Document it.
2015-03-24 18:58:24 +01:00
Alexandre Duret-Lutz
e592832a3e maskacc: reverse the way the acceptance condition is stripped
It makes more sense to assume that the removed set cannot be visited.

* src/tgbaalgos/mask.cc: Flip a Boolean.
* src/tgbatest/maskacc.test: Adjust test case.
* doc/org/autfilt.org: Add an example.
2015-03-24 16:33:33 +01:00
Alexandre Duret-Lutz
020bbd4473 remove_fin: remove useless states
* src/tgba/tgbagraph.cc (purge_dead_states): Using a DFS to compute a
topological order, allowing to remove useless using a second
pass (instead of iterating the passes until there is nothing to remove).
* src/tgbaalgos/remfin.cc: Call purge_dead_states().
* src/tgbatest/remfin.test, src/tgbatest/det.test: Adjust expected
output.
* doc/org/autfilt.org: Update example.
2015-03-24 15:11:17 +01:00
Alexandre Duret-Lutz
b4e22a3c7e org: more examples for autfilt
* doc/org/oaut.org: Some typos.
* doc/org/autfilt.org: Add some examples.
2015-03-24 11:29:52 +01:00
Alexandre Duret-Lutz
ead2ca0158 dot: better support of state-based acceptance
* src/tgbaalgos/dotty.cc: Here.
* src/tgbaalgos/sbacc.cc: Make the produced automata as state-based.
* src/tgbatest/readsave.test: Add a test.
2015-03-23 21:10:27 +01:00
Alexandre Duret-Lutz
fb7b7a944a autfilt: add a --exclusive-ap option
* src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh: Implement
constrain() for automata.
* src/bin/autfilt.cc: Add --exclusive-ap option.
* src/tgba/bdddict.cc, src/tgba/bdddict.hh: Add a
has_registered_proposition() method.
* src/tgbatest/exclusive.test: New file.
* src/tgbatest/Makefile.am: Add it.
2015-03-23 18:14:46 +01:00
Alexandre Duret-Lutz
544c533ed3 ltlfilt: add a --exclusive-ap option
* src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh: New files.
* src/ltlvisit/Makefile.am: Add them.
* src/bin/ltlfilt.cc: Implement the --exclusive-ap option.
* NEWS: Mention it.
* src/ltltest/exclusive.test: New file.
* src/ltltest/Makefile.am: Add it.
2015-03-23 17:31:13 +01:00
Etienne Renault
57cd9f2d2c Replace guards by pragma once.
* iface/ltsmin/ltsmin.hh, src/bin/common_aoutput.hh,
src/bin/common_conv.hh, src/bin/common_cout.hh,
src/bin/common_file.hh, src/bin/common_finput.hh,
src/bin/common_output.hh, src/bin/common_post.hh,
src/bin/common_r.hh, src/bin/common_range.hh,
src/bin/common_setup.hh, src/bin/common_sys.hh,
src/bin/common_trans.hh, src/dstarparse/parsedecl.hh,
src/dstarparse/public.hh, src/graph/graph.hh,
src/graph/ngraph.hh, src/hoaparse/parsedecl.hh,
src/hoaparse/public.hh, src/kripke/fairkripke.hh,
src/kripke/fwd.hh, src/kripke/kripke.hh,
src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.hh,
src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh,
src/ltlast/binop.hh, src/ltlast/bunop.hh,
src/ltlast/constant.hh, src/ltlast/formula.hh,
src/ltlast/multop.hh, src/ltlast/predecl.hh,
src/ltlast/unop.hh, src/ltlast/visitor.hh,
src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh,
src/ltlenv/environment.hh, src/ltlparse/parsedecl.hh,
src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
src/ltlvisit/clone.hh, src/ltlvisit/contain.hh,
src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh,
src/ltlvisit/lbt.hh, src/ltlvisit/length.hh,
src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.hh,
src/ltlvisit/mutation.hh, src/ltlvisit/nenoform.hh,
src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh,
src/ltlvisit/relabel.hh, src/ltlvisit/remove_x.hh,
src/ltlvisit/simpfg.hh, src/ltlvisit/simplify.hh,
src/ltlvisit/snf.hh, src/ltlvisit/tostring.hh,
src/ltlvisit/tunabbrev.hh, src/ltlvisit/wmunabbrev.hh,
src/misc/bareword.hh, src/misc/bddlt.hh, src/misc/bitvect.hh,
src/misc/casts.hh, src/misc/common.hh, src/misc/escape.hh,
src/misc/fixpool.hh, src/misc/formater.hh, src/misc/hash.hh,
src/misc/hashfunc.hh, src/misc/intvcmp2.hh,
src/misc/intvcomp.hh, src/misc/location.hh, src/misc/ltstr.hh,
src/misc/memusage.hh, src/misc/minato.hh, src/misc/mspool.hh,
src/misc/optionmap.hh, src/misc/position.hh, src/misc/random.hh,
src/misc/satsolver.hh, src/misc/timer.hh, src/misc/tmpfile.hh,
src/misc/version.hh, src/priv/accmap.hh, src/priv/bddalloc.hh,
src/priv/freelist.hh, src/ta/ta.hh, src/ta/taexplicit.hh,
src/ta/taproduct.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.hh,
src/ta/tgtaproduct.hh, src/taalgos/dotty.hh,
src/taalgos/emptinessta.hh, src/taalgos/minimize.hh,
src/taalgos/reachiter.hh, src/taalgos/statessetbuilder.hh,
src/taalgos/stats.hh, src/taalgos/tgba2ta.hh,
src/tgba/acc.hh, src/tgba/bdddict.hh,
src/tgba/bddprint.hh, src/tgba/formula2bdd.hh, src/tgba/fwd.hh,
src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbagraph.hh,
src/tgba/tgbamask.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.hh,
src/tgba/tgbasafracomplement.hh, src/tgbaalgos/are_isomorphic.hh,
src/tgbaalgos/bfssteps.hh, src/tgbaalgos/canonicalize.hh,
src/tgbaalgos/cleanacc.hh, src/tgbaalgos/complete.hh,
src/tgbaalgos/compsusp.hh, src/tgbaalgos/cycles.hh,
src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.hh,
src/tgbaalgos/dtgbasat.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness_stats.hh,
src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/gtec.hh,
src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh,
src/tgbaalgos/gv04.hh, src/tgbaalgos/hoa.hh, src/tgbaalgos/isdet.hh,
src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/magic.hh, src/tgbaalgos/mask.hh,
src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh,
src/tgbaalgos/product.hh, src/tgbaalgos/projrun.hh,
src/tgbaalgos/randomgraph.hh, src/tgbaalgos/randomize.hh,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh,
src/tgbaalgos/relabel.hh, src/tgbaalgos/remfin.hh,
src/tgbaalgos/replayrun.hh, src/tgbaalgos/safety.hh,
src/tgbaalgos/sbacc.hh, src/tgbaalgos/scc.hh,
src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh,
src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.hh,
src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh,
src/tgbaalgos/stutter.hh, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh,
src/tgbaalgos/weight.hh, src/tgbaalgos/word.hh,
src/sanity/includes.test, src/tgbaalgos/ndfs_result.hxx: here.
2015-03-23 10:19:55 +01:00
Etienne Renault
b8bc619ddf Fix mac OSX support for echo -n.
* configure.ac: here.
2015-03-23 10:19:55 +01:00
Alexandre Duret-Lutz
c26457b02b tgba: add a release_named_properties() method
Fixes #67.

* src/tgba/tgba.cc, src/tgba/tgba.hh: Here.
* src/tgbaalgos/complete.cc, src/tgbaalgos/stripacc.cc: Use it.
2015-03-22 14:07:24 +01:00
Alexandre Duret-Lutz
d1efe9a75a ipnbdoctest: ignore transform=".*"
This is another part of the SVG output thay may change
with different versions of graphviz.

* wrap/python/tests/ipnbdoctest.py: Here.
2015-03-21 20:36:52 +01:00
Alexandre Duret-Lutz
441d408b9e configure: disable Python when --disable-shared
Fixes #68.

* configure.ac: Here.
2015-03-21 13:22:01 +01:00
Alexandre Duret-Lutz
125fa983ab Do not store getenv() pointers in static variables.
... or the pointer might be invalidated if the environments
changes.  Fixes #63.

* src/taalgos/dotty.cc, src/tgbaalgos/dotty.cc,
src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc:
Copy the environment in strings instead.
* wrap/python/tests/automata.ipynb: Adjust comment.
2015-03-20 22:37:57 +01:00
Alexandre Duret-Lutz
519f5e3cee hoa: fix an assert() when initial states are not declared
* src/hoaparse/hoaparse.yy: Make sure initial states are
declared.
* src/tgbatest/hoaparse.test: Test it.
2015-03-20 18:01:14 +01:00
Alexandre Duret-Lutz
b803a0ee4d get rid of prop_single_acc_set() and set_single_acc_set()
Fixes #64.

* src/tgba/tgba.hh: Here.
* src/tgbaalgos/complete.cc, src/tgbaalgos/degen.cc,
src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/mask.cc,
src/tgbaalgos/minimize.cc, src/tgbaalgos/remfin.cc,
src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc,
src/tgbaalgos/stutter.cc: Adjust.
2015-03-18 21:50:37 +01:00
Alexandre Duret-Lutz
d2f11e4075 move set_generalized_buchi and set_buchi to tgba
* src/tgba/tgbagraph.hh (set_generalized_buchi, set_buchi): Move...
* src/tgba/tgba.hh: ... here.
2015-03-18 20:52:58 +01:00
Alexandre Duret-Lutz
47d9a2d57c rename set_single_acceptance_set() to set_buchi()
Fixes #66.

* src/dstarparse/dra2ba.cc, src/dstarparse/nra2nba.cc,
src/hoaparse/hoaparse.yy, src/tgba/tgbagraph.hh,
src/tgbaalgos/complete.cc, src/tgbaalgos/degen.cc,
src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbacomp.cc,
src/tgbaalgos/minimize.cc, src/tgbaalgos/postproc.cc: Here.
2015-03-18 20:27:37 +01:00
Alexandre Duret-Lutz
2dbef514bd move copy_acceptance_of and copy_ap_of to tgba.hh
Fixes #65.

* src/tgba/tgbagraph.hh (copy_acceptance_of, copy_ap_of): Move...
* src/tgba/tgba.hh: ... here.
2015-03-18 20:19:49 +01:00
Alexandre Duret-Lutz
a79267b8a3 rename copy_acceptance_conditions_of()
... into copy_acceptance_of().  For #65.

* src/tgba/tgbagraph.hh, src/tgbaalgos/dupexp.cc,
src/tgbaalgos/emptiness.cc, src/tgbaalgos/mask.cc,
src/tgbaalgos/powerset.cc, src/tgbaalgos/sbacc.cc,
src/tgbaalgos/simulation.cc, src/tgbaalgos/stutter.cc: Here.
2015-03-18 20:07:57 +01:00
Alexandre Duret-Lutz
c3fbbaa87c python: more automata examples
* wrap/python/tests/automata.ipynb: Restrict dot size, and more
examples.
2015-03-18 18:48:09 +01:00
Alexandre Duret-Lutz
231b3e1809 * src/tgba/tgbagraph.hh: Remove orphaned prototype. 2015-03-18 18:48:09 +01:00
Alexandre Duret-Lutz
316401c5c3 debian: fix some lintian warnings and errors
* debian/control: Update standars-version.  Add missing ${misc:Depends}.
Use Depends: ${source:Version} for libspot-dev.  Fix description of
spot.
* debian/spot-doc.doc-base: Move the doc to Science/Mathematics.
2015-03-18 18:48:02 +01:00
Alexandre Duret-Lutz
72eed9b2e2 sat: add missing prop_state_based_acc() call
Fixes #62.

* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Add call to
prop_state_based_acc() when building an automaton with state-based
acceptance.
* src/tgbatest/satmin2.test: New test.
* doc/org/satmin.org: Update.
2015-03-17 19:28:34 +01:00
Alexandre Duret-Lutz
6712fa3c65 man: fix section number of spot-x.7
* src/bin/man/Makefile.am: Make sure the header of spot-x.7 refers to
section 7, not 1.  This error was caught by lintian on the Debian
packages.
2015-03-17 19:28:34 +01:00
Alexandre Duret-Lutz
838bfb2ae3 dotty: colored acceptance sets
This implement several new options for --dot in order to
allow emptiness sets to be output as colored ⓿ or ❶...
Also add a SPOT_DOTDEFAULT environment variable.

* NEWS, src/bin/man/spot-x.x, src/bin/common_aoutput.cc,
src/bin/dstar2tgba.cc: Document the new options.
* doc/org/.dir-locals.el, doc/org/init.el.in: Setup
SPOT_DOTEXTRA and SPOT_DOTDEFAULT for all documents.
* doc/org/autfilt.org, doc/org/dstar2tgba.org, doc/org/ltl2tgba.org,
doc/org/ltldo.org, doc/org/oaut.org, doc/org/randaut.org,
doc/org/satmin.org: Adjust to this new setup.
* src/misc/escape.cc, src/misc/escape.hh (escape_html): New function.
* src/tgba/acc.cc, src/tgba/acc.hh (to_text, to_html): New method.
* src/tgbaalgos/dotty.cc: Implement the new options.
* src/tgbatest/readsave.test, wrap/python/tests/automata.ipynb: More
tests.
* wrap/python/spot.py: Make sure the default argument for
dotty_reachable is None, so that SPOT_DOTDEFAULT is honored.
2015-03-17 19:28:34 +01:00
Alexandre Duret-Lutz
7caf2b83d6 dot: allow extra configuration via environment
* src/tgbaalgos/dotty.cc, src/taalgos/dotty.cc: Honnor the SPOT_DOTEXTRA
environement variable.
* src/tgbatest/readsave.test, wrap/python/tests/automata.ipynb: Test it.
* NEWS, src/bin/man/spot-x.x: Document it.
2015-03-16 18:40:31 +01:00
Alexandre Duret-Lutz
b6762b7dc9 * wrap/python/spot.py: Typo. 2015-03-16 17:36:49 +01:00
Alexandre Duret-Lutz
1f7c374798 python: More fixes for GraphViz variations
One of our ArchLinux build produice slightly different SVG.

* wrap/python/tests/ipnbdoctest.py: Strip larger parts of SVG outputs.
2015-03-16 17:36:49 +01:00
Alexandre Duret-Lutz
3c38780d50 python: some bindings for translating formulas and diplaying automata
* wrap/python/spot.py: Introduce spot.translate (and
spot.formula.translate) as well, as a wrapper around the
spot.translator class.  Also implement spot.tgba.show()
to allow passing argument to dotty_reachable() before
the result is converted to SVG.
* wrap/python/tests/automata.ipynb: New test file.
* wrap/python/tests/Makefile.am: Add it.
2015-03-15 19:50:40 +01:00
Alexandre Duret-Lutz
d05404a61e * wrap/python/tests/ipnbdoctest.py: Typo. 2015-03-13 10:22:50 +01:00
Alexandre Duret-Lutz
127b77fb25 python: be more robust to different graphviz version in tests
* wrap/python/tests/ipnbdoctest.py: Ignore anything that look like an
SVG coordinate to compare outputs.
2015-03-11 23:45:09 +01:00
Alexandre Duret-Lutz
1ffdd57383 [buddy] backport some fixes from upstream
* src/fdd.c, src/imatrix.c, src/kernel.c, src/reorder.c: Here.
2015-03-11 23:45:00 +01:00
Alexandre Duret-Lutz
2d13fd50ab python: get ipnbdoctest to work with ipython 3.0
With great help from the first two commits in
https://github.com/paulgb/runipy/pull/49/commits

* wrap/python/tests/ipnbdoctest.py: Update.
2015-03-11 22:47:18 +01:00
Alexandre Duret-Lutz
2362b9ab68 python: improve handling of formulas
* src/misc/escape.hh, src/misc/escape.cc (escape_latex): New function.
* src/ltlvisit/tostring.cc: Escape atomic proposition in LaTeX output.
* wrap/python/spot.py: Make it easy to output formulas in different
syntaxes.  Also allow the AST to be shown.
* wrap/python/spot_impl.i: Catch std::runtime_error.
* wrap/python/tests/formulas.ipynb: New file.
* wrap/python/tests/Makefile.am: Add it.
2015-03-11 21:09:12 +01:00
Alexandre Duret-Lutz
a6dbf5cf5e debian: harden version requirements
* debian/control: Make sure libspot-dev and spot have
the same versions.
2015-03-11 16:18:31 +01:00
Alexandre Duret-Lutz
787e3f9315 [buddy] fix undefined behavior
The bug was found while running Spot's src/tgbatest/randpsl.test
on Debian i386 with gcc-4.9.2.  The following call would crash:

./ltl2tgba -R3 -t '(!(F(({{{(p0) |
{[*0]}}:{{{(p1)}[*2]}[:*]}[*]:[*2]}[:*0..3]}[]-> (G(F(p1)))) &
(G((!(p1)) | ((!(p2)) W (G(!(p0)))))))))'

On amd64 the call does not crash, but valgrind nonetheless
report that uninitialized memory is being read by bdd_gbc()
during the second garbage collect.

* src/kernel.h (PUSHREF): Define as a function rather than a macro
to avoid undefined behavior.  See comments for details.
2015-03-10 15:44:08 +01:00
Alexandre Duret-Lutz
ffabbfb048 * debian/rules: Do not hard-code the path to the LTO plugin. 2015-03-09 18:08:37 +01:00
Alexandre Duret-Lutz
5adec9199b debian: build a python3 package
* debian/python3-spot.install: New file.
* Makefile.am: Ship it.
* debian/control, debian/rules, debian/spot.install: Adjust.
2015-03-08 21:22:15 +01:00
Alexandre Duret-Lutz
4ffb0cb98d randltl: some code cleanup
* src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh: Throw
invalid_argument exceptions consistently (not std::string), and use
forwarding constructors to avoid the construct() method.
* src/bin/randltl.cc: Catch the above exceptions.  Destroy
the opts variable right after its use, so that we don't need
explicit destructor calls.
* src/ltltest/rand.test: Add a test.
2015-03-08 13:50:12 +01:00