Commit graph

490 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
63c62e1767 * src/tgbatest/tgbaread.test, src/tgbatest/explicit.test:
Adjust expected output after 2003-08-07's change.
2003-08-10 12:48:50 +00:00
Alexandre Duret-Lutz
07fc5d35bd * src/tgba/bdddict.hh: Typo in comments. 2003-08-10 10:42:28 +00:00
Alexandre Duret-Lutz
f1275635cc * src/ltlenv/environment.hh: Typo in comments. 2003-08-10 10:27:29 +00:00
Alexandre Duret-Lutz
fb014cc35a * src/ltlparse/ltlparse.yy: Handle and diagnose mismatched parentheses.
* src/ltltest/parseerr.test: Add some examples.
2003-08-08 13:16:39 +00:00
Alexandre Duret-Lutz
1276abd290 * wrap/python/cgi/ltl2tgba.in: Convert GIFs to PNGs. Restrict
the size of dot's output to 1024x1024.
* src/tgbaalgos/dotty.cc (dotty_bfs::start): Do not preset
the size of the graph.  Set height=0 for the invisible state.
2003-08-07 12:14:01 +00:00
Alexandre Duret-Lutz
0d32884d20 * src/ltlparse/ltlparse.yy: Fix precedence OP_OR < OP_XOR < OP_AND.
* src/ltlast/binop.cc (binop::instance): Order operands for
associative operators, so that e.g. "a xor b" and "b xor a" are
mapped to the same formula.
* src/ltltest/equals.test: Check this.
2003-08-06 10:47:42 +00:00
Alexandre Duret-Lutz
65b6a4d8da * src/ltlvisit/dotty.cc (draw_node_): s/shabe/shape/.
(visit): Draw rectangular node for atomic propositions and
constant.  This is an attempt to mimic BuDDy's output.
2003-08-06 10:08:53 +00:00
Alexandre Duret-Lutz
c7a269dddc * wrap/python/cgi/ltl2tgba.in: Handle show_formula_dot and
show_formula_gif.
2003-08-06 09:52:04 +00:00
Alexandre Duret-Lutz
fe2f726863 * src/ltlvisit/dotty.hh (dotty): Move the ostream argument first.
* src/ltlvisit/dump.hh (dump): Likewise.
* src/ltltest/equals.cc, src/ltltest/readltl.cc,
src/ltlvisit/dotty.cc, src/ltlvisit/dump.cc: Adjust.
2003-08-06 09:43:37 +00:00
Alexandre Duret-Lutz
a5e04a10e6 * src/misc/version.hh, src/misc/version.cc: New files.
* src/misc/Makefile.am (libmisc_la_SOURCES, misc_HEADERS): Add them.
* wrap/python/spot.i: Include misc/version.hh.
* wrap/python/cgi/ltl2tgba.in: Print spot.version().
2003-08-05 14:37:50 +00:00
Alexandre Duret-Lutz
b90e0d611f * README: Update layout. 2003-08-05 14:23:35 +00:00
Alexandre Duret-Lutz
bdfbf9c519 * wrap/python/cgi/Makefile.am, wrap/python/cgi/ltl2tgba.in,
wrap/python/cgi/README: New files.
* wrap/python/Makefile.am (SUBDIRS): Add cgi.
* configure.ac: Output wrap/python/cgi/Makefile.
2003-08-05 14:17:47 +00:00
Alexandre Duret-Lutz
4d819969d0 * wrap/python/spot.i: Add an ostringstream emulation. 2003-08-04 22:32:11 +00:00
Alexandre Duret-Lutz
1bad681a4b * wrap/python/spot.i: Add an ofstream emulation. 2003-08-04 20:52:02 +00:00
Alexandre Duret-Lutz
01cc802c2d * wrap/python/spot.i: Declare spot::tgba::get_init_state,
spot::tgba::succ_iter, and spot::tgba_succ_iterator::current_state
as constructors.
2003-08-04 15:42:21 +00:00
Alexandre Duret-Lutz
31f4f7b79a * wrap/python/Makefile.am (lib_LTLIBRARIES)
(libspotswigpy_la_SOURCES, libspotswigpy_la_CFLAGS)
(libspotswigpy_la_LDFLAGS): New variables.
(_spot_la_LIBADD, _buddy_la_LDFLAGS): Link with libspotswigpy.la
($(srcdir)/spot_wrap.cxx, $(srcdir)/buddy_wrap.cxx): Run
swig with -c.
* wrap/python/tests/libpy.c: New file.
* wrap/python/tests/run.in: Run python if no arguments are given.
* wrap/python/tests/interdep.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add interdep.py.
2003-08-04 15:35:55 +00:00
Alexandre Duret-Lutz
ea9a96237b * wrap/python/spot.i: Declare spot::ltl_to_tgba as a constructor.
* wrap/python/tests/ltl2tgba.py: Do not force `thisown=1' on tgba
objects.
2003-08-04 14:36:04 +00:00
Alexandre Duret-Lutz
1095dd7533 * wrap/python/spot.i: Include headers from tgba/ and tgbaalgos/.
* wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltl2tgba.test:
New files.
* wrap/python/tests/Makefile.am (TESTS): Add ltl2tgba.test.
(EXTRA_DIST): Add ltl2tgba.py.
* wrap/python/tests/run.in: Distinguish *.py and *.test.
2003-08-04 13:50:59 +00:00
Alexandre Duret-Lutz
c160eba524 * wrap/python/tests/ltlparse.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add it.
2003-08-04 09:18:54 +00:00
Alexandre Duret-Lutz
d21c64d1a2 spacing 2003-08-01 16:45:11 +00:00
Alexandre Duret-Lutz
992a9686ca * wrap/python/buddy.i: New file.
* wrap/python/Makefile.am (EXTRA_DIST): Add it.
(python_PYTHON, MAINTAINERCLEANFILES): Add buddy.py.
(pyexec_LTLIBRARIES): Add _buddy.la.
(_buddy_la_SOURCES, _buddy_la_LDFLAGS, $(srcdir)/buddy_wrap.cxx)
($(srcdir)/buddy.py): New.
* wrap/python/tests/bddnqueen.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add it.
2003-08-01 16:17:35 +00:00
Alexandre Duret-Lutz
f1f81fbfef * src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh: Merge the
two unabbreviate_logic definitions (const and non-const) into a
function that takes a const formula* and return a non-const
formula*.  Since formula* is convertible to const formula*, and
the const version of the function just called the non-onst one, it
makes no sense to keep both.  Also, it confused Swig.
* src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh: Likewise
for negative_normal_form.
* src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh: Likewise
for unabbreviate_ltl.
* src/ltlvisit/clone.cc, src/ltlvisit/clone.hh: Likewise for clone.
* src/ltlvisit/destroy.cc, src/ltlvisit/destroy.hh: Likewise
for destroy.
2003-08-01 13:04:25 +00:00
Alexandre Duret-Lutz
d33ad6d6bf * configure.ac: Bump version to 0.0g. 2003-08-01 10:29:46 +00:00
Alexandre Duret-Lutz
5b245d7dd1 * configure.ac, NEWS: Bump version to 0.0f.
* iface/gspn/simple.test, iface/gspn/dcswave.test,
iface/gspn/dcswaveltl.test: Make sure the example directory
is writable.
* m4/lbtt.m4, m4/buddy.m4: Always configure buddy/ and lbtt/,
regardless of the --with-included-buddy and --with-included-lbtt
settings.
2003-08-01 10:25:56 +00:00
Alexandre Duret-Lutz
286405da95 * wrap/python/Makefile.am (python_PYTHON, _spot_la_SOURCES):
Explicitely refer to spot_wrap.cxx and spot.py as
$(srcdir)/spot_wrap.cxx and $(srcdir)/spot.py.
(spot_wrap.cxx, spot.py):
2003-08-01 08:57:33 +00:00
Alexandre Duret-Lutz
a066bd459c * wrap/python/Makefile.am (spot_wrap.cxx, spot.py): Lookup
spot.i in $(srcdir).
2003-08-01 08:45:54 +00:00
Alexandre Duret-Lutz
0c50e20ffd * configure.ac: Output wrap/python/tests/Makefile
and wrap/python/tests/run.
* wrap/python/Makefile.am (SUBDIRS): New variable.
* wrap/python/spot.i: Include all formulae headers from ltlast/,
as well as ltlvisit/destroy.hh.
(spot::ltl::formula::__cmp__, spot::ltl::formula::__str__): New
functions.
* wrap/python/tests/Makefile.am, wrap/python/tests/ltlsimple.py,
wrap/python/tests/run.in: New files.
2003-07-31 20:04:29 +00:00
Alexandre Duret-Lutz
a6bb5eaa5b * wrap/python/ltihooks.py: New file.
* wrap/python/Makefile.am (EXTRA_DIST): Add ltihooks.py.
2003-07-31 16:54:37 +00:00
Alexandre Duret-Lutz
525cc01696 * wrap/Makefile.am, wrap/spot.i: Move ...
* wrap/python/Makefile.am, wrap/python/spot.i: ... here.
* wrap/Makefile.am: New file.
* configure.ac: Output wrap/python/Makefile.
2003-07-31 12:20:49 +00:00
Alexandre Duret-Lutz
bdd2be3366 * src/misc/const_sel.hh: Delete.
* src/misc/Makefile.am (misc_HEADERS): Remove const_sel.hh.
2003-07-31 11:49:53 +00:00
Alexandre Duret-Lutz
baa7a6f258 * src/tgbaalgos/magic.cc, src/tgbaalgos/reachiter.cc: Include cassert.
* iface/Makefile.am (SUBDIRS): Recurse in gspn only if condition
WITH_GSPN.
2003-07-31 11:47:21 +00:00
Alexandre Duret-Lutz
e78ffdc462 * iface/gspn/gspn.cc (tgba_gspn::format_state): Call gspn's
print_state.
2003-07-30 14:02:57 +00:00
Alexandre Duret-Lutz
e73bea344a * iface/gspn/dcswaveltl.test: Check for a false formula too. 2003-07-30 12:54:33 +00:00
Alexandre Duret-Lutz
7ffd3e6ecc * iface/gspn/dcswaveltl.test, iface/gspn/ltlgspn.cc: New files.
* iface/gspn/Makefile.am (TESTS): Add dcswaveltl.test.
(ltlgspn_rg_LDADD, ltlgspn_srg_LDADD, ltlgspn_rg_SOURCES)
(ltlgspn_srg_SOURCES): New variables.
(check_PROGRAMS): Add ltlgspn-rg and ltlgspn-srg.
2003-07-30 12:45:25 +00:00
Alexandre Duret-Lutz
372d490712 * iface/gspn/Makefile.am (TESTS): Add dcswaveltl.test.
(ltlgspn_rg_LDADD, ltlgspn_srg_LDADD, ltlgspn_rg_SOURCES)
(ltlgspn_srg_SOURCES): New variables.
(check_PROGRAMS): Add ltlgspn-rg and ltlgspn-srg.

* iface/gspn/Makefile.am (gspn_HEADERS, gspndir): Install
gspn.hh.
2003-07-30 12:44:50 +00:00
Alexandre Duret-Lutz
24099078d6 * src/tgba/tgba.hh, src/tgba/tgba.cc
(tgba::project_state): New method.
* src/tgba/tgbaproduct.hh, src/tgba/tgbaproduct.cc
(tgba_product::project_state): New method.
* src/tgba/tgbabta.hh, src/tgba/tgbabta.cc
(tgba_bta_proxy::project_state): New method.
* src/tgbaalgos/magic.cc (magic_search::print_result): Take
a restrict argument.
2003-07-30 12:41:48 +00:00
Alexandre Duret-Lutz
a66ad58b5d * src/ltlparse/ltlscan.ll: Allow /, /, and xor, used in LBTT.
* src/ltltest/parse.test: Test them.
2003-07-29 16:28:38 +00:00
Alexandre Duret-Lutz
60ef421dd5 * src/tgbaalgos/lbtt.cc: Typos. 2003-07-29 16:15:19 +00:00
Alexandre Duret-Lutz
01f58f5fbf * src/tgbatest/Makefile.am (check_PROGRAMS): Add tbalbtt.
(tbalbtt_SOURCES, tbalbtt_CXXFLAGS): New variables.
* src/tgbatest/spotlbtt.cc [TBA]: Build tba proxies conditionally.
* src/tgbatest/spotlbtt.test: Include tbalbtt in the tests.
2003-07-29 11:21:18 +00:00
Alexandre Duret-Lutz
860d085b1a * src/tgba/tgbatba.hh, src/tgba/tgbatba.cc
(tgba_tba_proxy::state_is_accepting): New method.
* src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc: New files.
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES,
tgbaalgos_HEADERS): Add them.
* src/tgbatest/ltlmagic.cc, src/tgbatest/ltlmagic.test: New files.
* src/tgbatest/Makefile.am (TESTS, ltlmagic_SOURCES,
check_PROGRAMS): Add them.
2003-07-28 15:49:16 +00:00
Alexandre Duret-Lutz
af928d28ac * src/tgba/tgba.hh (tgba::~tgba): Make it public.
* src/tgba/tgbatba.cc, src/tgba/tgbatba.hh: New files.
* src/tgba/Makefile.am (tgba_HEADERS): Add tgbatba.hh.
(libtgba_la_SOURCES): Add tgbatba.cc.
* src/tgbatest/ltl2tgba.cc: Add option -D.
2003-07-25 17:27:52 +00:00
Alexandre Duret-Lutz
5bc2d77e60 * src/tgbaalgos/lbtt.cc (bdd_less_than): Move ...
* src/misc/bddlt.hh: ... in this new file.
* src/misc/Makefile.am (misc_HEADERS): Add bddlt.hh.
2003-07-25 14:32:50 +00:00
Alexandre Duret-Lutz
d0a7a3ab54 * iface/gspn/dcswave.test: Comment state space sizes. 2003-07-25 14:12:01 +00:00
Alexandre Duret-Lutz
e24d3be8a7 * src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS): Add reachiters.hh.
(libtgbaalgos_la_SOURCES): Add reachiters.cc.
* src/tgbaalgos/dotty.cc, src/tgbaalgos/save.cc: Rewrite using
spot::tgba_reachable_iterator_breadth_first.
* src/tgbatest/explicit.test, src/tgbatest/tgbaread.test,
src/tgbatest/tripprod.test: Adjust expected output.
2003-07-25 13:12:01 +00:00
Alexandre Duret-Lutz
664e49e07e * configure.ac: Output iface/gspn/defs.
* iface/gspn/Makefile.am (EXTRA_DIST): Add $(TESTS).
(TESTS, check_SCRIPTS, distclean-local): New.
* iface/gspn/dcswave.test, iface/gspn/simple.test,
iface/gspn/defs.in: New files.
* iface/gspn/dottygspn.cc (main): Take the list of properties
of interest in argument.
2003-07-24 13:04:10 +00:00
Alexandre Duret-Lutz
5e8cbcde7f * iface/gspn/examples/DCSwave/DCSWave.def,
iface/gspn/examples/DCSwave/DCSWave.net
iface/gspn/examples/DCSwave/DCSWave.tobs,
iface/gspn/examples/simple/simple.def,
iface/gspn/examples/simple/simple.net,
iface/gspn/examples/simple/simple.tobs: New files, from
Yann Thierry-Mieg.
* iface/gspn/Makefile.am (EXTRA_DIST): New variables.
2003-07-23 16:13:45 +00:00
Alexandre Duret-Lutz
7991efa10f * iface/gspn/gspn.cc (tgba_gspn_private_::tgba_gspn_private_):
Rethrow caught expections.
2003-07-23 15:23:00 +00:00
Alexandre Duret-Lutz
94a9543f38 * m4/gspnlib.m4: Check for libgspnRG.a and libgspnSRG.a.
Define LIBGSPNRG_LDFLAGS and LIBGSPNSRG_LDFLAGS, not
LIBGSPN_LDFLAGS.
* iface/gspn/Makefile.am: Adjust, build dottygspn-rg and
dottygspn-srg instead of dottygspn.
* iface/gspn/gspn.cc (EVENT_TRUE): Undefine.
(tgba_gspn_private_::~tgba_gspn_private_): Free all_indexes.
* iface/gspn/dottygspn.cc (main): Destroy the automaton before
its dictionnary.
2003-07-22 13:11:32 +00:00
Alexandre Duret-Lutz
1d9c3d6409 Now succ_iter() can fetch extra information from
the root of a product to reduce its number of successors.
* src/tgba/Makefile.am (libtgba_la_SOURCES): Add tgba.cc.
* src/tgba/tgba.hh (tgba::succ_iter): Add the global_state and
global_automaton arguments.
(tgba::support_conditions, tgba::support_variables,
tgba::compute_support_conditions, tgba::compute_support_variables):
New functions.
(tgba::last_support_conditions_input_,
tgba::last_support_conditions_output_,
tgba::last_support_variables_input_,
tgba::last_support_variables_output_): New attributes.
* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::succ_iter):
Handle the two new arguments.
(tgba_bdd_concrete::compute_support_conditions,
tgba_bdd_concrete::compute_support_variables): Implement them.
* src/tgba/tgbabddconcrete.hh: Adjust.
* src/tgba/tgbaexplicit.cc (tgba_explicit::succ_iter):	Ignore
the two new arguments.
(tgba_explicit::compute_support_conditions,
tgba_explicit::compute_support_variables): Implement them.
* src/tgba/tgbaexplicit.hh: Adjust.
* src/tgba/tgbaproduct.cc (tgba_product::succ_iter): Handle the
two new arguments.
(tgba_product::compute_support_conditions,
tgba_product::compute_support_variables): Implement them.
* src/tgba/tgbaproduct.hh: Adjust.
* iface/gspn/gspn.cc (tgba_gspn_private_::last_state_cond_input,
tgba_gspn_private_::last_state_cond_output,
(tgba_gspn_private_::tgba_gspn_private_): Set last_state_cond_input.
(tgba_gspn_private_::~tgba_gspn_private_): Delete
last_state_cond_input.
(tgba_gspn_private_::state_conds): New function, eved out
from tgba_gspn::succ_iter.
(tgba_gspn::succ_iter): Use it.  Use the two new arguments.
(tgba_gspn::compute_support_conditions,
tgba_gspn::compute_support_variables): New functions.
* iface/gspn/gspn.hh: Adjust.
2003-07-17 15:11:49 +00:00
Alexandre Duret-Lutz
f63c67b507 * iface/gspn/gspn.cc (EVENT_TRUE): Override temporarily..
(tgba_gspn::succ_iter): Fix usage of cube.
2003-07-17 07:54:16 +00:00