1. 06 Oct, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Store membership to acceptance sets using bitsets, not BDDs. · 2c764fb3
      Alexandre Duret-Lutz authored
      This is a huge patch, that took over a month to complete.  The bit sets
      are currently restricted to what 'unsigned can store', but it should be
      easy to extend it to 'uint64_t' should we need it.
      
      * NEWS: Update.
      * src/tgba/acc.hh: New file.
      * src/tgbatest/acc.cc, src/tgbatest/acc.test: Test it.
      * src/tgba/tgbakvcomplement.cc, src/tgba/tgbakvcomplement.hh,
      src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh: Delete.  The KV
      complementation is too slow to be used in practice, and I somehow broke
      it during the conversion to bitsets.  The tgba->sgba conversion was only
      used for the KV complementation, and should be better redone on
      tgba_digraph_ptr should it be needed again.
      * src/bin/ltlcross.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/nsa2tgba.cc, src/graphtest/tgbagraph.cc,
      src/graphtest/tgbagraph.test, src/kripke/fairkripke.cc,
      src/kripke/fairkripke.hh, src/kripke/kripke.cc, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/misc/hash.hh, src/neverparse/neverclaimparse.yy, src/priv/accmap.hh,
      src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.cc, src/ta/taexplicit.hh,
      src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgta.cc,
      src/ta/tgta.hh, src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh,
      src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/taalgos/dotty.cc,
      src/taalgos/emptinessta.cc, src/taalgos/minimize.cc,
      src/taalgos/tgba2ta.cc, src/tgba/Makefile.am, src/tgba/fwd.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.cc,
      src/tgba/tgba.hh, src/tgba/tgbagraph.cc, src/tgba/tgbagraph.hh,
      src/tgba/tgbamask.cc, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/complete.cc,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/degen.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/ce.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
      src/tgbaalgos/gv04.cc, src/tgbaalgos/hoaf.cc,
      src/tgbaalgos/isweakscc.cc, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc,
      src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/postproc.cc, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh,
      src/tgbaalgos/reducerun.cc, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/safety.cc, src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc,
      src/tgbaalgos/scc.hh, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/se05.cc, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.cc,
      src/tgbaalgos/stripacc.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/weight.cc,
      src/tgbaalgos/weight.hh, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/Makefile.am, src/tgbatest/complementation.cc,
      src/tgbatest/complementation.test, src/tgbatest/degenlskip.test,
      src/tgbatest/det.test, src/tgbatest/dstar.test, src/tgbatest/emptchk.cc,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explpro4.test, src/tgbatest/explprod.test,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltl2tgba.test,
      src/tgbatest/maskacc.cc, src/tgbatest/maskacc.test,
      src/tgbatest/neverclaimread.test, src/tgbatest/randtgba.cc,
      src/tgbatest/readsave.test, src/tgbatest/sim.test,
      src/tgbatest/sim2.test, src/tgbatest/spotlbtt.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
      iface/dve2/dve2.cc: Adjust or use to the new acceptance interface.
      2c764fb3
  2. 29 Sep, 2014 2 commits
  3. 06 Sep, 2014 1 commit
  4. 31 Aug, 2014 6 commits
    • Alexandre Duret-Lutz's avatar
      neverparse: diagnose redefinition of state labels · d401fadc
      Alexandre Duret-Lutz authored
      Reported by Joachim Klein.
      
      * src/neverparse/neverclaimparse.yy: Store labels and the
      location of their first definition in a global map to catch
      redefinitions.
      * src/tgbatest/neverclaimread.test: Test it.
      * NEWS: Mention it.
      d401fadc
    • Alexandre Duret-Lutz's avatar
      ltlcross: fix missing check for complement of negative automata · 9a8becb8
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Fix it.
      * src/tgbatest/ltl2dstar.test: Test it.
      * NEWS: Mention it.
      9a8becb8
    • Alexandre Duret-Lutz's avatar
      ltlcross: add --verbose option · 49a09978
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Implement it.
      * NEWS: Mention it.
      49a09978
    • Alexandre Duret-Lutz's avatar
      * doc/org/ltlcross.org: Typos. · 261b073a
      Alexandre Duret-Lutz authored
      261b073a
    • Alexandre Duret-Lutz's avatar
      remove wdbacomp.cc and wdbacomp.hh · 359e0c6f
      Alexandre Duret-Lutz authored
      The weak complementation is now implemented by dtgba_complement(), with
      dispatch based on the automaton property.
      
      * src/tgba/wdbacomp.cc, src/tgba/wdbacomp.hh: Remove.
      * src/tgba/Makefile.am: Adjust.
      * src/tgbaalgos/dtgbacomp.cc: Implement the weak version.
      * src/tgbaalgos/dtgbacomp.hh: Document it.
      * src/tgbaalgos/minimize.cc: Use dtgba_complement() instead.
      359e0c6f
    • Alexandre Duret-Lutz's avatar
      Remove futurecondcol and tgbascc. · c8b399c0
      Alexandre Duret-Lutz authored
      They are not used in Spot, and their interface is really horrible.  They
      are used in SOG-ITS to implement the SLAP product from TACAS'11, so we
      should support the functionality eventually, but maybe using the new
      kind of properties that can be attached to automata.  In the meantime,
      these classes are making refactoring harder.
      
      * src/tgba/futurecondcol.cc, src/tgba/futurecondcol.hh,
      src/tgba/tgbascc.cc, src/tgba/tgbascc.hh: Delete.
      * src/tgba/Makefile.am, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/checkpsl.cc, src/tgbatest/emptchk.cc: Adjust.
      c8b399c0
  5. 24 Aug, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add an SVG printer for automata · baf644a9
      Alexandre Duret-Lutz authored
      * wrap/python/spot.i (tgba._repr_svg_): Call dot to
      output SVG using the same logic as in Vaucanson 2.
      baf644a9
    • Alexandre Duret-Lutz's avatar
      Better formula I/O for ipython. · ae35cc29
      Alexandre Duret-Lutz authored
      * src/ltlparse/public.hh, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll (parse_error): New class.
      (parse_formula): New function that raises a parse_error
      exception on error.
      * src/ltlvisit/tostring.hh, src/ltlvisit/tostring.cc:
      (to_sclatex_string): New method.
      * wrap/python/spot.i: Catch the parser_error exception,
      and use the to_sclatex_string for MathJax rendering.
      * wrap/python/tests/run.in: Start ipython on demand.
      ae35cc29
  6. 23 Aug, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
      Use shared_ptr for the emptiness check interfaces. · 6d7c258f
      Alexandre Duret-Lutz authored
      At the same time, this adds a is_empty() method to the tgba class,
      simplifying many places that ran emptiness checks.
      
      * iface/dve2/dve2check.cc, src/bin/ltlcross.cc,
      src/dstarparse/dra2ba.cc, src/ltlvisit/contain.cc, src/tgba/tgba.cc,
      src/tgba/tgba.hh, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/ce.cc,
      src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/gtec.cc,
      src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gv04.cc,
      src/tgbaalgos/gv04.hh, src/tgbaalgos/magic.cc,
      src/tgbaalgos/magic.hh, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/projrun.cc, src/tgbaalgos/projrun.hh,
      src/tgbaalgos/reducerun.cc, src/tgbaalgos/reducerun.hh,
      src/tgbaalgos/replayrun.cc, src/tgbaalgos/replayrun.hh,
      src/tgbaalgos/rundotdec.cc, src/tgbaalgos/rundotdec.hh,
      src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
      src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
      src/tgbaalgos/word.cc, src/tgbaalgos/word.hh,
      src/tgbatest/checkpsl.cc, src/tgbatest/complementation.cc,
      src/tgbatest/emptchk.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/randtgba.cc, wrap/python/ajax/spot.in,
      wrap/python/spot.i: Use shared_ptr.
      6d7c258f
    • Alexandre Duret-Lutz's avatar
      apcollect: Fix prototype. · 803e17bb
      Alexandre Duret-Lutz authored
      * src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh: Take automaton
      by reference.
      803e17bb
    • Alexandre Duret-Lutz's avatar
      Remove useless forward declarations of class tgba. · c3c02bfb
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/compsusp.hh, src/tgbaalgos/dotty.hh,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/hoaf.hh,
      src/tgbaalgos/neverclaim.hh, src/tgbaalgos/randomgraph.hh,
      src/tgbaalgos/simulation.hh: Here.
      c3c02bfb
  7. 22 Aug, 2014 4 commits
  8. 21 Aug, 2014 10 commits
  9. 20 Aug, 2014 9 commits
  10. 19 Aug, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      bivect: workaround flexible arrays not being standard C++ · 14570f62
      Alexandre Duret-Lutz authored
      This is a -pedantic warning from gcc.
      
      * src/misc/bitvect.cc, src/misc/bitvect.hh (storage_): Remove.
      (storage): New method to access past the end of the struct.
      14570f62
    • Alexandre Duret-Lutz's avatar
      tgba: merge succiter.hh, state.hh, and tgba.hh · 52ce449b
      Alexandre Duret-Lutz authored
      It makes it easier to browse tgba/.
      
      * src/tgba/state.hh, src/tgba/succiter.hh: Delete, and
      move the contents...
      * src/tgba/tgba.hh: ... here.
      * src/tgba/Makefile.am: Adjust.
      * src/graphtest/ngraph.cc, src/kripke/fairkripke.hh,
      src/saba/sabacomplementtgba.cc, src/ta/ta.hh,
      src/tgba/tgbakvcomplement.cc, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/bfssteps.hh, src/tgbaalgos/emptiness.hh,
      src/tgbaalgos/gtec/explscc.hh, src/tgbaalgos/gtec/sccstack.hh,
      src/tgbaalgos/rundotdec.cc, wrap/python/spot.i: Adjust includes.
      52ce449b