1. 27 Mar, 2018 3 commits
    • Etienne Renault's avatar
      convert: twa to twacube translation · 93acf313
      Etienne Renault authored
      * spot/twacube/Makefile.am, spot/twacube/twacube.cc,
      spot/twacube/twacube.hh, spot/twacube_algos/convert.cc,
      spot/twacube_algos/convert.hh, tests/Makefile.am,
      tests/core/.gitignore, tests/core/twacube.cc,
      tests/core/twacube.test: here.
      93acf313
    • Etienne Renault's avatar
      convert: BDD to cube conversions · ed6e414d
      Etienne Renault authored
      * README, configure.ac, spot/Makefile.am,
      spot/twacube_algos/Makefile.am, spot/twacube_algos/convert.cc
      spot/twacube_algos/convert.hh, tests/core/cube.cc,
      tests/core/cube.test: here.
      ed6e414d
    • Etienne Renault's avatar
      Introduce cube data structure · ea4a4b1e
      Etienne Renault authored
      * README, configure.ac, spot/Makefile.am,
      spot/twacube/Makefile.am, spot/twacube/cube.cc,
      spot/twacube/cube.hh, tests/Makefile.am,
      tests/core/.gitignore, tests/core/cube.cc,
      tests/core/cube.test: here.
      ea4a4b1e
  2. 23 Mar, 2018 2 commits
  3. 19 Mar, 2018 1 commit
  4. 18 Mar, 2018 3 commits
  5. 16 Mar, 2018 3 commits
  6. 15 Mar, 2018 2 commits
    • Maximilien Colange's avatar
      Clean the usage of spot::acc_cond::mark_t · b09c293f
      Maximilien Colange authored
      spot::acc_cond::mark_t is implemented as a bit vector using a single
      unsigned, and implicit conversions between mark_t and unsigned may be
      confusing. We try to use the proper interface.
      
      * bin/autfilt.cc, bin/ltlsynt.cc, spot/kripke/kripke.cc,
        spot/misc/game.hh, spot/parseaut/parseaut.yy, spot/priv/accmap.hh,
        spot/ta/ta.cc, spot/ta/taexplicit.cc, spot/ta/taproduct.cc,
        spot/taalgos/emptinessta.cc, spot/taalgos/tgba2ta.cc, spot/twa/acc.cc,
        spot/twa/acc.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
        spot/twa/twagraph.hh, spot/twaalgos/alternation.cc,
        spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
        spot/twaalgos/complete.cc, spot/twaalgos/couvreurnew.cc,
        spot/twaalgos/degen.cc, spot/twaalgos/dot.cc,
        spot/twaalgos/dtwasat.cc, spot/twaalgos/dualize.cc,
        spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/ce.cc,
        spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/sccstack.cc,
        spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/lbtt.cc,
        spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
        spot/twaalgos/ndfs_result.hxx, spot/twaalgos/rabin2parity.cc,
        spot/twaalgos/randomgraph.cc, spot/twaalgos/remfin.cc,
        spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
        spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh,
        spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
        spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
        spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
        spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
        spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
        spot/twaalgos/toweak.cc, python/spot/impl.i, tests/core/acc.cc,
        tests/core/twagraph.cc: do not confuse mark_t and unsigned
      * tests/python/acc_cond.ipynb: warn about possible change of the API
      b09c293f
    • Alexandre Duret-Lutz's avatar
      simplify: reduce {r;1} to {r} or {1} · cfcc18e6
      Alexandre Duret-Lutz authored
      Fixes #3.
      
      * spot/tl/simplify.cc: Implement this new rule.
      * doc/tl/tl.tex, NEWS: Document it.
      * tests/core/reduccmp.test: Test it.
      cfcc18e6
  7. 14 Mar, 2018 2 commits
  8. 10 Mar, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: make "a" the default · 2a308182
      Alexandre Duret-Lutz authored
      Fixes #319.
      
      * spot/twaalgos/dot.cc: Enable "a" by default.
      * bin/common_aoutput.cc, NEWS: Document it.
      * doc/org/autfilt.org, doc/org/concepts.org, doc/org/dstar2tgba.org,
      doc/org/hierarchy.org, doc/org/ltl2tgba.org, doc/org/oaut.org,
      doc/org/randaut.org, doc/org/satmin.org, doc/org/tut23.org,
      doc/org/tut24.org, doc/org/tut30.org, doc/org/tut31.org: Adjust or
      simplify the documentation.
      * tests/core/det.test, tests/core/dstar.test, tests/core/monitor.test,
      tests/core/neverclaimread.test, tests/core/readsave.test,
      tests/core/tgbagraph.test, tests/core/wdba.test,
      tests/python/_autparserr.ipynb, tests/python/automata-io.ipynb,
      tests/python/automata.ipynb, tests/python/highlighting.ipynb
      tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb,
      tests/python/product.ipynb, tests/python/testingaut.ipynb,
      tests/python/word.ipynb: Adjust test cases.
      2a308182
  9. 01 Mar, 2018 1 commit
  10. 23 Feb, 2018 2 commits
    • Maximilien Colange's avatar
      Improve purge_unreachable_states() · d44cc82e
      Maximilien Colange authored
      * NEWS: document it
      * spot/twa/twagraph.hh, spot/twa/twagraph.cc: implement it
      * tests/core/tgbagraph.test, tests/core/twagraph.cc: test it
      d44cc82e
    • Alexandre Duret-Lutz's avatar
      setup bug-reference for emacs · e4b8cd3f
      Alexandre Duret-Lutz authored
      * .dir-locals.el: Here.
      * tests/core/remfin.test, tests/core/unambig.test:
      Make consistent references to issue numbers.
      * HACKING: Document convention for mentioning issues.
      e4b8cd3f
  11. 21 Feb, 2018 3 commits
    • Maximilien Colange's avatar
      Slight improvement of the determinization · 41d5e449
      Maximilien Colange authored
      * spot/twaalgos/determinize.cc: the acceptance condition
        of the determinized automaton should be simpler
      * tests/core/safra.test, tests/python/simstate.py: update tests
      41d5e449
    • Maximilien Colange's avatar
      Improve cleanup_parity · e945beb6
      Maximilien Colange authored
      * spot/twaalgos/parity.cc: cleanup_parity and cleanup_parity_here are
        now better at finding useless parity colors
      * tests/python/parity.py: test it
      * NEWS: document the change
      e945beb6
    • Alexandre Duret-Lutz's avatar
      include config.h in all *.cc files · ac6b0c94
      Alexandre Duret-Lutz authored
      This helps working around missing C functions like strcasecmp that do
      not exist everywhere (e.g. on Cygwin), and for which lib/ supplies a
      replacement.  Unfortunately we do not have such build in our current
      continuous integration suite, so we cannot easily detect files where
      such config.h inclusion would be useful.  Therefore this patch simply
      makes it mandatory to include config.h in *.cc files.  Including this
      in public *.hh file is currently forbidden.
      
      * spot/gen/automata.cc, spot/gen/formulas.cc,
      spot/kripke/fairkripke.cc, spot/kripke/kripke.cc,
      spot/ltsmin/ltsmin.cc, spot/misc/game.cc, spot/parseaut/fmterror.cc,
      spot/parsetl/fmterror.cc, spot/parsetl/parsetl.yy,
      spot/priv/bddalloc.cc, spot/priv/freelist.cc, spot/priv/satcommon.cc,
      spot/priv/trim.cc, spot/priv/weight.cc, spot/ta/ta.cc,
      spot/ta/taexplicit.cc, spot/ta/taproduct.cc, spot/ta/tgtaexplicit.cc,
      spot/ta/tgtaproduct.cc, spot/taalgos/dot.cc,
      spot/taalgos/emptinessta.cc, spot/taalgos/minimize.cc,
      spot/taalgos/reachiter.cc, spot/taalgos/statessetbuilder.cc,
      spot/taalgos/stats.cc, spot/taalgos/tgba2ta.cc, spot/tl/apcollect.cc,
      spot/tl/contain.cc, spot/tl/declenv.cc, spot/tl/defaultenv.cc,
      spot/tl/dot.cc, spot/tl/exclusive.cc, spot/tl/hierarchy.cc,
      spot/tl/length.cc, spot/tl/ltlf.cc, spot/tl/mark.cc,
      spot/tl/mutation.cc, spot/tl/nenoform.cc, spot/tl/print.cc,
      spot/tl/randomltl.cc, spot/tl/relabel.cc, spot/tl/remove_x.cc,
      spot/tl/simplify.cc, spot/tl/snf.cc, spot/tl/unabbrev.cc,
      spot/twa/acc.cc, spot/twa/bdddict.cc, spot/twa/bddprint.cc,
      spot/twa/formula2bdd.cc, spot/twa/taatgba.cc, spot/twa/twa.cc,
      spot/twa/twagraph.cc, spot/twa/twaproduct.cc, spot/twaalgos/aiger.cc,
      spot/twaalgos/alternation.cc, spot/twaalgos/are_isomorphic.cc,
      spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
      spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
      spot/twaalgos/complement.cc, spot/twaalgos/complete.cc,
      spot/twaalgos/compsusp.cc, spot/twaalgos/couvreurnew.cc,
      spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/dot.cc,
      spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/dualize.cc, spot/twaalgos/emptiness.cc,
      spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/gtec.cc,
      spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc,
      spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/iscolored.cc, spot/twaalgos/isdet.cc,
      spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc,
      spot/twaalgos/langmap.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/mask.cc,
      spot/twaalgos/minimize.cc, spot/twaalgos/neverclaim.cc,
      spot/twaalgos/parity.cc, spot/twaalgos/postproc.cc,
      spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
      spot/twaalgos/rabin2parity.cc, spot/twaalgos/randomgraph.cc,
      spot/twaalgos/randomize.cc, spot/twaalgos/reachiter.cc,
      spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc,
      spot/twaalgos/sccfilter.cc, spot/twaalgos/sccinfo.cc,
      spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/split.cc,
      spot/twaalgos/stats.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
      spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
      spot/twaalgos/toweak.cc, spot/twaalgos/translate.cc,
      spot/twaalgos/word.cc, tests/core/acc.cc, tests/core/bitvect.cc,
      tests/core/checkpsl.cc, tests/core/checkta.cc, tests/core/consterm.cc,
      tests/core/emptchk.cc, tests/core/equalsf.cc, tests/core/graph.cc,
      tests/core/ikwiad.cc, tests/core/intvcmp2.cc, tests/core/intvcomp.cc,
      tests/core/kind.cc, tests/core/kripkecat.cc, tests/core/length.cc,
      tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/parity.cc,
      tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
      tests/core/safra.cc, tests/core/sccif.cc, tests/core/syntimpl.cc,
      tests/core/taatgba.cc, tests/core/tostring.cc, tests/core/trival.cc,
      tests/core/twagraph.cc, tests/ltsmin/modelcheck.cc,
      spot/parseaut/scanaut.ll, spot/parsetl/scantl.ll: Include config.h.
      * spot/gen/Makefile.am, spot/graph/Makefile.am,
      spot/kripke/Makefile.am, spot/ltsmin/Makefile.am,
      spot/parseaut/Makefile.am, spot/parsetl/Makefile.am,
      spot/priv/Makefile.am, spot/ta/Makefile.am, spot/taalgos/Makefile.am,
      spot/tl/Makefile.am, spot/twa/Makefile.am, spot/twaalgos/Makefile.am,
      spot/twaalgos/gtec/Makefile.am, tests/Makefile.am: Add the -I lib/
      flags.
      * tests/sanity/includes.test: Catch missing config.h in *.cc, and
      diagnose config.h in *.hh.
      * tests/sanity/style.test: Better diagnostics.
      ac6b0c94
  12. 19 Feb, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      fix handling of Rabin-like input for dnf_to_dca() · 81e5357e
      Alexandre Duret-Lutz authored
      The bug is mentioned by Maximilien Colange in a comment to issue #317,
      but turned out to be unrelated to that original issue.
      
      * spot/twaalgos/totgba.cc (dnf_to_streett): Save the correspondence
      between the created states an the DNF clause in a named property.
      * doc/org/concepts.org, spot/twaalgos/totgba.hh: Mention the new
      property.
      * spot/twaalgos/cobuchi.cc (save_inf_nca_st): Rewrite using the named
      property.  Relying on seen marks and trying to deduce the matching
      original clause could only work from plain Rabin.
      * tests/core/dca.test: Add the test from Maximilien.
      * NEWS: Mention the issue.
      81e5357e
  13. 17 Feb, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      fix tra_to_tba() · e42fea09
      Alexandre Duret-Lutz authored
      Fixes #324, reported by Tobias Meggendorfer and František Blahoudek.
      
      * spot/twa/acc.hh (rs_pairs_view::paired_with): Rename as...
      (rs_pairs_view::paired_with_fin):... this and adjust the code.
      * spot/twaalgos/remfin.cc: Use paired_with_fin instead of
      paired_with, and do it once per pair.
      * tests/core/remfin.test: Add a test case.
      * NEWS: Mention the issue.
      e42fea09
  14. 16 Feb, 2018 1 commit
  15. 01 Feb, 2018 1 commit
  16. 24 Jan, 2018 1 commit
    • Maximilien Colange's avatar
      Improve IAR construction · 1ebd86de
      Maximilien Colange authored
      spot::iar() was fixed to handle correctly Rabin-like conditions.
      It also now supports Streett-like conditions.
      
      * NEWS, spot/twaalgos/postproc.cc: document it
      * spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
        implement it
      * tests/core/rabin2parity.test, tests/python/except.py: test it
      1ebd86de
  17. 23 Jan, 2018 1 commit
  18. 20 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      multiple adjustments for Debian stable · 1fd0aa14
      Alexandre Duret-Lutz authored
      * tests/python/ipnbdoctest.py: Adjust to Python <3.6.
      * tests/python/_autparserr.ipynb: Adjust to older IPython version.
      * tests/python/stutter-inv.ipynb: Avoid pandas because its output
      varies from version to version.
      1fd0aa14
  19. 19 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      more coverage · 527c8025
      Alexandre Duret-Lutz authored
      * python/spot/impl.i: Add missing bindings from remprop.hh
      * tests/python/except.py: New file to test several error cases.
      * tests/Makefile.am: Add it.
      * spot/twaalgos/rabin2parity.cc (iar): Fix error message.
      527c8025
  20. 16 Jan, 2018 1 commit
    • Maximilien Colange's avatar
      Rabin to parity translation · 7e02aae3
      Maximilien Colange authored
      * spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
        implement it
      * spot/twaalgos/postproc.cc: use it
      * spot/twaalgos/Makefile.am: build the new files
      * NEWS: document the new function
      * python/spot/impl.i: Python bindings for the new function
      * tests/Makefile.am, tests/core/rabin2parity.test: test the new function
      7e02aae3
  21. 14 Jan, 2018 3 commits
    • Alexandre Duret-Lutz's avatar
      work around issue #317 · c920825f
      Alexandre Duret-Lutz authored
      * spot/twaalgos/cobuchi.cc: Call sbacc() on transition-based input.
      * tests/Makefile.am: Remove XFAIL_TESTS.
      * NEWS: Adjust.
      c920825f
    • Alexandre Duret-Lutz's avatar
      postproc: add support for co-Büchi output · 61b0a542
      Alexandre Duret-Lutz authored
      * spot/twaalgos/cobuchi.cc, spot/twaalgos/cobuchi.hh (to_nca): New
      function.
      (weak_to_cobuchi): New internal function, used in to_nca and to_dca
      when appropriate.
      * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Implement
      the CoBuchi option.
      * python/spot/__init__.py: Support it in Python.
      * bin/common_post.cc: Add support for --buchi.
      * bin/autfilt.cc: Remove the --dca option.
      * tests/core/dca.test, tests/python/automata.ipynb: Adjust and add
      more tests.  In particular, add more complex persistence and
      recurrence formulas to the list of dca.test.
      * tests/python/dca.test: Adjust and rename to...
      * tests/core/dca2.test: ... this.  Add more tests, to the point
      that this is now failing, as described in issue #317.
      * tests/python/dca.py: Remove.
      * tests/Makefile.am: Adjust.
      61b0a542
    • Alexandre Duret-Lutz's avatar
      fix streett_to_generalized_buchi · 9464043d
      Alexandre Duret-Lutz authored
      Fixes #316.
      
      * spot/twaalgos/totgba.cc: Fix confusing definition of scc_inf_wo_fin.
      * tests/python/streett_totgba2.py: New test case.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the bug.
      9464043d
  22. 10 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      misc: fix some down_cast issues · 8a74ae6c
      Alexandre Duret-Lutz authored
      We had new failure on MinGW with GCC believing that some pointer
      returned by down_cast could be NULL; and the down_cast function was in
      the global namespace.
      
      * spot/misc/casts.hh: Rewrite.
      * NEWS: Mention the small issues.
      * tests/core/ikwiad.cc, tests/core/ngraph.cc: Adjust to use
      spot::down_cast instead of down_cast.
      8a74ae6c
  23. 09 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      genltl: add --gf-implies · 0b71df3f
      Alexandre Duret-Lutz authored
      * spot/gen/formulas.cc, spot/gen/formulas.hh: Implement
      LTL_GF_IMPLIES.
      * bin/genltl.cc: Add --gf-implies.
      * NEWS: Mention it.
      * tests/core/genltl.test: Use it.
      0b71df3f
  24. 08 Jan, 2018 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add colored parity support to postproc and translate · f369db6c
      Alexandre Duret-Lutz authored
      * python/spot/impl.i: Bind is_colored().
      * python/spot/__init__.py: Add Colored support to postproc.
      * tests/python/parity.py: Add a test case.
      f369db6c
    • Alexandre Duret-Lutz's avatar
      postproc: add support for colored-parity · bd6dc7a8
      Alexandre Duret-Lutz authored
      * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Add support
      for a colored option.
      * bin/common_post.cc, bin/common_post.hh bin/autfilt.cc,
      bin/ltl2tgba.cc, bin/dstar2tgba.cc: Add support for --colored-parity.
      * bin/ltldo.cc: Adjust as well for consistency, even if --parity and
      --colored-parity is not used here.
      * tests/core/parity2.test: Add tests.
      * doc/org/autfilt.org, doc/org/ltl2tgba.org: Add examples.
      * NEWS: Mention --colored-parity.
      bd6dc7a8
  25. 07 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      python: remove error recovery checks from the public notebooks · 6bad8aeb
      Alexandre Duret-Lutz authored
      * tests/python/_autparserr.ipynb: New files, containing error
      checking code from automata-io.ipynb and piperead.ipynb.
      * tests/python/automata-io.ipynb: Remove error checks, and pipe
      examples from piperead.ipynb.
      * tests/python/piperead.ipynb: Delete.
      * tests/python/word.ipynb: Move error checking code...
      * tests/python/_word.ipynb: ... in this new file.
      * doc/org/tut.org, tests/Makefile.am: Adjust.
      6bad8aeb