Commit graph

151 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
857f0ac54e * iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state,
numbered_state_heap_ssp_semi): Implement a double hash_map using
greatspn's new container() function.
* iface/gspn/ssp.hh (gspn_ssp_interface): Add a doublehash option.
* iface/gspn/ltlgspn.cc: Add option -1 to disable this optimization.
2008-02-25 14:36:57 +01:00
Alexandre Duret-Lutz
d2cf7199bc * iface/gspn/ltlgspn.cc (display_stats): New function.
(main): Use it.
* iface/gspn/ssp.cc: Add more counters for statistics.
2008-02-25 14:36:57 +01:00
Alexandre Duret-Lutz
723054ce80 * iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Correctly
update the emptiness statistics.

* m4/gspnlib.m4: Typo.
2008-02-25 14:36:56 +01:00
Alexandre Duret-Lutz
ffd47e425e * iface/gspn/ssp.cc: Pacify sanity.test. 2008-02-25 14:36:56 +01:00
Alexandre Duret-Lutz
2a843fab1a * iface/gspn/ssp.cc (spot): Typo. 2008-02-25 14:36:56 +01:00
Alexandre Duret-Lutz
236742aed8 * src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check):
Reorganize this function so that syntactically there is only one
loop over the successors, and not two.  Call reintroduce the call
to couvreur99_check_shy::state_index(), needed by SSP, and
suppress that to index_and_insert introduced on 2004-12-29.  Also
split the "group" option in two: "group" and "group2".  "group2"
is the equivalent of the older "group", while the new "group" is
weaker and faster.
(couvreur99_check_shy::state_index): Change prototype as needed by
the algorithm.
* src/tgbaalgos/gtec/gtec.hh: Adjust.
* src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
(index_and_insert): Remove.
* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::state_index): Adjust
to new prototype.
* bench/emptchk/README, bench/emptchk/algorithms: Adjust references
to group/group2.
2008-02-25 14:36:56 +01:00
Alexandre Duret-Lutz
cc4137e5ba * iface/gspn/ssp.cc: Typo in comment. 2008-02-25 14:36:55 +01:00
Alexandre Duret-Lutz
f3effb9da0 * src/misc/optionmap.cc, src/misc/optionmap.hh (option_map::get,
option_map::set): Handle default values.
(anonymous::to_int): Do not print anything.
* src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
src/tgbaalgos/ce.cc, src/tgbaalgos/ce.hh: Take an option_map in
the constructor.
* src/tgbaalgos/gtec.cc, src/tgbaalgos/gtec.hh: Likewise.  Handle
the "poprem", "group", and "shy" options via the option_map.
Supply a couvreur99() wrapper to the shy/non-shy variant.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc,
iface/gspn/ssp.cc: Adjust.
2005-02-16 18:53:18 +00:00
Alexandre Duret-Lutz
93f77c5782 * src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
(index_and_insert): New function.
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check): Rewrite.
(couvreur99_check_shy::clear_todo): New method.
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check_shy::todo_item): New
struct.
* iface/gspn/ssp.cc (numbered_state_heap_ssp_semi::index_and_insert):
New method.
2004-12-29 15:29:26 +00:00
Alexandre Duret-Lutz
0efca0f644 * src/ltlparse/ltlscan.ll: Pass yyleng to the std::string constructor,
so it doesn't have to compute it.
* src/tgbaparse/tgbascan.ll: Likewise.
(YY_USER_INIT, current_file): Remove, it is too costly to use
yy::Location::filename in the current implementation
of yy::Location (this attribute is duplicated for each token).
Leaving it empty divides the parsing time by 3.
* src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh
(format_tgba_parse_errors): Take the filename as argument.
* src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
src/tgbatest/readsave.cc, src/tgbatest/reductgba.cc,
src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc,
iface/gspn/dottyssp.cc, iface/gspn/ltlgspn.cc: Adjust calls
to format_tgba_parse_errors.
2004-12-16 12:33:37 +00:00
Alexandre Duret-Lutz
abbd0eee07 * src/tgbaalgos/gtec/status.hh
(couvreur99_check_status::cycle_seed): New attribute.
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
couvreur99_check_shy::check): Fill cycle_seed.
* src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/ce.cc:
(couvreur99_check_result::accepting_run,
couvreur99_check_result::accepting_cycle): Revamp to compute a
cycle from the cycle_start, and then the shortest prefix to this
cycle.
2004-12-10 18:33:39 +00:00
Alexandre Duret-Lutz
9782b822f0 * src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
(couvreur99_check_shy::couvreur99_check_shy): Add the group option,
and redefine todo as a list so it can be iterated over.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Introduce
couvreur99_shy- (for group=false) in addition to couvreur99_shy
(for group=true).
* iface/gspn/ssp.cc (couvreur99_check_ssp_shy_semi,
couvreur99_check_ssp_shy): Use group=true;
2004-12-10 16:16:38 +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
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
e3de75f677 * src/tgbaalgos/projrun.hh, src/tgbaalgos/projrun.cc: New files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them.
* iface/gspn/ltlgspn.cc (main): Call project_tgba_run if -P.
2004-11-02 16:26:57 +00:00
Alexandre Duret-Lutz
0fd665f3a2 * src/tgbaalgos/emptiness.cc,
src/tgbaalgos/emptiness.hh (print_tgba_run): Take the tgba*
argument before the tgba_run* argument (for consistency with
replay_tgba_run).
* src/tgbatest/ltl2tgba.cc, iface/gspn/ltlgspn.cc: Adjust
calls to print_tgba_run().
2004-11-02 15:25:41 +00:00
Alexandre Duret-Lutz
55014e9dcc * src/sanity/style.test: Diagnose superfluous constructs such
as `if (x) delete x;'.
* iface/gspn/gspn.cc, iface/gspn/ssp.cc, src/ltlvisit/basicreduce.cc,
src/tgba/tgba.cc, src/tgba/tgbaproduct.cc, src/tgbaalgos/magic.cc,
src/tgbatest/ltl2tgba.cc: Remove such constructs.
2004-10-29 14:29:02 +00:00
Alexandre Duret-Lutz
6c815004c4 Introduce an emptiness-check interface, and modify the existing
algorithms to conform to it, uniformly.  This will unfortunately
break third-party code that were using these algorithms.
* src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: New files.
* src/tgbaalgos/Makefile.am: New files.
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh: Adjust to
conform to the new emptiness-check interface.
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh:
Likewise.  The classes have been renamed are as following
  emptiness_check -> couvreur99_check
  emptiness_check_shy -> couvreur99_check_shy
  counter_example -> couvreur99_check_result
* src/tgbatest/ltl2tgba.cc, iface/gspn/ltlgspn.cc, iface/gspn/ssp.hh,
iface/gspn/ssp.cc: Adjust to renaming and new interface.
2004-10-27 16:47:54 +00:00
Alexandre Duret-Lutz
7d27fd3796 * iface/gspn/gspn.cc, src/ltlvisit/basicreduce.cc,
src/ltlvisit/destroy.cc, src/ltlvisit/dotty.cc,
src/ltlvisit/dump.cc, src/ltlvisit/length.cc,
src/ltlvisit/nenoform.cc, src/ltlvisit/reduce.cc,
src/ltlvisit/syntimpl.cc, src/ltlvisit/tostring.cc,
src/tgba/formula2bdd.cc, src/tgba/tgbabddconcreteproduct.cc,
src/tgba/tgbatba.cc, src/tgbaalgos/dotty.cc,
src/tgbaalgos/dupexp.cc, src/tgbaalgos/lbtt.cc,
src/tgbaalgos/ltl2tgba_lacim.cc, src/tgbaalgos/neverclaim.cc,
src/tgbaalgos/save.cc, src/tgbaalgos/stats.cc,
src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh:
Declare private classes and helper function in anonymous namespaces.
* HACKING, src/sanity/style.test: Document and check this.
Also check for trailing { after namespace or class.
* src/ltlast/predecl.hh, src/ltlast/visitor.hh,
src/tgba/tgbareduc.hh: Fix trailing {.
2004-10-18 13:56:31 +00:00
Alexandre Duret-Lutz
3f2cba6304 * src/sanity/style.test: Suggest ++i over i++ when it does not
matter, for consistency.
* src/tgbaalgos/tarjan_on_fly.cc, iface/gspn/ssp.cc,
src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.cc,
src/tgbaalgos/minimalce.cc, src/tgba/tgbareduc.cc: Adjust.
2004-09-23 12:20:10 +00:00
Alexandre Duret-Lutz
fb8618b708 * iface/gspn/ltlgspn.cc: Fix a gcc warning in case assert() is
disabled.
2004-08-10 10:33:18 +00:00
Alexandre Duret-Lutz
ad96e8fbad * iface/gspn/common.cc, iface/gspn/common.hh,
src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
src/ltlparse/fmterror.cc, src/ltlparse/public.hh,
src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
src/misc/escape.cc, src/misc/escape.hh, src/tgba/bdddict.cc,
src/tgba/bdddict.hh, src/tgba/bddprint.cc, src/tgba/bddprint.hh,
src/tgbaalgos/dotty.cc, src/tgbaalgos/dotty.hh,
src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/save.cc, src/tgbaalgos/save.hh,
src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh,
src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh: Include <iosfwd>
in headers, and prefer <ostream> in the body whenever possible.
* src/sanity/style.test, HACKING: Check and document this.
2004-08-09 16:32:25 +00:00
Alexandre Duret-Lutz
bec7402a67 * iface/gspn/ssp.cc: Typos. 2004-07-16 11:52:19 +00:00
Alexandre Duret-Lutz
44ebe5a746 * iface/gspn/gspn.cc (tgba_succ_iterator_gspn::tgba_succ_iterator_gspn):
Set size_ to 1 when stuttering is needed, so that done() does not
return true immediately.
2004-07-16 11:19:28 +00:00
Alexandre Duret-Lutz
478844dad8 * src/tgbaalgos/gtec/gtec.hh (emptiness_check_shy::find_state): Add
comments.
* iface/gspn/ssp.cc (emptiness_check_shy_ssp::find_state): Likewise.
Soheib and I had a hard time figuring why we did this...
2004-07-07 12:00:11 +00:00
Alexandre Duret-Lutz
839837a69e more files to ignore 2004-06-22 22:58:09 +00:00
Alexandre Duret-Lutz
84e72c8764 * iface/gspn/ssp.cc (emptiness_check_shy_ssp::find_state): Free s.
This fixes a memory leak observed by Soheib Baarir.
2004-06-17 09:07:36 +00:00
Alexandre Duret-Lutz
383f7e170a * iface/gspn/common.cc, iface/gspn/common.hh: Remove the
class gspn_environment, and move it to ...
* src/ltlenv/declenv.cc, src/ltlenv/declenv.hh: .. this new file
as class declarative_environment.
* src/ltlenv/Makefile.am (ltlenv_HEADERS): Add declenv.hh.
(libltlenv_la_SOURCES): Add declenv.cc.
* iface/gspn/dottygspn.cc, iface/gspn/dottyssp.cc,
iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
iface/gspn/ssp.cc, iface/gspn/ssp.hh: Adjust references
to declarative_environment.
2004-06-02 16:21:49 +00:00
Alexandre Duret-Lutz
8e324fa2a2 * HACKING, src/sanity/style.test: NULL is not portable, prohibit it.
* iface/gspn/ssp.cc, src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc,
src/ltlvisit/syntimpl.cc: Use 0 instead of NULL.
2004-06-02 15:16:47 +00:00
Alexandre Duret-Lutz
7eb5f3d81a * src/sanity/style.test: Catch {.*{ and }.*}.
* src/sanity/80columns.test: Untabify files.
* iface/gspn/ltlgspn.cc, src/ltlvisit/basereduc.cc: Fix long lines.
2004-05-25 11:05:07 +00:00
Alexandre Duret-Lutz
57fa1c8b5f * iface/gspn/ssp.hh (gspn_ssp_interface::gspn_ssp_interface): Add
the `inclusion' flag.
* iface/gspn/ssp.cc (gspn_ssp_interface::gspn_ssp_interface): Call
inclusion_version when inclusion is set.
* iface/gspn/ltlgspn.cc (main) [SSP]: Turn on inclusion for -e3,
-e4, and -e5.
2004-05-24 11:53:57 +00:00
Alexandre Duret-Lutz
f27b91c7d7 * iface/gspn/gspn.cc (tgba_gspn_private_): Define alive_prop,
and dead_prop from the dead argument passed to the constructor.
(tgba_succ_iterator_gspn): Stutter on dead transitions.
(tgba_gspn::tgba_gspn): Hand dead to tgba_gspn_private_.
(gspn_interface::gspn_interface): Hand dead to tgba_gspn.
* iface/gspn/gspn.hh (gspn_interface::gspn_interface): Take a
dead argument.
* iface/gspn/ltlgspn.cc [!SSP]: Add a option -d to specify the
dead property.
* iface/gspn/udcseltl.test: Try option -d.
2004-05-21 13:54:38 +00:00
Alexandre Duret-Lutz
3e968a3c9d * src/sanity/style.test: Check the iface/ tree too.
* iface/gspn/gspn.cc, iface/gspn/ssp.cc: Fix style.
2004-05-21 11:55:36 +00:00
Alexandre Duret-Lutz
da2d2e19b1 * src/sanity/80columns.test: Check the iface/ tree too.
* iface/gspn/dcswaveltl.test, iface/gspn/dcswavefm.test,
iface/gspn/dcswaveeltl.test, iface/gspn/udcsltl.test,
iface/gspn/udcseltl.test, iface/gspn/udcsfm.test,
iface/gspn/udcsefm.test: Wrap to fit 80 columns.
2004-05-21 11:46:22 +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
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
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
b85e930232 * src/tgbaalgos/emptinesscheck.hh (emptiness_check::check2): Move
into ...
(emptiness_check_shy): This new subclass of emptiness_check.
* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
iface/gspn/ltlgspn.cc: Adjust.
2004-04-13 11:44:42 +00:00
Alexandre Duret-Lutz
8a84cc6fb3 * src/tgbaalgo/semptinesscheck.hh (counter_example): New class,
extracted from ...
(emptiness_check): ... here.
* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
iface/gspn/ltlgspn.cc: Adjust.
2004-04-13 09:39:30 +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
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
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