Commit graph

401 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
1db08f494b * wrap/python/cgi/ltl2tgba.in: Fix <table> setting to cope
with IE, Safari, konqueror, ... None of these support
rules="groups" frame="border" properly (Mozilla is OK).
2004-02-03 10:16:00 +00:00
Alexandre Duret-Lutz
6dc59fa7fa * wrap/python/cgi/ltl2tgba.in: Output a description of the syntax. 2004-02-02 23:30:08 +00:00
Alexandre Duret-Lutz
cfcc5e857b * wrap/python/cgi/ltl2tgba.in: Import spot and redirect stderr
to stdout early.
2004-02-02 22:04:38 +00:00
Alexandre Duret-Lutz
59125b2a6c * wrap/python/cgi/ltl2tgba.in (print_stats): Compute and display
the number of acceptance conditions.
2004-02-02 22:02:00 +00:00
Alexandre Duret-Lutz
49192cc35f * wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py,
wrap/python/tests/ltlsimple.py: Specify coding system to
accommodate newer Python versions.
2004-02-02 21:43:41 +00:00
Alexandre Duret-Lutz
c46204dfad * src/misc/bddalloc.hh: Make all methods public.
* wrap/python/spot.i: Include misc/bddalloc.hh and misc/minato.hh.
* wrap/python/tests/minato.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add minato.py.
2004-02-02 21:39:25 +00:00
Alexandre Duret-Lutz
e0b15c6f67 * src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
src/tgbatest/readsave.cc, src/tgbatest/tgbaread.cc,
src/tgbatest/tripprod.cc: Add missing copyright license.
2004-02-02 20:40:32 +00:00
Alexandre Duret-Lutz
550e7acdb2 * wrap/python/cgi/ltl2tgba.in (render_dot): Render .png directly
with dot, without using convert.
* wrap/python/cgi/README: Do not mention convert.
2004-02-02 20:17:05 +00:00
Alexandre Duret-Lutz
47489236dc * wrap/python/cgi/ltl2tgba.in (render_dot, render_automaton)
(render_bdd): New functions, extracted from the rest of the code.
2004-02-02 20:11:31 +00:00
Alexandre Duret-Lutz
dae794aad3 * wrap/python/cgi/ltl2tgba.in (default_translator): Default
to trans_fm.
(translators): Show trans_fm before trans_lacim.
2004-02-02 19:31:58 +00:00
Alexandre Duret-Lutz
26cf0145b7 * wrap/python/cgi/ltl2tgba.in (print_stats): New function. Call
it to display the size of the generalized and degeneralized
automata.
2004-02-02 19:29:56 +00:00
Alexandre Duret-Lutz
834ce05235 * src/tgbalagos/stats.hh, src/tgbalagos/stats.cc: New files.
* src/tgbalagos/Makefile.am: Add them.
* wrap/python/spot.i: Include src/tgbalagos/dupexp.hh and
src/tgbalagos/stats.hh
2004-02-02 17:32:01 +00:00
Alexandre Duret-Lutz
d13c9c179b * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states
with identical successors.  This optimizes the translation
of `a R (b R c)', for instance.
* src/tgbatest/ltl2tgba.test: Add two new tests.
2004-02-02 16:26:15 +00:00
Alexandre Duret-Lutz
872f7efbeb * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states
with identical successors.  This optimizes the translation
of `a R (b R c)', for instance.
* src/tgbatest/ltl2tgba.test: Add two new tests.
2004-02-02 16:12:13 +00:00
Alexandre Duret-Lutz
0dd81f7d16 * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states
with identical successors.  This optimizes the translation
of `a R (b R c)', for instance.
* src/tgbatest/ltl2tgba.test: Add two new tests.
2004-02-02 16:12:13 +00:00
Alexandre Duret-Lutz
9d9ba1bed7 Hide the tgba_gspn and tgba_gspn_eesrg classes. Offer the
corresponding automaton via the automaton() method of the
gspn_interface and gspn_eesrg_interface classes.

* iface/gspn/gspn.hh (gspn_interface::gspn_interface): Take dict and
env arguments.
(gspn_interface::automaton): New method.
(tgba_gspn): Move all the declaration ...
* iface/gspn/gspn.cc (tgba_gspn): ... here.
(gspn_interface::automaton): Implement it.
* iface/gspn/eesrg.hh (gspn_eesrg_interface::gspn_eesrg_interface):
Take dict and env arguments.
(gspn_eesrg_interface::automaton): New method.
(tgba_gspn_eesrg): Move all the declaration ...
* iface/gspn/gspn.cc (tgba_gspn_eesrg): ... here.
(gspn_eesrg_interface::automaton): Implement it.
* iface/gspn/dottygspn.cc, iface/gspn/dottyeesrg.cc,
iface/gspn/ltlgspn.cc: Adjust.
2004-02-02 09:55:48 +00:00
Alexandre Duret-Lutz
2f7d46d719 * src/ltlvisit/tostring.cc: Fix output of F0, F1, G0, G1, X0, and X1.
* src/ltltest/tostring.test: Test these.
2004-01-30 16:55:12 +00:00
Alexandre Duret-Lutz
1d72cdc86e * src/tgba/tgbaexplicit.cc (tgba_explicit::get_acceptance_condition):
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
2004-01-29 17:05:19 +00:00
Alexandre Duret-Lutz
440029c1b5 After this changes, degeneralized automata are 40% smaller
in LBTT's statistics.

* src/tgba/tgbatba.cc (state_tba_proxy): Store an iterator,
pointing somewhere into the acceptance conditions list, instead of
an acceptance condition.
(state_tba_proxy::acceptance_iterator): New method.
(tgba_tba_proxy_succ_iterator): Adjust to use iterators too.
(tgba_tba_proxy_succ_iterator::current_state): If the current
transition is in several consecutive acceptance steps after the
expected one, advance many steps at once.
(tgba_tba_proxy::tgba_tba_proxy): Build the acceptance cycle
as a list, not a map.
(tgba_tba_proxy::get_init_state, tgba_tba_proxy::succ_iter):
Adjust.
* src/tgba/tgbatba.hh (tgba_tba_proxy::acc_cycle_): Declare as
a list, not a map.
2004-01-29 13:02:55 +00:00
Alexandre Duret-Lutz
bdbaa8356c * src/tgbaalgos/magic.cc (magic_search::~magic_search): Release
all iterators on the stack.
(magic_search::check): Release iterators that are popped off the
stack.
2004-01-26 12:46:39 +00:00
Alexandre Duret-Lutz
57ddf52df0 * src/tgbatest/explpro2.test: Fix reordering regex. 2004-01-26 10:16:18 +00:00
Alexandre Duret-Lutz
468a32ea6e * src/tgbatest/defs.in (run): Use libtool --mode=execute. 2004-01-26 08:37:58 +00:00
Alexandre Duret-Lutz
e434ccbec0 * src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Merge transitions
with same destination and acceptance conditions directly, without
calling a->merge_transition().  If one transitions goes to "True",
subtract its conditions from all other transitions; this optimizes
a U b.
2004-01-23 17:36:04 +00:00
Alexandre Duret-Lutz
314768bf28 * src/ltlast/refformula.hh (ref_formula::ref_count_): New method.
* src/ltlast/refformula.cc (ref_formula::ref_count_): New method.
* src/ltlast/atomic_prop.hh (atomic_prop::dump_instance): New method.
* src/ltlast/atomic_prop.cc (atomic_prop::dump_instance): New method.
2004-01-23 17:08:45 +00:00
Alexandre Duret-Lutz
e73ce85cfc * src/tgbaalgos/ltl2tgba_fm.cc: Typos in comments. 2004-01-23 13:01:43 +00:00
Alexandre Duret-Lutz
4b4b640ec4 * src/TestOperations.cc: Include sys/wait.h. 2004-01-16 16:04:04 +00:00
Alexandre Duret-Lutz
7c1ac7bb67 * src/Alloc.h: Rename as ...
* src/ObstackAlloc.h: ... this.  The problem is that alloc.h is a
system header in g++ < 3.0, and Darwin has a case-insensitive
filesystem.  System headers that include alloc.h pick the local
Alloc.h version.
* BuchiAutomaton.h, Configuration.h, DispUtil.cc,
ExternalTranslator.h, FormulaRandomizer.h, Graph.h.in,
LtlFormula.h, Makefile.am, NeverClaimAutomaton.h, PathEvaluator.h,
ProductAutomaton.h, SccIterator.h, SharedTestData.h,
StatDisplay.h, StateSpace.h, StateSpaceRandomizer.cc,
StringUtil.h, TestOperations.h, TestRoundInfo.h, TestStatistics.h,
UserCommandReader.h, UserCommands.h, main.cc: Adjust includes.
2004-01-16 13:30:42 +00:00
Alexandre Duret-Lutz
b9b365e731 * configure.ac, NEWS: Bump version to 0.0o. 2004-01-13 17:57:07 +00:00
Alexandre Duret-Lutz
770943adc3 * configure.ac: Bump version to 0.0n.
* NEWS: Update.
2004-01-13 17:37:06 +00:00
Alexandre Duret-Lutz
5b8ff7fb35 new upstream version 2004-01-13 17:08:46 +00:00
Alexandre Duret-Lutz
90d139db24 * src/tgbaalgos/emptinesscheck.hh (emptiness_check::check,
emptiness_check::check2): Document them.
2004-01-13 16:45:55 +00:00
Alexandre Duret-Lutz
e481e1218e * iface/gspn/ltlgspn.cc (main): Typo, use MIN_ARG. 2004-01-12 10:24:13 +00:00
Alexandre Duret-Lutz
c9d438aef4 * iface/gspn/dcswaveeltl.test, iface/gspn/udcsefm.test,
iface/gspn/udcseltl.test: Exercize -e2.
2004-01-09 17:33:23 +00:00
Alexandre Duret-Lutz
93f1cc0d47 * src/tgbaalgos/emptinesscheck.cc (emptiness_check::check2):
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.
2004-01-09 17:22:09 +00:00
Alexandre Duret-Lutz
a1f990b125 * src/tgbaalgos/ltl2tgba_lacim.cc: Typo in comment. 2004-01-09 16:19:12 +00:00
Alexandre Duret-Lutz
036cfd30f8 * src/tgbaalgos/emptinesscheck.cc (emptiness_check::check): Typos
in comment.
2004-01-09 13:34:14 +00:00
Alexandre Duret-Lutz
f01267f36f * src/tgbaalgos/emptinesscheck.cc (emptiness_check::check): Typos
in comment.
2004-01-09 13:34:14 +00:00
Alexandre Duret-Lutz
06877eac24 * m4/gspnlib.m4 (AX_CHECK_GSPNLIB): Do not warn about a missing
library for eesrg.  Define the WITH_GSPN_EESRG conditional.
* iface/gspn/Makefile.am (gspn_HEADERS, check_PROGRAMS): Add the
eesrg items in condition WITH_GSPN_EESRG.
(libspotgspneesrg_la_LIBADD, libspotgspneesrg_la_CPPFLAGS)
(libspotgspneesrg_la_SOURCES): Define only in condition
WITH_GSPN_EESRG.
2004-01-09 12:12:48 +00:00
Alexandre Duret-Lutz
7a54e04800 * src/tgbaalgos/emptinesscheck.cc (emptiness_check::print_stats):
New function.
* src/tgbaalgos/emptinesscheck.hh (emptiness_check::print_stats):
Likewise.
* iface/gspn/ltlgspn.cc (main) <Couvreur>: Call print_stats().
* iface/gspn/ltleesrg.cc (main): Likewise.
2004-01-09 10:56:56 +00:00
Alexandre Duret-Lutz
4732d165db * iface/gspn/ltlgspn.cc: Add option -P. 2004-01-09 10:31:01 +00:00
Alexandre Duret-Lutz
92cc5f9b9f Run valgrind in test cases.
* 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().
2004-01-08 15:44:27 +00:00
Alexandre Duret-Lutz
7aecf4ad09 * src/bddop.c (bdd_support): Free supportSet if it needs to be
reallocated.  This fixes a memory leak reported by
Souheib.Baarir@lip6.fr.
2004-01-07 16:05:21 +00:00
Alexandre Duret-Lutz
9297d6dd9f * iface/gspn/eesrg.cc (format_state): Do not rewrite n's,
just strip the last one.  Escaping must be done at output.
* iface/gspn/gspm.cc (format_state): Likewise.
* src/misc/escape.hh, src/misc/escape.cc: New files.
* src/misc/Makefile.am: Add them.
* src/tgba/bddprint.cc (bdd_format_accset): New function.
* src/tgba/bddprint.hh (bdd_format_accset): New function.
* src/tgbaalgos/dotty.cc (dotty_bfs::process_state):
Escape the state name using escape_str().
(dotty_bfs::process_link): Escape conditions and acceptance
conditions using escape_str().
* src/tgbaalgos/save.cc (save_bfs::start): Call print_acc().
(save_bfs::print_acc): New function extracted from save_bfs::start().
Escape each acceptance condition.
(save_bfs::process_state): Use escape_str() and print_acc()
2004-01-06 16:56:07 +00:00
Alexandre Duret-Lutz
8008deeddd * src/ltlvisit/tostring.cc
(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.
2004-01-06 15:45:00 +00:00
Alexandre Duret-Lutz
a7ab42e422 * src/tgbaalgos/reachiter.hh: Typos in comments. 2004-01-06 12:34:24 +00:00
Alexandre Duret-Lutz
c0210abb55 * iface/gspn/eesrg.cc (tgba_gspn_eesrg::all_acceptance_conditions,
tgba_gspn_eesrg::neg_acceptance_conditions): Forward to
data_->operand.
2004-01-06 11:59:24 +00:00
Alexandre Duret-Lutz
24fec22e52 * src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
Do not skip this computation if from == to but the period is empty.
2004-01-06 11:52:16 +00:00
Alexandre Duret-Lutz
3c363aa11a * iface/gspn/eesrg.cc (state_gspn_eesrg::clone): Clone the right
state.
2004-01-06 11:34:41 +00:00
Alexandre Duret-Lutz
23f1a6f2c6 * iface/gspn/ltleesrg.cc: Emptinesscheck the full product, not
the control automaton.
2004-01-06 10:12:00 +00:00
Alexandre Duret-Lutz
4341a7553e * iface/gspn/eesrg.cc (tgba_gspn_eesrg::project_state): New method.
* iface/gspn/eesrg.hh: Likewise.
2004-01-06 10:07:19 +00:00