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
      property.
      * 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.
      e9893586
    • 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.
      cc38443e
    • 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:
      Delete.
      * 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
      tgba_explicit.
      e6ea90e3
    • 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
      tgba_digraph*.
      
      * 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.
      6c9d5e4b
  2. 10 Aug, 2014 1 commit
  3. 06 Aug, 2014 2 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.
      7b236916
    • 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.
      ff83e92d
  4. 31 Jul, 2014 1 commit
    • 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(...)).
      fd5fbda4
  5. 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/sccfilter.cc,
      src/tgbaalgos/sccinfo.cc,src/tgbaalgos/simulation.cc: Simplify.
      1a93166d
  6. 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.
      18f6fe77
    • 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
      files.
      * 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.
      116fe865
  7. 08 Jul, 2014 1 commit
  8. 07 Jul, 2014 1 commit
  9. 04 Jul, 2014 1 commit
    • 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
      unused.
      
      * 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.
      7602bd1a
  10. 27 Jun, 2014 2 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,
      SPOT_UNREACHABLE_BUILTIN): New macros.
      * 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");
      2beacc39
    • 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.
      4170080c
  11. 20 Jun, 2014 3 commits
    • Alexandre Duret-Lutz's avatar
    • 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
      simulation.
      * 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.
      e299a3d1
    • 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
      merge_transitions().
      * src/graphtest/tgbagraph.cc, src/graphtest/tgbagraph.test: Add states
      for transitions removal and merge_transitions().
      424de903
  12. 23 May, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      simulation: simplify using tgba_digraph more · bb2ce45b
      Alexandre Duret-Lutz authored
      * src/graph/graph.hh (new_states): New.
      * src/tgba/tgbagraph.hh (graph_t): Make it public.
      * src/tgbaalgos/simulation.cc: Get read of the acc_compl_automaton
      class and replace it by a loop over all states of a tgba_digraph.
      Remove some useless data structures.
      bb2ce45b
    • Alexandre Duret-Lutz's avatar
      tgba: Implement a tgbagraph subclass · 1f70e674
      Alexandre Duret-Lutz authored
      * src/tgba/tgbagraph.hh: New file.
      * src/tgba/Makefile.am: Add it.
      * src/graph/graph.hh: Add methods needed by tgbagraph.hh.
      * src/graphtest/tgbagraph.cc, src/graphtest/tgbagraph.test: New files.
      * src/graphtest/Makefile.am: Add them.
      1f70e674
  13. 27 Mar, 2014 1 commit
  14. 20 Mar, 2014 1 commit
  15. 17 Feb, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      tgba: remove the global_state and global_automaton argument of succ_iter · bd870f9a
      Alexandre Duret-Lutz authored
      * iface/dve2/dve2.cc, src/kripke/kripkeexplicit.cc,
      src/kripke/kripkeexplicit.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbakvcomplement.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/tgba/tgbascc.cc, src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc,
      src/tgba/tgbasgba.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc:
      Here.
      * NEWS: Mention it.
      bd870f9a
    • Alexandre Duret-Lutz's avatar
      tgba: remove the support_variable() method. · 0fba428c
      Alexandre Duret-Lutz authored
      * src/kripke/fairkripke.cc, src/kripke/fairkripke.hh,
      src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh, src/tgba/taatgba.cc,
      src/tgba/taatgba.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbakvcomplement.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/tgba/tgbascc.cc, src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc,
      src/tgba/tgbasgba.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc:
      Remove anything related to support_variables() and
      compute_support_variables().
      * NEWS: Mention it.
      * src/tgbaalgos/powerset.cc: Adjust the computation of all possible
      conditions.
      0fba428c
  16. 12 Feb, 2014 11 commits
    • Alexandre Duret-Lutz's avatar
      Replace << "c" by << 'c', and check for it in style.sh · ba5aff24
      Alexandre Duret-Lutz authored
      * src/sanity/style.test: Add a test.
      * iface/dve2/dve2.cc, iface/dve2/dve2check.cc, src/bin/common_output.cc,
      src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltlcross.cc,
      src/dstarparse/dra2ba.cc, src/dstarparse/fmterror.cc,
      src/dstarparse/nsa2tgba.cc, src/kripke/kripkeprint.cc,
      src/kripkeparse/fmterror.cc, src/ltlast/atomic_prop.cc,
      src/ltlast/bunop.cc, src/ltltest/ltlrel.cc, src/ltltest/reduc.cc,
      src/ltltest/syntimpl.cc, src/ltlvisit/dotty.cc, src/ltlvisit/lbt.cc,
      src/ltlvisit/randomltl.cc, src/ltlvisit/relabel.cc,
      src/ltlvisit/simplify.cc, src/ltlvisit/tostring.cc, src/misc/bitvect.cc,
      src/misc/optionmap.cc, src/misc/timer.cc, src/neverparse/fmterror.cc,
      src/priv/freelist.cc, src/saba/sabacomplementtgba.cc,
      src/sabaalgos/sabadotty.cc, src/taalgos/dotty.cc,
      src/taalgos/minimize.cc, src/tgba/bdddict.cc, src/tgba/bddprint.cc,
      src/tgba/futurecondcol.cc, src/tgba/taatgba.hh,
      src/tgba/tgbakvcomplement.cc, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/cycles.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gv04.cc,
      src/tgbaalgos/lbtt.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/weight.cc, src/tgbaalgos/word.cc,
      src/tgbaparse/fmterror.cc, src/tgbatest/bitvect.cc,
      src/tgbatest/complementation.cc, src/tgbatest/intvcmp2.cc,
      src/tgbatest/intvcomp.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/randtgba.cc: Replace << "c" by << 'c' when
      appropriate.
      ba5aff24
    • Alexandre Duret-Lutz's avatar
      c++11: replace push(Type(args...)) by emplace(args...) · 49c66c63
      Alexandre Duret-Lutz authored
      This of course concerns push_back and push_front as well.
      
      * src/bin/common_finput.cc, src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc,
      src/bin/ltl2tgta.cc, src/bin/ltlcross.cc, src/bin/ltlfilt.cc,
      src/dstarparse/dstarparse.yy, src/kripkeparse/kripkeparse.yy,
      src/ltlast/formula.cc, src/ltlparse/ltlparse.yy, src/misc/minato.cc,
      src/neverparse/neverclaimparse.yy, src/priv/bddalloc.cc, src/ta/ta.cc,
      src/taalgos/emptinessta.cc, src/tgba/taatgba.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/sccstack.cc,
      src/tgbaalgos/magic.cc, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/rundotdec.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc, src/tgbaparse/tgbaparse.yy: Use emplace
      to make the code less verbose and avoid creating temporaries.
      49c66c63
    • Alexandre Duret-Lutz's avatar
      tgba_succ_iterator: have first() and next() return a bool · 1a5c0cb1
      Alexandre Duret-Lutz authored
      The returned Boolean indicates whether there is a successor or not.
      This way
      
      |  for (i->first(); !i->done(); i->next())
      |    {
      |       ...
      |    }
      
      can be replaced by
      
      | if (i->first()) do
      |   {
      |      ...
      |   }
      | while (i->next());
      
      avoiding all the virtual calls to done().
      
      * iface/dve2/dve2.cc, src/kripke/kripkeexplicit.cc,
      src/kripke/kripkeexplicit.hh, src/ta/ta.hh, src/ta/taexplicit.cc,
      src/ta/taexplicit.hh, src/ta/taproduct.cc, src/ta/taproduct.hh,
      src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/tgba/succiter.hh,
      src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbamask.cc, src/tgba/tgbaproduct.cc,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasgba.cc,
      src/tgba/tgbatba.cc, src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh,
      src/tgba/wdbacomp.cc: Implement and adjust to this new interface.
      1a5c0cb1
    • Alexandre Duret-Lutz's avatar
      Introduce tgba::release_iter(). · 06c69f88
      Alexandre Duret-Lutz authored
      Instead of "delete iter;" we now do "aut->release_iter(iter);" to
      give the iterator back to the automaton.  The TGBA classes now
      reuse a previously returned tgba_succ_iterator to answer a succ_iter()
      call, therefore avoiding (1) memory allocation, as well as (2) vtable
      and other constant member initialization.
      
      * src/tgba/tgba.hh, src/tgba/tgba.cc (release_iter, iter_cache_):
      Implement a release_iter() that stores the released iterator
      in iter_cache_.
      * src/tgba/succiter.hh (internal::succ_iterable): Move...
      * src/tgba/tgba.hh (tgba::succ_iterable): ... here. And use
      release_iter().
      
      * iface/dve2/dve2.cc, src/kripke/kripke.cc, src/kripke/kripke.hh,
      src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
      src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.cc,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbamask.cc, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproxy.cc, src/tgba/tgbascc.cc, src/tgba/tgbatba.cc,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/cycles.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/gtec/gtec.cc,
      src/tgbaalgos/gv04.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/reachiter.cc,
      src/tgbaalgos/replayrun.cc, src/tgbaalgos/safety.cc,
      src/tgbaalgos/scc.cc, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc: Use release_iter() instead of deleting
      iterators, and used recycle iter_cache_ in implementations of
      tgba::succ_iter().
      06c69f88
    • Alexandre Duret-Lutz's avatar
      c++11: introduce tgba::succ(s) to replace tgba::succ_iter(s). · 487cd01d
      Alexandre Duret-Lutz authored
      | tgba_succ_iterator* i = aut->succ_iter(s);
      | for (i->begin(); !i->done(); i->next())
      |   {
      |      // ...
      |   }
      | delete i;
      
      becomes
      
      | for (auto i: aut->succ(s))
      |   {
      |      // ...
      |   }
      
      hiding the begin()/done()/next() interface, taking care of the delete,
      and allowing more optimization to come.
      
      * src/tgba/succiter.hh, src/tgba/tgba.hh: Implement the above
      new interface.
      * iface/gspn/ssp.cc, src/dstarparse/nsa2tgba.cc,
      src/saba/sabacomplementtgba.cc, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbamask.cc, src/tgba/tgbasafracomplement.cc,
      src/tgba/tgbatba.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/cutscc.cc,
      src/tgbaalgos/degen.cc, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/isdet.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/safety.cc, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/tau03.cc, src/tgbatest/explicit2.cc: Update for
      loops.
      487cd01d
    • Alexandre Duret-Lutz's avatar
      Use the degeneralization unicity_table in more places. · 2f717415
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/degen.cc (unicity_table): Move and rename as...
      * src/tgba/state.hh (state_unicity_table): ... this.
      * src/tgbaalgos/cutscc.cc, src/tgbaalgos/cycles.cc,
      src/tgbaalgos/cycles.hh, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh,
      src/tgbaalgos/safety.cc: Use it to simplify existing code.
      2f717415
    • Alexandre Duret-Lutz's avatar
      safra: get rid of boost::dynamic_bitset. · 92ef3e10
      Alexandre Duret-Lutz authored
      The bitvect implementation seems a tad faster, but most importantly
      this removes the last dependency on Boost.
      
      * src/tgba/tgbasafracomplement.cc: Replace boost::dynamic_bitset by
      spot::bitvect.
      92ef3e10
    • Alexandre Duret-Lutz's avatar
      c++11: Replace boost::shared_ptr by std::shared_ptr. · 90a43db5
      Alexandre Duret-Lutz authored
      * src/eltlparse/eltlparse.yy, src/ltlast/formula_tree.hh,
      src/ltlast/nfa.hh, src/saba/sabastate.hh, src/tgba/state.hh: Here.
      90a43db5
    • Alexandre Duret-Lutz's avatar
      c++11: work around Swig 2.0 · c88e22d0
      Alexandre Duret-Lutz authored
      * src/misc/common.hh: Conditionally define SPOT_DELETED to = delete.
      * src/ltlvisit/simplify.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh,
      src/tgba/bdddict.hh, src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbasgba.hh,
      src/tgba/tgbatba.hh, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc: Use
      SPOT_DELETED.
      * wrap/python/spot.i: Include common.hh.
      * wrap/python/Makefile.am: Remove useless definition of SPOT_API
      and BUDDY_API.
      c88e22d0
    • Alexandre Duret-Lutz's avatar
      c++11: explicitly delete copy constructors and operator=. · 9cfc9f0f
      Alexandre Duret-Lutz authored
      * src/ltlvisit/simplify.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh,
      src/tgba/bdddict.hh, src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbasgba.hh,
      src/tgba/tgbatba.hh, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc: Here.
      9cfc9f0f
    • Alexandre Duret-Lutz's avatar
      c++11: replace Sgi::hash_* by Sgi::unordered_*. · 34e91b76
      Alexandre Duret-Lutz authored
      * bench/scc-stats/stats.cc, bench/split-product/cutscc.cc,
      iface/gspn/ssp.cc, src/bin/ltlcross.cc, src/bin/ltlfilt.cc,
      src/bin/randltl.cc, src/dstarparse/nsa2tgba.cc, src/ltlast/formula.hh,
      src/ltlast/nfa.hh, src/ltlvisit/contain.hh, src/ltlvisit/dotty.cc,
      src/ltlvisit/mark.hh, src/ltlvisit/relabel.cc, src/ltlvisit/relabel.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/snf.hh, src/misc/hash.hh,
      src/misc/mspool.hh, src/priv/acccompl.hh, src/priv/accconv.hh,
      src/saba/explicitstateconjunction.hh, src/saba/sabastate.hh,
      src/sabaalgos/sabareachiter.hh, src/sanity/style.test,
      src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/taalgos/emptinessta.cc,
      src/taalgos/minimize.cc, src/taalgos/reachiter.hh, src/tgba/state.hh,
      src/tgba/taatgba.hh, src/tgba/tgbabddconcretefactory.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbatba.cc,
      src/tgba/tgbatba.hh, src/tgbaalgos/cutscc.cc, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/explscc.hh,
      src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gv04.cc,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/ndfs_result.hxx,
      src/tgbaalgos/powerset.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/safety.cc, src/tgbaalgos/scc.hh, src/tgbaalgos/se05.cc,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc: Adjust code.
      * src/sanity/style.test: Remove check.
      34e91b76
  17. 16 Dec, 2013 1 commit
  18. 26 Aug, 2013 1 commit
  19. 23 Aug, 2013 2 commits
    • Alexandre Duret-Lutz's avatar
      Introduce some masked tgba. · ce0aec60
      Alexandre Duret-Lutz authored
      * src/tgba/tgbamask.cc, src/tgba/tgbamask.hh,
      src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh: New files.
      * src/tgba/Makefile.am: Add them.
      * src/tgbatest/explicit3.cc, src/tgbatest/explicit3.test:
      New files.
      * src/tgbatest/Makefile.am: Add them.
      ce0aec60
    • Alexandre Duret-Lutz's avatar
      Introduce spot::state_set. · 68ce9980
      Alexandre Duret-Lutz authored
      * src/tgba/state.hh: Define state_set and shared_state_set.
      * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Rename the existing
      state_set (that inherits from spot::state) as set_state.
      * src/tgba/tgbakvcomplement.cc: Use shared_state_set instead
      of state_set.
      * src/tgbaalgos/minimize.cc (state_set): Rename as...
      (build_state_set): ... this.
      68ce9980