1. 03 Oct, 2015 12 commits
    • Alexandre Duret-Lutz's avatar
      python: implement formula.__format__ · 5bfd0267
      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.
      5bfd0267
    • Alexandre Duret-Lutz's avatar
      * NEWS: Summarize recent changes. · 20bb1719
      Alexandre Duret-Lutz authored
      20bb1719
    • Alexandre Duret-Lutz's avatar
      Work around weird Python 3.5 generator/iterator interaction · 6ff4fa97
      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.
      6ff4fa97
    • Alexandre Duret-Lutz's avatar
      python: do not crash when a function returns a null formula · 5f2d55ab
      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.
      5f2d55ab
    • Alexandre Duret-Lutz's avatar
      bdddict: remove dead code · 24ef5a0b
      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.
      24ef5a0b
    • Alexandre Duret-Lutz's avatar
      postproc: default to an empty formula · 2fa9c275
      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.
      2fa9c275
    • Alexandre Duret-Lutz's avatar
      tgba_complete: rename as complete and export in Python · 5e07e838
      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().
      5e07e838
    • Alexandre Duret-Lutz's avatar
      simpfg: remove this unused function · afe5b2a1
      Alexandre Duret-Lutz authored
      * src/tl/simpfg.cc, src/tl/simpfg.hh: Delete.
      * src/tl/Makefile.am: Adjust.
      afe5b2a1
    • Alexandre Duret-Lutz's avatar
      c8785a28
    • Alexandre Duret-Lutz's avatar
      Add noexcept to various constructors related to graphs. · 54935cb9
      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.
      54935cb9
    • Alexandre Duret-Lutz's avatar
      Enable -Wmissing-declarations in development mode. · 20365e53
      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.
      20365e53
    • Alexandre Duret-Lutz's avatar
  2. 01 Oct, 2015 5 commits
  3. 30 Sep, 2015 8 commits
  4. 29 Sep, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      doxygen: improve formula documentation · dcb9d7e8
      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.
      dcb9d7e8
    • Alexandre Duret-Lutz's avatar
      bddprint: do not store a global shared_ptr to the bdd_dict · ca95e4d1
      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.
      ca95e4d1
  5. 28 Sep, 2015 8 commits
    • Alexandre Duret-Lutz's avatar
      doc: more examples of the formula interface · c67540db
      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.
      c67540db
    • Alexandre Duret-Lutz's avatar
      kill the ltl namespace · cb392101
      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.
      cb392101
    • Alexandre Duret-Lutz's avatar
      merge ltlvisit/ ltlast/ ltlenv/ into a single tl/ directory · 6ded5e75
      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.
      6ded5e75
    • Alexandre Duret-Lutz's avatar
      python: work around old swig version · 3e10dba9
      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.
      3e10dba9
    • Alexandre Duret-Lutz's avatar
      formula: rename the constants for consistency · 8b4ec5de
      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.
      8b4ec5de
    • Alexandre Duret-Lutz's avatar
      python: implement the map and transform functions for formulas · fad05632
      Alexandre Duret-Lutz authored
      * wrap/python/spot.py: Implement them.
      * wrap/python/tests/ltlsimple.py: New tests.
      fad05632
    • Alexandre Duret-Lutz's avatar
      formula: replace nth() by operator[]() · 23693898
      Alexandre Duret-Lutz authored
      * src/ltlast/formula.hh (formula::nth): Replace by ...
      (formula::operator[]): ... this.
      * src/ltlvisit/mark.cc, src/ltlvisit/mutation.cc, src/ltlvisit/print.cc,
      src/ltlvisit/relabel.cc, src/ltlvisit/remove_x.cc,
      src/ltlvisit/simpfg.cc, src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc,
      src/ltlvisit/unabbrev.cc, src/twa/formula2bdd.cc,
      src/twaalgos/compsusp.cc, src/twaalgos/ltl2taa.cc,
      src/twaalgos/ltl2tgba_fm.cc, wrap/python/spot_impl.i: Adjust.
      23693898
    • Alexandre Duret-Lutz's avatar
      python: implement __getitem__ for formula · 53326800
      Alexandre Duret-Lutz authored
      * wrap/python/spot_impl.i: Implement it.
      * wrap/python/tests/ltlsimple.py: Test a for loop.
      * src/ltlast/formula.hh: Remove superfluous assert().
      53326800
  6. 27 Sep, 2015 4 commits
  7. 26 Sep, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      nullptr cleanup for -Wzero-as-null-pointer-constant · 1729a79a
      Alexandre Duret-Lutz authored
      Fixes #106.
      
      * m4/gccwarn.m4: Use -Wzero-as-null-pointer-constant if supported.
      * src/bin/autfilt.cc, src/bin/common_aoutput.cc,
      src/bin/common_finput.cc, src/bin/common_finput.hh,
      src/bin/common_output.cc, src/bin/common_output.hh,
      src/bin/common_post.cc, src/bin/common_r.hh, src/bin/common_range.hh,
      src/bin/common_setup.cc, src/bin/common_trans.cc, 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/bin/spot-x.cc, src/kripke/kripkeexplicit.cc, src/ltlast/formula.cc,
      src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh,
      src/ltlvisit/relabel.cc, src/ltlvisit/relabel.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/snf.hh, src/misc/fixpool.hh,
      src/misc/mspool.hh, src/misc/hash.hh, src/misc/optionmap.cc,
      src/misc/satsolver.cc, src/misc/tmpfile.cc, src/misc/tmpfile.hh,
      src/priv/bddalloc.cc, src/ta/ta.hh, src/ta/taexplicit.cc,
      src/ta/taexplicit.hh, src/ta/taproduct.cc, src/ta/tgtaexplicit.hh,
      src/ta/tgtaproduct.cc, src/taalgos/minimize.cc,
      src/taalgos/reachiter.cc, src/taalgos/tgba2ta.cc,
      src/tests/complementation.cc, src/tests/ikwiad.cc,
      src/tests/randtgba.cc, src/tests/reduc.cc, src/twa/bdddict.cc,
      src/twa/bddprint.cc, src/twa/taatgba.cc, src/twa/twa.cc,
      src/twa/twagraph.hh, src/twa/twaproduct.cc,
      src/twa/twasafracomplement.cc, src/twaalgos/bfssteps.cc,
      src/twaalgos/compsusp.cc, src/twaalgos/dtgbasat.cc,
      src/twaalgos/emptiness.cc, src/twaalgos/gtec/ce.cc,
      src/twaalgos/gv04.cc, src/twaalgos/ltl2taa.cc,
      src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/ltl2tgba_fm.hh,
      src/twaalgos/magic.cc, src/twaalgos/minimize.cc,
      src/twaalgos/ndfs_result.hxx, src/twaalgos/postproc.cc,
      src/twaalgos/postproc.hh, src/twaalgos/reachiter.cc,
      src/twaalgos/reducerun.cc, src/twaalgos/safety.hh,
      src/twaalgos/sccfilter.hh, src/twaalgos/se05.cc,
      src/twaalgos/simulation.cc, src/twaalgos/tau03.cc,
      src/twaalgos/tau03opt.cc, src/twaalgos/translate.cc,
      src/twaalgos/translate.hh, utf8/utf8/core.h,
      bench/stutter/stutter_invariance_formulas.cc, iface/ltsmin/ltsmin.cc,
      iface/ltsmin/modelcheck.cc: Use nullptr to fix the warning.
      1729a79a