1. 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
  2. 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
  3. 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
  4. 08 Jul, 2014 1 commit
  5. 07 Jul, 2014 1 commit
  6. 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
  7. 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
  8. 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
  9. 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
  10. 27 Mar, 2014 1 commit
  11. 20 Mar, 2014 1 commit
  12. 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
  13. 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
  14. 16 Dec, 2013 1 commit
  15. 26 Aug, 2013 1 commit
  16. 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
  17. 29 Jul, 2013 5 commits
    • Alexandre Duret-Lutz's avatar
      Use the count_state() function instead of stats_reachable(). · f00d97b4
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/postproc.cc: Move the count_state() function...
      * src/priv/countstates.cc, src/priv/countstates.hh: ... in these
      new files.
      * src/priv/Makefile.am: Add them.
      * src/saba/sabacomplementtgba.cc, src/tgba/tgbakvcomplement.cc,
      src/tgbaalgos/minimize.cc: Use count_states() instead of
      stats_reachable().
      f00d97b4
    • Alexandre Duret-Lutz's avatar
      Use -fvisibility=hidden globally. · 43b3df0e
      Alexandre Duret-Lutz authored
      * configure.ac: Check for flags and fill CXXFLAGS and CFLAGS.
      * iface/dve2/dve2.hh: Mark load_dve2 for export.
      * src/eltlparse/Makefile.am, src/kripke/Makefile.am,
      src/kripkeparse/Makefile.am, src/ltlast/Makefile.am,
      src/ltlenv/Makefile.am, src/ltlparse/Makefile.am,
      src/ltlvisit/Makefile.am, src/misc/Makefile.am,
      src/neverparse/Makefile.am, src/priv/Makefile.am, src/saba/Makefile.am,
      src/sabaalgos/Makefile.am, src/ta/Makefile.am, src/taalgos/Makefile.am,
      src/tgba/Makefile.am, src/tgbaalgos/Makefile.am,
      src/tgbaalgos/gtec/Makefile.am, src/tgbaparse/Makefile.am:
      Remove $(VISIBILITY_CXXFLAGS) now that it is set globally.
      43b3df0e
    • Alexandre Duret-Lutz's avatar
      Use -fvisibility=hidden in src/tgba/. · a12922b3
      Alexandre Duret-Lutz authored
      * src/tgba/Makefile.am: Use $(VISIBILITY_CXXFLAGS).
      * src/tgba/bdddict.hh, src/tgba/bddprint.hh, src/tgba/formula2bdd.hh,
      src/tgba/futurecondcol.hh, src/tgba/state.hh, src/tgba/statebdd.hh,
      src/tgba/succiter.hh, src/tgba/succiterconcrete.hh, src/tgba/taatgba.hh,
      src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddconcreteproduct.hh,
      src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.hh,
      src/tgba/tgbaproduct.hh, src/tgba/tgbasafracomplement.hh,
      src/tgba/tgbascc.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh,
      src/tgba/tgbaunion.hh, src/tgba/wdbacomp.hh: Mark exported symbols with
      SPOT_API.
      * src/tgba/public.hh: Mark the file as deprecated.
      * src/tgbaalgos/cutscc.hh: Adjust.
      a12922b3
    • Alexandre Duret-Lutz's avatar
      Move bdd_allocator to src/priv/. · 1ed43038
      Alexandre Duret-Lutz authored
      * src/misc/bddalloc.cc, src/misc/bddalloc.hh,
      src/misc/freelist.cc, src/misc/freelist.hh: Move ...
      * src/priv/bddalloc.cc, src/priv/bddalloc.hh,
      src/priv/freelist.cc, src/priv/freelist.hh: ... here.
      * src/misc/Makefile.am, src/priv/Makefile.am: Adjust.
      * src/tgba/bdddict.cc: Adjust include.
      * src/tgbaalgos/ltl2tgba_fm.cc: Remove useless include.
      1ed43038
    • Alexandre Duret-Lutz's avatar
      Hide the only use of bdd_allocator. · 9775dfdd
      Alexandre Duret-Lutz authored
      * src/tgba/bdddict.cc, src/tgba/bdddict.hh:  Hide the bdd_allocator
      dependency in a bdd_dict_priv class that is not defined publicly.
      9775dfdd
  18. 09 Jun, 2013 2 commits
    • Alexandre Duret-Lutz's avatar
      Improve documentation here and there. · 178ba876
      Alexandre Duret-Lutz authored
      * doc/Doxyfile.in: Update to Doxygen 1.8.4
      * doc/footer.html: Point to the mailing list.
      * doc/mainpage.dox: Point to spot::translator,
      and spot::kripke.
      * src/ta/tgta.hh: Do not use \emph.
      * src/tgba/succiter.hh: Fix rendering of example.
      * src/tgba/tgba.hh: Correct documentation.
      * src/tgbaalgos/cycles.hh: Improve rendering of
      documentation.
      * src/tgbaalgos/lbtt.hh, src/tgbaalgos/minimize.hh:
      Document missing arguments.
      178ba876
    • Alexandre Duret-Lutz's avatar
      Fix verbatim blocks of Doxygen comments. · 1cd9b204
      Alexandre Duret-Lutz authored
      * src/ltlast/formula.hh, src/ltlvisit/contain.hh,
      src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh,
      src/ltlvisit/remove_x.hh, src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh,
      src/misc/minato.hh, src/misc/optionmap.hh,
      src/saba/sabacomplementtgba.hh, src/taalgos/emptinessta.hh,
      src/taalgos/minimize.hh, src/taalgos/tgba2ta.hh,
      src/tgba/tgbakvcomplement.hh, src/tgbaalgos/cycles.hh,
      src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gv04.hh, src/tgbaalgos/ltl2taa.hh,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
      src/tgbaalgos/magic.hh, src/tgbaalgos/minimize.hh,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/se05.hh,
      src/tgbaalgos/simulation.hh, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.hh: Surround verbatim blocks with /** ... */
      instead of using /// on each line.  Otherwise Doxygen will output the
      leading "///" tokens -- apparently this is a feature.
      * src/sanity/style.test: Strip multi-line comments before checking
      code style.
      1cd9b204