1. 06 Jan, 2017 3 commits
    • Alexandre GBAGUIDI AISSE's avatar
      spot: Add 'langmap' option with dichotomy (it helps to choose min val) · 67e3a4f2
      Alexandre GBAGUIDI AISSE authored
      * python/spot/__init__.py: Handle 'dicho' option in 'sat_minimize'.
      * spot/priv/satcommon.cc: Implement get_number_of_distinct_vals.
      * spot/priv/satcommon.hh: Declare get_number_of_distinct_vals.
      * spot/twaalgos/dtbasat.cc: Use get_number_of_distinct_vals.
      * spot/twaalgos/dtbasat.hh: Change dichotomy function's prototype.
      * spot/twaalgos/dtwasat.cc: Use get_number_of_distinct_vals.
      * spot/twaalgos/dtwasat.hh: Change dichotomy function's prototype.
      Handle options.
      * spot/twaalgos/postproc.cc: Handle options.
      * spot/twaalgos/postproc.hh: Add dicho_langmap_ var for options.
      * tests/core/satmin2.test: Add tests for dichotomy.
      * tests/core/satmin.test: Add tests for dichotomy.
      * tests/python/satmin.py: Replace 'dichotomy' with 'dicho' option.
      67e3a4f2
    • Alexandre GBAGUIDI AISSE's avatar
      spot: Implement dt*a_sat_minimize_assume(...) methods · 9a204b77
      Alexandre GBAGUIDI AISSE authored
      * python/spot/__init__.py: Add 'assume' option.
      * spot/misc/satsolver.cc: Add function to handle assumptions.
      * spot/misc/satsolver.hh: Declare assumption function.
      * spot/twaalgos/dtbasat.cc: Implement dtba_sat_minimize_assume.
      * spot/twaalgos/dtbasat.hh: Declare it.
      * spot/twaalgos/dtwasat.cc: Implement dtwa_sat_minimize_assume and
      handle options.
      * spot/twaalgos/dtwasat.hh: Declare it.
      * spot/twaalgos/postproc.cc: Handle options.
      * spot/twaalgos/postproc.hh: Use param_ var for incr and assume.
      * tests/core/satmin.test: Add tests for the new function.
      * tests/core/satmin2.test: Add tests for the new function.
      * tests/python/satmin.py: Add tests for the new function.
      9a204b77
    • Alexandre GBAGUIDI AISSE's avatar
      twaalgos: Implement dt*a_sat_minimize_incr(...) functions · ee17c2de
      Alexandre GBAGUIDI AISSE authored
      * python/spot/__init__.py: Add 'incr' boolean argument.
      * spot/twaalgos/dtbasat.cc: Implement dtba_sat_minimize_incr(...).
      * spot/twaalgos/dtbasat.hh: Declare it.
      * spot/twaalgos/dtwasat.cc: Implement dtwa_sat_minimize_incr(...) and
      deal with options.
      * spot/twaalgos/dtwasat.hh: Declare it.
      * spot/twaalgos/postproc.cc: Add option --sat-minimize=incr.
      * spot/twaalgos/postproc.hh: Add incr parameter.
      * tests/core/satmin.test: Add tests for incremental version.
      Update expected result.
      * tests/core/satmin2.test: Add tests for incremental version.
      * tests/python/satmin.py: Add tests for incremental version.
      ee17c2de
  2. 15 Dec, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      spotcgi: correctly kill ltl3ba on timeout · 38fdb40e
      Alexandre Duret-Lutz authored
      * python/spot/__init__.py (automata): Do not create a session for
      every command, this is only needed if automata() is run with a timeout
      parameter.
      * python/ajax/spotcgi.in: Adjust exclude the main process from
      the process group, so that only children are killed on SIGALRM.
      * NEWS: Mention the bug.
      38fdb40e
    • Alexandre Duret-Lutz's avatar
      spotcgi: correctly kill ltl3ba on timeout · cd348275
      Alexandre Duret-Lutz authored
      * python/spot/__init__.py (automata): Do not create a session for
      every command, this is only needed if automata() is run with a timeout
      parameter.
      * python/ajax/spotcgi.in: Adjust exclude the main process from
      the process group, so that only children are killed on SIGALRM.
      * NEWS: Mention the bug.
      cd348275
  3. 25 May, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      add binding for language_containment_checker and document them · b4088271
      Alexandre Duret-Lutz authored
      * spot/tl/contain.cc, spot/tl/contain.hh: Simplify the
      use of language_containment_checker by adding default argument.
      * python/spot/__init__.py, python/spot/impl.i: Bind it in Python.
      * doc/org/tut04.org: New file to illustrate it.
      * doc/org/tut.org, doc/Makefile.am: Add it.
      * NEWS: Mention those changes.
      b4088271
  4. 01 May, 2016 1 commit
  5. 07 Mar, 2016 1 commit
    • Amaury Fauchille's avatar
      word: implement twa word parsing · 1fd76ee9
      Amaury Fauchille authored
      * spot/twaalgos/word.hh: add parse_word method and a new constructor
      * spot/twaalgos/word.cc: implement word parsing
      * python/spot/__init__.py: add parse_word method binding
      * tests/python/word.ipynb: add word parsing tests
      1fd76ee9
  6. 16 Feb, 2016 1 commit
  7. 12 Feb, 2016 1 commit
  8. 05 Feb, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      dot: add option C(COLOR) · 77b0b5b3
      Alexandre Duret-Lutz authored
      This fixes the output gliches visible in the previous patches,
      where highlighting a state would remove its fill color.
      
      * spot/twaalgos/dot.cc, spot/taalgos/dot.cc: Implement option C(COLOR).
      * bin/common_aoutput.cc, doc/org/oaut.org: Document it.
      * doc/org/.dir-locals.el.in, doc/org/init.el.in,
      python/spot/__init__.py: Use it.
      * tests/python/automata-io.ipynb, tests/python/automata.ipynb,
      tests/python/highlighting.ipynb: Test it.
      * tests/core/readsave.test: Adjust.
      * NEWS: Mention recent changes.
      77b0b5b3
    • Alexandre Duret-Lutz's avatar
      python: highlighting functions for edges and states · 23c2cbf4
      Alexandre Duret-Lutz authored
      * python/spot/impl.i (highlight_state, highlight_edge): New function.
      * python/spot/__init__.py (highlight_states, highlight_edges): New
      functions.
      * spot/twaalgos/dot.cc: Add a '#' option.
      * spot/taalgos/dot.cc: Ignore '#'.
      * tests/python/highlighting.ipynb: New file to illustrate everything.
      * tests/Makefile.am, doc/org/tut.org: Add it.
      23c2cbf4
  9. 29 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: add a <N option · b11c07b3
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Implement it.
      * spot/taalgos/dot.cc: Ignore it.
      * spot/twaalgos/copy.cc, spot/twaalgos/copy.hh: Add option
      to limit the number of states.
      * tests/python/ltsmin.ipynb: Improve test case.
      * tests/Makefile.am: Cleanup the files generated by ltsmin.ipynb.
      * python/spot/__init__.py (setup): Add a max_states argument
      that default to 50.
      * bin/common_aoutput.cc: Mention the <INT option.
      * NEWS: Likewise.
      b11c07b3
  10. 26 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add bindings for ltsmin · 5a9b0aa1
      Alexandre Duret-Lutz authored
      * python/spot/ltsmin.i: New file.
      * python/Makefile.am: Add it.
      * python/spot/impl.i: Add bindings for kripke and fair_kripke.
      * tests/python/ltsmin.ipynb: New file.
      * tests/Makefile.am, doc/org/tut.org: Add it.
      * tests/python/ipnbdoctest.py: Make it possible for notebook
      to exit(77).
      * debian/control: Make the Python package dependent
      on libspotltsmin0.
      * python/spot/__init__.py: Typo.
      5a9b0aa1
    • Alexandre Duret-Lutz's avatar
      Make spot.py a python package instead of a module · 215fcb79
      Alexandre Duret-Lutz authored
      * python/spot.py, python/spot_impl.i: Rename as...
      * python/spot/__init__.py, python/spot/impl.i: ... these.
      * python/Makefile.am, tests/run.in: Adjust for new paths.
      * tests/python/automata-io.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/piperead.ipynb,
      tests/python/testingaut.ipynb: Adjust messages to refer to spot.impl
      instead of spot_impl.
      215fcb79
  11. 23 Jan, 2016 1 commit
  12. 21 Jan, 2016 1 commit
  13. 25 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename wrap/python/ to python/ · 34c3c1ce
      Alexandre Duret-Lutz authored
      * wrap/python/: Rename to...
      * python/: ... this.
      * wrap/: Delete.
      * Makefile.am, README, configure.ac, debian/python3-spot.examples,
      debian/rules, doc/org/.dir-locals.el.in, doc/org/init.el.in,
      spot/sanity/ipynb.test: Adjust.
      34c3c1ce
  14. 17 Nov, 2015 1 commit
  15. 13 Nov, 2015 1 commit
  16. 05 Nov, 2015 1 commit
  17. 26 Oct, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      parse_aut: simplify the interface · dee73ee3
      Alexandre Duret-Lutz authored
      * src/parseaut/public.hh, src/parseaut/parseaut.yy,
      src/parseaut/fmterror.cc: Add a raise_errors options.  Remove the
      parse_strict() method.  Store parse errors and filename in the output
      parsed_aut to simplify usage.
      * doc/org/tut20.org, doc/org/tut21.org, doc/org/tut30.org,
      src/bin/autfilt.cc, src/bin/common_hoaread.cc, src/bin/dstar2tgba.cc,
      src/bin/ltlcross.cc, src/bin/ltldo.cc, src/tests/complementation.cc,
      src/tests/ikwiad.cc, src/tests/ltlcross3.test, src/tests/ltldo.test,
      wrap/python/spot.py, wrap/python/tests/parsetgba.py: Adjust usage.
      * NEWS: Mention the changes.
      dee73ee3
  18. 23 Oct, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      python: change postprocess to take an optional formula · 337925c9
      Alexandre Duret-Lutz authored
      Doing so also work around some differences between Swig 3.0.2 and 3.0.7
      observed on our build farm.
      
      * wrap/python/spot.py: Here.
      * wrap/python/spot_impl.i: Recognize None as a null formula
      on input.
      337925c9
    • Alexandre Duret-Lutz's avatar
      parseaut: Add a trust_hoa option. · 51a75a31
      Alexandre Duret-Lutz authored
      Fixes #114.
      
      * src/parseaut/public.hh: Add support for a trust_hoa option.
      * src/parseaut/parseaut.yy: If trust_hoa is set, recognize the
      "inherently-weak" and "stutter-invariant" properties.
      * src/bin/common_conv.cc, src/bin/common_conv.hh (read_automaton):
      Move...
      * src/bin/common_hoaread.cc, src/bin/common_hoaread.hh: ... in this
      new file, that also handle the --trust-hoa option.
      * src/bin/Makefile.am: Add them.
      * src/bin/autfilt.cc, src/bin/dstar2tgba.cc, src/bin/ltlcross.cc,
      src/bin/ltldo.cc: Use them.
      * src/tests/parseaut.test, src/tests/ltldo.test: Adjust, and test
      --trust-hoa=no.
      * src/tests/complement.test, src/tests/prodor.test,
      src/tests/sbacc.test: Adjust.
      * wrap/python/spot.py (automata): Add option trust_hoa.
      * NEWS: Update.
      51a75a31
    • Alexandre Duret-Lutz's avatar
      parseaut: change the interface to allow new options · 585e29e7
      Alexandre Duret-Lutz authored
      * src/parseaut/public.hh, src/parseaut/parseaut.yy: Make it easier to
      pass new options to the parser.
      * src/tests/ikwiad.cc, wrap/python/spot.py: Adjust.
      585e29e7
  19. 22 Oct, 2015 1 commit
  20. 21 Oct, 2015 3 commits
  21. 20 Oct, 2015 1 commit
  22. 19 Oct, 2015 1 commit
  23. 18 Oct, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      tl: rename ltl_simplifier to tl_simplifier · 176c9e2e
      Alexandre Duret-Lutz authored
      * doc/org/tut01.org, doc/tl/tl.tex, src/bin/common_r.hh,
      src/bin/ltlfilt.cc, src/tests/equalsf.cc, src/tests/ikwiad.cc,
      src/tests/randtgba.cc, src/tests/reduc.cc, src/tests/syntimpl.cc,
      src/tl/nenoform.cc, src/tl/randomltl.cc, src/tl/randomltl.hh,
      src/tl/simplify.cc, src/tl/simplify.hh, src/twaalgos/ltl2tgba_fm.cc,
      src/twaalgos/ltl2tgba_fm.hh, src/twaalgos/stutter.cc,
      src/twaalgos/translate.cc, src/twaalgos/translate.hh,
      wrap/python/ajax/spotcgi.in, wrap/python/spot.py,
      wrap/python/tests/interdep.py: Rename ltl_simplifier to tl_simplifier.
      * NEWS: Mention it.
      176c9e2e
    • Alexandre Duret-Lutz's avatar
      python: update the formulaiterator bindings · 9689c4cc
      Alexandre Duret-Lutz authored
      * wrap/python/spot.py: Add the unabbreviate() method, and
      remove unabbrivate_ltl() and get_literal().
      * wrap/python/tests/randltl.ipynb: Demonstrate unabbreviate().
      9689c4cc
  24. 08 Oct, 2015 1 commit
  25. 04 Oct, 2015 2 commits
  26. 03 Oct, 2015 2 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
      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
  27. 28 Sep, 2015 2 commits
    • 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