1. 01 Apr, 2015 4 commits
    • Alexandre Duret-Lutz's avatar
      degen: add a lowinit option · 7bb183b9
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh: New argument
      to disable the "jump to the accepting level if the entering
      state as an accepting self-loop" optimization.
      * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Check
      the degen-lowinit option and pass it on to degeneralize().
      * src/bin/spot-x.cc: Document it.
      * src/tgbatest/degenlskip.test: Add some tests.
      * src/tgbatest/ltl2ta.test: Update value.  We output less
      accepting states now.
      7bb183b9
    • Alexandre Duret-Lutz's avatar
      degen: do not mark initial trivial SCCs as accepting · 6e8170e3
      Alexandre Duret-Lutz authored
      Doing so is not wrong, but it's superfluous, and the extra accepting
      state will cause additional work in emptiness checks based on NDFS.
      Report from Jan Strejček.
      
      * src/tgbaalgos/degen.cc: Here.
      * src/tgbatest/degenid.test: Add a test case.
      6e8170e3
    • Alexandre Duret-Lutz's avatar
      python: LRU cache for the dot->svg conversion · 54a8ce50
      Alexandre Duret-Lutz authored
      * wrap/python/spot.py: Here.
      54a8ce50
    • Alexandre Duret-Lutz's avatar
      python 2 is no longer supported · 31b3862f
      Alexandre Duret-Lutz authored
      * m4/pypath.m4: Check for Python 3.2+.
      * README, NEWS, HACKING: Reflect this change.
      31b3862f
  2. 31 Mar, 2015 4 commits
  3. 30 Mar, 2015 4 commits
  4. 27 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      python: add a spot.automata(filename) interface, yielding automata · 25de479e
      Alexandre Duret-Lutz authored
      * src/hoaparse/fmterror.cc, src/hoaparse/public.hh,
      src/hoaparse/hoaparse.yy (hoa_stream_parser::parse_strict): New method
      that raises an exception whenever a syntax error is encountered.
      * src/ltlparse/public.hh (parse_error): Move ...
      * src/misc/common.hh: ... here.
      * wrap/python/spot_impl.i: Wrap the hoa output.
      * wrap/python/spot.py: Implement spot.automata.
      * wrap/python/tests/automata-io.ipynb: New test.
      * wrap/python/tests/Makefile.am: Add it.
      25de479e
  5. 26 Mar, 2015 2 commits
    • 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
    • Alexandre Duret-Lutz's avatar
      debian: disable -flto for binaries · 30b87886
      Alexandre Duret-Lutz authored
      This work around what appears to be an exception handling bug, causing
      binaries to not always catch excepting thrown by the library.
      
      * debian/rules: Here.
      30b87886
  6. 25 Mar, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      Make --keep-states more useful by actually removing states. · 483212d2
      Alexandre Duret-Lutz authored
      Fixes #70.
      
      We don't modify the behavior of mask_keep_states(), because it is
      actually useful in some algorithm to remove states without renumbering
      all the other states.
      
      * src/bin/autfilt.cc: Call purge_dead_states().
      * src/tgbatest/maskkeep.test: Adjust.
      483212d2
    • Alexandre Duret-Lutz's avatar
      complete: Fix completion of automata using Fin-acceptance · 23bcbb5b
      Alexandre Duret-Lutz authored
      * src/tgba/acc.cc, src/tgba/acc.hh: Add a way to extract
      an unstatisfiable mark, and fix the eval() function for
      Fin acceptance.
      * src/tgbaalgos/complete.cc: Label the sink state using
      an unsatisfiable mark.  Do not assume generalized Büchi.
      * src/tgbatest/complete.test: New test.
      * src/tgbatest/Makefile.am: Add it.
      23bcbb5b
    • Alexandre Duret-Lutz's avatar
      cleanacc: better cleanup · 7353e47f
      Alexandre Duret-Lutz authored
      Sometimes, simplifying the acceptance condition (because it refers to
      sets that do not appear in the automaton) cause more sets to be removed
      from the acceptance condition, and therefore warrant another pass to
      remove those sets from the automaton.
      
      * src/tgbaalgos/cleanacc.cc: Here.
      * src/tgbatest/hoaparse.test: Add a test case.
      7353e47f
  7. 24 Mar, 2015 5 commits
  8. 23 Mar, 2015 5 commits
    • Alexandre Duret-Lutz's avatar
      dot: better support of state-based acceptance · ead2ca01
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dotty.cc: Here.
      * src/tgbaalgos/sbacc.cc: Make the produced automata as state-based.
      * src/tgbatest/readsave.test: Add a test.
      ead2ca01
    • 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
  9. 22 Mar, 2015 1 commit
  10. 21 Mar, 2015 2 commits
  11. 20 Mar, 2015 2 commits
  12. 18 Mar, 2015 7 commits