- 14 Oct, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 13 Oct, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
The previous code was sometime doing the work of remove_fin() in addition to complementing the acceptance conditions. This separate the two operations clearly. Also the specialized code for complementing weak automata is now a specialized code for remove_fin() on weak automata. * src/twaalgos/dtgbacomp.hh, src/twaalgos/dtgbacomp.cc: Rename as ... * src/twaalgos/complement.hh, src/twaalgos/complement.cc: ... these. * src/twaalgos/Makefile.am: Adjust. * src/twaalgos/complement.hh (dtgba_complement): Rename as ... (dtwa_complement): ... this, and restrict the purpose to completion and accetance complementation. Further acceptance simplification can be done with remove_fin() and to_generalized_buchi(). * src/twaalgos/remfin.cc (remove_fin): Specialize handling of weak automata using the code that was originally in dtgba_complement(). Also mark the output as state-based when the input has to Inf. * src/twaalgos/postproc.cc, src/twaalgos/postproc.hh: Make sure scc_filter is always called after to_generalized_buchi(). * bench/stutter/stutter_invariance_randomgraph.cc, src/bin/ltlcross.cc, src/tests/ikwiad.cc, src/twaalgos/minimize.cc, src/twaalgos/powerset.cc, src/twaalgos/stutter.cc: Adjust usage. * src/tests/dstar.test, src/tests/ltl2dstar4.test, src/tests/remfin.test: Adjust expected outputs. * wrap/python/spot_impl.i: Export dtwa_complement().
-
Alexandre Duret-Lutz authored
-
- 08 Oct, 2015 1 commit
-
-
Alexandre Duret-Lutz authored
* wrap/python/spot.py: Use a decorator to extend classes. * wrap/python/tests/formulas.ipynb: Adjust expected help text.
-
- 04 Oct, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
* wrap/python/spot.py: Better docstrings. * wrap/python/tests/formulas.ipynb: Update.
-
Alexandre Duret-Lutz authored
-
- 03 Oct, 2015 13 commits
-
-
Alexandre Duret-Lutz authored
* doc/org/init.el.in: Activate CSS for code fragments. * doc/org/spot.css: Style relevant elements.
-
Alexandre Duret-Lutz authored
Fixes #105. * src/bin/common_trans.cc (quote_shell_string): Move ... * src/misc/escape.cc, src/misc/escape.hh (quote_shell_string): ... here. * wrap/python/spot_impl.i: Wrap escape.hh. * wrap/python/spot.py: Implement formula.__format__. * wrap/python/tests/ltlsimple.py: Test it. * NEWS, doc/org/tut01.org, wrap/python/tests/formulas.ipynb: Document it.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* wrap/python/spot.py: Python 3.5 reports some unexpected SystemError messages when the stack of iterator(...(iterator(generator))) we build for random LTL generation raises a StopIteration. The messages are attached either to delete_formula or delete_randltlgenerator, claiming that these functions exit with an error; but I have checked that they do not. I've been unable to understand the cause of the issue. Replacing the generator by an iterator at least fixes the problem in a way that is transparent for our API. * wrap/python/tests/randltl.ipynb: Adjust expected formulas.
-
Alexandre Duret-Lutz authored
* wrap/python/spot_impl.i: Map null formulas to None. * wrap/python/tests/randgen.py: New file. * wrap/python/tests/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* src/twa/bdddict.cc, src/twa/bdddict.hh (unregister_all_typed_variables, oneacc_to_formula, register_acceptance_variables): Remove these unused methods.
-
Alexandre Duret-Lutz authored
* src/twaalgos/postproc.hh: Allow the formula not to be specified. The code already support that, as it is called with an explicit nullptr in autfilt (for example), but not requiring the nullptr is better for the Python bindings.
-
Alexandre Duret-Lutz authored
* src/twaalgos/complete.cc, src/twaalgos/complete.hh (tgba_complete, tgba_complete_here): Rename as... (complete, complete_here): ... these. Also fix useless output of acceptance marks on transition leading to the sink when the automaton does not use state-based acceptance. * src/tests/ikwiad.cc, src/twaalgos/dtgbacomp.cc, src/twaalgos/dtgbasat.cc, src/twaalgos/postproc.cc, src/twaalgos/product.cc: Adjust. * wrap/python/spot_impl.i: Export these function. * wrap/python/tests/automata.ipynb: Test spot.complete().
-
Alexandre Duret-Lutz authored
* src/tl/simpfg.cc, src/tl/simpfg.hh: Delete. * src/tl/Makefile.am: Adjust.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* m4/gccwarn.m4: Enable -Wnoexcept. * src/graph/graph.hh, src/twa/acc.hh, src/twa/twagraph.hh: Add noexcept to various constructors.
-
Alexandre Duret-Lutz authored
* m4/gccwarn.m4: Add -Wmissing-declarations. * iface/ltsmin/ltsmin.cc, iface/ltsmin/modelcheck.cc, src/bin/common_trans.cc, src/bin/genltl.cc, src/bin/ltlgrind.cc, src/tests/acc.cc, src/tests/bitvect.cc, src/tests/checkpsl.cc, src/tests/checkta.cc, src/tests/complementation.cc, src/tests/consterm.cc, src/tests/emptchk.cc, src/tests/equalsf.cc, src/tests/graph.cc, src/tests/ikwiad.cc, src/tests/intvcmp2.cc, src/tests/intvcomp.cc, src/tests/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc, src/tests/ltlrel.cc, src/tests/ngraph.cc, src/tests/randtgba.cc, src/tests/readltl.cc, src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/tostring.cc, src/tests/twagraph.cc, src/tl/contain.cc, src/twaalgos/dtgbacomp.cc, src/twaalgos/minimize.cc: Add "static" and move in anonymous namespace when appropriate.
-
Alexandre Duret-Lutz authored
-
- 01 Oct, 2015 5 commits
-
-
Alexandre Duret-Lutz authored
It was only needed with Swig versions older than what we have now. * src/misc/common.hh: Here. * src/misc/bitvect.hh, src/misc/common.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh, src/tl/simplify.hh, src/twa/bdddict.hh, src/twa/taatgba.hh, src/twa/twaproduct.hh: Use = delete directly.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* NEWS, configure.ac, doc/org/setup.org: Bump version. * doc/org/index.org: Better wording of a link.
-
- 30 Sep, 2015 8 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/ltlparse/public.hh: Rename as... * src/tl/parse.hh: ... this. * src/ltlparse/: Rename as... * src/parsetl/: ... this. * NEWS: Mention the change. * README, configure.ac, doc/org/tut01.org, doc/org/tut02.org, doc/org/tut03.org, doc/org/tut10.org, src/Makefile.am, src/bin/common_finput.cc, src/bin/common_finput.hh, src/bin/ltl2tgta.cc, src/kripkeparse/kripkeparse.yy, src/parseaut/parseaut.yy, src/tests/checkpsl.cc, src/tests/checkta.cc, src/tests/complementation.cc, src/tests/consterm.cc, src/tests/emptchk.cc, src/tests/equalsf.cc, src/tests/ikwiad.cc, src/tests/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc, src/tests/ltlrel.cc, src/tests/randtgba.cc, src/tests/readltl.cc, src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/tostring.cc, src/tl/Makefile.am, src/twaalgos/lbtt.cc, wrap/python/spot_impl.i, iface/ltsmin/modelcheck.cc: Adjust.
-
Alexandre Duret-Lutz authored
* m4/gccwarn.m4: Test it.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/twaalgos/dupexp.cc, src/twaalgos/dupexp.hh: Rename to... * src/twaalgos/copy.cc, src/twaalgos/copy.hh: ... these. Get rid of dupexp_bfs, rename dupexp_dfs as copy, and add an option to preserve named states. * src/twaalgos/Makefile.am, src/tests/dupexp.test, src/tests/ikwiad.cc, src/tests/sccsimpl.test, src/twa/twagraph.hh, src/twaalgos/dot.cc, src/twaalgos/stutter.cc, wrap/python/spot_impl.i: Adjust. * NEWS: Mention this change.
-
- 29 Sep, 2015 2 commits
-
-
Alexandre Duret-Lutz authored
* doc/Doxyfile.in: Adjust to hide SPOT_API. * doc/mainpage.dox: Adjust like to parse_infix_psl(). * src/tl/formula.hh: Document most methods of formula, and fix the definition of the comparisons operator. * src/ltlparse/public.hh, src/tl/apcollect.hh, src/tl/declenv.hh, src/tl/defaultenv.hh, src/tl/dot.hh, src/tl/environment.hh, src/tl/length.hh, src/tl/mark.hh, src/tl/nenoform.hh, src/tl/print.hh, src/tl/randomltl.hh, src/tl/relabel.hh, src/tl/simpfg.hh, src/tl/simplify.hh, src/tl/unabbrev.hh: Adjust doxygen group.
-
Alexandre Duret-Lutz authored
* src/twa/bddprint.cc: Do not store a global shared_ptr to the bdddict used for printing (a simple pointer is enough), otherwise it risks being the last shared_ptr to be destroyed, and it might be destroyed after the unicity maps of the formulas.
-
- 28 Sep, 2015 6 commits
-
-
Alexandre Duret-Lutz authored
* src/tl/formula.hh, src/tl/formula.cc: Add an operator<< to print formulas. * doc/org/tut01.org, doc/org/tut02.org: Adjust. * doc/org/tut03.org: New file. * doc/org/tut.org, doc/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
* NEWS: Mention it. * bench/stutter/stutter_invariance_formulas.cc, bench/stutter/stutter_invariance_randomgraph.cc, doc/mainpage.dox, doc/org/tut01.org, doc/org/tut02.org, doc/org/tut10.org, doc/tl/tl.tex, iface/ltsmin/ltsmin.cc, iface/ltsmin/ltsmin.hh, iface/ltsmin/modelcheck.cc, src/bin/autfilt.cc, src/bin/common_aoutput.cc, src/bin/common_aoutput.hh, src/bin/common_finput.cc, src/bin/common_finput.hh, src/bin/common_output.cc, src/bin/common_output.hh, src/bin/common_r.hh, src/bin/common_trans.cc, src/bin/common_trans.hh, src/bin/dstar2tgba.cc, src/bin/genltl.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc, src/bin/ltlcross.cc, src/bin/ltldo.cc, src/bin/ltlfilt.cc, src/bin/ltlgrind.cc, src/bin/randaut.cc, src/bin/randltl.cc, src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh, src/kripkeparse/kripkeparse.yy, src/kripkeparse/public.hh, src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh, src/ltlparse/public.hh, src/parseaut/parseaut.yy, src/parseaut/public.hh, src/tests/checkpsl.cc, src/tests/checkta.cc, src/tests/complementation.cc, src/tests/consterm.cc, src/tests/emptchk.cc, src/tests/equalsf.cc, src/tests/ikwiad.cc, src/tests/kind.cc, src/tests/length.cc, src/tests/ltlprod.cc, src/tests/ltlrel.cc, src/tests/parse.test, src/tests/parse_print_test.cc, src/tests/randtgba.cc, src/tests/readltl.cc, src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/taatgba.cc, src/tests/tostring.cc, src/tests/tostring.test, src/tl/apcollect.cc, src/tl/apcollect.hh, src/tl/contain.cc, src/tl/contain.hh, src/tl/declenv.cc, src/tl/declenv.hh, src/tl/defaultenv.cc, src/tl/defaultenv.hh, src/tl/dot.cc, src/tl/dot.hh, src/tl/environment.hh, src/tl/exclusive.cc, src/tl/exclusive.hh, src/tl/formula.cc, src/tl/formula.hh, src/tl/length.cc, src/tl/length.hh, src/tl/mark.cc, src/tl/mark.hh, src/tl/mutation.cc, src/tl/mutation.hh, src/tl/nenoform.cc, src/tl/nenoform.hh, src/tl/print.cc, src/tl/print.hh, src/tl/randomltl.cc, src/tl/randomltl.hh, src/tl/relabel.cc, src/tl/relabel.hh, src/tl/remove_x.cc, src/tl/remove_x.hh, src/tl/simpfg.cc, src/tl/simpfg.hh, src/tl/simplify.cc, src/tl/simplify.hh, src/tl/snf.cc, src/tl/snf.hh, src/tl/unabbrev.cc, src/tl/unabbrev.hh, src/twa/bdddict.cc, src/twa/bdddict.hh, src/twa/bddprint.cc, src/twa/formula2bdd.cc, src/twa/formula2bdd.hh, src/twa/taatgba.cc, src/twa/taatgba.hh, src/twa/twa.hh, src/twa/twagraph.cc, src/twa/twagraph.hh, src/twaalgos/compsusp.cc, src/twaalgos/compsusp.hh, src/twaalgos/ltl2taa.cc, src/twaalgos/ltl2taa.hh, src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/ltl2tgba_fm.hh, src/twaalgos/minimize.cc, src/twaalgos/minimize.hh, src/twaalgos/neverclaim.cc, src/twaalgos/postproc.cc, src/twaalgos/postproc.hh, src/twaalgos/powerset.cc, src/twaalgos/powerset.hh, src/twaalgos/randomgraph.cc, src/twaalgos/randomgraph.hh, src/twaalgos/relabel.cc, src/twaalgos/relabel.hh, src/twaalgos/remprop.cc, src/twaalgos/remprop.hh, src/twaalgos/stats.cc, src/twaalgos/stats.hh, src/twaalgos/stutter.cc, src/twaalgos/stutter.hh, src/twaalgos/translate.cc, src/twaalgos/translate.hh, wrap/python/spot_impl.i: Remove the ltl namespace.
-
Alexandre Duret-Lutz authored
The ltl prefix does not make a lot of sens anymore (since we support psl as well). ltlast/ and ltlenv/ were almost empty. And ltlvisit/ did not contain any visitor anymore. * src/ltlvisit/, src/ltlast/, src/ltlenv/: Merge into... * src/tl/: ...this. * NEWS: Mention the change. * README, bench/stutter/stutter_invariance_formulas.cc, bench/stutter/stutter_invariance_randomgraph.cc, configure.ac, doc/org/tut01.org, doc/org/tut02.org, doc/org/tut10.org, doc/tl/tl.tex, iface/ltsmin/ltsmin.hh, iface/ltsmin/modelcheck.cc, src/Makefile.am, src/bin/autfilt.cc, src/bin/common_output.cc, src/bin/common_output.hh, src/bin/common_r.hh, src/bin/common_trans.cc, src/bin/genltl.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc, src/bin/ltlcross.cc, src/bin/ltldo.cc, src/bin/ltlfilt.cc, src/bin/ltlgrind.cc, src/bin/randltl.cc, src/kripke/kripkeexplicit.hh, src/kripkeparse/public.hh, src/parseaut/public.hh, src/priv/accmap.hh, src/ta/taexplicit.hh, src/ta/tgtaexplicit.hh, src/tests/equalsf.cc, src/tests/ikwiad.cc, src/tests/length.cc, src/tests/ltlrel.cc, src/tests/randtgba.cc, src/tests/readltl.cc, src/tests/reduc.cc, src/tests/syntimpl.cc, src/tests/taatgba.cc, src/tests/tostring.cc, src/tests/twagraph.cc, src/twa/acc.hh, src/twa/bdddict.cc, src/twa/bdddict.hh, src/twa/bddprint.cc, src/twa/taatgba.cc, src/twa/taatgba.hh, src/twa/twa.hh, src/twa/twagraph.cc, src/twa/twagraph.hh, src/twa/twasafracomplement.cc, src/twaalgos/compsusp.cc, src/twaalgos/compsusp.hh, src/twaalgos/dtgbasat.cc, src/twaalgos/hoa.cc, src/twaalgos/isweakscc.cc, src/twaalgos/lbtt.cc, src/twaalgos/ltl2taa.cc, src/twaalgos/ltl2taa.hh, src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/ltl2tgba_fm.hh, src/twaalgos/minimize.hh, src/twaalgos/neverclaim.cc, src/twaalgos/randomgraph.hh, src/twaalgos/relabel.hh, src/twaalgos/remprop.hh, src/twaalgos/stats.cc, src/twaalgos/stutter.cc, src/twaalgos/translate.hh, wrap/python/spot_impl.i, src/ltlparse/ltlparse.yy, src/ltlparse/public.hh: Adjust.
-
Alexandre Duret-Lutz authored
Swig 3.0.2 (currently installed by Debian), install strongly typed enumerator in the main namespace instead of in its own namespace. This is fixed in latter versions of Swig. * wrap/python/spot.py: If spot.op does not exists, populated it with all operators from the spot namespace. * wrap/python/tests/ltlsimple.py: Use operators from spot.op.
-
Alexandre Duret-Lutz authored
False/True are problematic in Python, and I don't like that the enum is op::False but the constructor formula::ff(). So let's just use ff and tt everywhere, and also eword instead of EmptyWord. * src/ltlast/formula.hh (False, True, EmptyWord, AP, is_false, is_true): Rename to... (ff, tt, eword, ap, is_ff, is_tt): ... these. * iface/ltsmin/ltsmin.cc, src/ltlast/formula.cc, src/ltlvisit/apcollect.cc, src/ltlvisit/dot.cc, src/ltlvisit/mark.cc, src/ltlvisit/mutation.cc, src/ltlvisit/print.cc, src/ltlvisit/relabel.cc, src/ltlvisit/simpfg.cc, src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc, src/ltlvisit/unabbrev.cc, src/twa/acc.cc, src/twa/acc.hh, src/twa/formula2bdd.cc, src/twaalgos/gtec/gtec.cc, src/twaalgos/hoa.cc, src/twaalgos/ltl2taa.cc, src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/neverclaim.cc, src/twaalgos/product.cc, src/twaalgos/remfin.cc, src/twaalgos/safety.cc, src/tests/parseerr.test, src/tests/utf8.test, wrap/python/spot.py: Adjust.
-
Alexandre Duret-Lutz authored
* wrap/python/spot.py: Implement them. * wrap/python/tests/ltlsimple.py: New tests.
-