1. 02 May, 2012 1 commit
    • 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
  2. 20 Jan, 2010 1 commit
    • Damien Lefortier's avatar
      Minor fixes to compile with GCC 3.3 · 0d6fd322
      Damien Lefortier authored
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh: Rename nfa as
      get_nfa to avoid a name clash with the `nfa' class.
      * src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/tostring.cc, src/tgbaalgos/eltl2tgba_lacim.cc: Use
      get_nfa instead of nfa.
      * src/tgba/tgbasafracomplement.cc: Don't use a
      const_reverse_iterator.
      0d6fd322
  3. 13 Nov, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      Replace the hash key construction of LTL formulae by a simple · f2be64dd
      Alexandre Duret-Lutz authored
      counter updated each time we create a new (unique) formula.
      
      Doing so saves a lot of memory during the translation of the
      ltlcounter formulae, because the formulae are quite big and
      storing a string representation of each formula on its node was a
      bad idea.  For instance with n=12, the translation now uses 40MB
      where it used 290MB.  (Note: in both cases, 20MB is being used by
      the BDD cache.)
      
      * src/ltlast/formula.hh (hash_key_): Rename as ...
      (count_): ... this.
      (hash): Adjust.
      (max_count): New static variable to count the number of
      formulae created.
      (formula): Update max_count and set count_.
      (dump): Make it a virtual pure method.
      (set_key_): Remove.
      (formula_ptr_less_than): Speed up and return false when
      the two formula pointer are equal.
      * src/ltlast/formula.cc (set_key_, dump): Remove.
      * 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/constant.cc,
      src/ltlast/constant.hh, src/ltlast/multop.cc,
      src/ltlast/multop.hh, src/ltlast/unop.cc, src/ltlast/unop.hh:
      Empty the constructor (do not precompute the dump_ anymore),
      and add a dump() implementation.
      f2be64dd
  4. 09 Nov, 2009 3 commits
    • Alexandre Duret-Lutz's avatar
      Make it easier to debug reference counts in LTL nodes. · 631f4b5b
      Alexandre Duret-Lutz authored
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh,
      src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/multop.cc,
      src/ltlast/multop.hh, src/ltlast/unop.cc, src/ltlast/unop.hh:
      Add a dump_instance() static method to all class.
      * src/ltltest/readltl.cc: Add option -r to dump all instances
      with their reference count, after parsing and after deletion.
      631f4b5b
    • Alexandre Duret-Lutz's avatar
      Better types for instance maps. · 3488bf45
      Alexandre Duret-Lutz authored
      * src/ltlast/unop.hh (map): Use unop* as values.
      * src/ltlast/binop.hh (map): Use binop* as values.
      * src/ltlast/multop.hh (map): Use multop* as values.
      * src/ltlast/automatop.hh (paircmp): Rename as tripletcmp.
      (map): Use automaton* as values, not formula*.
      3488bf45
    • Alexandre Duret-Lutz's avatar
      Add missing instance_count() in automatop and eltl2tgba. · f2e941cd
      Alexandre Duret-Lutz authored
      * src/ltlast/automatop.hh, src/ltlast/automatop.cc: Add missing
      instance_count() functions.
      * src/tgbatests/eltl2tgba.cc: Add missing instance_count()
      assertions at the end.
      * src/tgbatests/ltl2tgba.cc: Also call automatop::instance_count(),
      even if automatop are not used in ltl2tgba yet.  This way we won't
      forget once eltl2tgba and ltl2tgba are merged.
      f2e941cd
  5. 05 Jun, 2009 1 commit
    • Damien Lefortier's avatar
      Modify the ELTL parser to be able to support PSL operators. Add a · e48338e8
      Damien Lefortier authored
      new keyword in the ELTL format: finish, which applies to an
      automaton operator and tells whether it just completed.
      
      * src/eltlparse/eltlparse.yy: Clean it. Add finish.
      * src/eltlparse/eltlscan.ll: Add finish.
      * src/formula_tree.cc, src/formula_tree.hh: New files. Define a
      small AST representing formulae where atomic props are unknown
      which is used in the ELTL parser.
      * src/ltlast/automatop.cc, ltlast/automatop.hh, ltlast/nfa.cc,
      ltlast/nfa.hh: Adjust.
      * src/ltlast/unop.cc, src/ltlast/unop.hh: Finish is an unop.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
      src/ltlvisit/tostring.cc, src/ltlvisit/tunabbrev.cc,
      src/tgba/formula2bdd.cc, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_lacim.cc: Handle finish in switches.
      * src/tgbaalgos/eltl2tgba_lacim.cc: Translate finish.
      * src/tgbatest/eltl2tgba.test: More tests.
      e48338e8
  6. 09 Apr, 2009 1 commit
    • Guillaume Sadegh's avatar
      Minor fixes to compile with GCC 4.4. · bbbc1acc
      Guillaume Sadegh authored
      2009-04-09  Guillaume SADEGH  <sadegh@lrde.epita.fr>
      
      	* src/eltlparse/eltlparse.yy (subformula): Avoid a comparaison
      	between a signed and an unsigned value.
      	* src/ltlast/automatop.hh, src/ltlast/automatop.cc (nfa): Avoid
      	a name clash with the `nfa' class.
      bbbc1acc
  7. 08 Apr, 2009 1 commit
    • Damien Lefortier's avatar
      Correct LaCIM for ELTL and make it work with LBTT. · 7643c49c
      Damien Lefortier authored
      * src/eltlparse/eltlparse.yy: Adjust.
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh,
      src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc: Clean the way we
      handle the negation of automaton operators.
      * src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh: Add an
      optional argument to output a fully parenthesized string.
      * src/tgbaalgos/eltl2tgba_lacim.cc: Fix it.
      * src/tgbatest/eltl2tgba.cc: Add a new option (-L) to read formulae
      from an LBTT-compatible file.
      * src/tgbatest/eltl2tgba.test: A new tests.
      * src/tgbatest/spotlbtt.test: Add LaCIM for ELTL.
      7643c49c
  8. 26 Mar, 2009 1 commit
    • Damien Lefortier's avatar
      Add support for ELTL (AST & parser), and an adaptation of LaCIM · 2fbcd7e5
      Damien Lefortier authored
      for ELTL.  This is a new version of the work started in 2008 with
      LTL and ELTL formulae now sharing the same class hierarchy.
      
      * configure.ac: Adjust for src/eltlparse/ and src/eltltest/
      directories, and call AX_BOOST_BASE.
      * m4/boost.m4: New file defining AX_BOOST_BASE([MINIMUM-VERSION]).
      * src/Makefile.am: Add eltlparse and eltltest.
      * src/eltlparse/: New directory.  Contains the ELTL parser.
      * src/eltltest/: New directory.  Contains tests related to
      ELTL (parser and AST).
      * src/ltlast/Makefile.am: Adjust for ELTL AST files.
      * src/ltlast/automatop.cc, src/ltlast/automatop.hh: New files.
      Represent automaton operators nodes used in ELTL ASTs.
      * src/ltlast/nfa.cc, src/ltlast/nfa.hh: New files.  Represent
      simple NFAs used internally by automatop nodes.
      * src/ltlast/allnode.hh, src/ltlast/predecl.hh,
      src/ltlast/visitor.hh: Adjust for automatop.
      * src/ltlvisit/basicreduce.cc, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/dotty.cc, src/ltlvisit/nenoform.cc,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
      src/ltlvisit/tostring.cc: Because LTL and ELTL formulae share the
      same class hierarchy, LTL visitors need to handle automatop nodes
      to compile.  When it's meaningful the visitor applies on automatop
      nodes or simply assert(0) otherwise.
      * src/tgba/tgbabddconcretefactory.cc (create_anonymous_state),
      src/tgba/tgbabddconcretefactory.hh (create_anonymous_state): New
      function used by the LaCIM translation algorithm for ELTL.
      * src/tgbaalgos/Makefile.am: Adjust for eltl2tgba_lacim* files.
      * src/tgbaalgos/eltl2tgba_lacim.cc,
      src/tgbaalgos/eltl2tgba_lacim.hh: New files.  Implementation of
      the LaCIM translation algorithm for ELTL.
      * src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc:
      Handle automatop nodes in the translation by an assert(0).
      * src/tgbatest/Makefile.am: Adjust for eltl2tgba.* files.
      * src/src/tgbatest/eltl2tgba.cc, src/tgbatest/eltl2tgba.test: New
      files
      2fbcd7e5