1. 22 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      genaut: minor fixes and add test case · e4a5bf81
      Alexandre Duret-Lutz authored
      * 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.
      e4a5bf81
  2. 21 Apr, 2017 1 commit
    • Thomas Medioni's avatar
      Implements is_streett_like() and streett_like_pairs(), is_rabin_like... · b428ed31
      Thomas Medioni authored
      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.
      b428ed31
  3. 07 Apr, 2017 2 commits
    • Thomas Medioni's avatar
      autfilt: Add --dualize option · 0d884d4a
      Thomas Medioni authored
      * 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.
      0d884d4a
    • Thomas Medioni's avatar
      implement dualize to complement automatons · c9d8d41f
      Thomas Medioni authored
      * 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
      c9d8d41f
  4. 10 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      emptiness checks: replace assert-preconditions by exceptions · d6d987bd
      Alexandre Duret-Lutz authored
      * spot/twaalgos/couvreurnew.cc, spot/twaalgos/gv04.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/se05.cc, spot/twaalgos/tau03.cc,
      spot/twaalgos/tau03opt.cc: Throw if precondition on acceptance
      condition is not satisfied.
      * tests/python/misc-ec.py: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the change.
      d6d987bd
    • Alexandre Duret-Lutz's avatar
      emptiness checks: replace assert-preconditions by exceptions · 2e3fc0d4
      Alexandre Duret-Lutz authored
      * spot/twaalgos/couvreurnew.cc, spot/twaalgos/gv04.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/se05.cc, spot/twaalgos/tau03.cc,
      spot/twaalgos/tau03opt.cc: Throw if precondition on acceptance
      condition is not satisfied.
      * tests/python/misc-ec.py: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the change.
      2e3fc0d4
  5. 09 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add python bindings for declarative_environment · b81d7e58
      Alexandre Duret-Lutz authored
      * python/spot/impl.i: Here.
      * tests/python/declenv.py: New file.
      * tests/Makefile.am: Add it.
      b81d7e58
    • Thomas Medioni's avatar
      Implement sum(..) and sum_and(..). · 194c1992
      Thomas Medioni authored
      Fixes #231.
      
      * NEWS: Mention of implementation of sum, sum_and.
      * bin/autfilt.cc: Add --sum, --sum-or and --sum-and options.
      * python/spot/impl.i: Add bindings for sum, sum_and.
      * spot/twaalgos/Makefile.am: Add sum.cc, sum.hh.
      * spot/twaalgos/sum.cc: Implement sum, sum_and.
      * spot/twaalgos/sum.hh: Declaration of sum, sum_and.
      * tests/Makefile.am: Add sum tests.
      * tests/core/explsum.test: Test the sum of two automatons,
        false or false, unsatisfied mark propagation, handling of univ.
        transitions.
      * tests/python/sum.py: Check that two automatons that does not
        share their bdd dict are not accepted, then run tests over the
        sum of randomly generated LTL formulas.
      194c1992
  6. 08 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add bindings for bdd_to_formula() · d1d3ee38
      Alexandre Duret-Lutz authored
      Follow-up to an email from Ayrat Khalimov.
      
      * python/spot/impl.i: Include twa/formula2bdd.hh.
      * python/spot/__init__.py: Make the dictionnary
      optional.
      * spot/twa/formula2bdd.cc: Throw an exception instead of asserting.
      * tests/python/bdditer.py: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Update.
      d1d3ee38
    • Alexandre Duret-Lutz's avatar
      python: add bindings for bdd_to_formula() · 4e9303e3
      Alexandre Duret-Lutz authored
      Follow-up to an email from Ayrat Khalimov.
      
      * python/spot/impl.i: Include twa/formula2bdd.hh.
      * python/spot/__init__.py: Make the dictionnary
      optional.
      * spot/twa/formula2bdd.cc: Throw an exception instead of asserting.
      * tests/python/bdditer.py: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Update.
      4e9303e3
  7. 07 Mar, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      twa_graph: more test coverage · cd4c326f
      Alexandre Duret-Lutz authored
      The goal is to improve coverage stats, but I discovered two issues
      while doing so.
      
      * tests/python/twagraph.py: New test case.
      * tests/Makefile.am: Add it.
      * spot/twa/twagraph.hh: Add fix typos in error messages.
      * python/spot/impl.i: Fix broken wrappers for state_from_number and
      state_acc_sets.
      cd4c326f
    • Alexandre Duret-Lutz's avatar
      twa_graph: more test coverage · 2e763a08
      Alexandre Duret-Lutz authored
      The goal is to improve coverage stats, but I discovered two issues
      while doing so.
      
      * tests/python/twagraph.py: New test case.
      * tests/Makefile.am: Add it.
      * spot/twa/twagraph.hh: Add fix typos in error messages.
      * python/spot/impl.i: Fix broken wrappers for state_from_number and
      state_acc_sets.
      2e763a08
    • Alexandre Duret-Lutz's avatar
      tests: remove ltlprod · be4f1397
      Alexandre Duret-Lutz authored
      This very old test did not do anything useful today.
      
      * tests/core/ltlprod.cc, tests/core/ltlprod.test: Delete.
      * tests/Makefile.am: Adjust.
      be4f1397
  8. 21 Feb, 2017 1 commit
    • Clément Gillard's avatar
      Add a decompose_scc() function · 164135d3
      Clément Gillard authored
      See #172.
      While at it, fix typo in doxygen comment.
      
      * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh: New function.
      * tests/python/decompose_scc.py, tests/Makefile.am: Test python
      binding.
      
      * spot/twaalgos/mask.hh: Fix typo.
      164135d3
  9. 20 Feb, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      scc_info: add Python bindings · 289b2383
      Alexandre Duret-Lutz authored
      Related to #172, where we discussed that scc_info bindings were
      missing.
      
      * spot/twaalgos/sccinfo.hh (spot::scc_info::scc_node): Move...
      (spot::scc_info_node): ... here to help Swig.
      * python/spot/impl.i: Add bindings for scc_info.
      * tests/python/sccinfo.py: New file.
      * tests/Makefile.am: Add it.
      289b2383
  10. 23 Jan, 2017 1 commit
  11. 10 Jan, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlfilt: add --recurrence and --persistence · de8a248f
      Alexandre Duret-Lutz authored
      * spot/twaalgos/remfin.cc, spot/twaalgos/remfin.hh
      (rabin_to_buchi_maybe): Make this function public.
      * bin/ltlfilt.cc: Implement the two options.
      * tests/core/hierarchy.test: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the new options.
      de8a248f
  12. 29 Dec, 2016 3 commits
    • Alexandre Duret-Lutz's avatar
      support for semi-deterministic property · 4b013878
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh (prop_semi_deterministic): New methods.
      * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add support for the
      semi-deterministic property.
      * doc/org/concepts.org, doc/org/hoa.org: Document it.
      * spot/twaalgos/isdet.cc,
      spot/twaalgos/isdet.hh (is_semi_deterministic): New function.
      * bin/autfilt.cc: Add --is-semi-deterministic.
      * bin/common_aoutput.cc: Add --check=semi-deterministic.
      * tests/core/semidet.test: New file.
      * tests/Makefile.am: Add it.
      * tests/core/parseaut.test, tests/core/readsave.test: Adjust.
      4b013878
    • Alexandre Duret-Lutz's avatar
      ltlcross: add support for alternating automata · 87c9d6f0
      Alexandre Duret-Lutz authored
      * bin/ltlcross.cc: Add an alternation-removal pass, and
      adjust CSV output.
      * doc/org/ltlcross.org: Update.
      * tests/core/ltl3dra.test, tests/core/ltl3ba.test: Add more tests.
      * tests/Makefile.am: Add tests/core/ltl3ba.test.
      * NEWS: Mention it.
      87c9d6f0
    • Alexandre Duret-Lutz's avatar
      alternation: implement remove_alternation() for weak alt automata · fa06cfa3
      Alexandre Duret-Lutz authored
      This mixes the subset construction (for 1-state rejecting SCCs) and
      the breakpoint construction (for larger rejecting SCCs).  The
      algorithm should probably be rewritten in a cleaner and more efficient
      way, but that should do for a first version.  It should be easy to
      extend it to support Büchi acceptance (since the breakpoint
      construction works for this) when we need it.
      
      * spot/twaalgos/alternation.hh,
      spot/twaalgos/alternation.cc (remove_alternation): New function.
      * tests/python/alternation.ipynb: New file.
      * tests/Makefile.am, doc/org/tut.org: Add it.
      fa06cfa3
  13. 27 Dec, 2016 3 commits
    • Alexandre Duret-Lutz's avatar
      sccinfo: adjust to work with alternating automata · a4ce9994
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sccinfo.cc: Consider universal edges as if they were
      existential edges.
      * spot/twaalgos/sccinfo.hh: Document that.
      * spot/twaalgos/dot.cc: Allow option 's' again, for easy testing.
      * tests/core/alternating.test: Adjust tests.
      * tests/python/_altscc.ipynb: New file (more tests).
      * tests/Makefile.am: Add it.
      a4ce9994
    • Alexandre Duret-Lutz's avatar
      dot: add support for alternating automata · d5c9c345
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Handle universal destinations.
      Ignore option 's' for alternating automata.
      * tests/core/alternating.test: New file.
      * tests/Makefile.am: Add it.
      d5c9c345
    • Alexandre Duret-Lutz's avatar
      twa_graph: add basic support for alternation · 6aad559c
      Alexandre Duret-Lutz authored
      This only allows creating universal edges, and reading the associated
      destinations.
      
      * spot/twa/twagraph.hh (new_univ_edges, univ_dests, is_alternating): New
      function.
      * python/spot/impl.i: Add Python bindings.
      * tests/python/alternating.py: New file.
      * tests/Makefile.am: Add it.
      6aad559c
  14. 24 Nov, 2016 1 commit
  15. 23 Nov, 2016 1 commit
    • Maximilien Colange's avatar
      Add support to load GAL models. · c9aabcdd
      Maximilien Colange authored
      * spot/ltsmin/ltsmin.cc: Handle GAL models.
      * tests/Makefile.am: Test the new feature.
      * tests/ltsmin/check.test: Also check GAL.
      * tests/ltsmin/beem-peterson.4.gal: A new GAL model for tests.
      * tests/ltsmin/finite.gal: A new GAL model for tests.
      * tests/ltsmin/finite3.test: A new test for GAL.
      c9aabcdd
  16. 11 Nov, 2016 2 commits
  17. 09 Nov, 2016 1 commit
  18. 05 Nov, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      from_ltlf: new LTL transformation. · 2e69e045
      Alexandre Duret-Lutz authored
      Fixes #187.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: New files.
      * spot/tl/Makefile.am: Add them.
      * bin/ltlfilt.cc: Add a new option.
      * bin/man/ltlfilt.x: Add bibliographic reference.
      * tests/core/ltlfilt.test: Add more tests.
      * tests/python/ltlf.py: New file.
      * tests/Makefile.am: Add it.
      * python/spot/impl.i: Python bindings.
      * NEWS: Mention it.
      2e69e045
  19. 01 Nov, 2016 1 commit
  20. 15 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      bin: %a,%b,%s format specs for LTL output · 926ffbf9
      Alexandre Duret-Lutz authored
      * NEWS: Mention those.
      * bin/common_output.cc, bin/common_output.hh: Implement them.
      * bin/genltl.cc, bin/ltlfilt.cc, bin/ltlgrind.cc, bin/randltl.cc: Update
      --help.
      * tests/core/format.test: New file.
      * tests/Makefile.am: Add it.
      * doc/org/ioltl.org, doc/org/ltlfilt.org: Update documentation.
      926ffbf9
  21. 14 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      bin: diagnose more write errors · e97ea5fa
      Alexandre Duret-Lutz authored
      * tests/core/full.test: New file.
      * tests/Makefile.am: Add it.
      * bin/autfilt.cc, bin/common_aoutput.cc, bin/common_aoutput.hh,
      bin/common_file.cc, bin/common_file.hh, bin/genltl.cc, bin/ltlcross.cc,
      bin/ltlfilt.cc, bin/ltlgrind.cc, bin/randltl.cc: Add diagnostics.
      * NEWS: Mention the fix.
      e97ea5fa
  22. 04 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      implement conversion to GRA and GSA · 14bee1ae
      Alexandre Duret-Lutz authored
      Fixes #174.
      
      * spot/twaalgos/totgba.hh, spot/twaalgos/totgba.cc
      (to_generalized_streett, to_generalized_rabin): New functions.
      * spot/twa/acc.hh: Declare more methods as static.
      * bin/autfilt.cc: Implement --generalized-rabin and
      --generalized-streett options.
      * NEWS: Mention these.
      * tests/core/gragsa.test: New file.
      * tests/Makefile.am: Add it.
      14bee1ae
  23. 27 Jul, 2016 1 commit
  24. 19 Jul, 2016 1 commit
  25. 18 Jul, 2016 1 commit
  26. 22 Jun, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      option_map: Diagnose unused option on request · e419150c
      Alexandre Duret-Lutz authored
      * spot/misc/optionmap.hh, spot/misc/optionmap.cc (report_unused_options,
      set_, set_set_): New methods.
      * bin/autfilt.cc, bin/dstar2tgba.cc, bin/ltl2tgba.cc,
      bin/ltl2tgta.cc: Call report_unused_options().
      * tests/core/ltlcross2.test, tests/core/readsave.test: Fix typos in
      options.
      * tests/core/minusx.test: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention this.
      e419150c
  27. 17 Jun, 2016 2 commits
  28. 14 Jun, 2016 1 commit