Commit graph

758 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
754d7064ae A tgba can now annotate a transition (i.e., the position of a
tgba_succ_iterator) with some string.  This comes handy to
associate that transition to its high-level name.
* src/tgba/tgba.hh, src/tgba/tgba.cc (tgba::transition_annotation):
New method.
* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
(tgba_product::transition_annotation): Implement it.
* src/tgba/tgbatba.hh, src/tgba/tgbatba.cc
(tgba_tba_proxy::transition_annotation): Likewise.
* src/tgbaalgos/replayrun.cc (print_annotation): New function.
(replay_tgba_run): Use it.
2004-10-29 16:45:49 +00:00
Alexandre Duret-Lutz
32403566f6 * src/tgbaalgos/gtec/gtec.cc,
src/tgbaalgos/gtec/gtec.hh (couvreur99_check::print_stats): New.
* src/tgbatest/ltl2tgba.cc: Print emptiness-check statistics.
2004-10-29 16:10:47 +00:00
Alexandre Duret-Lutz
55014e9dcc * src/sanity/style.test: Diagnose superfluous constructs such
as `if (x) delete x;'.
* iface/gspn/gspn.cc, iface/gspn/ssp.cc, src/ltlvisit/basicreduce.cc,
src/tgba/tgba.cc, src/tgba/tgbaproduct.cc, src/tgbaalgos/magic.cc,
src/tgbatest/ltl2tgba.cc: Remove such constructs.
2004-10-29 14:29:02 +00:00
Alexandre Duret-Lutz
4654da9ab5 * src/tgbatest/ltl2tgba.cc: Replace -e, -E, -m, -M, and -n by
-eALGO and -EALGO to ease the addition of new algorithms.
* src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Adjust.
2004-10-29 13:15:01 +00:00
Alexandre Duret-Lutz
7fce2b2a95 * src/misc/version.cc: Fix trailing whitespace.
* src/sanity/style.test: Diagnose trailing whitespace.
2004-10-29 12:41:56 +00:00
Alexandre Duret-Lutz
8c0b085d73 * src/tgbatest/ltl2tgba.cc: Fix lines longer than 80 chars.
* src/sanity/80columns.test: Use expand to untabify, the previous
recipe was incomplete.
2004-10-29 12:31:13 +00:00
Alexandre Duret-Lutz
720a31c128 * src/tgbaalgos/replayrun.cc (replay_tgba_run): Note duplicate states. 2004-10-29 12:19:18 +00:00
Alexandre Duret-Lutz
cf45539312 * src/tgbaalgos/replayrun.cc (replay_tgba_run): Verify the run is
accepting.
2004-10-29 11:51:21 +00:00
Alexandre Duret-Lutz
434475dbc8 * src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_path):
Initialize best_end to remove a spurious warning.
2004-10-29 07:05:30 +00:00
Alexandre Duret-Lutz
e7bc4f2a5a * src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run,
couvreur99_check_result::complete_cycle,
couvreur99_check_result::accepting_path): Record conditions and
acceptance conditions in the accepting run.  Simplify the
todo BFS stack for accepting_run and complete_cycle.
* src/tgbatest/ltl2tgba.cc (main): Do use replay_tgba_run
now everything works.
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Be more verbose
when an outgoing transition is not found.
2004-10-29 00:30:09 +00:00
Alexandre Duret-Lutz
35a286ba41 * src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc (magic_search):
Record the acceptance conditions in the accepting run.
* src/tgbaalgos/replayrun.cc (replay_tgba_run): Fix logic.
2004-10-28 22:02:53 +00:00
Alexandre Duret-Lutz
7819f14db2 * src/tgbaalgos/replayrun.cc, src/tgbaalgos/replayrun.hh: New files.
Cannot test them because the run returned by the emptiness checks
are currently incomplete (they lack the acceptance conditions, and
sometimes even the labels in the prefix).
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them.
* src/tgbatest/ltl2tgba.cc (main): Prepare to use replay_tgba_run
when the emptiness checks are fixed.
2004-10-28 12:10:12 +00:00
Alexandre Duret-Lutz
6c815004c4 Introduce an emptiness-check interface, and modify the existing
algorithms to conform to it, uniformly.  This will unfortunately
break third-party code that were using these algorithms.
* src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: New files.
* src/tgbaalgos/Makefile.am: New files.
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh: Adjust to
conform to the new emptiness-check interface.
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh:
Likewise.  The classes have been renamed are as following
  emptiness_check -> couvreur99_check
  emptiness_check_shy -> couvreur99_check_shy
  counter_example -> couvreur99_check_result
* src/tgbatest/ltl2tgba.cc, iface/gspn/ltlgspn.cc, iface/gspn/ssp.hh,
iface/gspn/ssp.cc: Adjust to renaming and new interface.
2004-10-27 16:47:54 +00:00
Alexandre Duret-Lutz
7010a02cd9 * src/evtgbaalgos/tgba2evtgba.cc, src/evtgbaalgos/tgba2evtgba.hh:
New files.
* src/evtgbaalgos/Makefile.am (evtgbaalgos_HEADERS,
libevtgbaalgos_la_SOURCES): Add them.
* src/evtgbatest/ltl2evtgba.cc, src/evtgbatest/ltl2evtgba.test:
New files.
* src/evtgbatest/Makefile.am (check_PROGRAMS, TESTS): Add them.
(ltl2evtgba_SOURCES): New variable.
2004-10-27 11:18:13 +00:00
Alexandre Duret-Lutz
b89f1e252e * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Do not assert
that the true state has only one link when unobs is used.
2004-10-27 11:13:52 +00:00
Alexandre Duret-Lutz
0864d1ca1e * src/evtgbatest/Makefile.am (CLEANFILES): New variable. 2004-10-23 07:49:08 +00:00
Alexandre Duret-Lutz
73ff928b6f Preliminary support for Event-based GBA.
* src/evtgba/Makefile.am, src/evtgba/evtgba.cc,
src/evtgba/evtgba.hh, src/evtgba/evtgbaiter.hh,
src/evtgba/explicit.cc, src/evtgba/explicit.hh,
src/evtgba/product.cc, src/evtgba/product.hh,
src/evtgba/symbol.cc, src/evtgba/symbol.hh,
src/evtgbaalgos/Makefile.am, src/evtgbaalgos/dotty.cc,
src/evtgbaalgos/dotty.hh, src/evtgbaalgos/reachiter.cc,
src/evtgbaalgos/reachiter.hh, src/evtgbaalgos/save.cc,
src/evtgbaalgos/save.hh, src/evtgbaparse/Makefile.am,
src/evtgbaparse/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
src/evtgbaparse/fmterror.cc, src/evtgbaparse/parsedecl.hh,
src/evtgbaparse/public.hh, src/evtgbatest/Makefile.am,
src/evtgbatest/defs.in, src/evtgbatest/explicit.cc,
src/evtgbatest/explicit.test, src/evtgbatest/product.cc,
src/evtgbatest/product.test, src/evtgbatest/readsave.cc,
src/evtgbatest/readsave.test: New files.
* configure.ac: Create the Makefiles in these new subdirectories.
* src/Makefile.am: Recurse them.
2004-10-22 16:22:31 +00:00
Alexandre Duret-Lutz
d9b29a0590 * src/misc/bareword.hh, src/misc/bareword.cc (quote_unless_bare_word):
New function.
2004-10-22 16:06:55 +00:00
Alexandre Duret-Lutz
38f7cac8dd * src/ltlvisit/tostring.cc (to_spin_string_visitor): Move to
anonymous namespace.
2004-10-22 12:29:13 +00:00
Alexandre Duret-Lutz
91b9682bd8 * wrap/python/Makefile.am (_spot_la_SOURCES): Add spot_wrap.h. 2004-10-21 11:01:27 +00:00
Alexandre Duret-Lutz
55b84b1a48 * src/misc/modgray.hh (loopless_modular_mixed_radix_gray_code::done,
loopless_modular_mixed_radix_gray_code::last): Declare as const.
2004-10-20 16:04:06 +00:00
Alexandre Duret-Lutz
4defec66b4 * src/misc/bareword.hh, src/misc/bareword.cc: New files.
* src/misc/Makefile.am (libmisc_la_SOURCES, misc_HEADERS): Add them.
2004-10-20 15:50:52 +00:00
Alexandre Duret-Lutz
094ddca665 * src/misc/modgray.hh, src/misc/modgray.cc: New files.
* src/misc/Makefile.am (libmisc_la_SOURCES, misc_HEADERS): Add them.
* wrap/python/spot.i: Activate directors, and interface modgray.hh.
* wrap/python/tests/modgray.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add it.
2004-10-20 15:46:56 +00:00
Alexandre Duret-Lutz
7d27fd3796 * iface/gspn/gspn.cc, src/ltlvisit/basicreduce.cc,
src/ltlvisit/destroy.cc, src/ltlvisit/dotty.cc,
src/ltlvisit/dump.cc, src/ltlvisit/length.cc,
src/ltlvisit/nenoform.cc, src/ltlvisit/reduce.cc,
src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc,
src/tgba/formula2bdd.cc, src/tgba/tgbabddconcreteproduct.cc,
src/tgba/tgbatba.cc, src/tgbaalgos/dotty.cc,
src/tgbaalgos/dupexp.cc, src/tgbaalgos/lbtt.cc,
src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/neverclaim.cc,
src/tgbaalgos/save.cc, src/tgbaalgos/stats.cc,
src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh:
Declare private classes and helper function in anonymous namespaces.
* HACKING, src/sanity/style.test: Document and check this.
Also check for trailing { after namespace or class.
* src/ltlast/predecl.hh, src/ltlast/visitor.hh,
src/tgba/tgbareduc.hh: Fix trailing {.
2004-10-18 13:56:31 +00:00
Alexandre Duret-Lutz
5176caf4d2 * src/tgbaalgos/gtec/ce.cc: Reinstall change from 2004-09-21. 2004-10-15 13:33:50 +00:00
Alexandre Duret-Lutz
ed6db92642 Back out all Thomas's changes on emptiness checks since
2004-08-23.  Some of these will need to be reintegrated more
slowly and cleanly.

* src/tgbaalgos/Makefile.am, src/tgbaalgos/gtec/ce.cc,
src/tgbaalgos/gtec/ce.hh, src/tgbatest/Makefile.am,
src/tgbatest/emptchk.test, src/tgbatest/ltl2tgba.cc: Revert.
* src/tgbaalgos/colordfs.cc, src/tgbaalgos/colordfs.hh,
src/tgbaalgos/minimalce.cc, src/tgbaalgos/minimalce.hh,
src/tgbaalgos/nesteddfs.cc, src/tgbaalgos/nesteddfs.hh,
src/tgbaalgos/nesteddfsgen.cc, src/tgbaalgos/nesteddfsgen.hh,
src/tgbaalgos/tarjan_on_fly.cc, src/tgbaalgos/tarjan_on_fly.hh:
Delete.
2004-10-15 10:33:55 +00:00
Alexandre Duret-Lutz
01987350b7 * src/ltltest/reduc.test: Do source ./defs. Revert mistaken
change from 2004-09-13.
2004-10-14 12:57:12 +00:00
Alexandre Duret-Lutz
2a2c630bfa * src/tgbatest/explicit.test: Typo. 2004-10-14 12:21:48 +00:00
Alexandre Duret-Lutz
e8e2bec243 The computation of the counter example fails the valgrind tests
and is wrong into two ways: the search stack is generally not a
path, and does not run until the end of the STL container.
Remove it.
* src/tgbaalgos/tarjan_on_fly.cc, src/tgbaalgos/tarjan_on_fly.hh
(tarjan_on_fly): Do not inherit from the emptiness_search class,
because the check method will no longer return a counter example.
(tarjan_on_fly::check): Return only a boolean.
(tarjan_on_fly::build_counter): Delete.
* src/tgbatest/ltl2tgba.cc: Adjust.
2004-10-13 17:39:27 +00:00
Alexandre Duret-Lutz
ca27267c69 * src/tgba/tgbaexplicit.cc (tgba_explicit_succ_iterator::current_state,
tgba_explicit_succ_iterator::current_condition,
tgba_explicit_succ_iterator::current_accepting_conditions): Assert
the iteration is not finished.
2004-10-13 14:32:05 +00:00
Alexandre Duret-Lutz
d647e7a0db * wrap/python/tests/run.in: Typo. From Akim Demaille. 2004-10-12 07:41:19 +00:00
Alexandre Duret-Lutz
7bcd027712 * configure.ac: Empty CFLAGS and CXXFLAGS.
* m4/debug.m4: Update CXXFLAGS too.
2004-10-11 12:32:49 +00:00
Alexandre Duret-Lutz
6e40095471 * doc/Doxyfile.in: Upgrade to Doxygen 1.3.9. 2004-10-08 13:57:49 +00:00
Alexandre Duret-Lutz
8b3bfaacdb * src/sanity/style.test: Suggest using "x->y", not "(*x).y".
* src/tgbaalgos/tarjan_on_fly.cc: Fix.
2004-09-27 14:57:37 +00:00
Alexandre Duret-Lutz
2c0a2cd517 typo 2004-09-27 13:02:53 +00:00
Alexandre Duret-Lutz
3f2cba6304 * src/sanity/style.test: Suggest ++i over i++ when it does not
matter, for consistency.
* src/tgbaalgos/tarjan_on_fly.cc, iface/gspn/ssp.cc,
src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.cc,
src/tgbaalgos/minimalce.cc, src/tgba/tgbareduc.cc: Adjust.
2004-09-23 12:20:10 +00:00
Alexandre Duret-Lutz
3780650ea0 * src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): New unobs argument.
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Handle unobs.
* src/tgbatest/ltl2tgba.cc (syntax, main): New -U option.
2004-09-23 11:56:43 +00:00
Alexandre Duret-Lutz
a59b9aa7f4 * src/tgbaalgos/colordfs.hh, src/tgbaalgos/minimalce.cc,
src/tgbaalgos/minimalce.hh, src/tgbaalgos/nesteddfs.hh,
src/tgbaalgos/tarjan_on_fly.hh, src/tgbatest/ltl2tgba.cc: Rename
emptyness_search to emptiness_search.
2004-09-21 15:19:26 +00:00
Alexandre Duret-Lutz
c30823f7be * src/sanity/style.test: Warn about places where size() is used
instead of empty().
* src/misc/bddalloc.cc (bdd_allocator::extend): Use empty() rather
than size() when checking emptiness of lists.
* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/minimalce.cc,
src/ltlvisit/basicreduce.cc, src/ltlvisit/reduce.cc,
src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/ltl2tgba_fm.cc,
src/misc/minato.cc: Likewise.
* src/ltlast/multop.cc (multop::instance): Call ->size() only once.
2004-09-21 13:01:27 +00:00
Alexandre Duret-Lutz
f0aa58034c Update to SWIG 1.3.22.
* wrap/python/libpy.c: Delete.
* wrap/python/swigpy.i: New file.
* wrap/python/Makefile.am (swigpy_wrap.c): Build this from swigpy.i
and use it instead of libpy.c.
2004-09-20 16:35:46 +00:00
Alexandre Duret-Lutz
b4065d9083 * INSTALL, lbtt/INSTALL: New upstream version. 2004-09-20 15:05:44 +00:00
martinez
314f51ac55 * src/tgbatest/emptchk.test
src/tgbaalgos/tarjan_on_fly.hh,
src/tgbaalgos/tarjan_on_fly.cc,
src/tgbaalgos/nesteddfs.hh,
src/tgbaalgos/nesteddfs.cc,
src/tgbaalgos/minimalce.hh,
src/tgbaalgos/minimalce.cc: To correct a bug.
2004-09-14 16:11:14 +00:00
martinez
ad71da0042 * src/ltltest/reduc.test (FICH): bad file name. 2004-09-14 11:51:56 +00:00
martinez
0e5ca8a586 * src/tgbaalgos/nesteddfsgen.hh src/tgbaalgos/nesteddfsgen.cc:
New algorithm for emptiness check.
2004-09-13 15:47:33 +00:00
martinez
5af687b2c8 * src/tgbatest/spotlbtt.test,
src/tgbatest/reductgba.cc,
src/tgbatest/ltl2tgba.cc:
Add option for reduction of TGBA.

* src/tgbatest/emptchk.test, src/tgbaalgos/Makefile.am,
src/tgbaalgos/tarjan_on_fly.hh, src/tgbaalgos/tarjan_on_fly.cc,
src/tgbaalgos/nesteddfs.hh, src/tgbaalgos/nesteddfs.cc,
src/tgbaalgos/minimalce.hh, src/tgbaalgos/minimalce.cc,
src/tgbaalgos/colordfs.hh, src/tgbaalgos/colordfs.cc:
Remove some bugs.

src/tgbaalgos/gtec/ce.cc:
Modification of construction of counter example.

* src/tgbaalgos/reductgba_sim.hh src/tgbaalgos/reductgba_sim.cc,
src/tgbaalgos/reductgba_sim_del.cc,
src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc:
Modification for delayed simulation.


* src/tgbaalgos/gtec/ce.hh,
* src/tgbatest/ltl2tgba.cc,
2004-09-13 15:25:13 +00:00
martinez
2d1151e018 * src/tgbaalgos/tarjan_on_fly.hh,
src/tgbaalgos/tarjan_on_fly.cc,
src/tgbaalgos/nesteddfs.hh,
src/tgbaalgos/nesteddfs.cc,
src/tgbaalgos/minimalce.hh,
src/tgbaalgos/minimalce.cc,
src/tgbaalgos/colordfs.hh,
src/tgbaalgos/colordfs.cc: four new algorithms for emptyness check.

src/tgbaalgos/gtec/ce.hh,
src/tgbaalgos/gtec/ce.cc: Adapt the counter exemple for the ce
object in minimalce.hh.

src/tgbatest/ltl2tgba.cc,
src/tgbatest/emptchk.test,
src/tgbaalgos/Makefile.am: Add files for emptyness-check.


* src/tgbaalgos/reductgba_sim_del.cc: Restrict to degeneralize automata.
* src/tgba/tgbareduc.hh: src/tgba/tgbareduc.cc: Merge transition
for scc reduce.
2004-08-23 12:48:33 +00:00
Alexandre Duret-Lutz
3d2135c883 * configure.ac, NEWS: Bump version to 0.0y. 2004-08-13 13:32:46 +00:00
Alexandre Duret-Lutz
280ad8d756 * configure.ac, NEWS: Bump version to 0.0x. 2004-08-13 13:18:10 +00:00
Alexandre Duret-Lutz
4531700d36 * doc/Doxyfile.in (GENERATE_TAGFILE): Build spot.tag.
* doc/Makefile.am (dist_pkgdata_DATA): Add spot.tag.
2004-08-12 16:48:08 +00:00
Alexandre Duret-Lutz
8f502a8e32 * src/tgbatest/ltl2tgba.cc (syntax): Typo. 2004-08-12 14:45:07 +00:00