1. 29 Sep, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      twa_graph: do not order BDDs by IDs in merge_edges() · cdfe78f1
      Alexandre Duret-Lutz authored
      Fixes #282.
      
      * spot/misc/bddlt.hh (bdd_less_than_stable): New function.
      * spot/twa/twagraph.cc (merge_edges): Use it.
      * tests/core/complement.test, tests/core/degenid.test,
      tests/core/ltldo.test, tests/core/prodor.test,
      tests/core/readsave.test, tests/core/sbacc.test,
      tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/dualize.py,
      tests/python/highlighting.ipynb, tests/python/piperead.ipynb,
      tests/python/product.ipynb, tests/python/simstate.py,
      tests/python/tra2tba.py: Adjust all expected outputs.
      * NEWS: Mention the bug.
      cdfe78f1
  2. 17 Aug, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: display acceptance names · 1cc45b24
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Display common acceptance names.
      * NEWS: Mention the change.
      * doc/org/oaut.org: Adjust text.
      * tests/core/alternating.test, tests/core/readsave.test,
      tests/python/_altscc.ipynb, tests/python/alternation.ipynb,
      tests/python/atva16-fig2a.ipynb, tests/python/atva16-fig2b.ipynb,
      tests/python/automata.ipynb, tests/python/decompose.ipynb,
      tests/python/gen.ipynb, tests/python/highlighting.ipynb,
      tests/python/product.ipynb, tests/python/randaut.ipynb: Adjust test
      cases.
      1cc45b24
  3. 03 Aug, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: extend the palette from 9 to 16 colors · e041db61
      Alexandre Duret-Lutz authored
      Let's close #212 even if this does not cover the 32 sets.
      
      * spot/twaalgos/dot.cc: Change the palette.
      * doc/org/autfilt.org, NEWS: Adjust documentation.
      * tests/core/alternating.test, tests/core/readsave.test,
      tests/core/tgbagraph.test, tests/python/_altscc.ipynb,
      tests/python/alternation.ipynb, tests/python/atva16-fig2a.ipynb,
      tests/python/automata-io.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/gen.ipynb,
      tests/python/highlighting.ipynb, tests/python/ltsmin-dve.ipynb,
      tests/python/piperead.ipynb, tests/python/product.ipynb,
      tests/python/randaut.ipynb, tests/python/word.ipynb: Adjust
      test cases.
      e041db61
  4. 25 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: make &= and |= symmetrical · abe2c08b
      Alexandre Duret-Lutz authored
      Operator &= used to always move Fin to the front, it does not anymore.
      The only thing it does now is to merge Inf(x)&Inf(y) as Inf({x,y}).
      Operator |= is now symmetrical and merges Fin()s.
      
      Fixes #253.
      
      * spot/twa/acc.cc, spot/twa/acc.hh: Simplify &= and make |= symmetrical.
      * spot/twaalgos/cleanacc.cc: Fix conjunction order.
      * tests/core/acc.test, tests/core/acc2.test, tests/core/parseaut.test,
      tests/core/readsave.test, tests/core/satmin2.test,
      tests/core/sccdot.test, tests/python/acc_cond.ipynb,
      tests/python/accparse.ipynb, tests/python/automata.ipynb,
      tests/python/product.ipynb, tests/python/randaut.ipynb: Adjust test
      cases.
      abe2c08b
  5. 03 Jun, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      simulation: do not depend on bdd numbers for ordering classes · ae0e84ac
      Alexandre Duret-Lutz authored
      Fixes #262 again.  Reported by Maximilien Colange.
      
      * spot/twaalgos/simulation.cc: Use state numbers to order classes, not
      their signatures.  The problem was that even if two simulation of the
      same automaton assign the same signature, the BDD identifier used for
      that signature might be different, and therefore the ordering obtained
      by using BDDs as keys in a map can be different.  A side-effect of
      this change is that the order of states in automata produced by
      simulation-based reduction may change; many tests had to be updated.
      * tests/core/ltl2tgba.test: Add a new test case based on Maximilien's
      report.
      * tests/core/complement.test, tests/core/det.test,
      tests/core/parseaut.test, tests/core/prodor.test,
      tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/highlighting.ipynb,
      tests/python/piperead.ipynb, tests/python/testingaut.ipynb,
      tests/python/word.ipynb: Update test cases for new order of states.
      ae0e84ac
  6. 02 Jun, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      simulation: do not depend on bdd numbers for ordering classes · 9ab4b840
      Alexandre Duret-Lutz authored
      Fixes #262 again.  Reported by Maximilien Colange.
      
      * spot/twaalgos/simulation.cc: Use state numbers to order classes, not
      their signatures.  The problem was that even if two simulation of the
      same automaton assign the same signature, the BDD identifier used for
      that signature might be different, and therefore the ordering obtained
      by using BDDs as keys in a map can be different.  A side-effect of
      this change is that the order of states in automata produced by
      simulation-based reduction may change; many tests had to be updated.
      * tests/core/ltl2tgba.test: Add a new test case based on Maximilien's
      report.
      * tests/core/complement.test, tests/core/det.test,
      tests/core/parseaut.test, tests/core/prodor.test, tests/core/scc.test,
      tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/decompose_scc.py,
      tests/python/highlighting.ipynb, tests/python/piperead.ipynb,
      tests/python/sccinfo.py, tests/python/simstate.py,
      tests/python/testingaut.ipynb, tests/python/word.ipynb: Update
      test case for new order of states.
      9ab4b840
  7. 01 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      minimize_dfa: use the twa_graph interface · 172bee49
      Alexandre Duret-Lutz authored
      Fixes #233, although more cleanup would be welcome.
      
      * spot/twaalgos/minimize.cc: Replace the uses of twa methods by
      twa_graph methods, and simplify some data structures.
      * tests/core/acc_word.test, tests/core/readsave.test,
      tests/python/automata.ipynb: Adjust changed output due
      to different data structures.
      172bee49
  8. 31 Jul, 2016 1 commit
  9. 29 Jul, 2016 1 commit
  10. 22 Apr, 2016 2 commits
  11. 05 Feb, 2016 1 commit
    • 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
  12. 26 Jan, 2016 1 commit
    • 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
  13. 04 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      Merge the core and python tests in the tests/ directory · 5cb94a1a
      Alexandre Duret-Lutz authored
      * tests/: Rename as...
      * tests/core/: ... this.
      * python/tests/: Rename as...
      * tests/python/: ... this.
      * python/tests/run.in: Move as...
      * tests/run.in: This, and adjust.
      * tests/Makefile.am: Adjust to run both core and python tests.
      * configure.ac, README, debian/python3-spot.examples, debian/rules,
      doc/org/tut.org, python/Makefile.am, spot/ltsmin/Makefile.am,
      spot/ltsmin/kripke.test, spot/sanity/ipynb.test: Adjust.
      5cb94a1a
  14. 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
  15. 14 Nov, 2015 2 commits
  16. 19 Oct, 2015 1 commit
  17. 14 Oct, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      scc_filter_states: also remove useless acceptance marks · cd2e5275
      Alexandre Duret-Lutz authored
      * src/twaalgos/sccfilter.hh,
      src/twaalgos/sccfilter.cc (scc_filter_states): Remove useless acceptance
      marks while preserving state-based acceptance.  Add a new argument
      to specify if all useless mark have to be removed, like for scc_filter.
      * src/twaalgos/simulation.cc: Use the new parameter.
      * src/twaalgos/postproc.cc: Likewise.  Also call do_scc_filter even
      after WDBA simplification to cleanup trivial SCCs.  Preserve state-based
      acceptance for weak automata.
      * src/tests/readsave.test: Add one test.
      * src/tests/dstar.test, src/tests/prodor.test, src/tests/remfin.test,
      src/tests/sim3.test, wrap/python/tests/automata.ipynb,
      wrap/python/tests/piperead.ipynb: Adjust expected output.
      * NEWS: Mention the change.
      cd2e5275
  18. 03 Oct, 2015 1 commit
    • 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
  19. 09 Jul, 2015 1 commit
  20. 15 May, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      python: rewrite translate() to deal with unambiguous and sbacc · 19a27392
      Alexandre Duret-Lutz authored
      and make it easier to extend and use.
      
      * src/twaalgos/postproc.hh, src/twaalgos/translate.cc,
      src/twaalgos/translate.hh: Incorporate the Unambiguous option
      with the other preferences.  It's cleaner this way, and the
      previous setup did not work well with Python.
      * src/bin/ltl2tgba.cc: Adjust to this change.
      * wrap/python/spot.py (translate): Rewrite.
      * wrap/python/tests/automata.ipynb: Adjust existing cases, and
      add more as well as some comments.
      19a27392
  21. 28 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: --dot=B to use bullets for all automata but Büchi and co-Büchi · 8aa88c29
      Alexandre Duret-Lutz authored
      * src/twaalgos/dotty.cc: Add option 'B'.
      * src/taalgos/dotty.cc: Ignore it.
      * src/bin/common_aoutput.cc, src/bin/dstar2tgba.cc: Document it.
      * wrap/python/spot.py (setup): Use it by default, and rewrite
      the function to be a bit more flexible.
      * wrap/python/tests/automata-io.ipynb, wrap/python/tests/automata.ipynb,
      wrap/python/tests/piperead.ipynb, wrap/python/tests/randaut.ipynb,
      wrap/python/tests/testingaut.ipynb: Use setup() everywhere.
      8aa88c29
  22. 22 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename tgba_digraph as twa_graph · e0bd0ad4
      Alexandre Duret-Lutz authored
      Automatic mass renaming.
      
      * src/bin/autfilt.cc, src/bin/common_aoutput.cc,
      src/bin/common_aoutput.hh, src/bin/common_conv.cc,
      src/bin/common_conv.hh, src/bin/common_output.hh, src/bin/dstar2tgba.cc,
      src/bin/ltlcross.cc, src/bin/ltldo.cc, src/bin/randaut.cc,
      src/dstarparse/dra2ba.cc, src/dstarparse/dstar2tgba.cc,
      src/dstarparse/dstarparse.yy, src/dstarparse/nra2nba.cc,
      src/dstarparse/nsa2tgba.cc, src/dstarparse/public.hh,
      src/graphtest/tgbagraph.cc, src/hoaparse/hoaparse.yy,
      src/hoaparse/public.hh, src/ltlvisit/contain.hh,
      src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh,
      src/priv/accmap.hh, src/taalgos/minimize.cc, src/tgba/fwd.hh,
      src/tgba/tgba.cc, src/tgba/tgbagraph.cc, src/tgba/tgbagraph.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/are_isomorphic.hh,
      src/tgbaalgos/canonicalize.cc, src/tgbaalgos/canonicalize.hh,
      src/tgbaalgos/cleanacc.cc, src/tgbaalgos/cleanacc.hh,
      src/tgbaalgos/complete.cc, src/tgbaalgos/complete.hh,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/compsusp.hh,
      src/tgbaalgos/cycles.hh, src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.cc,
      src/tgbaalgos/dtgbacomp.hh, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/dtgbasat.hh, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/hoa.cc,
      src/tgbaalgos/isdet.cc, src/tgbaalgos/isdet.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh,
      src/tgbaalgos/mask.cc, src/tgbaalgos/mask.hh, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh,
      src/tgbaalgos/product.cc, src/tgbaalgos/product.hh,
      src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh,
      src/tgbaalgos/randomize.cc, src/tgbaalgos/randomize.hh,
      src/tgbaalgos/relabel.cc, src/tgbaalgos/relabel.hh,
      src/tgbaalgos/remfin.cc, src/tgbaalgos/remfin.hh,
      src/tgbaalgos/remprop.cc, src/tgbaalgos/remprop.hh,
      src/tgbaalgos/safety.cc, src/tgbaalgos/safety.hh,
      src/tgbaalgos/sbacc.cc, src/tgbaalgos/sbacc.hh,
      src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccfilter.hh,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/simulation.hh,
      src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh,
      src/tgbaalgos/stripacc.cc, src/tgbaalgos/stripacc.hh,
      src/tgbaalgos/stutter.cc, src/tgbaalgos/stutter.hh,
      src/tgbaalgos/totgba.cc, src/tgbaalgos/totgba.hh,
      src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh,
      src/tgbatest/checkpsl.cc, src/tgbatest/complementation.cc,
      src/tgbatest/emptchk.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/randtgba.cc, wrap/python/spot_impl.i,
      wrap/python/tests/automata-io.ipynb, wrap/python/tests/automata.ipynb,
      wrap/python/tests/piperead.ipynb, wrap/python/tests/testingaut.ipynb:
      Rename tgba_digraph as twa_graph.
      e0bd0ad4
  23. 21 Apr, 2015 1 commit
  24. 20 Apr, 2015 2 commits
  25. 26 Mar, 2015 1 commit
    • 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.
      8e6b35e5
  26. 24 Mar, 2015 1 commit
  27. 20 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Do not store getenv() pointers in static variables. · 125fa983
      Alexandre Duret-Lutz authored
      ... or the pointer might be invalidated if the environments
      changes.  Fixes #63.
      
      * src/taalgos/dotty.cc, src/tgbaalgos/dotty.cc,
      src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc:
      Copy the environment in strings instead.
      * wrap/python/tests/automata.ipynb: Adjust comment.
      125fa983
  28. 18 Mar, 2015 1 commit
  29. 17 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      dotty: colored acceptance sets · 838bfb2a
      Alexandre Duret-Lutz authored
      This implement several new options for --dot in order to
      allow emptiness sets to be output as colored ⓿ or ❶...
      Also add a SPOT_DOTDEFAULT environment variable.
      
      * NEWS, src/bin/man/spot-x.x, src/bin/common_aoutput.cc,
      src/bin/dstar2tgba.cc: Document the new options.
      * doc/org/.dir-locals.el, doc/org/init.el.in: Setup
      SPOT_DOTEXTRA and SPOT_DOTDEFAULT for all documents.
      * doc/org/autfilt.org, doc/org/dstar2tgba.org, doc/org/ltl2tgba.org,
      doc/org/ltldo.org, doc/org/oaut.org, doc/org/randaut.org,
      doc/org/satmin.org: Adjust to this new setup.
      * src/misc/escape.cc, src/misc/escape.hh (escape_html): New function.
      * src/tgba/acc.cc, src/tgba/acc.hh (to_text, to_html): New method.
      * src/tgbaalgos/dotty.cc: Implement the new options.
      * src/tgbatest/readsave.test, wrap/python/tests/automata.ipynb: More
      tests.
      * wrap/python/spot.py: Make sure the default argument for
      dotty_reachable is None, so that SPOT_DOTDEFAULT is honored.
      838bfb2a
  30. 16 Mar, 2015 1 commit
  31. 15 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      python: some bindings for translating formulas and diplaying automata · 3c38780d
      Alexandre Duret-Lutz authored
      * wrap/python/spot.py: Introduce spot.translate (and
      spot.formula.translate) as well, as a wrapper around the
      spot.translator class.  Also implement spot.tgba.show()
      to allow passing argument to dotty_reachable() before
      the result is converted to SVG.
      * wrap/python/tests/automata.ipynb: New test file.
      * wrap/python/tests/Makefile.am: Add it.
      3c38780d