1. 23 Mar, 2015 4 commits
    • 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.
      fb7b7a94
    • Alexandre Duret-Lutz's avatar
      ltlfilt: add a --exclusive-ap option · 544c533e
      Alexandre Duret-Lutz authored
      * src/ltlvisit/exclusive.cc, src/ltlvisit/exclusive.hh: New files.
      * src/ltlvisit/Makefile.am: Add them.
      * src/bin/ltlfilt.cc: Implement the --exclusive-ap option.
      * NEWS: Mention it.
      * src/ltltest/exclusive.test: New file.
      * src/ltltest/Makefile.am: Add it.
      544c533e
    • Etienne Renault's avatar
      Replace guards by pragma once. · 57cd9f2d
      Etienne Renault authored
      * iface/ltsmin/ltsmin.hh, src/bin/common_aoutput.hh,
      src/bin/common_conv.hh, src/bin/common_cout.hh,
      src/bin/common_file.hh, src/bin/common_finput.hh,
      src/bin/common_output.hh, src/bin/common_post.hh,
      src/bin/common_r.hh, src/bin/common_range.hh,
      src/bin/common_setup.hh, src/bin/common_sys.hh,
      src/bin/common_trans.hh, src/dstarparse/parsedecl.hh,
      src/dstarparse/public.hh, src/graph/graph.hh,
      src/graph/ngraph.hh, src/hoaparse/parsedecl.hh,
      src/hoaparse/public.hh, src/kripke/fairkripke.hh,
      src/kripke/fwd.hh, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.hh,
      src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
      src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh,
      src/ltlast/binop.hh, src/ltlast/bunop.hh,
      src/ltlast/constant.hh, src/ltlast/formula.hh,
      src/ltlast/multop.hh, src/ltlast/predecl.hh,
      src/ltlast/unop.hh, src/ltlast/visitor.hh,
      src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.hh,
      src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh,
      src/ltlvisit/lbt.hh, src/ltlvisit/length.hh,
      src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.hh,
      src/ltlvisit/mutation.hh, src/ltlvisit/nenoform.hh,
      src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh,
      src/ltlvisit/relabel.hh, src/ltlvisit/remove_x.hh,
      src/ltlvisit/simpfg.hh, src/ltlvisit/simplify.hh,
      src/ltlvisit/snf.hh, src/ltlvisit/tostring.hh,
      src/ltlvisit/tunabbrev.hh, src/ltlvisit/wmunabbrev.hh,
      src/misc/bareword.hh, src/misc/bddlt.hh, src/misc/bitvect.hh,
      src/misc/casts.hh, src/misc/common.hh, src/misc/escape.hh,
      src/misc/fixpool.hh, src/misc/formater.hh, src/misc/hash.hh,
      src/misc/hashfunc.hh, src/misc/intvcmp2.hh,
      src/misc/intvcomp.hh, src/misc/location.hh, src/misc/ltstr.hh,
      src/misc/memusage.hh, src/misc/minato.hh, src/misc/mspool.hh,
      src/misc/optionmap.hh, src/misc/position.hh, src/misc/random.hh,
      src/misc/satsolver.hh, src/misc/timer.hh, src/misc/tmpfile.hh,
      src/misc/version.hh, src/priv/accmap.hh, src/priv/bddalloc.hh,
      src/priv/freelist.hh, src/ta/ta.hh, src/ta/taexplicit.hh,
      src/ta/taproduct.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.hh,
      src/ta/tgtaproduct.hh, src/taalgos/dotty.hh,
      src/taalgos/emptinessta.hh, src/taalgos/minimize.hh,
      src/taalgos/reachiter.hh, src/taalgos/statessetbuilder.hh,
      src/taalgos/stats.hh, src/taalgos/tgba2ta.hh,
      src/tgba/acc.hh, src/tgba/bdddict.hh,
      src/tgba/bddprint.hh, src/tgba/formula2bdd.hh, src/tgba/fwd.hh,
      src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbagraph.hh,
      src/tgba/tgbamask.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.hh, src/tgbaalgos/are_isomorphic.hh,
      src/tgbaalgos/bfssteps.hh, src/tgbaalgos/canonicalize.hh,
      src/tgbaalgos/cleanacc.hh, src/tgbaalgos/complete.hh,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
      src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.hh,
      src/tgbaalgos/dtgbasat.hh, src/tgbaalgos/dupexp.hh,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness_stats.hh,
      src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gtec/sccstack.hh, src/tgbaalgos/gtec/status.hh,
      src/tgbaalgos/gv04.hh, src/tgbaalgos/hoa.hh, src/tgbaalgos/isdet.hh,
      src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh,
      src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
      src/tgbaalgos/magic.hh, src/tgbaalgos/mask.hh,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh,
      src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh,
      src/tgbaalgos/product.hh, src/tgbaalgos/projrun.hh,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/randomize.hh,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh,
      src/tgbaalgos/relabel.hh, src/tgbaalgos/remfin.hh,
      src/tgbaalgos/replayrun.hh, src/tgbaalgos/safety.hh,
      src/tgbaalgos/sbacc.hh, src/tgbaalgos/scc.hh,
      src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/se05.hh, src/tgbaalgos/simulation.hh,
      src/tgbaalgos/stats.hh, src/tgbaalgos/stripacc.hh,
      src/tgbaalgos/stutter.hh, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh,
      src/tgbaalgos/weight.hh, src/tgbaalgos/word.hh,
      src/sanity/includes.test, src/tgbaalgos/ndfs_result.hxx: here.
      57cd9f2d
    • Etienne Renault's avatar
      Fix mac OSX support for echo -n. · b8bc619d
      Etienne Renault authored
      * configure.ac: here.
      b8bc619d
  2. 22 Mar, 2015 1 commit
  3. 21 Mar, 2015 2 commits
  4. 20 Mar, 2015 2 commits
  5. 18 Mar, 2015 8 commits
  6. 17 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      sat: add missing prop_state_based_acc() call · 72eed9b2
      Alexandre Duret-Lutz authored
      Fixes #62.
      
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Add call to
      prop_state_based_acc() when building an automaton with state-based
      acceptance.
      * src/tgbatest/satmin2.test: New test.
      * doc/org/satmin.org: Update.
      72eed9b2
    • Alexandre Duret-Lutz's avatar
      man: fix section number of spot-x.7 · 6712fa3c
      Alexandre Duret-Lutz authored
      * src/bin/man/Makefile.am: Make sure the header of spot-x.7 refers to
      section 7, not 1.  This error was caught by lintian on the Debian
      packages.
      6712fa3c
    • 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
  7. 16 Mar, 2015 3 commits
  8. 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
  9. 13 Mar, 2015 1 commit
  10. 11 Mar, 2015 5 commits
  11. 10 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] fix undefined behavior · 787e3f93
      Alexandre Duret-Lutz authored
      The bug was found while running Spot's src/tgbatest/randpsl.test
      on Debian i386 with gcc-4.9.2.  The following call would crash:
      
      ./ltl2tgba -R3 -t '(!(F(({{{(p0) |
      {[*0]}}:{{{(p1)}[*2]}[:*]}[*]:[*2]}[:*0..3]}[]-> (G(F(p1)))) &
      (G((!(p1)) | ((!(p2)) W (G(!(p0)))))))))'
      
      On amd64 the call does not crash, but valgrind nonetheless
      report that uninitialized memory is being read by bdd_gbc()
      during the second garbage collect.
      
      * src/kernel.h (PUSHREF): Define as a function rather than a macro
      to avoid undefined behavior.  See comments for details.
      787e3f93
  12. 09 Mar, 2015 1 commit
  13. 08 Mar, 2015 4 commits
    • Alexandre Duret-Lutz's avatar
      debian: build a python3 package · 5adec919
      Alexandre Duret-Lutz authored
      * debian/python3-spot.install: New file.
      * Makefile.am: Ship it.
      * debian/control, debian/rules, debian/spot.install: Adjust.
      5adec919
    • Alexandre Duret-Lutz's avatar
      randltl: some code cleanup · 4ffb0cb9
      Alexandre Duret-Lutz authored
      * src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh: Throw
      invalid_argument exceptions consistently (not std::string), and use
      forwarding constructors to avoid the construct() method.
      * src/bin/randltl.cc: Catch the above exceptions.  Destroy
      the opts variable right after its use, so that we don't need
      explicit destructor calls.
      * src/ltltest/rand.test: Add a test.
      4ffb0cb9
    • Alexandre Duret-Lutz's avatar
    • Thibaud Michaud's avatar
      Adding python functions to mirror the functionalities found in src/bin · 3bf3d2c8
      Thibaud Michaud authored
      * wrap/python/spot.i: Rename to...
      * wrap/python/spot_impl.i: ...this, and import spot_impl from spot.py so
      that it is not needed to recompile everything when modifying python
      code.
      * wrap/python/spot.py: Adding python functions to mirror the
      functionalities found in src/bin.
      * src/bin/common_r.cc: Move simplification level...
      * src/ltlvisit/simplify.hh: ... here as a constructor of
      ltl_simplifier_options, to make it available in wrap/python.
      * src/bin/ltlfilt.cc: Set simplification level using the new
      ltl_simplifier_options constructor.
      * src/bin/randltl.cc: Move most of the code...
      * src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh: ... here, as a
      class named randltlgenerator.
      * wrap/python/tests/bddnqueen.py, wrap/python/tests/minato.py: Avoid
      calling bdd_init twice by moving 'import spot' after bdd initialization.
      * wrap/python/Makefile.am: Rename spot to spot_impl
      * wrap/python/tests/Makefile.am: Add ipnbdoctest.py.
      * wrap/python/.gitignore: Rename spot.py to spot_impl.py
      * src/ltlvisit/tostring.cc: \ttrue and \ffalse should be \top and \bot.
      * wrap/python/tests/ipnbdoctest.py: Run code cells of a python notebook
      and compare the output to the actual content of the notebook.
      * wrap/python/tests/randltl.ipynb: Document and test randltl.
      * wrap/python/tests/run.in: Call ipnbdoctest.py to run ipython
      notebooks.
      3bf3d2c8
  14. 05 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      org: fix -o example · cb9867b7
      Alexandre Duret-Lutz authored
      * doc/org/oaut.org: Adjust the parameters of randaut so that we get a
      mix of deterministic and nondeterministic automata.
      cb9867b7
    • Alexandre Duret-Lutz's avatar
      acc: add a to_cnf() function · a0ac8dc5
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh (to_cnf, is_cnf): New functions.
      * src/bin/autfilt.cc: Add a --cnf-acceptance option.
      * src/tgbatest/acc2.test: Test it.
      a0ac8dc5
    • Alexandre Duret-Lutz's avatar
      acc: fix is_dnf() · b71e6add
      Alexandre Duret-Lutz authored
      A Fin() terms with multiple sets should not appear under an And.
      
      * src/tgba/acc.cc (is_dnf): Fix it.
      * src/tgbatest/acc.cc, src/tgbatest/acc.test: Augment test case.
      b71e6add
  15. 04 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: implement to_dnf() using BDDs · 518de8d5
      Alexandre Duret-Lutz authored
      This way we have for instance
        (Inf(1) | Fin(2)) & (Fin(1) | Inf(3)) & Inf(0)
      converted into just
        (Fin(1) & Fin(2) & Inf(0)) | (Inf(0)&Inf(1)&Inf(3))
      while previously we would produce 4 terms:
        (Fin(2) & Fin(1) & Inf(0)) | (Fin(2) & (Inf(0)&Inf(3)))
        | (Fin(1) & (Inf(0)&Inf(1))) | (Inf(0)&Inf(1)&Inf(3))
      
      * src/tgba/acc.cc (to_dnf): Recode it.
      * src/tgbatest/acc2.test: Adjust.
      518de8d5