1. 25 Oct, 2014 1 commit
  2. 24 Oct, 2014 2 commits
  3. 08 Oct, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
      Replace most uses of scc_map by scc_info. · 2fb436a1
      Alexandre Duret-Lutz authored
      This involves reimplementing some algorithms using tgba_digraph, and
      implementing an explicit product that takes two tgba_digraphs and
      produces a tgba_digraph.
      
      * src/tgbaalgos/product.cc, src/tgbaalgos/product.hh: New files.
      * src/tgbaalgos/Makefile.am: Adjust.
      * src/bin/ltlcross.cc, src/tgba/tgba.cc, src/tgba/tgba.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgbaalgos/cycles.cc, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh,
      src/tgbaalgos/isweakscc.cc, src/tgbaalgos/isweakscc.hh,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/minimize.hh,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh,
      src/tgbaalgos/safety.cc, src/tgbaalgos/safety.hh,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh,
      src/tgbatest/complementation.cc, src/tgbatest/emptchk.cc,
      src/tgbatest/ltl2ta.test, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/randtgba.cc: Update to use scc_info and/or tgba_digraph.
      2fb436a1
    • Alexandre Duret-Lutz's avatar
      b6745482
    • Alexandre Duret-Lutz's avatar
      tgbagraph: fix detection of dead transitions · 1696fac8
      Alexandre Duret-Lutz authored
      * src/graph/graph.hh (digraph::digraph): Mark transition 0 as dead.
      (digraph::is_dead_transition): Fix prototype.
      * src/tgba/tgbagraph.hh (tgba_digraph::is_dead_transition): Fix
      prototype.
      1696fac8
  4. 06 Oct, 2014 5 commits
    • Alexandre Duret-Lutz's avatar
      Some cleanup of Thibaud's patches. · 645ecce1
      Alexandre Duret-Lutz authored
      * AUTHORS: Add Thibaud.
      * NEWS: Mention ltlgrind and ltlcross --grind.
      * src/ltlvisit/mutation.hh, src/ltlvisit/mutation.cc:
      Use an enum instead of #define.  Rename get_mutations()
      into mutate().  Other minor cosmetic changes.
      * src/bin/ltlgrind.cc: Adjust.
      * src/bin/ltlcross.cc: Slight changes the the output
      * doc/org/ltlcross.org, doc/org/ltlgrind.org: Minor
      rewordings and fix for org-mode syntax.
      * src/ltltest/ltlcrossgrind.test,
      src/ltltest/ltlgrind.test: Fix copyright year.
      645ecce1
    • Thibaud Michaud's avatar
      ltlcross: adding option --grind=FILENAME · 4e1586dc
      Thibaud Michaud authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      Suggested by Joachim Klein.
      
      When a bogus formula is found by ltlcross, the --grind=FILENAME option
      tries to find a smaller formula for which the bug is still present, and
      outputs it in FILENAME.
      
      * src/bin/ltlcross.cc: Add the --grind option.
      * doc/org/ltlcross.org: Document the --grind option.
      * src/ltltest/ltlcrossgrind.test: Test it.
      * src/ltltest/Makefile.am: Add test.
      4e1586dc
    • Thibaud Michaud's avatar
      Adding ltlgrind as a command-line tool · e327f6ea
      Thibaud Michaud authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      * src/bin/ltlgrind.cc: New file, command-line tool to get mutations of a
      formula.
      * src/bin/Makefile.am: Add it.
      * src/ltlvisit/mutation.hh, src/ltlvisit/mutation.cc:
      New files providing the get_mutations function.
      * src/ltlvisit/Makefile.am: Add it.
      * src/ltltest/ltlgrind.test: Test it.
      * src/ltltest/Makefile.am: Add it.
      * src/bin/man/ltlgrind.x: Document it.
      * src/bin/man/Makefile.am: Add it.
      * doc/org/ltlgrind.org: Document it.
      * doc/org/tools.org: Add link to ltlgrind documentation page.
      e327f6ea
    • Alexandre Duret-Lutz's avatar
      Remove support for state-based alternating automata. · 51fe5108
      Alexandre Duret-Lutz authored
      This was never actually used and we have a new implementation of
      alternating automata coming.
      
      * src/saba/, src/sabaalgos/, src/sabatest/: Remove.
      * src/Makefile.am, configure.ac, README: Adjust.
      * NEWS: Mention it.
      51fe5108
    • 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
  5. 29 Sep, 2014 2 commits
  6. 06 Sep, 2014 1 commit
  7. 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
  8. 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
  9. 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
  10. 22 Aug, 2014 4 commits
  11. 21 Aug, 2014 10 commits
  12. 20 Aug, 2014 1 commit