1. 05 May, 2017 4 commits
  2. 04 May, 2017 3 commits
  3. 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
  4. 28 Apr, 2017 6 commits
    • Alexandre Duret-Lutz's avatar
      gen: another automaton family · 469d8067
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh, spot/gen/automata.cc,
      bin/genaut.cc: Introduce L_DSA.
      * tests/core/genaut.test: Add quick test.
      469d8067
    • Alexandre Duret-Lutz's avatar
      gen: set more properties in automata · ae78e1d2
      Alexandre Duret-Lutz authored
      * spot/gen/automata.cc: Set more properties.
      * tests/python/gen.py: Check that they are set.
      ae78e1d2
    • Alexandre Duret-Lutz's avatar
      gen: introduce a new automaton family · ec51f976
      Alexandre Duret-Lutz authored
      * spot/gen/automata.cc, spot/gen/automata.hh: Define AUT_L_NBA.
      * bin/genaut.cc (--l-nba): New option.
      * bin/man/genaut.x, doc/org/genaut.org, NEWS: Document it.
      * tests/python/gen.py, tests/core/genaut.test: Test it.
      ec51f976
    • Alexandre Duret-Lutz's avatar
      gen: pass the bdd_dict to aut_pattern() · 649793df
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh (aut_pattern): Add the dict argument.
      * spot/gen/automata.cc, python/spot/gen.i: Adjust.
      * tests/python/gen.py: Make sure two automata built without
      specifying any dictionary share the same one.
      649793df
    • Alexandre Duret-Lutz's avatar
      gen: hide ks_cobuchi(), introduce aut_pattern() · 11ca2803
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh, spot/gen/automata.cc: Hide ks_cobuchi() behind
      introduce aut_pattern(), as we have already done for the formulas.
      * bin/genaut.cc: Simplify using this interface.
      * python/spot/gen.i: Introduce aut_patterns().
      * tests/python/gen.ipynb, tests/python/gen.py: Adjust.
      11ca2803
    • Alexandre Duret-Lutz's avatar
      gen: prefix ltl_pattern identifiers with LTL_ · ca7f72bb
      Alexandre Duret-Lutz authored
      This helps with autocompletion in IPython, and it will prevent us from
      mixing LTL patterns with automata patterns (once we have more than one
      automata generator).
      
      * spot/gen/formulas.hh: Here.
      * spot/gen/formulas.cc, bin/genltl.cc, tests/python/gen.ipynb,
      tests/python/gen.py: Adjust.
      ca7f72bb
  5. 26 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      gen: rename genltl() to ltl_pattern() and introduce ltl_patterns() · 540b9713
      Alexandre Duret-Lutz authored
      * spot/gen/formulas.hh, spot/gen/formulas.cc (genltl): Rename as...
      (ltl_pattern): This.
      (ltl_pattern_max): New function.
      * bin/genltl.cc: Adjust names, and simplify using ltl_pattern_max().
      * python/spot/gen.i (ltl_patterns): New function.
      * tests/python/gen.py: Test it.
      * tests/python/gen.ipynb: New file to document the spot.gen package.
      * tests/Makefile.am, doc/org/tut.org: Add gen.ipynb.
      540b9713
  6. 25 Apr, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      genltl: move all formula generation code to spot/gen/ · 8939e0dd
      Alexandre Duret-Lutz authored
      Fixes #254.
      
      * spot/gen/formulas.cc, spot/gen/formulas.hh: New files.
      * spot/gen/Makefile.am: Add them.
      * spot/Makefile.am: Fix build order.
      * bin/genltl.cc: Move most code to the above files and adjust.
      * bin/Makefile.am: Link genltl with libspotgen.
      * doc/org/arch.tex: Adjust picture to show that genltl uses
      libspotgen.
      * python/spot/gen.i: Include formulas.hh.
      * tests/python/gen.py: Make sure genltl() and ltl_pattern_name()
      can be called.
      8939e0dd
    • Maximilien Colange's avatar
      Remove useless code. · 52af3948
      Maximilien Colange authored
      * spot/twaalgos/determinize.cc: remove code.
      52af3948
  7. 24 Apr, 2017 1 commit
  8. 22 Apr, 2017 1 commit
  9. 21 Apr, 2017 2 commits
    • Maximilien Colange's avatar
      Add a new library to generate formulas and automata. · d90e38eb
      Maximilien Colange authored
      This library, called libspotgen, gathers functions to generate classes
      of automata found in the literature.
      Related to #254.
      
      * NEWS, README: Mention the modification.
      * Makefile.am, debian/control, debian/libspotgen0.install: Build the new
        library in a separate package.
      * spot/gen/automata.hh, spot/gen/automata.cc: Add a family of co-Büchi
        automata.
      * configure.ac, spot/Makefile.am, spot/gen/Makefile.am: Build the new
        library.
      d90e38eb
    • 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
  10. 20 Apr, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      introduce original-states · 07c2dd3b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/degen.cc, spot/twaalgos/degen.hh,
      spot/twaalgos/mask.hh: Store original states in "original-states"
      properties.
      * spot/twaalgos/dot.cc: Add support for option 'd'.
      * bin/common_aoutput.cc: Document it.
      * doc/org/concepts.org, NEWS: Document "original-states".
      * tests/core/readsave.test: Add some tests.
      07c2dd3b
    • Thomas Medioni's avatar
      mark_t: sets() no longer returns a vector · cc3bdfcd
      Thomas Medioni authored
      spot::mark_t::sets() was modified so that it now returns an iterable
      object rather than an std::vector<unsigned>.
      
      * NEWS: Mention the modification.
      * python/spot/impl.i: Declares mark_container as iterable to SWIG.
      * spot/parseaut/parseaut.yy: Adapts to the modification.
      * spot/twa/acc.hh: Implement the modification.
      * tests/python/acc_cond.ipynb: Adapts to the modification.
      cc3bdfcd
  11. 19 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      sbacc: fix a serious bug · 9377db2e
      Alexandre Duret-Lutz authored
      Reported by Thibaud Michaud
      
      * spot/twaalgos/sbacc.cc: Do not label rejecting SCCs with the empty
      mark, as it might be accepting.
      * tests/core/sbacc.test: Add test cases.
      * NEWS: Mention the bug.
      9377db2e
  12. 08 Apr, 2017 3 commits
  13. 07 Apr, 2017 4 commits
    • Thomas Medioni's avatar
      dtwa_complement: deprecated, use dualize() instead. · 152b5d0d
      Thomas Medioni authored
      * NEWS: Mention of the deprecation
      * bench/stutter/stutter_invariance_randomgraph.cc,
        bin/autfilt.cc, bin/ltlcross.cc, spot/twaalgos/langmap.cc,
        spot/twaalgos/minimize.cc, spot/twaalgos/powerset.cc,
        spot/twaalgos/stutter.cc, tests/core/ikwiad.cc,
        tests/python/bugdet.py, tests/python/remfin.py,
        tests/python/sum.py: Refactor calls to dtwa_complement() with calls
        to dualize().
      * doc/org/upgrade2.org: Change mention of dtwa_complement with dualize.
      * spot/twaalgos/complement.hh: Add deprecation notice.
      * python/spot/impl.i: Add deprecation notice for the python bindings.
      152b5d0d
    • Thomas Medioni's avatar
      dtwa_complement: replace code with call to dualize · 073a6e81
      Thomas Medioni authored
      * NEWS: Mention of this modification
      * spot/twaalgos/complement.cc: Replace dtwa_complement with a call
        to dualize
      073a6e81
    • 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
    • Alexandre Duret-Lutz's avatar
      remfin: fix a corner case for rabin_to_buchi_maybe · 1daffe12
      Alexandre Duret-Lutz authored
      when fin_alone sets where presents (i.e., not really Rabin condition),
      the rabin_to_buchi_maybe() could fail to notice DBA-typeness.
      
      * spot/twaalgos/remfin.cc: Don't set scc_ba_type to false when
      fin_alone is present.
      * tests/core/remfin.test: Add a test case.
      1daffe12
  14. 04 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      remfin: fix a corner case for rabin_to_buchi_maybe · b442d2bb
      Alexandre Duret-Lutz authored
      when fin_alone sets where presents (i.e., not really Rabin condition),
      the rabin_to_buchi_maybe() could fail to notice DBA-typeness.
      
      * spot/twaalgos/remfin.cc: Don't set scc_ba_type to false when
      fin_alone is present.
      * tests/core/remfin.test: Add a test case.
      b442d2bb
  15. 03 Apr, 2017 1 commit
    • Thomas Medioni's avatar
      sum: Fix universal initial state bug · cebc4b00
      Thomas Medioni authored
      * spot/twaalgos/sum.cc: Fix the sum of automatas having universal
        initial transitions.
      * tests/core/explsum.test: Add test case testing the handling of
        universal initial transitions in sum.
      cebc4b00
  16. 31 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      various typos · 1ed6e518
      Alexandre Duret-Lutz authored
      * bench/dtgbasat/gen.py, spot/twaalgos/complement.hh: Fix
      looser->loser and lossing->losing.
      * tests/sanity/style.test: Catch 'an uni[^n]'.
      * spot/ta/ta.hh, spot/taalgos/tgba2ta.cc, spot/taalgos/tgba2ta.hh,
      spot/twa/twagraph.cc, spot/twaalgos/complement.hh,
      spot/twaalgos/sccinfo.cc: Fix various occurences of this pattern.
      1ed6e518
  17. 30 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      various typos · be411553
      Alexandre Duret-Lutz authored
      * bench/dtgbasat/gen.py, spot/twaalgos/complement.hh: Fix
      looser->loser and lossing->losing.
      * tests/sanity/style.test: Catch 'an uni[^n]'.
      * spot/ta/ta.hh, spot/taalgos/tgba2ta.cc, spot/taalgos/tgba2ta.hh,
      spot/twa/twagraph.cc, spot/twaalgos/complement.hh,
      spot/twaalgos/sccinfo.cc, spot/twaalgos/sum.hh: Fix various occurences
      of this pattern.
      be411553
  18. 29 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      twa_graph: fix purge_unreachable_states on alternating automata · 6623af67
      Alexandre Duret-Lutz authored
      The algorithm had two problems: it was removing only useless
      destination from universal destination (instead of removing the entire
      edge), and it was not properly iterating over the entire reachable
      automaton.
      
      * spot/twa/twagraph.cc: Fix it.
      * spot/twa/twagraph.hh: Adjust documentation.
      * tests/core/alternating.test: Add more tests.
      * tests/python/twagraph.py: Adjust.
      * NEWS: Mention the bug.
      6623af67
    • Alexandre Duret-Lutz's avatar
      twa_graph: fix purge_unreachable_states on alternating automata · f6a238ef
      Alexandre Duret-Lutz authored
      The algorithm had two problems: it was removing only useless
      destination from universal destination (instead of removing the entire
      edge), and it was not properly iterating over the entire reachable
      automaton.
      
      * spot/twa/twagraph.cc: Fix it.
      * spot/twa/twagraph.hh: Adjust documentation.
      * tests/core/alternating.test: Add more tests.
      * tests/python/twagraph.py: Adjust.
      * NEWS: Mention the bug.
      f6a238ef
  19. 28 Mar, 2017 2 commits
  20. 27 Mar, 2017 1 commit