1. 10 Feb, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Take an exprop · 07ba321e
      Alexandre Duret-Lutz authored
      argument.  Consider all possible combinations of propositions when
      generating arcs.  Suggested by Jean-Michel Couvreur.
      * src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Adjust.
      * src/tgbatest/ltl2tgba.cc: Honor -fx.
      * src/tgbatest/spotlbtt.test: Exercise -fx.
      * wrap/python/cgi/ltl2tgba.in: Support Couvreur/FM with exploded
      properties.
      07ba321e
  2. 08 Feb, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      This should help getting accurate statistics (on both the · 7069d540
      Alexandre Duret-Lutz authored
      formula automaton and the synchronized product) from LBTT.
      Idea from Jean-Michel Couvreur.
      
      * src/tgbaalgos/lbtt.cc (nonacceptant_lbtt_bfs): New class.
      (nonacceptant_lbtt_reachable): New function.
      * src/tgbaalgos/lbtt.hh (nonacceptant_lbtt_reachable): New
      function.
      * src/tgbatest/ltl2tgba.cc (main): Call nonacceptant_lbtt_reachable
      if the -T option is used.
      * src/tgbatest/spotlbtt.test: Setup the -T variants, disabled by
      default.
      7069d540
  3. 05 Feb, 2004 1 commit
  4. 02 Feb, 2004 2 commits
  5. 29 Jan, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgba/tgbaexplicit.cc (tgba_explicit::get_acceptance_condition): · 1d72cdc8
      Alexandre Duret-Lutz authored
      Do not treat true and false specially.  Otherwise it breaks
      translation of F(false).
      * src/tgbatest/explprod.test, src/tgbatest/tripprod.test: Do not
      use true as acceptance condition.
      
      * src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor): Use Acc[b] as
      acceptance condition for Fb, not Acc[Fb].
      
      After this change, degeneralized automata are 40% smaller
      1d72cdc8
  6. 26 Jan, 2004 2 commits
  7. 09 Jan, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/tgbaalgos/emptinesscheck.cc (emptiness_check::check2): · 93f1cc0d
      Alexandre Duret-Lutz authored
      New function, variant of emptiness_check::check().
      * src/tgbaalgos/emptinesscheck.hh (emptiness_check::check2):
      Likewise.
      * src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Exercize -e2.
      * src/tgbatest/ltl2tgba.cc: Support -e2, for emptiness_check::check2().
      * iface/gspn/Makefile.am [WITH_GSPN_EESRG] (check_PROGRAMS):
      Compile ltlgspn-eesrg instead of ltleesrg.
      (ltleesrg_SOURCES, ltleesrg_LDADD): Replace by...
      (ltlgspn_eesrg_SOURCES, ltlgspn_eesrg_LDADD, LIBGSPNESRG_LDFLAGS):
      ... these.
      * iface/gspn/ltleesrg.cc: Delete.
      * iface/gspn/ltlgspn.cc [EESRG]: Support EESRG conditionally.
      Support -e2.
      93f1cc0d
  8. 08 Jan, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      Run valgrind in test cases. · 92cc5f9b
      Alexandre Duret-Lutz authored
      * src/tgbatest/defs.in (VALGRIND, run): Define.
      * src/tgbatest/bddprod.test, src/tgbatest/dupexp.test,
      src/tgbatest/emptchk.test, src/tgbatest/emptchke.test,
      src/tgbatest/explicit.test, src/tgbatest/explpro2.test,
      src/tgbatest/explpro3.test, src/tgbatest/explprod.test,
      src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.test,
      src/tgbatest/mixprod.test, src/tgbatest/readsave.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test: Use run().
      92cc5f9b
  9. 06 Jan, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/ltlvisit/tostring.cc · 8008deed
      Alexandre Duret-Lutz authored
      (to_string_visitor::visit(const atomic_prop*)): Quote propositions
      that start with F, G, or X.
      * src/ltltest/tostring.test: Test quoted propositions.
      * src/tgbaalgos/save.cc (save_bfs::process_state): Escape " and +	characters in formulae.
      * src/tgbatest/readsave.test: Test for this.
      8008deed
  10. 05 Jan, 2004 1 commit
  11. 28 Nov, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * iface/gspn/eesrg.cc, iface/gspn/eesrg.hh, iface/gspn/gspn.cc, · e341cc9a
      Alexandre Duret-Lutz authored
      iface/gspn/gspn.hh, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
      src/tgba/bddprint.hh, src/tgba/succiter.hh,
      src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
      src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc,
      src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc,
      src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddcoredata.cc,
      src/tgba/tgbabddcoredata.hh, src/tgba/tgbaexplicit.cc,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/emptinesscheck.cc, src/tgbaalgos/emptinesscheck.hh,
      src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc,
      src/tgbaalgos/save.cc, src/tgbatest/explicit.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbaparse/tgbaparse.yy,
      wrap/python/tests/ltl2tgba.py:
      Rewrite `accepting condition' as `acceptance condition'.
      The symbols which have been renamed are:
      tgba::all_accepting_conditions
      tgba::neg_accepting_conditions
      succ_iterator::current_accepting_conditions
      bdd_dict::register_accepting_variable
      bdd_dict::register_accepting_variables
      bdd_dict::is_registered_accepting_variable
      tgba_bdd_concrete_factory::declare_accepting_condition
      tgba_bdd_core_data::accepting_conditions
      tgba_bdd_core_data::all_accepting_conditions
      tgba_explicit::declare_accepting_condition
      tgba_explicit::complement_all_accepting_conditions
      tgba_explicit::has_accepting_condition
      tgba_explicit::get_accepting_condition
      tgba_explicit::add_accepting_condition
      tgba_explicit::all_accepting_conditions
      tgba_explicit::neg_accepting_conditions
      state_tba_proxy::acceptance_cond
      accepting_cond_splitter
      e341cc9a
  12. 26 Nov, 2003 1 commit
  13. 24 Nov, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      Explicit automata can now have arbitrary logic formula on their · 20289e4e
      Alexandre Duret-Lutz authored
      arcs.  ltl2tgba_fm benefits from this and join multiple arcs with
      the same destination and acceptance conditions.
      * src/tgba/formula2bdd.cc, src/tgba/formula2bdd.hh: New files.
      * src/tgba/Makefile.am (tgba_HEADERS, libtgba_la_SOURCES): Add them.
      * src/tgba/bddprint.cc, src/tgba/bddprint.hh (bdd_pring_formula,
      bdd_format_formula): New functions.
      * src/tgba/tgbaexplicit.hh (tgba_explicit::get_condition,
      tgba_explicit::add_condition, tgba_explicit::add_neg_condition,
      tgba_explicit::declare_accepting_condition,
      tgba_explicit::has_accepting_condition,
      tgba_explicit::get_accepting_condition,
      tgba_explicit::add_accepting_condition): Take a const formula*.
      * src/tgba/tgbaexplicit.cc (tgba_explicit::add_condition):
      Rewrite using formula_to_bdd.
      * src/tgbaalgos/dotty.cc (dotty_bfs::process_link): Use
      bdd_print_formula to display conditions.
      * src/tgbaalgos/save.cc (save_bfs::process_state): Likewise.
      * src/tgbaalgos/ltl2tgba_fm.cc (translate_dict::bdd_to_formula):
      New function.
      (translate_dict::conj_bdd_to_atomic_props): Remove.
      (ltl_to_tgba_fm): Factor successors on accepting conditions
      and destinations, not conditions.  Use bdd_to_formula to translate
      the conditions.
      * src/tgbaparse/tgbaparse.yy: Expect conditions as a formula
      in a string, call the LTL parser for this.
      * src/tgbaparse/tgbascan.ll: Process " and \ escapes in
      strings.
      * src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explprod.test, src/tgbatest/mixprod.test,
      src/tgbatest/readsave.test, src/tgbatest/tgbaread.test,
      src/tgbatest/tripprod.test: Adjust to new syntax for explicit
      automata.
      20289e4e
  14. 21 Nov, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * COPYING: New file. · 43a91a15
      Alexandre Duret-Lutz authored
      * Makefile.am, configure.ac, doc/Makefile.am, iface/Makefile.am,
      iface/gspn/Makefile.am, iface/gspn/common.cc,
      iface/gspn/common.hh, iface/gspn/dottyeesrg.cc,
      iface/gspn/dottygspn.cc, iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
      iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
      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/formula.cc,
      src/ltlast/formula.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/Makefile.am,
      src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
      src/ltlenv/environment.hh, src/ltlparse/Makefile.am,
      src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
      src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
      src/ltlparse/public.hh, src/ltltest/Makefile.am,
      src/ltltest/defs.in, src/ltltest/equals.cc,
      src/ltltest/equals.test, src/ltltest/lunabbrev.test,
      src/ltltest/nenoform.test, src/ltltest/parse.test,
      src/ltltest/parseerr.test, src/ltltest/readltl.cc,
      src/ltltest/tostring.cc, src/ltltest/tostring.test,
      src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test,
      src/ltlvisit/Makefile.am, src/ltlvisit/clone.cc,
      src/ltlvisit/clone.hh, src/ltlvisit/destroy.cc,
      src/ltlvisit/destroy.hh, src/ltlvisit/dotty.cc,
      src/ltlvisit/dotty.hh, src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
      src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh,
      src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh,
      src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
      src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
      src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
      src/misc/Makefile.am, src/misc/bddalloc.cc, src/misc/bddalloc.hh,
      src/misc/bddlt.hh, src/misc/hash.hh, src/misc/minato.cc,
      src/misc/minato.hh, src/misc/version.cc, src/misc/version.hh,
      src/tgba/Makefile.am, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
      src/tgba/bddprint.cc, src/tgba/bddprint.hh, src/tgba/public.hh,
      src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
      src/tgba/succiter.hh, src/tgba/succiterconcrete.cc,
      src/tgba/succiterconcrete.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbabddconcretefactory.cc,
      src/tgba/tgbabddconcretefactory.hh,
      src/tgba/tgbabddconcreteproduct.cc,
      src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc,
      src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh,
      src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh,
      src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
      src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgbaalgos/Makefile.am, src/tgbaalgos/dotty.cc,
      src/tgbaalgos/dotty.hh, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptinesscheck.cc,
      src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
      src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.cc,
      src/tgbaalgos/magic.hh, src/tgbaalgos/reachiter.cc,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/save.cc,
      src/tgbaalgos/save.hh, src/tgbaparse/Makefile.am,
      src/tgbaparse/fmterror.cc, src/tgbaparse/parsedecl.hh,
      src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
      src/tgbaparse/tgbascan.ll, src/tgbatest/Makefile.am,
      src/tgbatest/bddprod.test, src/tgbatest/defs.in,
      src/tgbatest/dupexp.test, src/tgbatest/emptchk.test,
      src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explprod.test, src/tgbatest/ltl2tgba.test,
      src/tgbatest/ltlprod.test, src/tgbatest/mixprod.test,
      src/tgbatest/readsave.test, src/tgbatest/spotlbtt.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
      wrap/Makefile.am, wrap/python/Makefile.am, wrap/python/buddy.i,
      wrap/python/spot.i, wrap/python/cgi/Makefile.am,
      wrap/python/cgi/ltl2tgba.in, wrap/python/tests/Makefile.am,
      wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
      wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltl2tgba.test,
      wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py,
      wrap/python/tests/run.in: Add Copyright license.
      43a91a15
  15. 14 Nov, 2003 1 commit
    • Alexandre Duret-Lutz's avatar
      * src/ltltest/Makefile.am (AM_CXXFLAGS): New variable. · 982c5efc
      Alexandre Duret-Lutz authored
      * tgba/bdddict.hh (bdd_dict::register_propositions,
      bdd_dict::register_accepting_variables): New methods.
      * src/bdddict.cc: Likewise.
      * tgba/tgbaexplicit.cc (tgba_explicit::add_conditions,
      tgba_explicit::add_accepting_conditions): New methods.
      (tgba_explicit::get_init_state): Add an "empty" initial
      state to empty automata.
      * tgba/tgbaexplicit.hh: (tgba_explicit::add_conditions,
      tgba_explicit::add_accepting_conditions): New methods.
      * tgbaalgos/Makefiles.am (tgbaalgos_HEADERS, libtgbaalgos_la_SOURCES):
      Add dupexp.hh and dupexp.cc.
      * tgbaalgos/dupexp.hh, tgbaalgos/dupexp.cc: New files.
      * tgbatest/Makefile.am (AM_CXXFLAGS): New variable.
      (check_SCRIPTS): Add dupexp.test.
      (CLEANFILES): Add output1 and output2.
      * tgbatest/dupexp.test: New file.
      * tgbatest/ltl2tgba.cc: Handle -s and -S.
      * tgbatest/tgbaread.cc: Remove unused variable exit_code.
      982c5efc
  16. 23 Oct, 2003 5 commits
    • Alexandre Duret-Lutz's avatar
      * src/tgbaalgos/emptinesscheck.hh (emptiness_check::emptiness_check): · 90099e47
      Alexandre Duret-Lutz authored
      New, take the automaton to work on, and store it ...
      (emptiness_check::aut_): ... in this new attribute.
      (emptiness_check::tgba_emptiness_check): Rename as ...
      (emptiness_check::check): ... this, and remove the automata
      argument.
      (emptiness_check::counter_example, emptiness_check::print_result,
      emptiness_check::remove_component, emptiness_check::accepting_path,
      emptiness_check::complete_cycle): Remove the automata argument.
      * src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
      iface/gspn/ltlgspn.cc: Adjust.
      90099e47
    • Alexandre Duret-Lutz's avatar
      * src/tgbaalgos/emptinesscheck.hh (connected_component::not_null, · b60722bc
      Alexandre Duret-Lutz authored
      connected_component::transition_acc,
      connected_component::nb_transition,
      connected_component::nb_state): Remove these unused attributes.
      (connected_component::connected_component): Merge the two
      definitions into one.
      (connected_component::~connected_component): Remove.
      (connected_component::isAccepted): Delete, unused.
      * src/tgbaalgos/emptinesscheck.cc
      (connected_component::connected_component,
      connected_component::~connected_component): Adjust.
      (connected_component::isAccepted): Delete.
      (spot):
      
      * src/tgbatest/emptchk.test: Typo.
      b60722bc
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      Merge emptinesscheckexplicit into ltl2tgba. · d46c63a2
      Alexandre Duret-Lutz authored
      * src/tgbatest/Makefile.am (check_PROGRAMS): Remove
      emptinesscheckexplicit.
      (emptinesscheckexplicit_SOURCES): Remove.
      (TESTS): Replace emptinesscheckexplicit.test by emptchke.test.
      * src/tgbatest/emptinesscheckexplicit.cc,
      src/tgbatest/emptinesscheckexplicit.test: Delete.
      * src/tgbatest/empchke.test: New file.
      * src/tgbatest/ltl2tgba.cc: Add support for -X.
      d46c63a2
    • 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 10 Aug, 2003 1 commit
  24. 29 Jul, 2003 2 commits
  25. 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
  26. 25 Jul, 2003 2 commits
  27. 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
  28. 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
  29. 10 Jul, 2003 1 commit
  30. 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
  31. 08 Jul, 2003 1 commit
  32. 26 Jun, 2003 1 commit
    • 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