1. 20 Apr, 2015 1 commit
  2. 19 Apr, 2015 2 commits
  3. 17 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      stutter: new variant of Etessami's check · 9e959cdc
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/stutter.cc: Add a new variant of Etessami's check,
      closer to his original paper in IPL.
      * src/ltltest/stutter.test: Add more tests.
      * bench/stutter/user.sh: Include this new variant in the benchmark.
  4. 16 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: add option to number transitions · ecfd9b77
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dotty.cc: Add option 'o'.
      * src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc: Document it.
      * src/taalgos/dotty.cc: Ignore this option.
      * src/tgbatest/readsave.test: Test it.
  5. 15 Apr, 2015 1 commit
  6. 14 Apr, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      acc: more helper functions · c65bf731
      Alexandre Duret-Lutz authored
      * src/tgba/acc.hh: Make it possible to call acc_cond::mark_t({1,2,3}),
      and acc_code::fin({1,2,3}).
    • Alexandre Duret-Lutz's avatar
      python: fix non-determinism in the test suite. · 39b92a6d
      Alexandre Duret-Lutz authored
      Some tests calling spot.automaton('non-existing|') where failing either
      with a "process returned 127", or, under heavier load, with "failed to
      read from...".  The latter occur if we poll() the exit status before the
      children has had the tame to finish.
      * wrap/python/spot.py: Make sure we wait for the child process if we
      reach EOF, so that we can report the error status.
      * wrap/python/tests/automata-io.ipynb, wrap/python/tests/piperead.ipynb:
    • Alexandre Duret-Lutz's avatar
      python: avoid some locking errors with the history · ebdb5b7c
      Alexandre Duret-Lutz authored
      * wrap/python/tests/ipnbdoctest.py: Store all the history
      in memory.
  7. 13 Apr, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      more final keywords · 98e4d99b
      Alexandre Duret-Lutz authored
      For #42.
      * src/graph/graph.hh, src/ltlast/multop.hh, src/ltlenv/defaultenv.hh,
      src/misc/tmpfile.hh, src/tgba/taatgba.hh, src/tgba/tgbagraph.hh,
      src/tgba/tgbaproduct.hh, src/tgbaalgos/gtec/gtec.hh: Declare more
      classes as final.
    • Alexandre Duret-Lutz's avatar
      python: fix error handling while reading automata · ab7ee2c4
      Alexandre Duret-Lutz authored
      * wrap/python/tests/run.in: Make it easier to run python with gdb.
      * wrap/python/tests/automata-io.ipynb: Add test case.
      * wrap/python/spot.py (spot.automata): Make sure p is defined in all
      * src/hoaparse/hoascan.ll: Make sure we do not close a file that
      hasn't been opened.
  8. 03 Apr, 2015 2 commits
  9. 02 Apr, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      new transformation from Fin-less to TGBA · e589e208
      Alexandre Duret-Lutz authored
      Fixes #72.
      * src/tgbaalgos/totgba.cc, src/tgbaalgos/totgba.hh: New files.
      * src/tgbaalgos/Makefile.am: Add them.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add
      a Generic output type, and call to_generalized_buchi() if
      this type is not selected.
      * src/tgbatest/remfin.test: Add some tests.
      * src/bin/autfilt.cc: Add a --generic option, and set it
      by default.
    • Alexandre Duret-Lutz's avatar
      python: better bindings for testing automata · 16204e8e
      Alexandre Duret-Lutz authored
      * src/taalgos/dotty.cc, src/taalgos/dotty.hh: Add an interface
      similar to that of tgba/dotty.hh, even if we have to ignore
      most options.
      * src/taalgos/tgba2ta.cc, src/taalgos/tgba2ta.hh: Add an option
      to display the intermediate automaton with explicit stuttering
      transitions, for the purpose of making demonstrations.
      * src/tgba/tgbagraph.hh: Tweak the file so that SWIG can
      read it.
      * wrap/python/spot.py: Add wrappers for testing automata.
      * wrap/python/spot_impl.i: Fix support for
      atomic_prop_collect_as_bdd, and include a few more files.
      * wrap/python/tests/testingaut.ipynb: New file.
      * wrap/python/tests/Makefile.am: Add it.
  10. 01 Apr, 2015 4 commits
    • Alexandre Duret-Lutz's avatar
      degen: add a lowinit option · 7bb183b9
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh: New argument
      to disable the "jump to the accepting level if the entering
      state as an accepting self-loop" optimization.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Check
      the degen-lowinit option and pass it on to degeneralize().
      * src/bin/spot-x.cc: Document it.
      * src/tgbatest/degenlskip.test: Add some tests.
      * src/tgbatest/ltl2ta.test: Update value.  We output less
      accepting states now.
    • Alexandre Duret-Lutz's avatar
      degen: do not mark initial trivial SCCs as accepting · 6e8170e3
      Alexandre Duret-Lutz authored
      Doing so is not wrong, but it's superfluous, and the extra accepting
      state will cause additional work in emptiness checks based on NDFS.
      Report from Jan Strejček.
      * src/tgbaalgos/degen.cc: Here.
      * src/tgbatest/degenid.test: Add a test case.
    • Alexandre Duret-Lutz's avatar
      python: LRU cache for the dot->svg conversion · 54a8ce50
      Alexandre Duret-Lutz authored
      * wrap/python/spot.py: Here.
    • Alexandre Duret-Lutz's avatar
      python 2 is no longer supported · 31b3862f
      Alexandre Duret-Lutz authored
      * m4/pypath.m4: Check for Python 3.2+.
      * README, NEWS, HACKING: Reflect this change.
  11. 31 Mar, 2015 4 commits
  12. 30 Mar, 2015 4 commits
  13. 27 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      python: add a spot.automata(filename) interface, yielding automata · 25de479e
      Alexandre Duret-Lutz authored
      * 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.
  14. 26 Mar, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      org: uses nice dot arrows · 8e6b35e5
      Alexandre Duret-Lutz authored
      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.
    • Alexandre Duret-Lutz's avatar
      debian: disable -flto for binaries · 30b87886
      Alexandre Duret-Lutz authored
      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.
  15. 25 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      Make --keep-states more useful by actually removing states. · 483212d2
      Alexandre Duret-Lutz authored
      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.
    • Alexandre Duret-Lutz's avatar
      complete: Fix completion of automata using Fin-acceptance · 23bcbb5b
      Alexandre Duret-Lutz authored
      * 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.
    • Alexandre Duret-Lutz's avatar
      cleanacc: better cleanup · 7353e47f
      Alexandre Duret-Lutz authored
      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.
  16. 24 Mar, 2015 5 commits
  17. 23 Mar, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      dot: better support of state-based acceptance · ead2ca01
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dotty.cc: Here.
      * src/tgbaalgos/sbacc.cc: Make the produced automata as state-based.
      * src/tgbatest/readsave.test: Add a test.
    • Alexandre Duret-Lutz's avatar
      autfilt: add a --exclusive-ap option · fb7b7a94
      Alexandre Duret-Lutz authored
      * 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.