1. 12 Aug, 2014 4 commits
    • Alexandre Duret-Lutz's avatar
      remove the sba interface · e9893586
      Alexandre Duret-Lutz authored
      * src/tgba/tgbagraph.hh: Automatize the setting of the SingleAccSet
      * src/tgbaalgos/minimize.cc: Do not bother setting SingleAccSet.
      * src/tgba/sba.hh: Delete.
      * src/tgba/Makefile.am, wrap/python/spot.i: Adjust.
      * src/taalgos/tgba2ta.cc: Do not include sba.hh.
      * src/neverparse/neverclaimparse.yy: Set the SBA property on the output.
      * src/tgbaalgos/lbtt.cc (lbtt_read_gba): Set the StateBasedAcc property
      on output.
      * src/tgbaalgos/dotty.cc, src/tgbaalgos/neverclaim.cc: Do not rely on
      the sba interface.
      * src/dstarparse/dra2ba.cc, src/dstarparse/nra2nba.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/sccfilter.cc: Set
      tgba_digraph::StateBasedAcc as appropriate.
      * src/tgbatest/ltl2tgba.cc: Add extra assert.
    • Alexandre Duret-Lutz's avatar
      get rid of tgba_sba_proxy · cc38443e
      Alexandre Duret-Lutz authored
      * src/saba/sabacomplementtgba.cc, src/saba/sabacomplementtgba.hh,
      src/tgba/tgbatba.cc, src/tgba/tgbatba.hh, src/tgbaalgos/degen.hh,
      src/tgbatest/complementation.cc, src/tgbatest/ltl2tgba.cc: Here.
    • Alexandre Duret-Lutz's avatar
      remove tgba_explicit variants and the old scc_filter · e6ea90e3
      Alexandre Duret-Lutz authored
      * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Delete.
      * src/tgba/Makefile.am: Adjust.
      * src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh:
      Delete these obsoleted algorithms.
      * src/tgbaalgos/Makefile.am: Adjust.
      * src/tgbatest/explicit.cc, src/tgbatest/explicit.test,
      src/tgbatest/explicit2.cc, src/tgbatest/explicit2.test,
      src/tgbatest/explicit3.cc, src/tgbatest/explicit3.test:
      * src/tgbatest/Makefile.am: Adjust.
      * src/bin/ltl2tgba.cc, src/priv/countstates.cc,
      src/tgbaalgos/isweakscc.cc, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/powerset.hh, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccfilter.hh, src/tgbaalgos/simulation.cc,
      src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/powerset.cc, src/tgbatest/tgbaread.cc,
      src/tgbatest/tripprod.cc, wrap/python/ajax/spot.in,
      wrap/python/spot.i: Remove all remaining references to
    • Alexandre Duret-Lutz's avatar
      replace sba_explicit_* by tgba_digraph, and use tgba_digraph is postproc · 6c9d5e4b
      Alexandre Duret-Lutz authored
      This is a huge patch.  tgba_digraph are equiped with some boolean
      properties that can be used to indicate whether they represent SBA
      (and will carry more informations later).  All algorithms that produce
      or use sba_explicit_* automata are changed to use tgba_digraph.
      postproc has been rewritten using only tgba_digraph, and this required
      changing the return types of many algorithms from tgba* to
      * src/bin/dstar2tgba.cc, src/bin/ltlfilt.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/dstar2tgba.cc, src/dstarparse/nra2nba.cc,
      src/dstarparse/nsa2tgba.cc, src/dstarparse/public.hh,
      src/tgba/tgbagraph.hh, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/compsusp.hh,
      src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/minimize.hh, src/tgbaalgos/postproc.cc,
      src/tgbaalgos/postproc.hh, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/stripacc.cc,
      src/tgbaalgos/stripacc.hh, src/tgbaalgos/translate.cc,
      src/tgbaalgos/translate.hh, src/tgbatest/ltl2tgba.cc,
      wrap/python/spot.i: Update.
  2. 11 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      compsusp: Use new implem of scc_filter to remove suspended variables · 637aeff2
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccfilter.hh: Rewrite all
      composable filters in a way that allow arguments to be passed.
      (scc_filter_susp): New function.
      * src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh (scc_ap_support):
      New method.
      * src/tgbaalgos/compsusp.cc: Adjust to use tgba_digraph, and
      call the new scc_filter_susp().
  3. 10 Aug, 2014 6 commits
  4. 06 Aug, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
      ltl_to_tgba_fm: Build a tgba_digraph instead of a tgba_explicit_formula · 7b236916
      Alexandre Duret-Lutz authored
      The conversion is not complete, because the conversion from SERE to DRA
      used for the closure operator is still building a tgba_explicit_formula.
      * src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh: Return
      a tgba_digraph.
      * src/priv/acccompl.cc: Simplify.
      * src/graph/ngraph.hh: Add a way to iterate over all names.
      * src/tgba/tgbagraph.hh (compute_support_conditions): Return something
      useful.  It's actually used by the constructor of testing automata.
      * src/tgbatest/wdba.test: Adjust to the fact that state are not
      labeled by formulas anymore.
      * src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc: Do not try to enable
      UTF8 on automata anymore.
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      nra2nba: Produce a tgba_digraph. · 9923cbaa
      Alexandre Duret-Lutz authored
      * src/dstarparse/nra2nba.cc: Produce tgba_digraph instead
      of tgba_explicit_number.
      * src/tgbaalgos/sccinfo.hh (is_useful_state): Make sure
      it is reachable.
  5. 31 Jul, 2014 2 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
      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:
  6. 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.
  7. 09 Jul, 2014 1 commit
    • 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.
  8. 07 Jul, 2014 1 commit
  9. 04 Jul, 2014 4 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
      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.
  10. 03 Jul, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      lbtt: build an explicit automaton on input. · 120ce7d8
      Alexandre Duret-Lutz authored
      * src/priv/accmap.hh (acc_mapper): Rename into...
      (acc_mapper_string): ... this, and add
      (acc_mapper_int): ... this variant.
      * src/tgbaparse/tgbaparse.yy: Adjust to renaming.
      * src/tgbaalgos/lbtt.cc: Use acc_mapper_int and build an explicit
      * src/tgbaalgos/lbtt.hh: Adjust return type.
      * src/tgbatest/ltl2tgba.cc: Adjust to new return type.
  11. 02 Jul, 2014 1 commit
  12. 27 Jun, 2014 3 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
      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
  13. 22 Jun, 2014 1 commit
  14. 20 Jun, 2014 6 commits
    • 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
      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
      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.
  15. 23 May, 2014 5 commits