1. 15 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix some bdd_dict_ptr not being passed by const reference. · bf6c9067
      Alexandre Duret-Lutz authored
      * iface/dve2/dve2.cc, iface/dve2/dve2.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/ltlvisit/contain.cc, src/ltlvisit/contain.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh,
      src/tgba/bddprint.cc, src/tgba/bddprint.hh, src/tgba/formula2bdd.cc,
      src/tgba/formula2bdd.hh, src/tgba/taatgba.cc, src/tgba/taatgba.hh,
      src/tgba/tgbagraph.hh, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/translate.cc,
      src/tgbaalgos/translate.hh, src/tgbaalgos/word.cc,
      src/tgbaalgos/word.hh: Pass shared_ptr to functions by const ref.
      bf6c9067
  2. 13 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Make bdd_dict a shared pointer. · dc5ad78b
      Alexandre Duret-Lutz authored
      * src/tgba/bdddict.hh (bdd_dict_ptr): New type.
      (make_bdd_dict): New function.
      * iface/dve2/dve2.cc, iface/dve2/dve2.hh, iface/dve2/dve2check.cc,
      src/bin/dstar2tgba.cc, src/bin/ltlcross.cc,
      src/dstarparse/dstarparse.yy, src/dstarparse/public.hh,
      src/graphtest/tgbagraph.cc, src/kripke/kripkeexplicit.cc,
      src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.cc,
      src/kripkeparse/kripkeparse.yy, src/kripkeparse/public.hh,
      src/kripketest/parse_print_test.cc, src/ltlvisit/apcollect.cc,
      src/ltlvisit/contain.cc, src/ltlvisit/contain.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh,
      src/neverparse/neverclaimparse.yy, src/neverparse/public.hh,
      src/priv/accmap.hh, src/saba/saba.hh, src/saba/sabacomplementtgba.cc,
      src/saba/sabacomplementtgba.hh, src/sabatest/sabacomplementtgba.cc,
      src/ta/ta.hh, src/ta/taexplicit.cc, src/ta/taexplicit.hh,
      src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/taalgos/dotty.cc, src/tgba/bddprint.cc,
      src/tgba/bddprint.hh, src/tgba/formula2bdd.cc, src/tgba/formula2bdd.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh,
      src/tgba/tgbagraph.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/tgbaunion.cc, src/tgba/tgbaunion.hh,
      src/tgba/wdbacomp.cc, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/degen.cc,
      src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.cc,
      src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/save.cc,
      src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh,
      src/tgbaalgos/word.cc, src/tgbaalgos/word.hh, src/tgbaparse/public.hh,
      src/tgbaparse/tgbaparse.yy, src/tgbatest/complementation.cc,
      src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/maskacc.cc,
      src/tgbatest/powerset.cc, src/tgbatest/randtgba.cc,
      src/tgbatest/taatgba.cc, src/tgbatest/tgbaread.cc,
      src/tgbatest/tripprod.cc, wrap/python/ajax/spot.in,
      wrap/python/tests/alarm.py, wrap/python/tests/ltl2tgba.py,
      wrap/python/tests/parsetgba.py: Update to use bdd_dict_ptr and
      make_bdd_dict().
      dc5ad78b
  3. 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
  4. 27 Jun, 2014 1 commit
    • 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
  5. 16 May, 2014 1 commit
    • 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
  6. 13 May, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      simplify: remove an incorrect simplification rule · d741d926
      Alexandre Duret-Lutz authored
      Fortunately was only enabled with the
      ltl_simplifier_options::favor_event_univ option, which cannot yet be
      turned on from the command-line tools.
      
      * src/ltlvisit/simplify.cc, doc/tl/tl.tex: Remove the rule.
      * src/ltltest/eventuniv.test: Adjust.
      * NEWS: Mention the bug.
      d741d926
    • Alexandre Duret-Lutz's avatar
      simplify: fix 3 incorrect simplification rules · 48471b51
      Alexandre Duret-Lutz authored
      * src/ltlvisit/simplify.cc: Remove two incorrect rules, and
      partially disable another one.
      * doc/tl/tl.tex: Reflect the change.
      * src/ltltest/reduccmp.test: Likewise.
      * src/ltltest/equals.cc: Add safety checks to catch such errors in the
      future.
      * NEWS: Mention the bug.
      48471b51
  7. 12 Feb, 2014 3 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: more range-based for · e0bbc265
      Alexandre Duret-Lutz authored
      * src/ltlvisit/simplify.cc, src/tgbaalgos/replayrun.cc: Here.
      e0bbc265
    • 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
  8. 29 Sep, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Generalize implication-based simplifications for multops. · df109869
      Alexandre Duret-Lutz authored
      And also speedup implication checks for Boolean expressions.
      
      * src/ltlvisit/simplify.cc: Improve implication-based rules
      rules for multops by checking one operand against all the
      other at once (instead of one by one).  Do not break
      Boolean expressions while performing implication checks.
      * src/ltlvisit/simplify.hh: Typo.
      * src/ltltest/reduccmp.test: More tests.
      df109869
  9. 23 Sep, 2013 1 commit
  10. 29 Jul, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix interpretation of {e[*]} and !{e[*]}. · cb7bdf8c
      Alexandre Duret-Lutz authored
      This follows from a discussion with Ernesto Posse.
      
      The semantics for the {...} operator we use in Spot comes from the
      cl(...) operator defined by Dax et al. (ATVA'09).  This is slightly
      different from the the way the PSL spec interprets a SERE used in the
      context of a temporal formula (appendix B.3.1.1.2, item 7).
      
      cl({a;b}[*]) would match any infinite word that starts with a;b, while
      in PSL {a;b}[*] would match any infinite word that alternates a and b.
      
      Spot documents that {SERE} in a temporal formula is interpreted like
      cl(SERE) however it failed to ignore the empty prefix of SERE.  So
      {{a;b}[*]} would match anything, because the empty word is a prefix of
      any word, and is also accepted by {a;b}[*].  Some trivial identities
      and basic rewritings were also wrongly considering these empty
      prefixes as well.
      
      This patch therefore fixes the translation and syntactic
      simplification rules, to really ignore these empty prefixes.
      
      In some future version it should probably be wise to rename this {...}
      operator as cl(...), and use {...} for the semantics given in appendix
      B.3.1.1.2 (item 7) of the PSL specs.
      
      * src/ltlast/unop.cc: Fix trivial identities.  We have
      {[*0]} = 0 and !{[*0]} = 1.
      * src/ltlvisit/simplify.cc: Fix basic rewriting rules.
      {e[*]} = {e} and !{e[*]} = !{e}.
      * doc/tl/tl.tex: Adjust documentation.
      * doc/tl/tl.bib (dax.09.atva): New entry.
      * src/tgbaalgos/ltl2tgba_fm.cc: Do not accept any
      infinite word for {e[*]} just because the empty
      prefix is matched by e[*].
      * src/tgbatest/ltl2tgba.test: Add a test case.
      * NEWS: Mention it.
      * THANKS: Add Ernesto.
      cb7bdf8c
  11. 27 Apr, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Implement a favor_even_univ option in the rewriting rules. · 9caa9ad1
      Alexandre Duret-Lutz authored
      The set of rules enabled by favor_even_univ try to "lift" the
      subformulae that are both eventual and universal, so they appear
      higher in the AST.  This is contrary to what we used to do (and still
      do when the option is unset), were we try to postpone such subformulae
      (by moving them down the AST).  It is still a bit experimental.
      
      * src/ltlvisit/simplify.hh: Add option favor_event_univ.
      * src/ltlvisit/simplify.cc: Implement new rewriting rules.
      * doc/tl/tl.tex: Document them.
      * src/tgbatest/ltl2tgba.cc: Add option -ra to enable them.
      * src/tgbatest/spotlbtt.test: Test the translation with this option.
      * src/ltltest/reduc.cc, src/ltltest/equals.cc: Add option
      to enable the new rules.
      * src/ltltest/eventuniv.test: New file to test them.
      * src/ltltest/Makefile.am: Add it.
      9caa9ad1
  12. 04 Apr, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      fix a memory leak in basic LTL simplifications · a9fc213a
      Alexandre Duret-Lutz authored
      When something like XFa & FXa is reduced, the subformulae XFa and FXa
      are both rewritten separately to XFa, and then the vector of arguments
      of the And operators, [XFa,XFa], is passed through a specialized loop
      that searches of the form X(...) that can potentially be simplified with
      some other terms.  This loop converts the vector [XFa,XFa] into the set
      {XFa,XFa}={XFa} and forgot to deal with the case where the insertion
      would actually not add an existing subformula.
      
      * src/ltlvisit/simplify.cc: Fix the code for Or, and And.
      * src/ltltest/reduc0.test: New file, to test it.
      * src/ltltest/Makefile.am (TESTS): Add it.
      * src/ltltest/reduccmp.test: Add an extra test that does not
      trigger the bug (because reduccmp.test uses more than basic
      optimizations, and the implication-based simplifications are
      already able to detect that XFa and FXa are equivalent).
      a9fc213a
  13. 05 Mar, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      ltl_simplifier: add a boolean_to_isop option and method · c6406995
      Alexandre Duret-Lutz authored
      * src/ltlvisit/simplify.hh (ltl_simplifier_options): add
      a boolean_to_isop option
      (ltl_simplifier::boolean_to_isop): New method.
      * src/ltlvisit/simplify.cc: Implement these.
      * src/bin/ltlfilt.cc: Add a --boolean-to-isop option.
      * src/ltltest/isop.test: New file.
      * src/ltltest/Makefile.am: Add it.
      * NEWS: Mention it.
      c6406995
  14. 11 Jan, 2013 1 commit
  15. 24 Dec, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Address several issues reported by cppcheck all over the place. · a577850e
      Alexandre Duret-Lutz authored
      * src/bin/common_finput.cc, src/tgbaalgos/lbtt.cc: Use !empty() instead
      of size() > 0.
      * src/bin/ltl2tgta.cc, src/kripke/kripkeexplicit.cc,
      src/tgbatest/complementation.cc: Avoid useless assignments.
      * src/bin/ltlcross.cc: Correct mistaken assignment inside assert().
      * src/evtgba/symbol.hh, src/tgba/tgbabddcoredata.cc,
      src/tgba/tgbabddcoredata.hh,
      src/tgba/tgbasafracomplement.cc (operator=): Do not return a const
      reference.
      * src/evtgbatest/ltl2evtgba.cc, src/evtgbatest/product.cc,
      src/evtgbatest/product.cc: Check indices before using them, not after.
      * src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/tgbatest/randtgba.cc: Pass constant strings by reference.
      * src/kripke/kripkeprint.cc, src/tgbaalgos/simulation.cc:
      Remove a useless operation.
      * src/ltlvisit/simplify.cc: Remove a duplicate condition.
      * src/misc/formater.hh: Remove unused attribute.
      * src/misc/modgray.cc: Initialize done_ in the constructor.
      * src/saba/explicitstateconjunction.cc,
      src/saba/explicitstateconjunction.hh (operator=): Fix prototype.
      * src/saba/sabacomplementtgba.cc: Remove unused default constructor.
      * src/ta/taexplicit.cc, src/ta/taproduct.cc, src/ta/tgtaproduct.cc,
      src/ta/tgtaproduct.hh, src/taalgos/emptinessta.cc,
      src/taalgos/minimize.cc, src/taalgos/reachiter.cc,
      src/taalgos/tgba2ta.cc, src/tgbaalgos/cutscc.cc: Use C++ casts, and
      ++it instead of it++.
      * src/taalgos/dotty.cc, src/tgbatest/ltl2tgba.cc: Refine the scope of
      variables.
      * src/tgba/tgbakvcomplement.hh (bdd_order): Always initialize bdd_.
      * src/tgba/tgbasgba.cc, src/tgba/wdbacomp.cc: Use the initialization
      line to initialize all members.
      a577850e
  16. 14 Oct, 2012 1 commit
  17. 12 Oct, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Upgrade GPL v2+ to GPL v3+. · 1551c5d9
      Alexandre Duret-Lutz authored
      * NEWS: Mention this.
      * COPYING: Replace by GPL v3.
      * src/sanity/style.test: Check files with the wrong license,
      in case we forgot to update it during a merge.
      * Makefile.am, bench/Makefile.am, bench/emptchk/Makefile.am,
      bench/emptchk/defs.in, bench/emptchk/ltl-human.sh,
      bench/emptchk/ltl-random.sh, bench/emptchk/pml-clserv.sh,
      bench/emptchk/pml-eeaean.sh, bench/emptchk/pml2tgba.pl,
      bench/ltl2tgba/big, bench/ltl2tgba/defs.in, bench/ltl2tgba/known,
      bench/ltl2tgba/lbtt2csv.pl, bench/ltl2tgba/ltl2baw.in,
      bench/ltl2tgba/parseout.pl, bench/ltl2tgba/small,
      bench/ltlclasses/Makefile.am, bench/ltlclasses/defs.in,
      bench/ltlclasses/run, bench/ltlcounter/Makefile.am,
      bench/ltlcounter/defs.in, bench/ltlcounter/run,
      bench/scc-stats/Makefile.am, bench/scc-stats/stats.cc,
      bench/split-product/Makefile.am, bench/split-product/cutscc.cc,
      bench/split-product/pml2tgba.pl, bench/wdba/Makefile.am,
      bench/wdba/defs.in, bench/wdba/run, configure.ac, doc/Makefile.am,
      doc/dot.in, doc/tl/Makefile.am, ifac...
      1551c5d9
  18. 24 Sep, 2012 2 commits
  19. 07 Sep, 2012 2 commits
  20. 19 Jun, 2012 2 commits
  21. 21 May, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Clear the contaiment cache after -r7. · 72f36c50
      Alexandre Duret-Lutz authored
      Doing so will release all BDD variables used by automata created for
      syntactic implication.  This way the main translation will create
      acceptance variables again in a more natural order, which will help
      the degeneralization (until we get a better degeneralization).
      
      * src/ltlvisit/contain.cc, src/ltlvisit/contain.hh
      (language_containment_checker::clear): New method to clear the
      containment cache.
      * src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh
      (clear_as_bdd_cache): Also call language_containment_checker::clear.
      72f36c50
  22. 20 May, 2012 3 commits
  23. 12 May, 2012 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix translation of !{r}. · e2f70e72
      Alexandre Duret-Lutz authored
      We need a marked version of !{r} to perform breakpoint unroling.
      
      * src/ltlast/unop.cc, src/ltlast/unop.hh: Declare a NegClosureMarked
      operator.
      * src/ltlvisit/mark.hh, src/ltlvisit/mark.cc,
      src/tgbaalgos/ltl2tgba_fm.cc: Adjust to deal with NegClosureMarked
      and NegClosure as apropriate.
      * src/ltlvisit/simplify.cc, src/ltlvisit/tostring.cc,
      src/ltlvisit/tunabbrev.cc, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_lacim.cc,
      src/tgba/formula2bdd.cc: Deal with NegClosureMarked in the same way as
      we deal with NegClosure.
      * src/tgbatest/ltl2tgba.test: More tests.
      * src/ltltest/kind.test: Adjust.
      * doc/tl/tl.tex: Mention the marked negated closure.
      e2f70e72
  24. 07 May, 2012 1 commit
  25. 03 May, 2012 1 commit
  26. 02 May, 2012 2 commits
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      Use 'const formula*' instead of 'formula*' everywhere. · bf62d439
      Alexandre Duret-Lutz authored
      The distinction makes no sense since Spot 0.5, where we switched from
      mutable furmulae to immutable formulae.  The difference between
      const_visitor and visitor made no sense either.  They have been merged
      into one: visitor.
      
      * iface/dve2/dve2check.cc, iface/gspn/ltlgspn.cc,
      src/eltlparse/eltlparse.yy, src/eltlparse/public.hh,
      src/evtgbatest/ltl2evtgba.cc, src/kripkeparse/kripkeparse.yy,
      src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
      src/ltlast/automatop.cc, src/ltlast/automatop.hh, src/ltlast/binop.cc,
      src/ltlast/binop.hh, src/ltlast/bunop.cc, src/ltlast/bunop.hh,
      src/ltlast/constant.cc, src/ltlast/constant.hh, src/ltlast/formula.cc,
      src/ltlast/formula.hh, src/ltlast/formula_tree.cc,
      src/ltlast/formula_tree.hh, src/ltlast/multop.cc,
      src/ltlast/multop.hh, src/ltlast/predecl.hh, src/ltlast/refformula.cc,
      src/ltlast/refformula.hh, src/ltlast/unop.cc, src/ltlast/unop.hh,
      src/ltlast/visitor.hh, src/ltlenv/declenv.cc, src/ltlenv/declenv.hh,
      src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/ltlparse/ltlfile.cc,
      src/ltlparse/ltlfile.hh, src/ltlparse/ltlparse.yy,
      src/ltlparse/public.hh, src/ltltest/consterm.cc,
      src/ltltest/equals.cc, src/ltltest/genltl.cc, src/ltltest/kind.cc,
      src/ltltest/length.cc, src/ltltest/randltl.cc, src/ltltest/readltl.cc,
      src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
      src/ltltest/tostring.cc, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/contain.hh, src/ltlvisit/dotty.cc,
      src/ltlvisit/length.cc, src/ltlvisit/lunabbrev.cc,
      src/ltlvisit/lunabbrev.hh, src/ltlvisit/mark.cc, src/ltlvisit/mark.hh,
      src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh,
      src/ltlvisit/reduce.cc, src/ltlvisit/reduce.hh,
      src/ltlvisit/simpfg.cc, src/ltlvisit/simpfg.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh,
      src/ltlvisit/snf.cc, src/ltlvisit/snf.hh, src/ltlvisit/tostring.cc,
      src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
      src/ltlvisit/wmunabbrev.cc, src/ltlvisit/wmunabbrev.hh,
      src/neverparse/neverclaimparse.yy, src/sabatest/sabacomplementtgba.cc,
      src/tgba/bdddict.cc, src/tgba/formula2bdd.cc, src/tgba/taatgba.cc,
      src/tgba/taatgba.hh, src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/minimize.cc,
      src/tgbaalgos/randomgraph.cc, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/complementation.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
      src/tgbatest/randtgba.cc: Massive adjustment!
      * src/tgbatest/reductgba.cc: Delete.
      bf62d439
  27. 30 Apr, 2012 2 commits
  28. 28 Apr, 2012 3 commits