Commit graph

1372 commits

Author SHA1 Message Date
martinez
9db2b31484 * src/ltlvisit/basereduc.cc (spot): Correct some mistakes.
* src/ltlvisit/lunabbrev.cc (spot): Nothing change.
* src/tgbatest/ltl2tgba.cc (main): More option to reduce
formula.
* src/tgbatest/spotlbtt.test: One more test.
2004-05-14 12:55:13 +00:00
Alexandre Duret-Lutz
35ef738ff9 * src/ltlvisit/tostring.cc (to_spin_string_visitor,
to_string_visitor): Do not parenthesize the top-level formula.
* tgbatest/explicit.test, tgbatest/explpro2.test,
tgbatest/explpro3.test, tgbatest/explprod.test,
tgbatest/readsave.test, tgbatest/tgbaread.test,
tgbatest/tripprod.test: Adjust expected output.
* sanity/style.test: Fix regexes to catch an error seen in
tostring.cc.
2004-05-14 11:01:14 +00:00
Alexandre Duret-Lutz
6f4ab3af6c * src/tgbaalgos/gtec/gtec.cc (emptiness_check::remove_component):
Do not try to erase state that are not found in H.
Report from Soheib Baarir.
2004-05-14 09:05:17 +00:00
Alexandre Duret-Lutz
0c44ca35b3 * src/ltltest/reduc.test: Use ./defs and clean result.data.
* src/ltltest/Makefile.am (CLEANFILES): Clean result.data.
2004-05-14 08:41:32 +00:00
martinez
4cd10c3dfc * src/ltlvisit/Makefile.am: Copyright 2004.
* src/ltltest/inf.test: More test.
* src/ltlvisit/basereduc.cc, src/ltlvisit/forminf.cc (spot):
Use dynamic_cast.
* src/ltlvisit/reducform.cc, src/ltlvisit/reducform.hh,
src/ltltest/reduc.test, src/ltltest/reduc.cc: Add an option
to choose which rules applies to simplify the formula.
2004-05-13 16:00:15 +00:00
Alexandre Duret-Lutz
f7e5fe0821 * src/ltltest/reduc.test: Typo. 2004-05-13 09:50:48 +00:00
Alexandre Duret-Lutz
60a3b4ed72 * src/ltlparse/ltlparse.yy (OP_POST_NEG, OP_POST_POS): New tokens.
(subformula): Recognize `ATOMIC_PROP OP_POST_POS' and
`ATOMIC_PROP OP_POST_NEG'.
* src/ltlparse/ltlscan.ll: Introduce the not_prop start condition,
to restrict the set of atomic propositions allowed in places
where they are not expected.  Make `true' and `false' case insensitive.
* src/ltltest/parse.test, src/ltltest/tostring.test: More cases.
* src/ltlvisit/tostring.cc (to_string_visitor): Quote atomic
propositions equal to "true" or "false".
2004-05-13 09:49:06 +00:00
Alexandre Duret-Lutz
4f96a9fc14 * src/ltltest/Makefile.am (TESTS): Run inf.test and reduc.test last. 2004-05-11 11:03:22 +00:00
Alexandre Duret-Lutz
a66e7250bf * src/ltltest/reduc.test: POSIXify. 2004-05-11 08:51:20 +00:00
Alexandre Duret-Lutz
c4a5b325a2 * src/sanity/style.test: New file.
* src/sanity/Makefile.am (check-local): Run it.
* src/ltlvisit/nenoform.cc, src/ltlvisit/tostring.cc,
src/tgba/bdddict.cc, src/tgba/bddprint.cc, src/tgba/tgba.cc,
src/tgba/tgbaproduct.cc, src/tgbaalgos/lbtt.cc,
src/tgbaalgos/magic.cc, src/tgbaalgos/powerset.cc,
src/tgbaalgos/reachiter.cc, src/tgbaalgos/gtec/ce.cc,
src/tgbaalgos/gtec/gtec.cc, src/tgbatest/ltl2tgba.cc: Fix style
issues reported by style.test.
2004-05-10 18:38:20 +00:00
Alexandre Duret-Lutz
69169970a2 * src/ltltest/inf.cc, src/ltltest/inf.test, src/ltltest/reduc.test,
src/ltlvisit/formlength.cc, src/ltlvisit/reducform.cc,
src/ltlvisit/reducform.hh: Fix copyright year, these files were
created in 2004.
2004-05-10 17:26:32 +00:00
Alexandre Duret-Lutz
83de4264cb * src/sanity/80columns.test: New file.
* src/sanity/Makefile.am (check-local): Run it.
* src/ltltest/equals.test, src/ltltest/lunabbrev.test,
src/ltltest/nenoform.test, src/ltltest/parseerr.test
src/ltltest/tunabbrev.test, src/ltlvisit/forminf.cc,
src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
src/tgbatest/explprod.test, src/tgbatest/spotlbtt.test,
src/tgbatest/tripprod.test: Wrap long lines.
2004-05-10 17:18:27 +00:00
martinez
e69d0fa94e * src/tgbatest/ltl2tgba.cc (main): Add a option for reduce the formula. 2004-05-10 17:07:21 +00:00
martinez
61e7d4e21f * src/ltltest/formules.ltl: A pattern of 2000 formulas.
* src/ltltest/inf.test: Test some case of implies.
* src/ltltest/inf.cc: Test some case of implies.
* src/ltltest/reduc.test: Test reduction of a file of formula.
* src/ltltest/reduc.cc: Test reduction of a formula.

* src/ltlvisit/formlength.cc: Gives the lenght of a formula.
* src/ltlvisit/forminf.cc: To know if a formula implies an other.
* src/ltlvisit/basereduc.cc: Implement only basic reduction.
* src/ltlvisit/reducform.cc: Implement reduction.
* src/ltlvisit/reducform.hh: To reduce a formula.
2004-05-10 16:40:34 +00:00
Alexandre Duret-Lutz
faf4a2af26 * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Refine
fair_loop_approximation when branching postponement is not used.
2004-05-10 13:43:22 +00:00
Alexandre Duret-Lutz
040f8beec7 Cache formula translations, and canonize formulae before doing
branching postponement.
* src/tgbaalgos/ltl2tgba_fm.cc (formula_canonizer): New class, with
bits extracted from fill_dests and ltl_to_tgba_fm.
(fill_dests, ltl_to_tgba_fm): Adjust to use formula_canonizer.
2004-05-10 12:17:07 +00:00
Alexandre Duret-Lutz
aa5cef3c83 * src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add argument
fair_loop_approx.
* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Implement the
fair_loop_approx optimization.
(ltl_promise_visitor, ltl_possible_fair_loop_visitor,
possible_fair_loop_checker): New classes.
* src/tgbatest/ltl2tgba.cc: Add the -L option.
* src/tgbatest/spotlbtt.test: Exercise fair_loop_approx.
* wrap/python/cgi/ltl2tgba.in: Make it an option.
2004-05-10 10:41:28 +00:00
Alexandre Duret-Lutz
6b06e28f3d * src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add argument
branching_postponement.
* src/tgbaalgos/ltl2tgba_fm.cc (fill_dests): New function, extracted
from ltl_to_tgba_fm().
(ltl_to_tgba_fm): Implement the branching_postponement optimization.
* src/tgbatest/ltl2tgba.cc: Add the -p option.
* src/tgbatest/spotlbtt.test: Exercise branching postponement.
* wrap/python/cgi/ltl2tgba.in: Make it an option.
2004-05-07 10:00:34 +00:00
Alexandre Duret-Lutz
f11df7679a * src/tgbaalgos/ltl2tgba_fm.cc: Add a superfluous return to pacify
some GCC version.  Report from Denis Poitrenaud.
2004-05-04 11:22:06 +00:00
Alexandre Duret-Lutz
b052e92537 * wrap/python/cgi/ltl2tgba.in: Fix output HTML. 2004-05-04 07:33:12 +00:00
Alexandre Duret-Lutz
ca80561ad5 * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Clone and then
free all formulae entered into canonical_succ, to avoid errors
when a formula is entered into canonical_succ but not into
formulae_seen.
* src/tgbatest/ltl2tgba.test: Add a new test, and check with -f.
Report from Thomas Martinez.
2004-05-03 16:41:00 +00:00
Alexandre Duret-Lutz
22912b6db7 * configure.ac, NEWS: Bump version to 0.0u. 2004-04-23 17:54:02 +00:00
Alexandre Duret-Lutz
b980717756 * configure.ac, NEWS: Bump version to 0.0t.
* HACKING: Update tools requirements.
* src/sanity/Makefile.am (EXTRA_DIST): Distribute includes.test.
2004-04-23 17:31:57 +00:00
Alexandre Duret-Lutz
007143e9e3 * src/sanity/Makefile.am, src/sanity/includes.test: New files.
* src/Makefile.am (SUBDIRS): Add sanity.
* configure.ac: Output src/sanity/Makefile.in.
2004-04-23 12:27:40 +00:00
Alexandre Duret-Lutz
7cf55415a7 * src/tgbatest/Makefile.am (check_PROGRAMS): Move ltl2tgba ...
(noinst_PROGRAMS): ... here.
* iface/gspn/Makefile.am (check_PROGRAMS): Rename as ...
(noinst_PROGRAMS): ... this.
2004-04-23 11:27:21 +00:00
Alexandre Duret-Lutz
70e93ea053 * src/tgbatest/explicit.test: Reorder bdd variable in output.
Report from Denis Poitrenaud.
2004-04-22 12:02:53 +00:00
Alexandre Duret-Lutz
28288e0478 * wrap/python/cgi/ltl2tgba.in: Print degeneralized statistics
when show_never_claim.  Change the title to LTL-to-TGBA.
2004-04-22 10:13:10 +00:00
Alexandre Duret-Lutz
d07e549832 * wrap/python/cgi/ltl2tgba.in (print_footer): Make ltl2tgba.py's
version a separate variable.
2004-04-21 21:03:56 +00:00
Alexandre Duret-Lutz
9a8d554f59 * wrap/python/cgi/ltl2tgba.in: Pass the formula to
never_claim_reachable, and cgi.escape its output.
Lighten the color a bit.
2004-04-21 20:23:57 +00:00
Alexandre Duret-Lutz
cf1ab2946f * src/tgbaalgos/gtec/ce.hh, src/misc/freelist.hh,
src/tgba/bddprint.hh: Fix Doxygen comments.
2004-04-21 20:14:40 +00:00
Alexandre Duret-Lutz
2f84bee41c * src/tgbaalgos/neverclaim.hh (never_claim_reachable): Document
arguments.
* src/tgbaalgos/neverclaim.cc (never_claim_bfs::state_is_accepting):
New method.
(never_claim_bfs::get_state_label, never_claim_bfs::process_state):
Use it.
2004-04-21 20:08:36 +00:00
Alexandre Duret-Lutz
231a77a05f * wrap/python/cgi/ltl2tgba.in: Use darker color and introduce
the new variable dot_bgcolor.
2004-04-21 19:52:30 +00:00
Alexandre Duret-Lutz
5904255b14 * wrap/python/cgi/ltl2tgba.in (add_options): Revamp options output
using this new function.
2004-04-21 19:32:37 +00:00
Alexandre Duret-Lutz
0c3d4fef9f * wrap/python/spot.i: Process tgbaalgos/neverclaim.hh.
* wrap/python/cgi/ltl2tgba.in: Display the never claim on demand.
2004-04-21 19:02:31 +00:00
Alexandre Duret-Lutz
8d8af2e53a * src/ltlvisit/tostring.hh (to_spin_string): New function.
Convert a formula into a string parsable by Spin.
* src/tgbaalgos/neverclaim.hh, src/tgbaalgos/neverclaim.cc: New files.
Print the never claim in Spin format of a degeneralized TGBA.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbatest/ltl2tgba.cc: Add the option -N which outputs the
never claim in Spin format of a degeneralized TGBA.
* src/tgbatest/ltl2neverclaim.test: New file.
* src/tgbatest/Makefile.am: Add it.
2004-04-21 15:18:07 +00:00
Alexandre Duret-Lutz
4d73490a49 * src/ltltest/defs.in, src/tgbatest/defs.in: Correctly set exitcode
when valgrind is not used.
Reported by Denis Poitrenaud.
2004-04-20 11:11:40 +00:00
Alexandre Duret-Lutz
00487e1176 * src/tgba/tgba.hh (tgba::succ_iter): Doco.
* src/tgba/tgbatba.hh (tgba_tba_proxy::state_is_accepting): Document
it.
Reported by Denis Poitrenaud.
2004-04-20 09:36:49 +00:00
Alexandre Duret-Lutz
ed53965347 * iface/gspn/ltlgspn.cc (main) [SSP]: Use the standard
counter-example computation for -e5 too.
2004-04-17 13:37:58 +00:00
Alexandre Duret-Lutz
83c4c02d35 * iface/gspn/ltlgspn.cc (main) [!SSP]: Do not accept -e3, -e4, or -e5.
(main) [SSP]: Use the standard counter-example computation
for -e and -e1.
2004-04-16 22:05:14 +00:00
Alexandre Duret-Lutz
133bcf9442 Rename EESRG as SSP.
* iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
iface/gspn/dottyeesrg.cc: Rename as ...
* iface/gspn/ssp.cc, iface/gspn/ssp.hh, iface/gspn/dottyssp.cc:
... these.  Adjust all classes and function names.
* iface/gspn/ltlgspn.cc, iface/gspn/Makefile.am: Adjust all classes
filenames and function names.
* m4/gspnlib.m4: Define WITH_GSPN_SSP and LIBGSPNSSP_LDFLAGS.
2004-04-15 12:05:20 +00:00
Alexandre Duret-Lutz
8ff4ca08ce * src/tgbaalgos/gtec/nsheap.cc (numbered_state_heap_hash_map::find):
Rewrite.
(numbered_state_heap_hash_map::index): New functions.
(numbered_state_heap_hash_map::filter): Delete.
* src/tgbaalgos/gtec/nsheap.hh
(numbered_state_heap_hash_map::index): New functions.
(numbered_state_heap_hash_map::filter): Delete.
* iface/gspn/eesrg.cc (numbered_state_heap_eesrg_semi::find,
numbered_state_heap_eesrg_semi::index): Rewrite.
(numbered_state_heap_eesrg_semi::filter): Remove.
* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/ce.cc:
Adjust to use find() and index() instead of filter()..
2004-04-15 11:50:29 +00:00
Alexandre Duret-Lutz
be4f4e3370 * iface/gspn/eesrg.cc (connected_component_eesrg::has_state):
Free filtered states.
(emptiness_check_shy_eesrg): New class.
(emptiness_check_eesrg_shy): New function.
* iface/gspn/eesrg.hh (emptiness_check_eesrg_shy): New function.
* iface/gspn/ltlgspn.cc (main) [EESRG]: Handle -e3, -e4, and -e5.
* * src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
(emptiness_check_shy::check): Move arc, num, succ_queue, and todo
as attributes.
(emptiness_check_shy::find_state): New virtual function.
2004-04-15 09:12:11 +00:00
Alexandre Duret-Lutz
1e360ec689 * iface/gspn/ltlgspn.cc (connected_component_eesrg,
connected_component_eesrg_factory, numbered_state_heap_eesrg_semi,
numbered_state_heap_eesrg_const_iterator,
numbered_state_heap_eesrg_factory_semi): New classes.
(emptiness_check_eesrg_semi, emptiness_check_eesrg_shy_semi,
counter_example_eesrg): New functions.
* iface/gspn/eesrg.hh (emptiness_check_eesrg_semi,
emptiness_check_eesrg_shy_semi, counter_example_eesrg): New
functions.
* iface/gspn/ltlgspn.cc [EESRG]: Adjust to call these new functions.
2004-04-14 15:20:35 +00:00
Alexandre Duret-Lutz
5d4affc5d7 * iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg,
state_gspn_eesrg): Compute the array of all successors of the
right state beforehand, pass it to Greatspn (left automata) at
once, let it compute the resulting synchronized arcs, and iterate
on that result.
2004-04-14 13:00:03 +00:00
Alexandre Duret-Lutz
a2cd1de267 * src/tgbaalgos/gtec/nsheap.hh (numbered_state_heap_factory,
numbered_state_heap_hash_map_factory): New class.
* src/tgbaalgos/gtec/nsheap.cc (numbered_state_heap_hash_map_factory):
Implement it.
* src/tgbaalgos/gtec/gtec.hh (emptiness_check::emptiness_check,
emptiness_check_shy::emptiness_check_shy): Take a
numbered_state_heap_factory argument.
* tgbaalgos/gtec/status.hh
(emptiness_check_status::emptiness_check_status): Likewise.
(emptiness_check_status::h): Make it a numbered_state_heap*.
* src/tgbaalgos/gtec/ce.cc, tgbaalgos/gtec/gtec.cc,
tgbaalgos/gtec/status.cc: Adjust uses of ecs_->h.
2004-04-14 11:30:41 +00:00
Alexandre Duret-Lutz
579c343e13 * src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/emptinesscheck.cc:
Delete and split into ...
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
src/tgbaalgos/gtec/explscc.cc, src/tgbaalgos/gtec/explscc.hh,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh,
src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh: ...
these new files.
* src/tgbaalgos/gtec/Makefile.am: New file.
* src/tgbaalgos/Makefile.am (SUBDIRS, libtgbaalgos_la_LIBADD):
Recurse into gtec and link gtec/libgtec.la.
(tgbaalgos_HEADERS, libtgbaalgos_la_SOURCES): Remove emptinesscheck.hh
and emptinesscheck.cc.
* configure.ac: Output src/tgbalagos/gtec/Makefile.
* iface/gspn/ltlgspn.cc, src/tgbatest/ltl2tgba.cc: Update includes.
* README: Update tree description.
2004-04-14 10:56:36 +00:00
Alexandre Duret-Lutz
d8f5bf608a * tgbaalgos/emptinesscheck.hh (numbered_state_heap_const_iterator,
numbered_state_heap, numbered_state_heap_hash_map): New classes.
* tgbaalgos/emptinesscheck.cc
(numbered_state_heap_hash_map_const_iterator): New class.
(numbered_state_heap_hash_map): Implement it.
2004-04-13 15:32:10 +00:00
Alexandre Duret-Lutz
7305dbb658 * src/tgbaalgos/emptinesscheck.hh
(explicit_connected_component_factory,
connected_component_hash_set_factory): New classes.
(counter_example::counter_example): Take an
explicit_connected_component_factory factory argument.
* src/tgbaalgos/emptinesscheck.cc: Adjust.
2004-04-13 13:57:59 +00:00
Alexandre Duret-Lutz
3e63c1a0ca * src/tgbaalgos/emptinesscheck.hh (explicit_connected_component):
New class.
(counter_example::connected_component_set): Rename as ...
(connected_component_hash_set): ... this, and inherit from
explicit_connected_component.
(counter_example::accepting_path, counter_example::complete_cycle):
2004-04-13 13:25:19 +00:00
Alexandre Duret-Lutz
1ea3c2ce5a * src/tgbaalgos/emptinesscheck.hh
(counter_example::connected_component_set::has_state): Return
a const state* and behave like h_filt.
* src/tgbaalgos/emptinesscheck.cc: Adjust.
2004-04-13 12:16:33 +00:00