Commit graph

1481 commits

Author SHA1 Message Date
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
99018935bb typos 2003-07-31 18:40:51 +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
4c40d5920a more files to ignore 2003-07-30 13:41:47 +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
48c03b89b8 * src/TestOperations.cc (generateBuchiAutomaton): Forward SIGINT
and SIGQUIT.
* src/ExternalTranslator.cc (ExternalTranslator::translate): Likewise.
* src/main.cc (main): Do not intercept SIGINT in
non-interactive runs.
2003-07-29 13:06:53 +00:00
Alexandre Duret-Lutz
ea90d2f8be merge changes with lbtt 1.0.2 2003-07-29 12:21:22 +00:00
Alexandre Duret-Lutz
06226f3227 lbtt 1.0.2 2003-07-29 12:12:15 +00:00
Alexandre Duret-Lutz
ae5d2f9b09 update copyright year 2003-07-29 11:55:37 +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
44993317ea Rename gspnlin.m4 to gspnlib.m4 2003-07-17 16:07:55 +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
4bf6c52bea * rsc/bdd.h (bdd_existcomp, bdd_forallcomp,
bdd_uniquecomp, bdd_appexcomp, bdd_appallcomp,
bdd_appunicomp): Declare for C and C++.
* src/bddop.c (CACHEID_EXISTC, CACHEID_FORALLC,
CACHEID_UNIQUEC, CACHEID_APPEXC, CACHEID_APPALC,
CACHEID_APPUNCC): New macros.
(quatvarsetcomp): New variables.
(varset2vartable): Take a second argument to indicate negation,
set quatvarsetcomp.
(INVARSET): Honor quatvarsetcomp.
(quantify): New function, extracted from bdd_exist, bdd_forall,
and bdd_appunicomp.
(bdd_exist, bdd_forall, bdd_appunicomp): Use quantify.
(bdd_existcomp, bdd_forallcomp, bdd_appunicompcomp): New functions.
(appquantify): New function, extracted from bdd_appex, bdd_appall,
and bdd_appuni.
(bdd_appex, bdd_appall, bdd_appuni): Use appquantify.
(bdd_appexcomp, bdd_appallcomp, bdd_appunicomp): New functions.

* src/bddop.c (bdd_support): Return bddtrue when the support
is empty, because variable sets are conjunctions.
2003-07-17 14:09:03 +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
Alexandre Duret-Lutz
4ac192ac1e * m4/gspnlib.m4: New file.
* configure.ac: Call AX_CHECK_GSPNLIB.
* Makefile.am (EXTRA_DIST): Add m4/gspnlib.m4.
* iface/gspn/Makefile.am (AM_CPPFLAGS): Add $(LIBGSPN_CPPFLAGS).
(libspotgspn_la_LIBADD, check_PROGRAMS, dottygspn_SOURCES,
dottygspn_LDADD): New variables.
* iface/gspn/gspn.hh (gspn_interface): New class.
(gspn_exeption): Take a string argument and adjust all callers.
(operator<<): Define for gspn_exeption.
* iface/gspn/gspn.cc (gspn_interface::gspn_interface,
gspn_interface::~gspn_interface): New.
* iface/gspn/gspnlib.h: Delete, it belongs to GSPN.
* iface/gspn/dottygspn.cc: New file.
2003-07-16 12:56:38 +00:00
Alexandre Duret-Lutz
49fd9579da * m4/lbtt.m4 (AX_CHECK_LBTT): Set LBTT and LBTT_TRANSLATE
when using an already installed lbtt.
2003-07-15 12:26:03 +00:00
Alexandre Duret-Lutz
9791182f64 more files to ignore 2003-07-15 11:51:32 +00:00
Alexandre Duret-Lutz
66b1630c31 Homogenize passing of automata as pointers, not references.
Disallow copy for security.

* src/tgba/tgbabddconcrete.hh (tgba_bdd_concrete): Disallow copy.
* src/tgba/tgbaexplicit.hh (tgba_explicit): Likewise.
* src/tgba/tgbaexplicit.cc (tgba_explicit::operator=,
tgba_explicit::tgba_explicit(tgba_explicit)): Remove.
* src/tgba/tgbabddconcreteproduct.cc
(tgba_bdd_concrete_product_factory::tgba_bdd_concrete_product_factory,
product): Take operand automata as pointers.
* src/tgba/tgbabddconcreteproduct.hh (product): Likewise.
* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh:
(tgba_product): Disallow copy.
(tgba_product::tgba_product): Take operand automata as pointers.
* src/tgbaalgos/dotty.cc (dotty_state, dotty_rec, dotty_reachable):
Take tgba arguments as pointer.
* src/tgbaalgos/dotty.hh (dotty_reachable): Likewise.
* src/tgbaalgos/lbtt.cc (fill_todo, lbtt_reachable): Likewise.
* src/tgbaalgos/lbtt.hh (lbtt_reachable): Likewise.
* src/tgbaalgos/ltl2tgba.cc, src/tgbaalgos/ltl2tgba.hh (ltl_to_tgba):
Likewise.
* src/tgbaalgos/save.cc (save_rec, tgba_save_reachable): Likewise.
* src/tgbaalgos/save.hh (save): Likewise.
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
src/tgbatest/mixprod.cc, src/tgbatest/readsave.cc,
src/tgbatest/spotlbtt.cc, src/tgbatest/tgbaread.cc,
src/tgbatest/tripprod.cc: Likewise.
2003-07-14 22:20:35 +00:00