1. 31 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: fix I/O of determinism · d3607a7c
      Alexandre Duret-Lutz authored
      Fixes #212.
      
      * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Recognize
      exist-branch, and adjust printer to the 1.1 semantics.
      * tests/core/alternating.test, tests/core/complete.test,
      tests/core/det.test, tests/core/explsum.test,
      tests/core/parseaut.test, tests/core/readsave.test,
      tests/core/sbacc.test, tests/core/tgbagraph.test,
      tests/python/alternating.py, tests/python/dualize.py: Adjust test
      cases.
      * NEWS: Mention the change.
      d3607a7c
  2. 27 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      parseaut: make the scanner reentrant · b9fff6a4
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy, spot/parseaut/parsedecl.hh,
      spot/parseaut/public.hh, spot/parseaut/scanaut.ll: Use a reentrant
      scanner, so that we can now parse multiple automaton streams at the
      same time.  This is needed for the future autcross, which is going to
      read several individual automata produced by different tools, while
      reading the stream of automata to process.
      b9fff6a4
  3. 25 Jul, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      parseaut: use prop_universal() instead of prop_deterministic() · ff4f4ee4
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy: Here.
      ff4f4ee4
    • 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
    • Alexandre Duret-Lutz's avatar
      deprecate copy() in favor of make_twa_graph() · 8e685e00
      Alexandre Duret-Lutz authored
      Fixes #258.
      
      * spot/twaalgos/copy.cc: Delete, and move the code...
      * spot/twa/twagraph.cc: ... in some anonymous namespace here.
      * spot/twa/twagraph.hh: Adjust the make_twa_graph() overload.
      * spot/twaalgos/copy.hh, NEWS: Mark copy() as deprecated and redirect
      to make_twa_graph().
      * doc/org/upgrade2.org, doc/org/tut51.org, python/spot/impl.i,
      spot/twaalgos/dot.cc, spot/twaalgos/langmap.cc, tests/core/ikwiad.cc:
      Adjust callers.
      * spot/twaalgos/Makefile.am: Remove copy.cc.
      8e685e00
  4. 24 Jul, 2017 3 commits
  5. 20 Jul, 2017 1 commit
  6. 19 Jul, 2017 1 commit
    • Thomas Medioni's avatar
      Implement to_weak_alternating() which weakifies tgbas · c8889e65
      Thomas Medioni authored
      * NEWS: mention the modification.
      * python/spot/impl.i: makes to_weak_alternating visible from python
      * spot/twaalgos/Makefile.am, spot/twaalgos/toweak.cc,
        spot/twaalgos/toweak.hh: Implements to_weak_alternating.
      * tests/Makefile.am, tests/python/toweak.py: Test the results of
        to_weak_alternating.
      c8889e65
  7. 17 Jul, 2017 7 commits
  8. 01 Jul, 2017 1 commit
  9. 30 Jun, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      decompose: merge decompose_strength() and decompose_scc() · 09e47d64
      Alexandre Duret-Lutz authored
      These two functions were doing almost identical work, the only
      difference was the way to select the SCC to keep.  Now we have a more
      uniform way to do that.  Closes #172.
      
      * bin/autfilt.cc: Offer a unique --decompose-scc option, but keep
      --decompose-strength as an alias for backward compatibility.
      * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh: Rename
      decompose_strength as decompose_scc, and handle a way to list
      all SCC numers in the string specifier.  This gets rid
      of the nearly identical
      * tests/core/scc.test, tests/core/strength.test,
      tests/python/decompose.ipynb, tests/python/decompose_scc.py: Adjust
      test cases.
      * NEWS: Adjust.
      09e47d64
    • Alexandre Duret-Lutz's avatar
      twa: typo in error message · 772404c1
      Alexandre Duret-Lutz authored
      * spot/twa/twa.cc (twa::accepting_run): Here.
      772404c1
  10. 21 Jun, 2017 2 commits
  11. 20 Jun, 2017 4 commits
  12. 19 Jun, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      stats: fix slow %s and inappropriate %S output · 413d2d6a
      Alexandre Duret-Lutz authored
      Fixes #269.
      
      * spot/twaalgos/stats.cc: Use twa_statistics instead of
      twa_sub_statistics when %t is not used.
      * bin/common_aoutput.cc: Likewise, also fix %S to use twa_statistics
      instead of num_states(), and document that %s,%t,%e all return
      statistics about the reachable part of the automaton.
      * tests/core/format.test: Add more tests.
      * NEWS: Document the issue.
      413d2d6a
    • Alexandre Duret-Lutz's avatar
      stats: fix slow %s and inappropriate %S output · 20a4959f
      Alexandre Duret-Lutz authored
      Fixes #269.
      
      * spot/twaalgos/stats.cc: Use twa_statistics instead of
      twa_sub_statistics when %t is not used.
      * bin/common_aoutput.cc: Likewise, also fix %S to use twa_statistics
      instead of num_states(), and document that %s,%t,%e all return
      statistics about the reachable part of the automaton.
      * tests/core/format.test: Add more tests.
      * NEWS: Document the issue.
      20a4959f
  13. 11 Jun, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      libtool: surrender to Debian's castrated libtool · 97e903b1
      Alexandre Duret-Lutz authored
      The libtool version distributed by Debian is patched to *not* propagate
      dependencies (i.e., if libA depends on libB, then linking against libA
      will not automatically link against libB, it has to be explicit),
      contrary to what the Libtool manual document.  So now we explicitly
      link against both libA and libB in such case.
      
      * configure.ac: Remove the workaround that does not work for
      MinGW.
      * doc/org/compile.org: Mention the issue.
      * bin/Makefile.am, tests/Makefile.am, spot/ltsmin/Makefile.am,
      doc/org/g++wrap.in: Make the dependencies explicit.
      97e903b1
  14. 08 Jun, 2017 4 commits
    • Thomas Medioni's avatar
      streett_to_generalized_buchi() now works on Streett-like · 7b5b8f34
      Thomas Medioni authored
      * NEWS: Mention the modification.
      * spot/twaalgos/remfin.cc: Adapt to avoid infinite recursion.
      * spot/twaalgos/totgba.cc: Work on Streett-like.
      * tests/Makefile.am, tests/python/streett_totgba.py: Tests the
        modification.
      * tests/core/remfin.test: Fix one test case that is now handled by
        the modification.
      7b5b8f34
    • Thomas Medioni's avatar
      introduce spot::simplify_acceptance() · a12d676b
      Thomas Medioni authored
      Simplify some automata where some marks are identical,
      or complementary to another. Fixes #216.
      
      * NEWS: mention the new function.
      * spot/twaalgos/cleanacc.cc, spot/twaalgos/cleanacc.hh: Implement
        the function.
      * tests/Makefile.am, tests/python/merge.py: Test this implementation.
      a12d676b
    • Alexandre Duret-Lutz's avatar
      cleanacc: add an option to not strip sets · d795955a
      Alexandre Duret-Lutz authored
      also consider sets that appear everywhere
      
      * spot/twaalgos/cleanacc.cc, spot/twaalgos/cleanacc.hh: Here.
      d795955a
    • Alexandre Duret-Lutz's avatar
      Remove marks from acceptance condition without stripping · 24b5a350
      Alexandre Duret-Lutz authored
      Author: Alexandre Duret-Lutz.
      
      * NEWS: mention the modification.
      * spot/twa/acc.cc, spot/twa/acc.hh: Implement the removal.
      * spot/twa/twa.hh: Allow directly setting a new acceptance condition.
      24b5a350
  15. 07 Jun, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      libtool: surrender to Debian's castrated libtool · 1042a8da
      Alexandre Duret-Lutz authored
      The libtool version distributed by Debian is patched to *not* propagate
      dependencies (i.e., if libA depends on libB, then linking against libA
      will not automatically link against libB, it has to be explicit),
      contrary to what the Libtool manual document.  So now we explicitly
      link against both libA and libB in such case.
      
      * configure.ac: Remove the workaround that does not work for
      MinGW.
      * doc/org/compile.org: Mention the issue.
      * bin/Makefile.am, tests/Makefile.am, spot/ltsmin/Makefile.am,
      spot/gen/Makefile.am, doc/org/g++wrap.in: Make the dependencies
      explicit.
      1042a8da
    • Henrich Lauko's avatar
      remfin: Make removing of fins more modular. · 784681d8
      Henrich Lauko authored
      * spot/twaalgos/remfin.cc: Refactore remove_fin implementation. Enable
      filtering of strategies used for fin removing.
      * spot/priv/enumflags.hh: Add support for enum flags from brick-types.
      * spot/priv/Makefile.am: Add enumflags.hh to make.
      * debian/copyright: Update copyright with bricks library license.
      784681d8
  16. 05 Jun, 2017 1 commit
  17. 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
  18. 02 Jun, 2017 2 commits
    • 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
    • Alexandre Duret-Lutz's avatar
      dot: fix printing of alternating automata · 7b6cfd44
      Alexandre Duret-Lutz authored
      Related to #208.
      
      * spot/twaalgos/dot.cc: Fix missing definitions of universal nodes,
      and inclusion of universal nodes inside of SCC when none of the
      destination comes back to the SCC.
      * tests/python/_altscc.ipynb: Adjust and add more test cases.
      * tests/core/alternating.test, tests/core/neverclaimread.test,
      tests/core/readsave.test, tests/core/sccdot.test,
      tests/python/decompose.ipynb: Adjust test cases.
      * NEWS: Mention the bug.
      7b6cfd44
  19. 31 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: fix printing of alternating automata · 97f3efab
      Alexandre Duret-Lutz authored
      Related to #208.
      
      * spot/twaalgos/dot.cc: Fix missing definitions of universal nodes,
      and inclusion of universal nodes inside of SCC when none of the
      destination comes back to the SCC.
      * tests/python/_altscc.ipynb: Adjust and add more test cases.
      * tests/core/alternating.test, tests/core/neverclaimread.test,
      tests/core/readsave.test, tests/core/sccdot.test,
      tests/python/decompose.ipynb: Adjust test cases.
      * NEWS: Mention the bug.
      97f3efab