Commit graph

923 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
c1fd4d1138 * src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run,
couvreur99_check_result::accepting_cycle): Rewrite the BFSs using
the bfs_steps class.
2004-11-24 15:36:56 +00:00
Alexandre Duret-Lutz
2b74398a62 * src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: New files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them.
* src/tgbaalgos/gv04.cc (gv04::result::accepting_run): Use
the new bfs_steps class.
2004-11-24 14:38:21 +00:00
Alexandre Duret-Lutz
df1bf80d1f * src/tgbaalgos/gv04.cc (gv04::result): New struct to compute
counter examples.
(gv04:check): Return a gv04::result.
2004-11-23 18:39:12 +00:00
Denis Poitrenaud
976a86ba2b * src/tgbaalgos/tau03opt.cc: Fix a warning. 2004-11-23 13:54:34 +00:00
Alexandre Duret-Lutz
b0aab51580 * src/tgbaalgos/gv04.cc (gv04): Inherit from ec_statistics.
(gv04::check, gv04::push, gv04::pop): Update the statistics for
randtgba.
(gv04::print_stats): Print them here too.
2004-11-22 17:50:43 +00:00
Alexandre Duret-Lutz
f965894a7f * src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
couvreur99_check_shy::check): Compute more statistics for
randtgba.
(couvreur99_check::print_stats): Print these here too.
2004-11-22 17:41:38 +00:00
Alexandre Duret-Lutz
63453a2424 * src/sanity/style.test: Allow "'" after ",". 2004-11-22 17:06:25 +00:00
Alexandre Duret-Lutz
6cce60bed7 * src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh: New files, partly
based on Thomas Martinez's src/tgbaalgos/tarjan_on_fly.cc and
src/tgbaalgos/tarjan_on_fly.hh former implementation.
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES,
tgbaalgos_HEADERS): Add them.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Bind the
new algorithm.
* src/tgbatest/emptchk.test: Test it.
2004-11-22 16:57:31 +00:00
Denis Poitrenaud
0f15d28fe8 * src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/weight.cc,
src/tgbaalgos/weight.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/status.cc,
src/tgbaalgos/gtec/status.hh, : Add emptiness check statistics
capability.
* src/tgbatest/randtgba.cc: Print these statistics.
* src/tgbatest/ltl2tgba.cc: tau03opt search can deal without acceptance
condition.
* src/tgbatest/emptchk.test: Test tau03opt search.
2004-11-22 12:06:03 +00:00
Alexandre Duret-Lutz
fc775a8b1f * src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc,
src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc,
src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03.cc,
src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03opt.cc: Fix
copyright year, and do not include <iterator>.
2004-11-19 13:29:39 +00:00
Alexandre Duret-Lutz
8068a54e38 * src/tgbatest/randtgba.cc (main): Add options -z and -Z for statistics.
(ce_stat): New struct.
2004-11-18 19:05:41 +00:00
Denis Poitrenaud
121d582480 * src/tgbaalgos/se05.hh, src/tgbaalgos/tau03.hh: Typo.
* src/tgbaalgos/tau03.cc: Suppress optimisations, the algorithm is now
the original one.
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03opt.cc: New files
implementing most of all the optimisations of tau03.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Make them public.
* src/tgbatest/tba_samples_from_spin.test: Test them.
2004-11-18 16:09:41 +00:00
Alexandre Duret-Lutz
321177331d * src/tgba/tgba.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/stats.hh: Typos.
2004-11-17 17:45:01 +00:00
Alexandre Duret-Lutz
a1262a30fb * src/tgbatest/Makefile.am (EXTRA_DIST): Distribute the files
from tba_samples_from_spin.
* src/tgbatest/tba_samples_from_spin.test: Get these example files
from $srcdir, for the sake of VPATH builds.
(light_run): Remove, not needed.
2004-11-17 17:42:19 +00:00
Alexandre Duret-Lutz
2a3d638a50 * src/misc/bareword.hh, src/misc/bddalloc.hh, src/misc/bddlt.hh,
src/misc/escape.hh, src/misc/freelist.hh, src/misc/hash.hh,
src/misc/hashfunc.hh, src/misc/minato.hh, src/misc/modgray.hh,
src/misc/random.hh, src/misc/version.hh, src/tgba/state.hh: More
Doxygen groups.
2004-11-17 17:20:44 +00:00
Denis Poitrenaud
9bea364e40 * src/tgbaalgos/magic.hh: Fix a comment and remove se05 interface.
* src/tgbaalgos/magic.cc: Fix a comment.
* src/tgbaalgos/se05.hh: New file.
* src/tgbaalgos/se05.cc: Fix a comment.
* src/tgbaalgos/tau03.hh: New file.
* src/tgbaalgos/tau03.cc: New file.
* src/tgbaalgos/Makefile.am: Add it.
* src/tgbatest/ltl2tgba.cc: Add tau03 new emptiness check.
* src/tgbatest/randtgba.cc: Add tau03 new emptiness check.
* src/tgbatest/emptchkr: Fix a comment.
* src/tgbatest/tba_samples_from_spin/explicit1_1.tba,
src/tgbatest/tba_samples_from_spin/explicit1_2.tba,
src/tgbatest/tba_samples_from_spin/explicit1_3.tba,
src/tgbatest/tba_samples_from_spin/explicit1_4.tba,
src/tgbatest/tba_samples_from_spin/explicit1_5.tba,
src/tgbatest/tba_samples_from_spin/explicit1_6.tba,
src/tgbatest/tba_samples_from_spin/explicit1_7.tba,
src/tgbatest/tba_samples_from_spin/explicit1_8.tba,
src/tgbatest/tba_samples_from_spin/explicit1_9.tba,
src/tgbatest/tba_samples_from_spin/explicit2_1.tba,
src/tgbatest/tba_samples_from_spin/explicit2_2.tba,
src/tgbatest/tba_samples_from_spin/explicit2_3.tba,
src/tgbatest/tba_samples_from_spin/explicit2_4.tba,
src/tgbatest/tba_samples_from_spin/explicit2_5.tba,
src/tgbatest/tba_samples_from_spin/explicit2_6.tba,
src/tgbatest/tba_samples_from_spin/explicit2_7.tba,
src/tgbatest/tba_samples_from_spin/explicit2_8.tba,
src/tgbatest/tba_samples_from_spin/explicit2_9.tba: New files
* src/tgbatest/tba_samples_from_spin.test : New test.
* src/tgbatest/Makefile.am: Add it.
2004-11-17 17:07:25 +00:00
Alexandre Duret-Lutz
c3e399c837 * src/tgba/tgba.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/emptiness.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
src/tgbaalgos/neverclaim.hh, src/tgbaalgos/powerset.hh,
src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh
src/tgbaalgos/save.hh, src/tgbaalgos/stats.hh,
src/tgbaparse/public.hh: Add Doxygen groups for TGBA algorithms.
2004-11-17 16:56:36 +00:00
Alexandre Duret-Lutz
36aadba740 * src/ltlast/atomic_prop.hh, src/ltlast/binop.hh,
src/ltlast/constant.hh, src/ltlast/formula.hh,
src/ltlast/multop.hh, src/ltlast/refformula.hh,
src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh,
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
src/ltlvisit/basicreduce.hh, src/ltlvisit/clone.hh,
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.hh, src/ltlvisit/length.hh,
src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh: Add Doxygen
groups for LTL algorithms and types.
* doc/Makefile.am (fast-doc): New target.
2004-11-17 16:23:40 +00:00
Alexandre Duret-Lutz
8c6dff00b6 * src/misc/hashfunc.hh: Include cstddef to define size_t, and guard
the file for multiple inclusions.
2004-11-17 00:56:26 +00:00
Alexandre Duret-Lutz
2cd298e4b0 * src/tgba/bdddict.hh, src/tgba/state.hh, src/tgba/statebdd.hh,
src/tgba/succiter.hh, src/tgba/succiterconcrete.hh,
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbaexplicit.hh,
src/tgba/tgbaproduct.hh, src/tgba/tgbareduc.hh,
src/tgba/tgbatba.hh, src/tgbaalgos/emptiness.hh,
src/tgbaalgos/magic.hh, src/tgbaalgos/replayrun.hh,
src/tgbaalgos/gtec/gtec.hh, iface/gspn/ssp.hh: Introduce Doxygen
groups in the documentation.  Presently this only covers the
tgba/ directory, and the emptiness-check algorithms.
* doc/Doxyfile.in (EXCLUDE_PATTERNS): Skip Bison-generated files
in src/evtgbaparse/.
2004-11-16 23:47:50 +00:00
Alexandre Duret-Lutz
cac85dbcca * src/tgba/tgbatba.hh (tgba_sba_proxy): New class, with the
functionality of the old tgba_tba_proxy.
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator,
tgba_tba_proxy): Rewrite to produce TBA with at most N copies of
each state, skipping the `bddtrue' stage now used only in
tgba_sba_proxy.  Doing so removes approximately 6% of states in
the degeneralized tests of spotlbtt.test.
(tgba_sba_proxy): Implement it.
* src/tgbaalgos/neverclaim.hh, src/tgbaalgos/neverclaim.cc: Adjust
to take a tgba_sba_proxy.
* src/tgbatest/ltl2tgba.cc: Add option -DS and adjust call to
never_claim_reachable().
2004-11-16 18:38:19 +00:00
Alexandre Duret-Lutz
ee5462105b * src/tgba/tgbatba.cc (state_tba_proxy::hash): Use wang32_hash.
* src/tgba/tgbaproduct.cc (state_product::hash): Likewise.
2004-11-16 15:38:22 +00:00
Alexandre Duret-Lutz
dfb832cf20 * src/misc/hashfunc.hh (wang32_hash): New file and function,
extracted from...
* src/evtgba/product.cc (evtgba_product_state::hash): ... here.
* src/misc/Makefile.am (misc_HEADERS): Add hashfunc.hh.
2004-11-16 14:59:49 +00:00
Alexandre Duret-Lutz
49b871f924 * src/tgbatest/ltl2tgba.cc (main): For non-generalized emptiness
check, degeneralize the automaton only if it has too much
acceptance conditions.  This makes it easier to reproduce runs
of randtgba.
* src/tgbatest/emptchk.test: Adjust.
2004-11-16 00:35:18 +00:00
Denis Poitrenaud
dd4d8dea01 * src/tgbaalgos/magic.cc: Fix a stupid bug.
* src/tgbaalgos/se05.cc: Fix the same bug.
* src/tgbatest/Makefile.am: Signify that emptchkr.test pass.
2004-11-15 18:15:42 +00:00
Alexandre Duret-Lutz
5d16bb63b4 * tgbatest/randtgba.cc: Add options -e and -r.
* tgbatest/emptchkr.test: New file.
* src/tgbatest/Makefile.am (TESTS, XFAIL_TESTS): Add emptchkr.test.
2004-11-15 16:51:12 +00:00
Alexandre Duret-Lutz
ea9af1f1b0 * src/tgbaalgos/replayrun.cc (replay_tgba_run): Fix a memory leak
if debug==false.
2004-11-15 15:07:21 +00:00
Alexandre Duret-Lutz
78be35142d * src/tgbaalgos/randomgraph.cc (random_graph): Do declare all the
acceptance conditions in the produced automaton, in case they are
not actually used.
2004-11-15 13:29:04 +00:00
Alexandre Duret-Lutz
d6f865ac13 * src/tgbaalgos/replayrun.cc (replay_tgba_run): Write to the
supplied stream, not std::cout.
2004-11-15 13:27:55 +00:00
Denis Poitrenaud
3ea9771942 * src/tgbaalgos/magic.cc: Add a bit state hashing version.
* src/tgbaalgos/se05.cc: Add a bit state hashing version.
* src/tgbaalgos/magic.hh: Make them public.
* src/tgbatest/ltl2tgba.cc: Add the two new emptiness checks.
* src/tgbatest/emptchk.test: Incorporate tests of src/tgbatest/dfs.test.
* src/tgbatest/dfs.test: Introduce new characteristic explicit tests.
2004-11-15 12:16:59 +00:00
Alexandre Duret-Lutz
ca6084160e * wrap/python/cgi/ltl2tgba.in: Add options to check the produced
automata for emptiness, using the existing algorithms.
* wrap/python/spot.i: Declare spot::explicit_magic_search,
and spot::explicit_se05_search as allocating their output.
2004-11-14 23:10:56 +00:00
Alexandre Duret-Lutz
4a7486bbff * configure.ac: Check for srand48 and drand48.
* src/misc/random.cc (srand, drand): Use srand48 and drand48 if
available.
2004-11-12 18:27:09 +00:00
Alexandre Duret-Lutz
5bcb6091fd * src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh: New files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS)
(libtgbaalgos_la_SOURCES): Add them.
* src/tgba/tgbaexplicit.hh (tgba_explicit::add_state): Make it public.
* src/tgbatest/randtgba.cc: New file.
* src/tgbatest/Makefile.am (noinst_PROGRAMS, readsave_SOURCES): Add it.
* src/tgbatest/readsave.test: Check a random graph.
2004-11-12 17:24:46 +00:00
Alexandre Duret-Lutz
e54ddd46ed * misc/random.cc, misc/random.hh: New files.
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
2004-11-12 16:27:39 +00:00
Alexandre Duret-Lutz
67e133ae51 * src/evtgbaparse/public.hh (evtgba_parse): Fix doxygen comments.
* src/tgbaalgos/projrun.hh (project_tgba_run): Likewise.
2004-11-10 14:14:05 +00:00
Alexandre Duret-Lutz
57792ca541 * src/tgbaalgos/emptiness.hh (print_tgba_run): Document it. 2004-11-10 14:09:37 +00:00
Alexandre Duret-Lutz
21e0e9bc18 * src/tgbaalgos/replayrun.hh,
src/tgbaalgos/replayrun.cc (replay_tgba_run): Take a `debug'
option to decide whether the output should look like that of
print_tgba_run() or a complete debug trace.
* src/tgbatest/ltl2tgba.cc (main): Call replay_tgba_run() with
debug=true.
2004-11-10 13:56:42 +00:00
Alexandre Duret-Lutz
a67e2d0b23 * iface/gspn/ltlgspn.cc (main): Adjust to recent changes to
src/tgbaalgos/magic.cc, call explicit_magic_search() instead of
building a spot::magic_search.
* iface/gspn/udcseltl.test: Adjust to new output of print_tgba_run().
2004-11-10 12:28:47 +00:00
Alexandre Duret-Lutz
9b4edbc387 * src/tgbatest/Makefile.am (TESTS): Remove non-existing magic.test
and se05.test.
2004-11-09 18:13:27 +00:00
Alexandre Duret-Lutz
dc634800bf * src/tgbatest/ltl2tgba.cc (syntax): Fix old typos and reword
some help strings.
2004-11-09 18:08:42 +00:00
Denis Poitrenaud
f52082bcfb * src/tgbaalgos/magic.cc: rewrite to externalize the heap and
prepare it to a bit state hashing version.
* src/tgbaalgos/magic.hh: adapt to the new interface of
magic_search and se05_search.
* src/tgbaalgos/se05.cc: new file.
* src/tgbaalgos/Makefile.am: Add it.
* src/tgbatest/ltl2tgba.cc: Add new emptiness check.
* src/tgbatest/emptchk.test: more tests.
* src/tgbatest/dfs.test: new file.
* src/tgbatest/Makefile.am: Add it.
2004-11-09 17:22:58 +00:00
Alexandre Duret-Lutz
908b6129f4 * src/tgbaalgos/emptiness.cc (print_tgba_run): Output the
labels as formulae rather than bdd sets.
2004-11-09 10:41:25 +00:00
Alexandre Duret-Lutz
9d0bcae806 * src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_path):
Rewrite as ...
(couvreur99_check_result::accepting_cycle): ... this less complex
implementation.
(couvreur99_check_result::complete_cycle): Delete.
* src/tgbatest/emptchke.test: More explicit examples.
2004-11-08 17:39:48 +00:00
Alexandre Duret-Lutz
263afcd22a * src/tgbaalgos/replayrun.cc (replay_tgba_run): Do not leak
the initial state when no valid outgoing transition is found.
2004-11-08 15:39:52 +00:00
Alexandre Duret-Lutz
7afd10420a * src/tgbaparse/tgbaparse.yy: Add `%destructor's so the parser
does not leak on errors.
* src/tgbatest/ltl2tgba.cc: Free the automata if it could not be
fully parsed.
2004-11-08 14:43:10 +00:00
Alexandre Duret-Lutz
86ff462fa4 * src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run):
Remove spurious FIXME.
2004-11-08 10:32:34 +00:00
Alexandre Duret-Lutz
a31ab32b9b * src/evtgbaalgos/save.cc (save_bfs::output_acc_set): Sort
acceptance conditions in the output.
* src/evtgbatest/readsave.test, src/evtgbatest/product.test: Adjust.
2004-11-05 17:26:33 +00:00
Alexandre Duret-Lutz
6c1152d819 * src/tgbaalgos/rundotdec.cc (tgba_run_dotty_decorator::link_decl):
Typo.
2004-11-05 06:46:47 +00:00
Alexandre Duret-Lutz
9444d84a17 * src/tgbaalgos/neverclaim.cc (never_claim_bfs::process_link):
Adjust prototype.
2004-11-04 12:57:04 +00:00
Alexandre Duret-Lutz
d60025dcd1 * src/tgba/tgba.hh, src/tgba/tgba.cc
(tgba::number_of_acceptance_conditions): New method.
* src/tgbaalgos/lbtt.cc (lbtt_bfs::lbtt_bfs): Use it.
2004-11-04 12:55:03 +00:00