1. 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
      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
  2. 08 Jul, 2014 1 commit
  3. 07 Jul, 2014 1 commit
  4. 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
      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
    • 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.
      af8ce5df
    • Alexandre Duret-Lutz's avatar
      .gitignore: More files to ignore. · 06b3a80a
      Alexandre Duret-Lutz authored
      06b3a80a
    • 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.
      61791baf
    • 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.
      ee087b59
  5. 03 Jul, 2014 2 commits
  6. 02 Jul, 2014 2 commits
  7. 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,
      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
      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.
      c93b41a2
    • 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
    • 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
      const.
      c0b28dc9
  8. 22 Jun, 2014 1 commit
  9. 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.
      7d70229f
    • 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.
      4df4b4ef
    • 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.
      af6cb049
    • 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.
      13673a14
    • 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
      ngraph: support aliasing states · 31bf8c2c
      Alexandre Duret-Lutz authored
      * src/graph/ngraph.hh (alias_state): New method.
      * src/graphtest/ngraph.cc: Use it.
      31bf8c2c
    • 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
    • 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.
      9909699c
    • 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
      bool().
      * 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.
      9903ae2f
  10. 23 May, 2014 7 commits
  11. 20 May, 2014 4 commits
  12. 16 May, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/ltltest/equals.cc: Fix style. · 7bcf6553
      Alexandre Duret-Lutz authored
      7bcf6553
    • Alexandre Duret-Lutz's avatar
      snf: Fix the handling of bounded repetition. · 05ed3def
      Alexandre Duret-Lutz authored
      star_normal_form() used to be called under bounded
      repetitions like [*0..4], but some of these rewritings
      are only correct for [*0..].  For instance
           (a*|1)[*]      can be rewritten to    1[*]
      but  (a*|1)[*0..1]  cannot be rewritten to 1[*0..1]
      it would be correct to rewrite the latter as (a[+]|1)[*0..1],
      canceling the empty word in a*.
      
      Also (a*;b*)[*]     can be rewritten to    (a|b)[*]
      but  (a*;b*)[*0..1]  cannot be rewritten to (a|b)[*0..1]
      and it cannot either be rewritten to (a[+]|b[+])[*0..1].
      
      This patch introduces a new function to implement
      rewritings under bounded repetition.
      
      * src/ltlvisit/snf.hh, src/ltlvisit/snf.cc (star_normal_form_unbounded):
      New function.
      * src/ltlvisit/simplify.cc: Use it.
      * src/ltltest/reduccmp.test: Add tests.
      * doc/tl/tl.tex: Document the rewritings implemented.
      05ed3def