1. 06 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      tgba_digraph: Fix handling of initial state. · ff83e92d
      Alexandre Duret-Lutz authored
      * src/tgba/tgbagraph.hh: Store the number of the initial state, not a
      pointer to it, because if the state vector is reallocated due to some
      later calls to new_state(), this pointer will be invalid.
      * src/graphtest/tgbagraph.cc, src/graphtest/tgbagraph.test: Test
      for this.
  2. 31 Jul, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
      Use emplace() for associative containers. · fd5fbda4
      Alexandre Duret-Lutz authored
      * HACKING: Adjust requirements.  g++4.8 is now OK
      for all our targets.
      * iface/dve2/dve2.cc, src/dstarparse/dstarparse.yy
      src/dstarparse/nsa2tgba.cc, src/graph/ngraph.hh,
      src/ltlast/atomic_prop.cc, src/ltlast/binop.cc, src/ltlast/bunop.cc,
      src/ltlast/multop.cc, src/ltlast/unop.cc, src/ltlvisit/mark.cc,
      src/ltlvisit/relabel.cc, src/taalgos/emptinessta.cc,
      src/taalgos/tgba2ta.cc, src/tgba/tgbaexplicit.hh, src/tgba/tgbagraph.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbatba.cc,
      src/tgbaalgos/cycles.cc, src/tgbaalgos/degen.cc,
      src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/gtec.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc,
      src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/reachiter.cc,
      src/tgbaalgos/scc.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/weight.cc: Use emplace()
      instead of insert(make_pair(...)) or insert(...::value_type(...)).
    • Alexandre Duret-Lutz's avatar
      * NEWS: Mention recent removals. · 1eaaf883
      Alexandre Duret-Lutz authored
    • Alexandre Duret-Lutz's avatar
      Delete the cutscc algorithms. · 401179ea
      Alexandre Duret-Lutz authored
      These were used in old experiments, but have not turned useful in
      practice.  Not worth keeping and maintaining.
      * src/tgbaalgos/cutscc.cc, src/tgbaalgos/cutscc.hh: Delete.
      * bench/scc-stats/, bench/split-product/: Delete.
      * configure.ac, src/tgbaalgos/Makefile.am, README, bench/Makefile.am:
  3. 10 Jul, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      tgbadigraph: delegate useful graph methods · 1a93166d
      Alexandre Duret-Lutz authored
      * src/tgba/tgbagraph.hh (new_state, new_states, new_transitions, out,
      trans_data): Delegate these useful graph methods so we do not have to
      call get_graph().
      * src/graphtest/tgbagraph.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/sccinfo.cc,src/tgbaalgos/simulation.cc: Simplify.
  4. 09 Jul, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      bdddict: remove now/next variables. · 18f6fe77
      Alexandre Duret-Lutz authored
      These were only used by the BDD-based implementation of TGBA, which has
      been removed.
      * src/tgba/bdddict.cc, src/tgba/bdddict.hh, src/tgba/bddprint.cc: Remove
      support for now/next variables.
    • Alexandre Duret-Lutz's avatar
      Remove ltl2tgba_lacim and all supporting classes. · 116fe865
      Alexandre Duret-Lutz authored
      This translator algorithm is seldom used in practice because we work
      with explicit automata everywhere, and this is only useful to build
      symbolic automata.  Furthermore, the symbolic automata produced by this
      algorithm are larger (when looked at explicitly) than those produced by
      ltl2tgba_fm or other explicit translators.
      The nice side effect of this removal is that we can also remove a lot of
      supporting classes, that were relying a lot on BDDs.
      * src/tgba/public.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
      src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbabddconcretefactory.cc, src/tgba/tgbabddconcretefactory.hh,
      src/tgba/tgbabddconcreteproduct.cc, src/tgba/tgbabddconcreteproduct.hh,
      src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh,
      src/tgba/tgbabddfactory.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbatest/bddprod.test,
      src/tgbatest/mixprod.cc, src/tgbatest/mixprod.test: Delete all these
      * bench/ltlcounter/Makefile.am, bench/ltlcounter/README,
      bench/ltlcounter/plot.gnu, bench/ltlcounter/run, src/tgba/Makefile.am,
      src/tgbaalgos/Makefile.am, src/tgbatest/Makefile.am,
      src/tgbatest/cycles.test, src/tgbatest/dupexp.test,
      src/tgbatest/emptchk.test, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/ltl2tgba.test, src/tgbatest/ltlcross.test,
      src/tgbatest/ltlprod.cc, src/tgbatest/spotlbtt.test,
      src/tgbatest/wdba.test, src/tgbatest/wdba2.test,
      src/tgba/tgbaexplicit.hh, wrap/python/ajax/ltl2tgba.html,
      wrap/python/ajax/spot.in, wrap/python/spot.i,
      wrap/python/tests/interdep.py, wrap/python/tests/ltl2tgba.py,
      wrap/python/tests/ltl2tgba.test: Adjust.
  5. 08 Jul, 2014 1 commit
  6. 07 Jul, 2014 1 commit
  7. 04 Jul, 2014 5 commits
    • Alexandre Duret-Lutz's avatar
      automatop: remove this type of formula operator. · 7602bd1a
      Alexandre Duret-Lutz authored
      This was only used in ELTL stuff, which I just removed because it was
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh,
      src/ltlast/formula_tree.cc, src/ltlast/formula_tree.hh,
      src/ltlast/nfa.cc, src/ltlast/nfa.hh: Delete.
      * src/ltlast/Makefile.am: Adjust.
      * src/ltlast/allnodes.hh, src/ltlast/formula.hh, src/ltlast/predecl.hh,
      src/ltlast/visitor.hh, src/ltltest/equals.cc, src/ltltest/ltlrel.cc,
      src/ltltest/reduc.cc, src/ltlvisit/clone.cc, src/ltlvisit/clone.hh,
      src/ltlvisit/dotty.cc, src/ltlvisit/lbt.cc, src/ltlvisit/mark.cc,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/relabel.cc, src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc,
      src/ltlvisit/tostring.cc, src/tgba/formula2bdd.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbatest/ltl2tgba.cc,
      iface/dve2/dve2check.cc: Remove all references to automatop.
    • Alexandre Duret-Lutz's avatar
      eltl2tgba: remove this unused code. · af8ce5df
      Alexandre Duret-Lutz authored
      * src/eltlparse/.gitignore, src/eltlparse/Makefile.am,
      src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll,
      src/eltlparse/fmterror.cc, src/eltlparse/parsedecl.hh,
      src/eltlparse/public.hh, src/eltltest/.gitignore,
      src/eltltest/Makefile.am, src/eltltest/acc.cc, src/eltltest/acc.test,
      src/eltltest/defs.in, src/eltltest/nfa.cc, src/eltltest/nfa.test,
      src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/eltl2tgba_lacim.hh,
      src/tgbatest/eltl2tgba.test: Delete these files.
      * src/Makefile.am, src/tgbaalgos/Makefile.am, src/tgbatest/Makefile.am,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlcross.test,
      src/tgbatest/spotlbtt.test, README, configure.ac: Adjust.
    • Alexandre Duret-Lutz's avatar
      .gitignore: More files to ignore. · 06b3a80a
      Alexandre Duret-Lutz authored
    • Alexandre Duret-Lutz's avatar
      dtgbasat: replace tgba_explicit_number by tgba_digraph · 61791baf
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtbasat.hh,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/dtgbasat.hh: Use tgba_digraph
      and modernize syntax slightly.
    • Alexandre Duret-Lutz's avatar
      emptiness: Upgrade to tgba_digraph. · ee087b59
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: Use
      tgba_digraph instead of tgba_explicit_string.
  8. 03 Jul, 2014 2 commits
  9. 02 Jul, 2014 2 commits
  10. 27 Jun, 2014 4 commits
    • Alexandre Duret-Lutz's avatar
      common: introduce SPOT_UNREACHABLE and SPOT_UNIMPLEMENTED. · 2beacc39
      Alexandre Duret-Lutz authored
      * src/misc/common.hh (SPOT_UNIMPLEMENTED, SPOT_UNREACHABLE,
      * src/bin/dstar2tgba.cc, src/bin/ltlcross.cc,
      src/dstarparse/dstar2tgba.cc, src/eltlparse/eltlparse.yy,
      src/ltlast/binop.cc, src/ltlast/bunop.cc, src/ltlast/constant.cc,
      src/ltlast/formula_tree.cc, src/ltlast/multop.cc, src/ltlast/nfa.cc,
      src/ltlast/unop.cc, src/ltlvisit/dotty.cc, src/ltlvisit/lbt.cc,
      src/ltlvisit/lunabbrev.cc, src/ltlvisit/mark.cc,
      src/ltlvisit/randomltl.cc, src/ltlvisit/simpfg.cc,
      src/ltlvisit/simplify.cc, src/ltlvisit/snf.cc, src/ltlvisit/tostring.cc,
      src/misc/intvcomp.cc, src/misc/minato.cc, src/tgba/bdddict.cc,
      src/tgba/formula2bdd.cc, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/ltl2taa.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc,
      src/tgbaalgos/simulation.cc, src/tgbatest/ltl2tgba.cc:  Use them.
      * src/sanity/style.test: Catch assert(0) and assert(!"text");
    • Alexandre Duret-Lutz's avatar
      randomgraph: Use tgba_digraph. · c93b41a2
      Alexandre Duret-Lutz authored
      * src/graph/graph.hh (new_states): Call reserve().
      * src/tgbaalgos/randomgraph.cc: Use tgba_digraph
      instead of tgba_string_explicit.
    • Alexandre Duret-Lutz's avatar
      tgbaparse: Return a tgba_digraph. · 4170080c
      Alexandre Duret-Lutz authored
      * src/tgbaparse/parsedecl.hh, src/tgbaparse/public.hh,
      src/tgbaparse/tgbaparse.yy: Adjust to return a tgba_digraph.
      * src/priv/accmap.hh: New file to help creating acceptance
      conditions from strings.
      * src/priv/Makefile.am: Add accmap.hh
      * src/tgba/tgbagraph.hh (tgba_digraph::named_t): New typedef.
      * wrap/python/spot.i: Declare that tgba_digraph inherits from tgba.
      * src/tgbatest/complementation.cc, src/tgbatest/explpro2.test,
      src/tgbatest/explpro3.test, src/tgbatest/explpro4.test,
      src/tgbatest/explprod.cc, src/tgbatest/explprod.test,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/maskacc.cc,
      src/tgbatest/maskacc.test, src/tgbatest/mixprod.cc,
      src/tgbatest/powerset.cc, src/tgbatest/randtgba.test,
      src/tgbatest/readsave.test, src/tgbatest/tgbaread.cc,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.cc,
      src/tgbatest/tripprod.test: Adjust to the change.
    • Alexandre Duret-Lutz's avatar
      ltl::environment: correctly declare name() as const · c0b28dc9
      Alexandre Duret-Lutz authored
      * src/ltlenv/declenv.cc, src/ltlenv/declenv.hh,
      src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/tgbaalgos/compsusp.cc: Declare name as
  11. 22 Jun, 2014 1 commit
  12. 20 Jun, 2014 10 commits
    • Alexandre Duret-Lutz's avatar
      [buddy] Improve handling of bddtrue and bddfalse. · 7d70229f
      Alexandre Duret-Lutz authored
      * src/bdd.h, src/cppext.cxx: Handle bddtrue and bddfalse using
      special types.
    • Alexandre Duret-Lutz's avatar
      Adjust some uses of bddtrue/bddfalse. · 4df4b4ef
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03opt.cc: Fix
      cases where bddtrue and bddfalse where used in a ternary operator.
      * src/sanity/style.test: Allow bdd_true()/bdd_false() to be
      used in ternary operators.
    • Alexandre Duret-Lutz's avatar
      sccfilter: improve the new version to simplify acceptance sets · af6cb049
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh: Implement
      the acc_filter_simplify filter, and generalize composition to
      be n-ary.
      * src/tgbaalgos/sccfilter.cc (used_acc): New method.
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      sccfilter: implement a new version of tgba_digraph · 13673a14
      Alexandre Duret-Lutz authored
      The new version currently supports removal of useless state as well as
      removal of acceptance sets from non-accepting SCCs (the two versions).
      It does not yet support simplifation of acceptance sets and removal of
      suspendable formulae.  However the design, using filters that are
      composed before being applied, should make it easier to implement.
      * src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccfilter.hh: Implement
      the new scc_filter and supporting classes.
      * src/tgbaalgos/simulation.cc, src/tgbaalgos/simulation.hh: Use it.
      The simulation now always return a tgba_digraph.
      * src/tgbatest/sim.test: Adjust.
    • Alexandre Duret-Lutz's avatar
      simulation: build tgba_digraph · e299a3d1
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/simulation.cc: Buid a tgba_digraph as the result of the
      * src/tgba/tgbagraph.hh (create_namer): New function.
      * src/tgbatest/basimul.test: Add an additional test case that caused a
      bug fixed in a previous patch.
      * src/tgbatest/sim.test: Adjust.
    • Alexandre Duret-Lutz's avatar
      ngraph: support aliasing states · 31bf8c2c
      Alexandre Duret-Lutz authored
      * src/graph/ngraph.hh (alias_state): New method.
      * src/graphtest/ngraph.cc: Use it.
    • Alexandre Duret-Lutz's avatar
      tgbagraph: add a merge_transitions() method. · 424de903
      Alexandre Duret-Lutz authored
      * src/graph/graph.hh: Add some framework to erase transitions, and
      defrag the resulting transitions_ vector on demand.  Also remove
      the nb_states() and nb_transitions() because num_states() and
      num_transitions() already exist.
      * src/graphtest/graph.cc, src/graphtest/ngraph.cc: Adjust to
      use num_states().
      * src/tgba/tgbagraph.hh (merge_transitions): New method.
      * src/misc/hash.hh: Add a pair_hash class, needed by
      * src/graphtest/tgbagraph.cc, src/graphtest/tgbagraph.test: Add states
      for transitions removal and merge_transitions().
    • Alexandre Duret-Lutz's avatar
      implement scc_filter_states for tgba_digraph · 9909699c
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccfilter.hh (scc_filter_states): New overload taking
      a tgba_digraph and some scc_info.
    • Alexandre Duret-Lutz's avatar
      Implement an scc_info class that should eventually replace scc_map. · 9903ae2f
      Alexandre Duret-Lutz authored
      * src/graph/graph.hh (trans_iterator): Add operator->() and operator
      * src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh: New files.
      * src/tgbaalgos/Makefile.am: Add them.
      * src/tgbatest/ltl2tgba.cc: Use the new dump_scc_info_dot() function.
  13. 23 May, 2014 7 commits