1. 23 Oct, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Merge emptiness-checks tests into ltl2tgba. · 65f84e2c
      Alexandre Duret-Lutz authored
      * src/tgbatest/Makefile (check_PRORGRAMS): Remove
      emptinesscheck and ltlmagic.
      (emptinesscheck_SOURCES, ltlmagic_SOURCES): Remove.
      (TESTS): Replace emptinesscheck.test and ltlmagic.test by
      emptchk.test.
      * src/tgbatest/emptinesscheck.test, src/tgbatest/ltlmagic.test:
      Delete.
      * src/tgbatest/emptchk.test: New file.
      * src/tgbatest/emptinesscheck.cc, src/tgbatest/ltlmagic.cc:
      Delete.
      * src/tgbatest/ltl2tgba.cc: Add support for -e, -E, -m, -M, and -n.
      65f84e2c
  2. 07 Oct, 2003 1 commit
    • rebiha's avatar
      * iface/gspn/ltlgspn.cc: We call tgba_emptiness_check before · 6920a1c3
      rebiha authored
      counter_example. And we print the prefix and the periode of
      counter_example's result.
      
      * src/tgbatest/emptinesscheckexplicit.cc (main):
      We call tgba_emptiness_check before counter_example.
      * src/tgbatest/emptinesscheck.cc (main):
      We call tgba_emptiness_check before counter_example.
      
      * src/tgbaalgos/emptinesscheck.hh (spot):
      (spot::print_result): New methode to print the prefix and the
      periode of counter_example's result.
      
      * src/tgbaalgos/emptinesscheck.cc (spot): counter_example doesn't
      call tgba_emptiness_check. counter_example must be executed after
      calling tgba_emptiness_check.  Remove tgba_emptiness_check calls.
      (print_result): New methode to print the prefix and the
      periode of counter_example's result.  Remove most of all std::cout
      during execution of emptiness_check's methodes.
      6920a1c3
  3. 25 Sep, 2003 1 commit
    • rebiha's avatar
      * src/tgbatest/emptinesscheckexplicit.test (acc): New file. · 7f3c1131
      rebiha authored
      * src/tgbatest/emptinesscheckexplicit.cc (main): New file.
      
      * src/tgbatest/emptinesscheck.test: New file.
      
      * src/tgbatest/emptinesscheck.cc (main): New file.
      
      * src/tgbaalgos/emptinesscheck.cc (spot): New method.
      
      * src/tgbaalgos/emptinesscheck.hh: New interface.
      7f3c1131
  4. 22 Sep, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh: Rename as ... · 83565fb6
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/ltl2tgba_lacim.hh:
      ... this, and rename ltl_to_tgba() as ltl_to_tgba_lacim as well.
      * iface/gspn/ltlgspn.cc, src/tgbatest/explprod.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlmagic.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
      src/tgbatest/tripprod.cc, wrap/python/spot.i,
      wrap/python/cgi/ltl2tgba.in, wrap/python/tests/interdep.py,
      wrap/python/tests/ltl2tgba.py: Adjust.
      83565fb6
  5. 29 Aug, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbaexplicit.cc (tgba_explicit::all_accepting_conditions) · 6da1f356
      Alexandre Duret-Lutz authored
      Compute all_accepting_conditions_ from neg_accepting_conditions_,
      not by browsing the dictionary.  The dictionary also contains
      accepting conditions from other automata...  This bug was a
      consequence of the change from 2003-07-14.
      * src/tgbaalgos/save.cc (save_bfs::start()): Likewise, do not
      browse the dictionary to print accepting conditions.  Call
      ->all_accepting_conditions() instead.
      * src/tgba/tgbaproduct.cc (tgba_product::tgba_product): Typo
      from 2003-08-22 in the computation of all_accepting_conditions_.
      * src/tgbatest/explpro3.test: New file.
      * src/tgbatest/Makefile.am (TESTS): Add explpro3.test.
      * src/tgbatest/explprod.test, src/tgbatest/explpro2.test,
       src/tgbatest/tripprod.test: Sort the output using Perl.
      6da1f356
  6. 22 Aug, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix computation of product acceptance conditions, when the · 7db71d9a
      Alexandre Duret-Lutz authored
      two operands share some acceptance conditions.
      * src/tgba/tgbaproduct.hh (tgba_product::left_acc_complement_,
      tgba_product::right_acc_complement_): New attribute.
      * src/tgba/tgbaproduct.cc (tgba_product::tgba_product): Set them.
      (tgba_product::succ_iter): Use them.
      * src/tgba/explpro2.test: New file.
      * src/tgba/Makefile.am (TESTS): Add it.
      7db71d9a
  7. 15 Aug, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      This implements Couvreur's FM'99 ltl2tgba translation. · 2b9f1720
      Alexandre Duret-Lutz authored
      * src/tgba/bdddict.cc (bdd_dict::is_registered): Split as ...
      (bdd_dict::is_registered_proposition, bdd_dict::is_registered_state,
      bdd_dict::is_registered_accepting_variable): ... these.
      * src/tgba/bdddict.hh: Likewise.
      * src/tgba/tgbaexplicit.cc (tgba_explicit::set_init_state): New method.
      (tgba_explicit::declare_accepting_condition): Arrange so that this
      function can be called during the construction of the automaton.
      (tgba_explicit::complement_all_accepting_conditions): New method.
      (tgba_explicit::has_accepting_condition): Adjust to call
      bdd_dict::is_registered_accepting_variable.
      * src/tgba/tgbaexplicit.hh (tgba_explicit::set_init_state,
      tgba_explicit::complement_all_accepting_conditions): New methods.
      * src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh:
      New files.
      * src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
      libtgbaalgos_la_SOURCES): Add them.
      * src/tgbaalgos/ltl2tgba.hh: Add bibtex entry in comment.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Remove spotlbtt
      and tbalbtt.
      (tbalbtt_SOURCES, tbalbtt_CXXFLAGS, spotlbtt_SOURCES): Remove.
      * src/tgbatest/spotlbtt.cc: Delete, superseded by "ltl2tgba -F -t".
      * src/tgbatest/ltl2tgba.cc: Implement the -f and -F options.
      * src/tgbatest/spotlbtt.test: Use "ltl2tgba -F -t" instead of
      "spotlbtt", "ltl2tgba -F -t -D" instead of "tbalbtt", and add
      also check the ltl2tgba_fm translator.
      * wrap/python/spot.i: Wrap ltl2tgba_fm.
      * wrap/python/cgi/ltl2tgba.in: Add radio buttons to select
      between ltl2tgba and ltl2tgba_fm.
      * wrap/python/tests/ltl2tgba.py: Add support for the -f option.
      * wrap/python/tests/ltl2tgba.test: Try the -f option.
      2b9f1720
  8. 10 Aug, 2003 1 commit
  9. 29 Jul, 2003 2 commits
  10. 28 Jul, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbatba.hh, src/tgba/tgbatba.cc · 860d085b
      Alexandre Duret-Lutz authored
      (tgba_tba_proxy::state_is_accepting): New method.
      * src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc: New files.
      * src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES,
      tgbaalgos_HEADERS): Add them.
      * src/tgbatest/ltlmagic.cc, src/tgbatest/ltlmagic.test: New files.
      * src/tgbatest/Makefile.am (TESTS, ltlmagic_SOURCES,
      check_PROGRAMS): Add them.
      860d085b
  11. 25 Jul, 2003 2 commits
  12. 15 Jul, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Homogenize passing of automata as pointers, not references. · 66b1630c
      Alexandre Duret-Lutz authored
      Disallow copy for security.
      
      * src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete): Disallow copy.
      * src/tgba/tgbaexplicit.hh (tgba_explicit): Likewise.
      * src/tgba/tgbaexplicit.cc (tgba_explicit::operator=,
      tgba_explicit::tgba_explicit(tgba_explicit)): Remove.
      * src/tgba/tgbabddconcreteproduct.cc
      (tgba_bdd_concrete_product_factory::tgba_bdd_concrete_product_factory,
      product): Take operand automata as pointers.
      * src/tgba/tgbabddconcreteproduct.hh (product): Likewise.
      * src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh:
      (tgba_product): Disallow copy.
      (tgba_product::tgba_product): Take operand automata as pointers.
      * src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty_reachable):
      Take tgba arguments as pointer.
      * src/tgbaalgos/dotty.hh (dotty_reachable): Likewise.
      * src/tgbaalgos/lbtt.cc (fill_todo, lbtt_reachable): Likewise.
      * src/tgbaalgos/lbtt.hh (lbtt_reachable): Likewise.
      * src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh (ltl_to_tgba):
      Likewise.
      * src/tgbaalgos/save.cc (save_rec, tgba_save_reachable): Likewise.
      * src/tgbaalgos/save.hh (save): Likewise.
      * src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
      src/tgbatest/mixprod.cc, src/tgbatest/readsave.cc,
      src/tgbatest/spotlbtt.cc, src/tgbatest/tgbaread.cc,
      src/tgbatest/tripprod.cc: Likewise.
      66b1630c
  13. 14 Jul, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Before this change, all automata would construct their own · cab3be97
      Alexandre Duret-Lutz authored
      dictionaries (map of BDD variables to LTL formulae).  This was
      cumbersome, because to multiply two automata we had to build a
      common dictionary (the union of the two LTL formula spaces), and
      install wrappers to translate each automaton's BDD answers into
      the common dictionary.  This translation, that had to be repeated
      when several products were nested, was time consuming and was a
      hindrance for some optimizations.
      In the new scheme, all automata involved in a product must
      share the same dictionary.  An empty dictionary should be
      constructed by the user and passed to the automaton' constructors
      as necessary.
      This huge change removes most code than it adds.
      
      * src/Makefile.am (libspot_la_LIBADD): Add misc/libmisc.la.
      * src/misc/bddalloc.hh, src/misc/bddalloc.cc: New files.  These
      partly replace src/tgba/bddfactory.hh and src/tgba/bddfactory.cc.
      * src/misc/Makefile.am: Adjust to build bddalloc.hh and bddalloc.cc.
      * src/tgba/bddfactory.hh, src/tgba/bddfactory.cc,
      src/tgba/dictunion.hh, src/tgba/dictunion.cc,
      src/tgba/tgbabdddict.hh, src/tgba/tgbabdddict.cc,
      src/tgba/tgbabddtranslatefactory.hh,
      src/tgba/tgbabddtranslatefactory.cc,
      src/tgba/tgbatranslateproxy.hh, src/tgba/tgbatranslateproxy.cc:
      Delete.
      * src/tgba/bdddict.hh, src/tgba/bdddict.cc: New files.  These
      replaces tgbabdddict.hh and tgbabdddict.cc, and also part of
      bddfactory.hh and bddfactory.cc.
      * src/tgba/bddprint.cc, src/tgba/bddprint.hh: Adjust to
      use bdd_dict* instead of tgba_bdd_dict&.
      * src/tgba/succiterconcrete.cc (succ_iter_concrete::next()):
      Get next_to_now from the dictionary.
      * src/tgba/tgba.hh (tgba::get_dict): Return a bdd_dict*,
      not a const tgba_bdd_dict*.
      * src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh:
      Adjust to use the new dictionary, stored in data_.
      * src/tgba/tgbabddconcretefactory.cc,
      src/tgba/tgbabddconcretefactory.hh: Likewise.  Plus
      now_to_next_ is now also stored in the dictionary.
      * src/tgba/tgbabddconcreteproduct.cc: Likewise.  Now
      that both operand share the same product, there is not
      point in using tgba_bdd_translate_factory.
      * src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh:
      Store a bdd_dict (taken as constructor argument).
      (tgba_bdd_core_data::~tgba_bdd_core_data): Remove.
      (tgba_bdd_core_data::translate): Remove.
      (tgba_bdd_core_data::next_to_now): Remove (now in dict).
      (tgba_bdd_core_data::dict): New pointer.
      * src/tgba/tgbabddfactory.hh: (tgba_bdd_factory::get_dict): Remove.
      * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh:
      Adjust to use the new dictionary.
      * src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: Likewise.  Do
      not use tgba_bdd_dict_union and tgba_bdd_translate_proxy anymore.
      * src/tgbaalgos/lbtt.cc, src/tgbaalgos/save.cc: Adjust to
      use bdd_dict* instead of tgba_bdd_dict&.
      * src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.cc: Likewise.
      (ltl_to_tgba): Take a dict argument.
      * src/tgbaparse/public.hh (tgba_parse): Take a dict argument.
      * src/tgbaparse/tgbaparse.yy (tgba_parse): Take a dict argument.
      * src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/mixprod.cc,
      src/tgbatest/readsave.cc, src/tgbatest/spotlbtt.cc,
      src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc: Instantiate
      a dictionary, and pass it to the automata' constructors.
      * src/tgbatest/ltl2tgba.cc: Likewise, and remove the -o (defrag)
      option.
      * iface/gspn/gspn.hh (tgba_gspn::tgba_gspn): Take a bdd_dict argument.
      (tgba_gspn::get_dict): Adjust return type.
      * iface/gspn/gspn.cc: Do not use bdd_factory, adjust to
      use the new dictionary instead.
      cab3be97
  14. 10 Jul, 2003 1 commit
  15. 09 Jul, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * lbtt/: New directory. Contains a patched version of lbtt 1.0.1. · 79bed658
      Alexandre Duret-Lutz authored
      * Makefile.am (MAYBE_LBTT): New variables.
      (SUBDIRS): Add $(MAYBE_LBTT).
      (EXTRA_DIST): Add m4/lbtt.m4.
      * configure.ac: Call AX_CHECK_LBTT.
      * m4/lbtt.m4: New file.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add spotlbtt.
      (spotlbtt_SOURCES): New variables.
      (TESTS): Add spotlbtt.test.
      (CLEANFILE): Add config.
      * src/tgbatest/defs.in (top_builddir, LBTT, LBTT_TRANSLATE): New
      substitutions.
      * src/tgbatest/spotlbtt.cc, src/tgbatest/spotlbtt.test: New files.
      79bed658
  16. 08 Jul, 2003 1 commit
  17. 26 Jun, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgba/ltl2tgba.hh, src/tgba/ltl2tgba.cc: Move ... · 7fdd7861
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/ltl2tgba.hh, src/tgbaalgos/ltl2tgba.cc: ... here.
      * src/tgba/Makefile.am, src/tgbaalgos/Makefile.am: Adjust.
      * src/tgba/public.hh: Do not include ltl2tgba.hh.
      * src/tgbatests/explprod.cc, src/tgbatests/ltl2tgba.cc,
      src/tgbatests/ltlprod.cc, src/tgbatests/mixprod.cc,
      src/tgbatests/reach.cc, src/tgbatests/tripprod.cc: Adjust inclusions.
      7fdd7861
    • Alexandre Duret-Lutz's avatar
      Distribute BuDDy. Compile and link with the included version if · 510756cd
      Alexandre Duret-Lutz authored
      explicitely requested (--with-included-buddy) or if there is
      now stuitable version already installed.
      
      * buddy/: New directory.  Contains a patched version of BuDDy 2.2.
      * m4/buddy.m4: Make sure the installed BuDDy supports bdd_mergepairs.
      Honor --with-included-buddy and --without-included-buddy.  Define
      the BUDDY_LDFLAGS and BUDDY_CPPFLAGS output variables, and the
      WITH_INCLUDED_BUDDY Automake conditional
      * Makefile.am [WITH_INCLUDED_BUDDY] (MAYBE_SUBDIRS): New variable.
      (SUBDIRS): Prepend $(MAYBE_SUBDIRS).
      * src/Makefile.am (libspot_LDFLAGS): New variable.
      * src/tgba/Makefile.am (AM_CPPFLAGS): Add $(BUDDY_CPPFLAGS).
      * src/tgbaalgos/Makefile.am (AM_CPPFLAGS): Likewise.
      * src/tgbatest/Makefile.am (AM_CPPFLAGS): Likewise.
      510756cd
  18. 25 Jun, 2003 4 commits
  19. 24 Jun, 2003 2 commits
  20. 23 Jun, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Switch from "promises" to "accepting set". Fix the definitions · 25e6cca4
      Alexandre Duret-Lutz authored
      of these accepting set so that they are really usable.  Provide
      a all_accepting_conditions() method for use in the emptyness
      check, and a neg_accepting_conditions() for products.
      Predeclare TGBA accepting conditions is the i/o.
      
      * src/tgba/bddprint.cc (want_prom): Rename as ...
      (want_prom): ... this.
      (print_handler): Adjust to display Acc[].
      (print_acc_handler, bdd_print_acc): New functions.
      * src/tgba/bddprint.hh (print_acc_handler, bdd_print_acc):
      New functions.
      * src/tgba/succiter.hh (current_promise): Rename as ...
      (current_accepting_conditions): ... this.
      * src/tgba/succiterconcrete.cc (current_state):
      Rename next to now.
      (current_promise): Rename as ...
      (current_accepting_conditions): ... this, and compute
      the accepting conditions.
      * src/tgba/dictunion.cc, src/tgba/ltl2tgba.cc,
      src/tgba/succiterconcrete.hh,
      src/tgba/tgbabddconcretefactory.cc,
      src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh,
      src/tgba/tgbabdddict.hh, src/tgba/tgbabdddict.cc,
      src/tgba/tgbabddtranslatefactory.cc,
      src/tgbaalgos/dotty.cc: Adjust to new names.
      * src/tgba/tgba.hh (all_accepting_conditions,
      neg_accepting_conditions): New functions.
      * src/tgba/tgbabddconcretefactory.cc: Adjust to new
      names, and record accepting conditions instead of promises.
      * src/tgba/tgbabddcoredata.hh (accepting_conditions,
      all_accepting_conditions, negacc_set): New variables.
      (notnow_set, notprom_set, declare_promise): Rename as ...
      (notnext_set, notacc_set, declare_accepting_condition): ... these.
      * src/tgba/tgbaexplicit.hh
      (tgba_explicit_succ_iterator::current_promise): Rename as ...
      (tgba_explicit_succ_iterator::current_accepting_conditions): ... this.
      (tgba_explicit::add_promise): Rename as ...
      (tgba_explicit::add_accepting_condition): ... this.
      (tgba_explicit::declare_accepting_condition,
      tgba_explicit::has_accepting_condition): New variables.
      (tgba_explicit::get_promise): Rename as ...
      (tgba_explicit::get_accepting_condition): ... this.
      (tgba_explicit::all_accepting_conditions,
      tgba_explicit::neg_accepting_conditions): Implement them.
      (all_accepting_conditions, neg_accepting_conditions,
      all_accepting_conditions): New variables.
      (tgba_explicit_succ_iterator): Embed all_accepting_conditions_.
      * src/tgba/tgbaexplicit.cc: Likewise.
      * src/tgba/tgbaproduct.hh
      (tgba_product_succ_uterator): Embed left_neg_ and right_neg_.
      (tgba_product::all_accepting_conditions,
      tgba_product::neg_accepting_conditions): Implement them.
      * src/tgba/tgbatranslateproxy.hh:
      (tgba_translate_proxy::all_accepting_conditions,
      tgba_translate_proxy::neg_accepting_conditions): Implement them.
      * src/tgba/tgbatranslateproxy.cc: Likewise.
      * src/tgbaalgos/save.cc (save_rec): Call bdd_print
      (tgba_save_reachable): Output the `acc =' line.
      * src/tgbaparse/tgbaparse.yy: Support the for
      accepting conditions definitions using an "acc =" line
      at the start.  Later, use has_accepting_condition while
      parsing	accepting conditions to ensure they were declared.
      Disallow !cond in accepting conditions.
      * src/tgbaparse/tgbascan.ll (ACC_DEF): New token.
      * src/tgbatest/explicit.cc (main): Declare accepting conditions.
      * src/tgbatest/ltl2tgba.cc (main): Add support for the -a, -A,
      and -R new options.
      * src/tgbatest/tgbaread.cc (main): Really exit on parse error.
      * src/tgbatest/explicit.test, src/tgbatest/explprod.test,
      src/tgbatest/mixprod.test, src/tgbatest/readsave.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test: Reflect
      recent changes.
      25e6cca4
  21. 22 Jun, 2003 1 commit
  22. 19 Jun, 2003 2 commits
  23. 18 Jun, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgba/bddprint.cc (print_handler): Quote promises · bacd5a0a
      Alexandre Duret-Lutz authored
      when !want_prom.
      * src/tgbaparse/tgbaparse.yy (prop_list): Accept strings or
      identifiers.  Discard empty strings.
      * src/tgbatest/mixprod.cc, src/tgbatest/mixprod.test: New file.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add mixprod.
      (mixprod_SOURCES): New variable.
      (TESTS): Add mixprod.test.
      bacd5a0a
  24. 17 Jun, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbaproduct.cc (state_bdd_product::state_bdd_product): · fd12c023
      Alexandre Duret-Lutz authored
      New constructor.
      * src/tgba/tgbaproduct.hh (state_bdd_product::state_bdd_product):
      New constructor.
      * tgbatest/tripprod.cc, tgbatest/tripprod.test: New files.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add explprod.
      (tripprod_SOURCES): New variable.
      (CLEANFILES): Add input3.
      (TESTS): Add tripprod.test.
      fd12c023
  25. 16 Jun, 2003 3 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddprod.cc, src/tgba/tgbabddprod.hh: Rename as ... · 4db70160
      Alexandre Duret-Lutz authored
      * src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: ... these.
      (tgba_bdd_product, tgba_bdd_product_succ_iterator): Rename as ...
      (tgba_product, tgba_product_succ_iterator): ... these, and adjust
      all uses.
      * src/tgba/tgbabddtranslateproxy.cc,
      src/tgba/tgbabddtranslateproxy.hh: Rename as ...
      * src/tgba/tgbatranslateproxy.cc,
      src/tgba/tgbatranslateproxy.hh: ... these.
      (tgba_bdd_translate_proxy, tgba_bdd_translate_proxy_succ_iterator):
      Rename as ...
      (tgba_translate_proxy, tgba_translate_proxy_succ_iterator): ... these,
      and adjust all uses.
      4db70160
    • Alexandre Duret-Lutz's avatar
      more files to ignore · b1d2b351
      Alexandre Duret-Lutz authored
      b1d2b351
    • Alexandre Duret-Lutz's avatar
      Make sure we can multiply two tgba_explicit. · ab09c185
      Alexandre Duret-Lutz authored
      * tgba/state.hh (state::translate, state::clone, state::as_bdd):
      New virtual methods.
      * tgba/stataebdd.cc (state::translate, state::clone): New methods.
      * tgba/stataebdd.hh (state::translate, state::clone): New methods.
      * tgba/tgbabddprod.cc (state_bdd_product::clone,
      tgba_bdd_product_succ_iterator::~tgba_bdd_product_succ_iterator):
      New methods.
      (tgba_bdd_product_succ_iterator::first): Reset right_
      if any of left_ or right_ is already done (i.e., is empty).
      (tgba_bdd_product_succ_iterator::done): Return true
      if right_ is NULL.
      (tgba_bdd_product_succ_iterator::current_state,
      tgba_bdd_product::get_init_state): Work	directory with `state's.
      * tgba/tgbabddprod.hh (state_bdd_product::clone,
      tgba_bdd_product_succ_iterator::~tgba_bdd_product_succ_iterator):
      New methods.
      * tgba/tgbabddtranslateproxy.cc
      (tgba_bdd_translate_proxy_succ_iterator::
      tgba_bdd_translate_proxy_succ_iterator): Work on any kind of iteraator.
      (tgba_bdd_translate_proxy_succ_iterator::
      ~tgba_bdd_translate_proxy_succ_iterator): New method.
      (tgba_bdd_translate_proxy_succ_iterator::current_state,
      tgba_bdd_translate_proxy::get_init_state,
      tgba_bdd_translate_proxy::succ_iter): Work on `state's and
      `tgba_succ_iterator's directlry.
      (tgba_bdd_translate_proxy::format_state): Delegate formating
      to the proxied automata.
      * tgba/tgbaexplicit.cc (state_explicit::clone): New method.
      * src/tgba/tgbaexplicit.cc (tgba_explicit::get_condition,
      tgba_explicit::get_promise): Call ltl::destroy on existing formulae.
      * tgbatest/Makefile.am (check_PROGRAMS): Add explprod.
      (explprod_SOURCES): New variable.
      (TESTS): Add explprod.test.
      (CLEANFILES): Add input1 and input2.
      ab09c185
  26. 10 Jun, 2003 1 commit
  27. 06 Jun, 2003 3 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgbatest/bddprod.test: New file. · 0233f31e
      Alexandre Duret-Lutz authored
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add bddprod.
      (bddprod_SOURCES, bddprod_CXXFLAGS): New variables.
      (TESTS): Add bddprod.test.
      * src/tgbatest/ltlprod.c: Handle BDD_CONCRETE_PRODUCT.
      0233f31e
    • Alexandre Duret-Lutz's avatar
      * src/tgba/dictunion.cc (tgba_bdd_dict_union): Clone formulae · 4472a292
      Alexandre Duret-Lutz authored
      while building new dictionary.
      * src/tgbatest/ltlprod.test, src/tgbatest/ltlprod.cc: New files.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add ltlprod.
      (ltlprod_SOURCES): New variable.
      (TESTS): Add ltlprod.test.
      4472a292
    • Alexandre Duret-Lutz's avatar
      * src/ltlvisit/clone.cc (clone): New const version. · 3991a51a
      Alexandre Duret-Lutz authored
      * src/ltlvisit/clone.hh (clone): Likewise.
      * src/ltlvisit/destroy.cc (destroy): New const version.
      * src/ltlvisit/destroy.hh (destroy): Likewise.
      * src/tgba/tgbabddconcretefactory.cc
      (tgba_bdd_concrete_factory::create_state,
      tgba_bdd_concrete_factory::create_atomic_prop,
      tgba_bdd_concrete_factory::promise): Clone new formulae.
      * src/tgba/tgbabdddict.cc (tgba_bdd_dict::tgba_bdd_dict,
      tgba_bdd_dict::~tgba_bdd_dict, tgba_bdd_dict::operator=): New methods
      that clone and destroy formulae.
      * src/tgbatest/ltl2tgba.test, src/tgbatest/ltl2tgba.cc: New files.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add ltl2tgba.
      (ltl2tgba_SOURCES): New variable.
      (TESTS): Add ltl2tgba.test.
      3991a51a
  28. 05 Jun, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgba/bddprint.cc (dict): Make this variable static. · 19e47ee6
      Alexandre Duret-Lutz authored
      (want_prom): New global static variable.
      (print_handle): Honor want_prom.
      (print_sat_handler, bdd_print_sat, bdd_format_sat): New functions.
      (bdd_print_set, bdd_print_dot, bdd_print_table): Set want_prom.
      * src/tgba/bddprint.hh (bdd_print_sat, bdd_format_sat): New functions.
      * src/tgbaalgos/save.cc, src/tgbaalgos/save.hh,
      src/tgbatest/readsave.cc, src/tgbatest/readsave.test: New files.
      * src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES): Add
      save.cc and save.hh.
      * src/tgbatest/Makefile.am (check_PROGRAMS): Add readsave.
      (readsave_SOURCES): New variable.
      (TESTS): Add readsave.test.
      19e47ee6