1. 17 Jul, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Now succ_iter() can fetch extra information from · 1d9c3d64
      Alexandre Duret-Lutz authored
      the root of a product to reduce its number of successors.
      * src/tgba/Makefile.am (libtgba_la_SOURCES): Add tgba.cc.
      * src/tgba/tgba.hh (tgba::succ_iter): Add the global_state and
      global_automaton arguments.
      (tgba::support_conditions, tgba::support_variables,
      tgba::compute_support_conditions, tgba::compute_support_variables):
      New functions.
      (tgba::last_support_conditions_input_,
      tgba::last_support_conditions_output_,
      tgba::last_support_variables_input_,
      tgba::last_support_variables_output_): New attributes.
      * src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::succ_iter):
      Handle the two new arguments.
      (tgba_bdd_concrete::compute_support_conditions,
      tgba_bdd_concrete::compute_support_variables): Implement them.
      * src/tgba/tgbabddconcrete.hh: Adjust.
      * src/tgba/tgbaexplicit.cc (tgba_explicit::succ_iter):	Ignore
      the two new arguments.
      (tgba_explicit::compute_support_conditions,
      tgba_explicit::compute_support_variables): Implement them.
      * src/tgba/tgbaexplicit.hh: Adjust.
      * src/tgba/tgbaproduct.cc (tgba_product::succ_iter): Handle the
      two new arguments.
      (tgba_product::compute_support_conditions,
      tgba_product::compute_support_variables): Implement them.
      * src/tgba/tgbaproduct.hh: Adjust.
      * iface/gspn/gspn.cc (tgba_gspn_private_::last_state_cond_input,
      tgba_gspn_private_::last_state_cond_output,
      (tgba_gspn_private_::tgba_gspn_private_): Set last_state_cond_input.
      (tgba_gspn_private_::~tgba_gspn_private_): Delete
      last_state_cond_input.
      (tgba_gspn_private_::state_conds): New function, eved out
      from tgba_gspn::succ_iter.
      (tgba_gspn::succ_iter): Use it.  Use the two new arguments.
      (tgba_gspn::compute_support_conditions,
      tgba_gspn::compute_support_variables): New functions.
      * iface/gspn/gspn.hh: Adjust.
      1d9c3d64
  2. 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
  3. 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
  4. 10 Jul, 2003 3 commits
  5. 09 Jul, 2003 1 commit
  6. 08 Jul, 2003 2 commits
  7. 07 Jul, 2003 4 commits
  8. 03 Jul, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbaproduct.cc (tgba_product_succ_iterator::first): · 4432b238
      Alexandre Duret-Lutz authored
      Simplify, do not call next_non_false_() either side is done.
      4432b238
    • Alexandre Duret-Lutz's avatar
      * src/tgba/succiter.hh (tgba_succ_iterator::current_condition): · c09f646e
      Alexandre Duret-Lutz authored
      State that this is a boolean function.
      * src/tgba/succiterconcrete.hh
      (tgba_succ_iterator_concrete::trans_dest_,
      tgba_succ_iterator_concrete::trans_set_,
      tgba_succ_iterator_concrete::trans_set_left_,
      tgba_succ_iterator_concrete::neg_trans_set_): Remove.
      * src/tgba/succiterconcrete.cc
      (tgba_succ_iterator_concrete::tgba_succ_iterator_concrete,
      tgba_succ_iterator_concrete::first): Adjust to removed members.
      (tgba_succ_iterator_concrete::next): Simplify, transitions
      are no labelled by boolean functions, not only conjunctions.
      Suggested by Denis Poitrenaud.
      c09f646e
  9. 02 Jul, 2003 5 commits
    • Alexandre Duret-Lutz's avatar
      spacing · 3281b6e9
      Alexandre Duret-Lutz authored
      3281b6e9
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddcoredata.hh (tgba_bdd_core_data::translate): New · 0fe98c6d
      Alexandre Duret-Lutz authored
      function.
      * src/tgba/tgbabddcoredata.cc (tgba_bdd_core_data::translate):
      Likewise.
      * src/tgba/tgbabddtranslatefactory.cc
      (tgba_bdd_translate_factory::tgba_bdd_translate_factory): Use
      tgba_bdd_core_data::translate.
      0fe98c6d
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddcoredata.hh (tgba_bdd_core_data::nownext_set): · 2ea7cbe0
      Alexandre Duret-Lutz authored
      New attribute.
      * tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
      Handle nownext_set.
      * src/tgba/succiterconcrete.cc
      (tgba_succ_iterator_concrete::next): Use nownext_set to simplify.
      2ea7cbe0
    • Alexandre Duret-Lutz's avatar
      typo · 2ed07475
      Alexandre Duret-Lutz authored
      2ed07475
    • Alexandre Duret-Lutz's avatar
      Rewrite tgba_succ_iterator_concrete::next for the fourth time · dfe74f31
      Alexandre Duret-Lutz authored
      (or is it the fifth?).
      
      * src/tgba/succiterconcrete.hh
      (tgba_succ_iterator_concrete::trans_dest_,
      tgba_succ_iterator_concrete::trans_set_,
      tgba_succ_iterator_concrete::trans_set_left_,
      tgba_succ_iterator_concrete::neg_trans_set_): New attributes.
      * src/tgba/succiterconcrete.cc
      (tgba_succ_iterator_concrete::tgba_succ_iterator_concrete): Initialize
      new members.
      (tgba_succ_iterator_concrete::first): Likewise.
      (tgba_succ_iterator_concrete::next): Rewrite.
      * tgba/tgbabddcoredata.hh (tgba_bdd_core_data::acc_set): New attribute.
      * tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
      Handle acc_set.
      dfe74f31
  10. 01 Jul, 2003 1 commit
  11. 30 Jun, 2003 3 commits
    • Alexandre Duret-Lutz's avatar
      * doc/Doxyfile.in (HAVE_DOT): Set to YES to output · e5626208
      Alexandre Duret-Lutz authored
      collaboration diagrams.
      * doc/mainpage.dox: Typo.
      
      * src/tgba/state.hh (state::as_bdd): Delete.
      * src/tgba/tgbaproduct.hh (state_bdd_product): Inherit from state,
      not state_bdd.
      (state_bdd_product::state_bdd_product): Adjust.
      * src/tgba/tgbaproduct.cc (state_bdd_product::state_bdd_product):
      Adjust.
      
      * src/tgba/succiter.hh (tgba_bdd_succ_iterator::done):
      Mark as const.
      * src/tgba/succiterconcrete.cc
      (tgba_succ_iterator_concrete::done): Likewise.
      * src/tgba/succiterconcrete.hh
      (tgba_succ_iterator_concrete::done): Likewise.
      * src/tgba/tgbaexplicit.cc
      (tgba_explicit_succ_iterator::done): Likewise.
      * src/tgba/tgbaexplicit.hh
      (tgba_explicit_succ_iterator::done): Likewise.
      * src/tgba/tgbaproduct.cc
      (tgba_product_succ_iterator::done): Likewise.
      * src/tgba/tgbaproduct.hh
      (tgba_product_succ_iterator::done): Likewise.
      * src/tgba/tgbatranslateproxy.hh
      (tgba_translate_proxy_succ_iterator::done): Likewise.
      * src/tgba/tgbatranslateproxy.cc
      (tgba_translate_proxy_succ_iterator::done): Likewise.
      
      * src/tgba/succiterconcrete.cc
      (tgba_succ_iterator_concrete::next): Call bdd_satoneset
      on data_.varandnext_set.  The previous implementation
      was wrong for GFa.
      * src/tgba/tgbabddcoredata.hh: Declare varandnext_set.
      * src/tgba/tgbabddcoredata.cc: Handle varandnext_set.
      e5626208
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddconcretefactory.cc: · 12f66a3b
      Alexandre Duret-Lutz authored
      (tgba_bdd_concrete_factory::tgba_bdd_concrete_factory): New.
      (tgba_bdd_concrete_factory::create_state): Update now_to_next_.
      (tgba_bdd_concrete_factory::finish): Constraint Next variables
      in the relation.
      * src/tgba/tgbabddconcretefactory.hh
      (tgba_bdd_concrete_factory::now_to_next_): New variable.
      12f66a3b
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddconcretefactory.cc: · cf136e84
      Alexandre Duret-Lutz authored
      (tgba_bdd_concrete_factory::tgba_bdd_concrete_factory): New.
      (tgba_bdd_concrete_factory::create_state): Update now_to_next_.
      (tgba_bdd_concrete_factory::finish): Constraint Next variables
      in the relation.
      * src/tgba/tgbabddconcretefactory.hh
      (tgba_bdd_concrete_factory::now_to_next_): New variable.
      cf136e84
  12. 28 Jun, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix errors reported by ICC. · 692f78d6
      Alexandre Duret-Lutz authored
      * src/tgba/state.hh (state_ptr_less_than::operator()): Make it const.
      * src/tgba/tgbaproduct.cc: Include string.hh.
      * src/ltlast/multop.hh (multop::add, multop::add_sorted): Do
      not use qualified names in declarations.
      * m4/gccwarn.m4 (CF_GXX_WARNINGS): Fix GXX test.
      * src/ltlenv/defaultenv.hh, src/ltlenv/defaultenv.cc,
      src/ltlenv/environment.hh: Add virtual destructors.
      692f78d6
  13. 26 Jun, 2003 6 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
      * src/tgba/tgbabddcoredata.hh: Fix some Doxygen comments. · f4629246
      Alexandre Duret-Lutz authored
      * src/ltlast/formula.hh: More Doxygen comments.
      * src/tgba/tgba.hh: Use <tt> in Doxygen comments.
      f4629246
    • Alexandre Duret-Lutz's avatar
      * src/tgba/succiter.hh: Adjust comments about promises to · 8e3a24ad
      Alexandre Duret-Lutz authored
      refer to accepting conditions.
      * src/tgba/tgbabddconcretefactory.hh: Likewise.
      * src/tgba/tgbabddcoredata.hh: Likewise.
      * src/tgba/dictunion.cc: Likewise.
      * src/tgba/tgba.hh: Likewise.
      8e3a24ad
    • 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.
      483507f1
    • 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
      variables.
      (libltlparse_la_SOURCES): Move all public headers to ltlparse_HEADERS.
      * src/ltlvisit/Makefile.am (ltlvisitdir, ltlvisit_HEADERS): New
      variables.
      (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
      variables.
      (libtgbaparse_la_SOURCES): Move all public headers to
      tgbaparse_HEADERS.
      * src/tgbaparse/public.hh: Include ltlparse/location.hh, not
      location.hh.
      05f72410
    • 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
  14. 25 Jun, 2003 3 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next): · 832a504d
      Alexandre Duret-Lutz authored
      Rewrite using bdd_satoneset.  This time it's for real.  (I hope.)
      * src/tgba/succiterconcrete.hh (current_base_,
      current_base_left_): Delete.
      * tgba/tgbabddcoredata.hh (next_set): New variable.
      * tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc: Adjust
      to update next_set.
      832a504d
    • Alexandre Duret-Lutz's avatar
      * src/tgba/bddprint.hh, src/tgba/tgbabddconcretefactory.hh, · 60bd2d17
      Alexandre Duret-Lutz authored
      src/tgba/tgbaproduct.hh: Fix Doxygen comments.
      60bd2d17
    • Alexandre Duret-Lutz's avatar
      * src/tgba/succiterconcrete.hh (next_succ_set_): Rename as ... · 6d0546c3
      Alexandre Duret-Lutz authored
      (succ_set_left_): ... this.
      (current_base_, current_base_left_): New variables.
      * src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::first):
      Reset current_.
      (tgba_succ_iterator_concrete::next): Rewrite.
      (tgba_succ_iterator_concrete::current_state): Simplify.
      (tgba_succ_iterator_concrete::current_accepting_conditions): Remove
      atomic proposition with universal quantification.
      * src/tgba/ltl2tgba.cc (ltl_to_tgba): Normalize the formula.
      * src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::set_init_state):
      Complete the initial state.
      (tgba_bdd_concrete::succ_iter): Do not remove Now variable
      from the BDD passed to the iterator.
      * tgba/tgbabddcoredata.hh (notnow_set, var_set): New variables.
      * tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc: Adjust
      to update notnow_set and var_set.
      6d0546c3
  15. 24 Jun, 2003 1 commit
  16. 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
  17. 19 Jun, 2003 2 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddconcretefactory.cc · 725dacb4
      Alexandre Duret-Lutz authored
      (tgba_bdd_concrete_factory::~tgba_bdd_concrete_factory): destroy the
      formulae used as keys in prom_.
      (tgba_bdd_concrete_factory::create_promise): Delete.
      (tgba_bdd_concrete_factory::declare_promise,
      tgba_bdd_concrete_factory::finish): New functions.
      * src/tgba/tgbabddconcretefactory.hh
      (tgba_bdd_concrete_factory::create_promise): Delete.
      (tgba_bdd_concrete_factory::declare_promise,
      tgba_bdd_concrete_factory::finish): New functions.
      (tgba_bdd_concrete_factory::prom_): New map.
      * src/tgba/ltl2tgba.cc (ltl_trad_visitor::visit): Adjust
      the Fx and aUb cases to register promises with
      tgba_bdd_concrete_factory::declare_promise().
      (ltl2tgba): Call tgba_bdd_concrete_factory::finish().
      725dacb4
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbabddconcrete.cc (set_init_state, succ_iter): · 8e51474f
      Alexandre Duret-Lutz authored
      Revert the change from 2003-06-12, it needs more work (the
      automaton generated on Xa&(b U !a) was bogus, with that
      patch).
      8e51474f
  18. 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
  19. 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