bca9d83c44* src/Config-parse.yy: Remove stray `,' in %token arguments. * src/Alloc.h (__INT_TO_PTR): Redefine to work around glibc 2.3. * doc/texinfo.tex: New upstream version.
Alexandre Duret-Lutz
2003-07-04 16:32:14 +00:00
88b6012502* src/tgbaalgos/ltl2tgba.cc (ltl_trad_visitor::visit): Declare accepting conditions w.r.t. to Now variables, not Next.
Alexandre Duret-Lutz
2003-07-04 09:35:29 +00:00
4432b2388b* src/tgba/tgbaproduct.cc (tgba_product_succ_iterator::first): Simplify, do not call next_non_false_() either side is done.
Alexandre Duret-Lutz
2003-07-03 14:04:25 +00:00
c09f646e3f* src/tgba/succiter.hh (tgba_succ_iterator::current_condition): 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.
Alexandre Duret-Lutz
2003-07-03 14:02:23 +00:00
05f724108d* src/ltlast/Makefile.am (ltlastdir, ltlast_HEADERS): New variables. (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.
Alexandre Duret-Lutz
2003-06-26 14:16:29 +00:00
98a31af495* m4/buddy.m4 (BUDDY_LDFLAGS): Use $(top_builddir), not $(top_srcdir). * src/tgbaparse/Makefile.am (AM_CPPFLAGS): Add $(BUDDY_CPPFLAGS).
Alexandre Duret-Lutz
2003-06-26 12:53:29 +00:00
5d26d6f01e* doc/Makefile.am: Rewrite to run Doxygen whenever Doxyfile.in or configure.ac changes. Distribute the html doc. * doc/Doxyfile.in (EXCLUDE_PATTERNS): Complete with useless Bison classes. (FILE_PATTERNS): Remove *.cc files.
Alexandre Duret-Lutz
2003-06-26 12:34:08 +00:00
510756cdb7Distribute BuDDy. Compile and link with the included version if explicitely requested (--with-included-buddy) or if there is now stuitable version already installed.
Alexandre Duret-Lutz
2003-06-26 11:53:17 +00:00
832a504d8d* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next): 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.
Alexandre Duret-Lutz
2003-06-25 19:06:02 +00:00
6d0546c317* src/tgba/succiterconcrete.hh (next_succ_set_): Rename as ... (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.
Alexandre Duret-Lutz
2003-06-25 15:15:30 +00:00
25e6cca4b4Switch from "promises" to "accepting set". Fix the definitions 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.
Alexandre Duret-Lutz
2003-06-23 17:28:26 +00:00
fbbfda43f2* src/tgbatest/tripprod.test, src/tgbatest/explprod.test: Sort out some possible inversions in the output.
Alexandre Duret-Lutz
2003-06-22 20:08:30 +00:00
725dacb4e8* src/tgba/tgbabddconcretefactory.cc (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().
Alexandre Duret-Lutz
2003-06-19 15:01:53 +00:00
8e51474fa2* src/tgba/tgbabddconcrete.cc (set_init_state, succ_iter): Revert the change from 2003-06-12, it needs more work (the automaton generated on Xa&(b U !a) was bogus, with that patch).
Alexandre Duret-Lutz
2003-06-19 14:26:42 +00:00
ad0aa705cf* src/tgbatest/ltl2tgba.cc: Handle the -o and -r options.
Alexandre Duret-Lutz
2003-06-19 13:48:51 +00:00
bacd5a0ac2* src/tgba/bddprint.cc (print_handler): Quote promises 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.
Alexandre Duret-Lutz
2003-06-18 12:02:36 +00:00
fd12c02345* src/tgba/tgbaproduct.cc (state_bdd_product::state_bdd_product): 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.
Alexandre Duret-Lutz
2003-06-17 14:54:30 +00:00
4db70160c9* src/tgba/tgbabddprod.cc, src/tgba/tgbabddprod.hh: Rename as ... * 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.
Alexandre Duret-Lutz
2003-06-16 15:46:08 +00:00
b1d2b351fbmore files to ignore
Alexandre Duret-Lutz
2003-06-16 15:23:22 +00:00
ab09c18597Make sure we can multiply two tgba_explicit.
Alexandre Duret-Lutz
2003-06-16 15:18:20 +00:00
5d2e0a4224* src/tgba/tgbabddconcrete.cc (set_init_state, succ_iter): Make sure to compute the status of the most Now variables possible. This helps to identify equivalant states. (tgba_bdd_concrete): Call set_init_state.
Alexandre Duret-Lutz
2003-06-12 15:21:33 +00:00
fe6ca2a7a4* src/tgba/ltl2tgba.cc (ltl_trad_visitor::visit): Handle F and G. * src/tgbatest/ltl2tgba.test: Use F and G.
Alexandre Duret-Lutz
2003-06-10 10:52:04 +00:00
fb5ff901d0* src/tgba/bddprint.hh (bdd_format_set): New function. * src/tgba/bddprint.cc (bdd_format_set): Likewise. * src/tgba/state.hh: Add Doxygen comments. (state::compare): Take a state*, not a state&. (state_ptr_less_than): New functor. * src/tgba/statebdd.hh (state_bdd::compare): Take a state*, not a state&. * src/tgba/statebdd.cc (state_bdd::compare): Likewise. * src/tgba/succiter.hh: Add Doxygen comments. * src/tgba/tgba.hh: Mention promises. (tgba::formate_state): New pure virtual method. * src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete::formate_state): New method. * src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::formate_state): Likewise. * src/tgbaalgos/dotty.cc: Adjust to use state_ptr_less_than and tgba::formate_state.
Alexandre Duret-Lutz
2003-05-27 13:05:22 +00:00
3f0e95f061* src/tgba/succiter.hh (tgba_succ_iterator::current_state): Return a state*, not a state_bdd. * src/tgba/succiterconcrete.hh (tgba_succ_iterator_concrete::current_state): Return a state_bdd*, not a state_bdd. * src/tgba/state.hh (state::as_bdd): New abstract method. * src/tgba/statebdd.hh (state_bdd::as_bdd): Move definitions ... * src/tgba/statebdd.cc (state_bdd::as_bdd): ... here. * src/tgba/tgba.hh: Add Doxygen comments. (tgba::succ_iter, tgba::get_init_state): Use state*, not state_bdd. * src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete::get_init_state): Return a state_bdd*, not a state_bdd. (tgba_bdd_concrete::get_init_bdd): New method. (tgba_bdd_concrete::succ_uter): Take a state* as argument. * src/tgba/tgbabddconcrete.cc: Likewise. * src/tgba/tgbabddtranslatefactory.cc (tgba_bdd_translate_factory::tgba_bdd_translate_factory): Use tgba_bdd_concrete::get_init_bdd. * src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty): Adjust to use state* instead of state_bdd. * src/tgba/succlist.hh: Delete. (Leftover from a previous draft.)
Alexandre Duret-Lutz
2003-05-27 10:40:16 +00:00
16c6219988* src/tgba/bddprint.hh, src/tgba/bddprint.cc: New files. * src/tgba/Makefile.am (libtgba_la_SOURCES): Add them. * src/tgba/public.hh: Include bddprint.hh.
Alexandre Duret-Lutz
2003-05-26 13:37:14 +00:00
885143309a* src/tgba/tgba.hh: Rename as ... * src/tgba/public.hh: .. this. * src/tgba/tgba.hh: New file. * src/tgba/Makefile.am (libtgba_la_SOURCES): Add public.hh. * src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete): Inherit from tgba. (tgba_bdd_concrete::init_iter): Delete. (tgba_bdd_concrete::succ_iter): Take a state_bdd as argument, not a bdd. * src/tgba/tgbabddconcrete.cc: Likewise.
Alexandre Duret-Lutz
2003-05-26 12:34:15 +00:00
c03934140fInitial code for TGBA (Transition Generalized Büchi Automata). Contains tgba_bdd, a BDD-encoded TGBA, and ltl_to_tgba, a LTL-to-TGBA translator using Couvreur's algorithm.
Alexandre Duret-Lutz
2003-05-26 11:17:40 +00:00
5100c197a2more files to ignore
Alexandre Duret-Lutz
2003-05-23 12:02:09 +00:00
557c86b65b* m4/gccwarn.m4: Do not use -Winline, this is inappropriate with STL. * src/ltlast/atomic_prop.cc, src/ltlvisit/lunabbrev.cc, src/ltlvisit/nenoform.cc: Include <cassert>.
Alexandre Duret-Lutz
2003-05-23 11:51:20 +00:00
dc6efb0c40* src/pairs.c (bdd_mergepairs): New function. (bdd_copypair): Revert 2003-05-20's change. Use bdd_addref to copy result variables. * src/bdd.h (BDD_INVMERGE): New error code. (bdd_mergepairs): Declare. * src/kernel.c (errorstrings): Add string of BDDINV.
Alexandre Duret-Lutz
2003-05-22 15:07:56 +00:00
10f634d91d* src/pairs.c (bdd_mergepairs): New function. (bdd_copypair): Revert 2003-05-20's change. Use bdd_addref to copy result variables.
Alexandre Duret-Lutz
2003-05-22 15:07:26 +00:00
4d6660835a* src/pairs.c (bdd_copypair): Use memcpy to copy from->result, and correctly copy p->last from from->last.
Alexandre Duret-Lutz
2003-05-22 12:07:52 +00:00
2f6e476cba* src/pairs.c (bdd_copypair): Use memcpy to copy from->result.
Alexandre Duret-Lutz
2003-05-20 10:42:19 +00:00