1. 26 Jun, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * doc/Makefile.am (doc): Typo. · 483507f1
      Alexandre Duret-Lutz authored
      * src/ltlvisit/tostring.hh (to_string): Add doxygen comments.
      * src/ltlast/multop.hh (multop::paircmp): Add doxygen comments.
      * src/ltlvisit/postfix.hh: Typo.
    • Alexandre Duret-Lutz's avatar
      * src/ltlast/Makefile.am (ltlastdir, ltlast_HEADERS): New variables. · 05f72410
      Alexandre Duret-Lutz authored
      (libltlast_la_SOURCES): Move all headers to ltlast_HEADERS.
      * src/ltlenv/Makefile.am (ltlenvdir, ltlenv_HEADERS): New variables.
      (libltlenv_la_SOURCES): Move all headers to ltlenv_HEADERS.
      * src/ltlparse/Makefile.am (ltlparsedir, ltlparse_HEADERS): New
      (libltlparse_la_SOURCES): Move all public headers to ltlparse_HEADERS.
      * src/ltlvisit/Makefile.am (ltlvisitdir, ltlvisit_HEADERS): New
      (libltlvisit_la_SOURCES): Move all headers to ltlparse_HEADERS.
      * src/misc/Makefile.am (include_HEADERS): Rename as ..
      (misc_HEADERS): ... this.
      (miscdir): New variable.
      * src/tgba/Makefile.am (tgbadir, tgba_HEADERS): New variables.
      (libtgba_la_SOURCES): Move all headers to tgba_HEADERS.
      * src/tgbaalgos/Makefile.am (tgbaalgosdir, tgbaalgos_HEADERS):
      New variables.
      (libtgbaalgos_la_SOURCES): Move all headers to tgbaalgos_HEADERS.
      * src/tgbaparse/Makefile.am (tgbaparsedir, tgbaparse_HEADERS): New
      (libtgbaparse_la_SOURCES): Move all public headers to
      * src/tgbaparse/public.hh: Include ltlparse/location.hh, not
  2. 23 May, 2003 1 commit
  3. 16 May, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Check trivial multop equality at build time. The makes the · 1cdfea31
      Alexandre Duret-Lutz authored
      equal visitor useless, since two equals formulae will now
      share the same address.
      * src/ltlast/multop.hh (add_sorted): New function.
      (paircmp): New comparison functor.
      (map): Use paircmp, we want to compare the vectors' contents,
      not their addresses.
      * src/ltlast/multop.cc (add_sorted): New function.
      (add): Use it.
      * src/ltltest/equals.cc, src/ltltest/tostring.cc: Compare
      pointers instead of calling equal.
      * src/ltlvisit/equals.cc, src/ltlvisit/equals.hh: Delete.
      * src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES): Remove
      equals.cc and equals.hh.
      * wrap/spot.i: Do not include equals.hh.
  4. 15 May, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      Implements spot::ltl::destroy() and exercise it. · 9123e56f
      Alexandre Duret-Lutz authored
      * src/ltlast/atomic_prop.hh: Declare instance_count().
      * src/ltlast/binop.hh, src/ltlast/unop.hh, src/ltlast/multop.hh:
      Likewise.  Also, really inherit for ref_formula this time.
      * src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
      src/ltlast/unop.cc, src/ltlast/multop.cc: On destruction, suppress
      the instance from the instance map.  Implement instance_count().
      * src/ltlast/formula.cc, src/ltlast/formula.hh,
      src/ltlast/ref_formula.cc, src/ltlast/ref_formula.hh: Add virtual
      * src/ltlparse/ltlparse.yy: Recover from binary operators with
      missing right hand operand (the point is just to destroy the
      the left hand operand).
      * src/ltltest/equals.cc, src/ltltest/readltl.cc,
      src/ltltest/tostring.cc: Destroy used formulae.  Make sure
      instance_count()s are null are the end.
      * src/ltltest/parseerr.test: Adjust expected result, now
      that the parser lnows about missing right hand operands.
      * src/ltlvisit/destroy.hh, src/ltlvisit/destroy.cc,
      src/ltlvisit/postfix.hh, src/ltlvisit/postfix.cc: New files.
      * src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES): Add them.
      * src/ltlvisit/lunabbrev.cc (Xor, Equiv): Clone formulae
      occurring twice in the rewritten expression.
    • Alexandre Duret-Lutz's avatar
      Massage the AST so that identical sub-formula share the same · 5f6d8b62
      Alexandre Duret-Lutz authored
      reference-counted formula*.  One can't call constructors for AST
      items anymore, everything need to be acquired through instance()
      class methods.
      * src/ltlast/formula.cc, src/ltlast/refformula.cc,
      src/ltlast/refformula.hh: New files.
      * src/ltlast/Makefile.am (libltlast_la_SOURCES): Add them.
      * src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
      src/ltlast/unop.cc, src/ltlast/unop.hh,
      src/ltlast/binop.cc, src/ltlast/binop.hh: Make the constructor
      and destructor protected.  Define a static function `instance()'
      to get an instance with specific argument.  Use a map called
      `instances' to store all known instances.  Inherit from
      * src/ltlast/constant.hh, src/ltlast/constant.cc: Protect
      the constructor and destructor.  Provide the false_instance()
      and true_instance() functions instead.
      * src/formula.hh (ref, unref, ref_, unref_): New methods.
      * src/ltlast/multop.cc, src/ltlast/multop.hh: Protect
      the constructor, destructor, as well as the add() method.
      Provides the instance(), and add() class methods instead.
      Store children_ as a pointer.
      * src/ltlenv/defaultenv.cc (require): Adjust to
      call atomic_prop::instance.
      * src/ltlparse/ltlparse.yy: Adjust to call instance() functions
      instead of constructors.
      * src/ltltest/Makefile.am (LDADD): Tweak library ordering.
      * src/ltlvisit/clone.hh (clone_visitor): Inherit from visitor,
      not const_visitor, and adjust all prototypes appropriately.
      * src/ltlvisit/clone.cc (clone_visitor): Likewise.
      Call ref() or instance() methods instead of copy constructors.
      * src/ltlvisit/equals.cc: Simplify atomic_prop and constant
      * src/ltlvisit/lunabbrev.hh, src/ltlvisit/lunabbrev.cc,
      src/ltlvisit/tunabbrev.hh, src/ltlvisit/tunabbrev.cc,
      src/ltlvisit/nenoform.hh, src/ltlvisit/nenoform.cc: Use instance()
      methods instead of constructor.  Make these children of visitor, not
      * src/ltltest/readltl.c (main): Do not delete the formula.
  5. 30 Apr, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/ltlvisit/Makefile.am (lib_LTLIBRARIES): Rename as ... · 4e965abe
      Alexandre Duret-Lutz authored
      (noinst_LTLIBRARIES): ... this.
      * src/ltlenv/Makefile.am, src/ltlast/Makefile.am,
      src/ltlparse/Makefile.am: Likewise.
      * src/Makefile.am (lib_LTLIBRARIES, libspot_la_SOURCES,
      libspot_la_LIBADD): New variable.   Build a libspot.la library
      from all the sub-libraries.
    • Alexandre Duret-Lutz's avatar
      * m4/pypath.m4: New file. · e2c42a9f
      Alexandre Duret-Lutz authored
      * Makefile.am (SUBDIRS): Add wrap.
      * wrap/Makefile.am: New file.
      * wrap/spot.i: New file.  Preliminary bindings for Python.
      * configure.ac: Call adl_CHECK_PYTHON and output wrap/Makefile.
  6. 29 Apr, 2003 1 commit
  7. 18 Apr, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/ltlparse/Makefile.am (EXTRA_DIST): Distribute ltlparse.yy. · fc9f8965
      Alexandre Duret-Lutz authored
      * src/ltlast/Makefile.am (libltlast_a_SOURCES): Add visitor.hh.
    • Alexandre Duret-Lutz's avatar
      * src/ltlast/atomic_prop.hh, src/ltlast/binop.hh, · d35817cc
      Alexandre Duret-Lutz authored
      src/ltlast/constant.hh, src/ltlast/formula.hh,
      src/ltlast/multop.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh,
      src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
      src/ltlparse/public.hh, src/ltlvisit/clone.hh,
      src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh,
      src/ltlvisit/equals.hh, src/ltlvisit/lunabbrev.hh,
      src/ltlvisit/nenoform.hh, src/ltlvisit/tunabbrev.hh: Add
      Doxygen comments.
      * src/visitor.hh: Do not use const_sel.  This clarify
      the code and helps Doxygen.
  8. 17 Apr, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/ltlenv/environment.hh (require): Return a formula, not · 2a0f8837
      Alexandre Duret-Lutz authored
      an atomic_prop.
      * src/ltlast/atomic_prop.hh (atomic_prop): New argument env.
      (environment_): New member.
      (env): New method.
      * src/ltlast/atomic_prop.cc (atomic_prop, env): Likewise.
      * src/ltlenv/defaultenv.cc (require): Pass *this as the
      environment argument to atomic_prop.
      * src/ltlvisit/clone.cc (visit(const atomic_prop*)): Also copy
      the environment.
      * src/ltlvisit/nenoform.cc (visit(const atomic_prop*)): Likewise.
  9. 16 Apr, 2003 3 commits
    • Alexandre Duret-Lutz's avatar
      * src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh: New files. · 526012a7
      Alexandre Duret-Lutz authored
      * src/ltlvisit/Makefile.am (libltlvisit_a_SOURCES): Add them.
      * src/ltlast/multop.cc (multop::multop(type)): New constructor.
      * src/ltlast/multop.hh (multop::multop(type)): New constructor.
      * src/ltltest/lunabbrev.test: New file.
      * src/ltltest/Makefile.am (TESTS): Add lunabbrev.test.
      (check_PROGRAMS): Add lunabbrev.
      (lunabbrev_SOURCES, lunabbrev_CPPFLAGS): New variables.
      * src/ltltest/equals.cc (main) [LUNABBREV]: Call unabbreviate_logic.
    • Alexandre Duret-Lutz's avatar
      * src/ltlast/formulae.hh: Rename as ... · ef2d6323
      Alexandre Duret-Lutz authored
      * src/ltlast/formula.hh: ... this.
      * src/ltlast/Makefile.am (libltlast_a_SOURCES): Adjust.
      * src/ltlast/formula.hh (formulae): Rename as ...
      (formula): ... this.
      Adjust all uses.
    • Alexandre Duret-Lutz's avatar
      * src/ltlast/multop.cc (multop::multop): Use multop::add. · eec66e6d
      Alexandre Duret-Lutz authored
      (multop::add): If the formulae we add is itself a multop for the
      same operator, merge its children with ours.
      * src/ltltest/parseerr.test: Add two tests for multop merging.
  10. 15 Apr, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/ltlast/formulae.hh (formulae::equals): Remove. · dfc82ee3
      Alexandre Duret-Lutz authored
      * src/ltlast/unop.hh (unop::equals): Remove.
      * src/ltlast/unop.cc (unop::equals): Remove.
      * src/ltlast/binop.hh (binop::equals): Remove.
      * src/ltlast/binop.cc (binop::equals): Remove.
      * src/ltlast/multop.hh (multop::equals): Remove.
      * src/ltlast/multop.cc (multop::equals): Remove.
      * src/ltlast/atomic_prop.hh (atomic_prop::equals): Remove.
      * src/ltlast/atomic_prop.cc (atomic_prop::equals): Remove.
      * src/ltlast/constant.hh (constant::equals): Remove.
      * src/ltlast/constant.cc (constant::equals): Remove.
    • Alexandre Duret-Lutz's avatar
      * HACKING, Makefile.am, configure.ac, m4/gccwarn.m4, · f0a8d0ae
      Alexandre Duret-Lutz authored
      src/Makefile.am, src/ltlast/Makefile.am, src/ltlast/allnodes.hh,
      src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
      src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc,
      src/ltlast/constant.hh, src/ltlast/formulae.hh,
      src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/predecl.hh,
      src/ltlast/unop.cc, src/ltlast/unop.hh, src/ltlast/visitor.hh,
      src/ltlparse/Makefile.am, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/ltlvisit/Makefile.am,
      src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh,
      src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
      src/ltlvisit/rewrite.cc, src/ltlvisit/rewrite.hh,
      src/ltltest/Makefile.am, src/ltltest/defs.in, src/ltltest/readltl.cc,
      src/ltltest/parse.test, src/ltltest/parseerr.test,
      src/misc/Makefile.am, src/misc/const_sel.hh: New files.