Commit graph

1191 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
4efde0d3d3 Make it possible to use the cgi script without installing a web
server.

* wrap/python/cgi-bin/ltl2tgba.in: Starts a web server if the
script is not called as a CGI.  Arrange to load libraries from
the build directory.  Create the spotimg/ if needed when run as
a web server.
* wrap/python/cgi-bin/Makefile.am: Adjust build rule and clean
the spotimg directory.
* wrap/python/cgi-bin/README, NEWS: Update.
2010-01-30 14:15:03 +01:00
Alexandre Duret-Lutz
24cde3c21f More * -> & replacements.
* src/ltltest/parse.test, src/ltltest/syntimpl.test: Replace * by &.
2010-01-30 13:21:01 +01:00
Alexandre Duret-Lutz
dd71e37df2 Remove the theoretically bogus "containment" option of ltl2tgba_fm.
* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh:
Remove the containment option.
* src/tgbafromfile.cc, src/tgbafromfile.hh: Remove the
containment_ member.
* src/tgbatest/ltl2tgba.cc (syntax): Remove -c option for
FM algorithm, use it exclusively for TAA.
2010-01-30 12:32:01 +01:00
Alexandre Duret-Lutz
7cc2776d91 * src/tgba/tgbasafracomplement.hh: Add missing copyright and
fix some comments.
2010-01-30 12:32:01 +01:00
Alexandre Duret-Lutz
7647ba0fdd Rename tgba_complement as tgba_kv_complement.
* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc: Rename
as...
* src/tgba/tgbakvcomplement.hh, src/tgba/tgbakvcomplement.cc:
... these. It makes more sense since we also have
tgba_safra_complement.
* src/tgba/Makefile.am, src/tgbatest/complement.cc, NEWS: Adjust.
2010-01-30 12:31:57 +01:00
Alexandre Duret-Lutz
85532dc8f8 Do not recognize "*" as "and". This leaves room for an
implementation of rational operators in a future version.

* src/ltlparse/ltlscan.ll: Do not recognize "*".
* wrap/python/cgi-bin/ltl2tgba.in: Undocument it.
* NEWS: Mention this.
* src/tgbatest/kv.test, src/tgbatest/ltl2tgba.test,
src/tgbatest/reductgba.test: Replace "*" by "&".
2010-01-30 12:27:20 +01:00
Alexandre Duret-Lutz
55b693e123 Make Couvreur/FM the default translation.
* src/tgbatest/ltl2tgba.cc (syntax, main): Do it.
* NEWS: Mention it.
2010-01-30 12:27:15 +01:00
Alexandre Duret-Lutz
369e4c419b Overhaul LaCIM's ELTL options.
* src/tgbatest/ltl2tgba.cc (syntax, main): Introduce -le to select
this algorithm and -lo to add the default LTL operators.  This
replace the undocumented hack to add LTL operators when the
formula with read for command-line, or the automaton was output
for LBTT.
* src/tgbatest/eltl2tgba.test, src/tgbatest/spotlbtt.test: Update
call syntax.
* NEWS: Mention -le, -lo, and -taa.
2010-01-30 11:16:12 +01:00
Alexandre Duret-Lutz
9a43a06b45 Touch up -R3b handling.
* src/tgbatest/ltl2tgba.cc (syntax): Move -R3b with the other
LaCIM options.
(main): Speak of "symbolic SCC pruning" instead of "deleting
unaccepting SCC", and do that right after the translation, before
degeneralization.  Also error out when -R3b is used on non
symbolic automata.
2010-01-30 09:46:46 +01:00
Alexandre Duret-Lutz
c00a80a2fc Update some text files for upcoming 0.5.
* NEWS: Update for upcoming 0.5.
* HACKING: Update Automake requirement.
* README: Mention the mailing list.
* bench/ltlcounter/README: More text.
* configure.ac: Report bugs to spot@lrde.epita.fr.
2010-01-29 18:18:45 +01:00
Alexandre Duret-Lutz
7d5f493fb2 Rename wrap/python/cgi/ as wrap/python/cgi-bin/.
* wrap/python/cgi/: Rename as ...
* wrap/python/cgi-bin/: ... this.
* configure.ac, spot/wrap/python/Makefile.am, README: Adjust.
2010-01-29 15:48:56 +01:00
Alexandre Duret-Lutz
28289f95b5 * src/tgbaalgos/gtec/gtec.hh: Fix copyright. 2010-01-29 15:48:55 +01:00
Alexandre Duret-Lutz
f83e0d7a10 * src/tgbaalgos/ltl2tgba_fm.cc: More comments. 2010-01-29 15:48:22 +01:00
Felix Abecassis
1fbdf0bcaf * src/tgba/taatgba.cc, src/tgba/taatbga.hh: Fix a memory issue on
Darwin.
2010-01-29 15:28:21 +01:00
Damien Lefortier
58d6b7912c * wrap/python/cgi/ltl2tgba.in, wrap/python/spot.i: Add a new
translation algorithm: Tauriainen/TAA.
2010-01-25 18:37:19 +01:00
Damien Lefortier
d9b8fcddd6 * wrap/python/cgi/ltl2tgba.in: Use the uuid Python module instead
of the UNIQUE_ID environment variable to avoid being
Apache-specific.
2010-01-25 18:33:31 +01:00
Guillaume Sadegh
3a974d61f0 Fix copyrights.
* bench/Makefile.am, bench/gspn-ssp/Makefile.am,
bench/gspn-ssp/defs.in, bench/scc-stats/Makefile.am,
bench/split-product/Makefile.am, configure.ac,
iface/Makefile.am, iface/gspn/Makefile.am, iface/gspn/ssp.hh,
iface/nips/Makefile.am, iface/nips/common.cc,
iface/nips/common.hh, iface/nips/dottynips.cc,
iface/nips/nips.cc, iface/nips/nips.hh, src/Makefile.am,
src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy,
src/eltlparse/eltlscan.ll, src/eltlparse/fmterror.cc,
src/eltlparse/parsedecl.hh, src/eltltest/Makefile.am,
src/eltltest/defs.in, src/eltltest/nfa.cc, src/evtgba/evtgba.hh,
src/evtgba/product.cc, src/evtgba/product.hh,
src/evtgbaalgos/tgba2evtgba.cc, src/evtgbaparse/Makefile.am,
src/evtgbaparse/evtgbaparse.yy, src/evtgbatest/defs.in,
src/evtgbatest/explicit.test, src/evtgbatest/ltl2evtgba.cc,
src/evtgbatest/ltl2evtgba.test, src/evtgbatest/product.cc,
src/evtgbatest/product.test, src/evtgbatest/readsave.cc,
src/evtgbatest/readsave.test, src/ltlast/atomic_prop.cc,
src/ltlast/atomic_prop.hh, src/ltlast/binop.cc,
src/ltlast/binop.hh, src/ltlast/constant.cc,
src/ltlast/constant.hh, src/ltlast/formula.cc,
src/ltlast/formula.hh, src/ltlast/formula_tree.cc,
src/ltlast/formula_tree.hh, src/ltlast/multop.cc,
src/ltlast/multop.hh, src/ltlast/nfa.cc, src/ltlast/nfa.hh,
src/ltlast/unop.cc, src/ltlast/unop.hh, src/ltlenv/declenv.cc,
src/ltlenv/declenv.hh, src/ltlenv/environment.hh,
src/ltlparse/Makefile.am, src/ltlparse/ltlparse.yy,
src/ltltest/Makefile.am, src/ltltest/defs.in,
src/ltltest/equals.cc, src/ltltest/equals.test,
src/ltltest/lunabbrev.test, src/ltltest/nenoform.test,
src/ltltest/parse.test, src/ltltest/parseerr.test,
src/ltltest/randltl.cc, src/ltltest/readltl.cc,
src/ltltest/reduccmp.test, src/ltltest/syntimpl.cc,
src/ltltest/syntimpl.test, src/ltltest/tostring.cc,
src/ltltest/tostring.test, src/ltltest/tunabbrev.test,
src/ltltest/tunenoform.test, src/ltlvisit/basicreduce.cc,
src/ltlvisit/clone.cc, src/ltlvisit/clone.hh,
src/ltlvisit/contain.cc, src/ltlvisit/destroy.cc,
src/ltlvisit/destroy.hh, src/ltlvisit/lunabbrev.cc,
src/ltlvisit/nenoform.cc, src/ltlvisit/randomltl.cc,
src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
src/ltlvisit/tostring.cc, src/misc/bddalloc.cc,
src/misc/bddop.cc, src/misc/bddop.hh, src/misc/freelist.hh,
src/misc/hash.hh, src/misc/minato.cc, src/misc/minato.hh,
src/misc/optionmap.cc, src/misc/timer.cc, src/misc/timer.hh,
src/saba/Makefile.am, src/saba/explicitstateconjunction.cc,
src/saba/explicitstateconjunction.hh, src/saba/saba.cc,
src/saba/saba.hh, src/saba/sabacomplementtgba.cc,
src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh,
src/saba/sabasucciter.hh, src/sabaalgos/Makefile.am,
src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh,
src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh,
src/sabatest/Makefile.am, src/sabatest/defs.in,
src/sanity/Makefile.am, src/tgba/Makefile.am,
src/tgba/bdddict.cc, src/tgba/bddprint.cc,
src/tgba/formula2bdd.cc, src/tgba/state.hh,
src/tgba/succiterconcrete.cc, src/tgba/taatgba.hh,
src/tgba/tgba.hh, src/tgba/tgbabddconcretefactory.cc,
src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbacomplement.cc,
src/tgba/tgbacomplement.hh, src/tgba/tgbaexplicit.cc,
src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc,
src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
src/tgba/tgbasafracomplement.cc, src/tgba/tgbasgba.cc,
src/tgba/tgbasgba.hh, src/tgba/tgbaunion.cc,
src/tgba/tgbaunion.hh, src/tgbaalgos/dupexp.cc,
src/tgbaalgos/eltl2tgba_lacim.cc,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/emptiness.cc,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/ltl2taa.cc,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/powerset.cc, src/tgbaalgos/reachiter.cc,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reductgba_sim.cc,
src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/stats.cc,
src/tgbaalgos/stats.hh, src/tgbaparse/Makefile.am,
src/tgbaparse/tgbaparse.yy, src/tgbatest/Makefile.am,
src/tgbatest/bddprod.test, src/tgbatest/complementation.cc,
src/tgbatest/complementation.test, src/tgbatest/defs.in,
src/tgbatest/dfs.test, src/tgbatest/dupexp.test,
src/tgbatest/explicit.cc, src/tgbatest/explicit.test,
src/tgbatest/explpro3.test, src/tgbatest/explpro4.test,
src/tgbatest/explprod.cc, src/tgbatest/explprod.test,
src/tgbatest/ltl2neverclaim.test, src/tgbatest/ltl2tgba.cc,
src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.cc,
src/tgbatest/ltlprod.test, src/tgbatest/mixprod.cc,
src/tgbatest/mixprod.test, src/tgbatest/powerset.cc,
src/tgbatest/readsave.cc, src/tgbatest/readsave.test,
src/tgbatest/reduccmp.test, src/tgbatest/reductgba.cc,
src/tgbatest/reductgba.test, src/tgbatest/taatgba.cc,
src/tgbatest/tgbaread.cc, src/tgbatest/tgbaread.test,
src/tgbatest/tripprod.cc, src/tgbatest/tripprod.test,
wrap/python/cgi/ltl2tgba.in, wrap/python/tests/ltl2tgba.py,
wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py:
Fix copyrights.
2010-01-24 20:51:09 +01:00
Alexandre Duret-Lutz
06f0fe1d40 Check that all directories are documented.
* src/sanity/readme.test: For each AC_OUTPUT Makefile, check that
the directory is documented in README.  Also skip non distributed
directories in readme.test.
* README: Fit on 80 columns.
2010-01-24 15:20:54 +01:00
Alexandre Duret-Lutz
9f41e397d5 * README: Typo. 2010-01-24 11:53:35 +01:00
Alexandre Duret-Lutz
ec2e54df81 * src/sanity/Makefile.am (EXTRA_DIST): Distribute readme.test. 2010-01-24 10:41:07 +01:00
Alexandre Duret-Lutz
2919b64532 * README: Add descriptions for subdirectories of bench/, src/sanity,
and src/kripke.
2010-01-24 10:37:07 +01:00
Guillaume Sadegh
cbdb0feb68 * src/sanity/readme.test: A script to check whether all the
directories referenced in README exist.
* src/sanity/Makefile.am: Adjust to call `readme.test' when make
check is invoked.
2010-01-24 03:06:00 +01:00
Guillaume Sadegh
3633fced1d Update the README.
* README: Reference src/saba/, src/sabaalgos/, src/sabatest/,
iface/nips/, iface/nips/nipstest/ and iface/nips/nips_vm/.
2010-01-24 02:48:31 +01:00
Alexandre Duret-Lutz
1693e2afad more files to ignore 2010-01-22 17:31:42 +01:00
Alexandre Duret-Lutz
391372ae2a Turn parse_error_list into an opaque type for Swig. This
kills a memory leak warning from swig/python.

* src/ltlparse/public.hh (parse_error_list): Declare
as an empty struct for Swig.
* wrap/python/tests/ltlparse.py: Fix copyright.
2010-01-22 17:29:12 +01:00
Alexandre Duret-Lutz
0fe5403956 Revert inlining of bdd_addref() and bdd_delref().
This reverts commit d462f50b59.

Conflicts:

	buddy/ChangeLog
2010-01-22 15:55:08 +01:00
Alexandre Duret-Lutz
9cbaae7b66 [lbtt]
Let "make dvi" work on Ubuntu.

* doc/lbtt.texi (The formula generation algorithm): Use op^\prime
instead of op', because etex on Ubuntu hangs (an infinite loop?)
on the later when texi2dvi tries to compile a dvi.
2010-01-22 13:14:48 +01:00
Alexandre Duret-Lutz
e828783f47 [buddy]
Get rid of some "deprecated conversion from string constant to
`char*'" warnings.

* examples/bddcalc/parser_.h (yyerror): Declare the format
as a "const char*".
* examples/bddcalc/parser.yxx (yyerror): Likewise.
2010-01-22 11:14:10 +01:00
Alexandre Duret-Lutz
919fc298ff Fix the computation of the length of multops.
* src/ltlvisit/length.cc (visit(multop*)): New function. "a & b &
c" has length 5, not 4, even though it is stored as And(a,b,c).
This caused reduc.test to fail on some formulae.
2010-01-22 11:14:10 +01:00
Alexandre Duret-Lutz
e733f951be Please the style checks...
* src/tgbaalgos/randomgraph.cc: Fix the copyright and make it fit
on 80 columns.
2010-01-21 22:09:10 +01:00
Alexandre Duret-Lutz
38a1fadaa0 * src/ltltest/reduc.cc (main): Fix harmless memory leak introduced
today.
2010-01-21 16:56:44 +01:00
Alexandre Duret-Lutz
bfadcf8021 [iface/nips/nips_vm]
Kill a warning on Ubuntu.

* interactive.c (interactive_simulate): Explicitly ignore the
return of scanf to kill a warning.
2010-01-21 16:00:10 +01:00
Alexandre Duret-Lutz
a6b9583628 [lbtt]
Kill some warnings on Ubuntu.

* src/UserCommandReader.cc (UserCommandInterface): Explicitly
ignore the return code of system() to kill a warning.
* src/TestOperations.cc (generateBuchiAutomaton): Explicitly
ignore the return code of write() to kill a warning.
2010-01-21 15:58:18 +01:00
Alexandre Duret-Lutz
e20ba143bb [buddy]
* src/bddio.c (bdd_load): Check the return value of fscanf() to
kill a warning.
2010-01-21 15:51:23 +01:00
Alexandre Duret-Lutz
e663c222e5 Fix taa_tgba_formula's destructor.
* src/tgba/taatgba.cc (taa_tgba_formula::~taa_tgba_formula):
Really destroy all formulae, not only half of them.
2010-01-21 15:16:43 +01:00
Alexandre Duret-Lutz
eef27f4496 * src/tgbatest/randtgba.cc: Do not include <string> twice. 2010-01-21 14:55:01 +01:00
Alexandre Duret-Lutz
062045eb45 Speedup reduc.test by not spawning one process per formula.
* src/ltltest/reduc.cc: Add an option -f to read a lost of
formulae from a file.  Running a process for each formula was
too slow.  Also add an option -h to hide reduced formulae.
* src/ltltest/reduc.test: Simplify accordingly.
2010-01-21 14:54:36 +01:00
Alexandre Duret-Lutz
7262dff0d9 Move the last test from emptchk.test to emptchke.test.
* src/tgbatest/emptchk.test: Move the newly added test ...
* src/tgbatest/emptchke.test: ... here, with other explicit test.
Also test more algorithms.
2010-01-21 13:50:25 +01:00
Alexandre Duret-Lutz
79cb3ff512 Fix a memory leak in Cou99 statistics.
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::acss_states):
Delete the iterator after using it.
* src/tgbatest/emptchkr.test: Run 'randtgba -z' with valgrind too.
2010-01-21 12:00:04 +01:00
Alexandre Duret-Lutz
99884e8e0f Fix a longstanding bug in our implementation of GV04.
* src/tgbaalgos/gv04.cc (push): Fix the tracking of the accepting
link.  This bug was discovered on a random generated graph with
a complex accepting cycle.
* src/tgbatest/emptchk.test: Add the troublesome graph as
test case.
2010-01-21 12:00:04 +01:00
Damien Lefortier
04827ef4a1 When iterating a hash_map, be careful not to delete i->first
before doing ++i to avoid memory issues.

* src/tgba/taatgba.cc, src/tgba/taatgba.hh,
src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Fix them.
2010-01-20 18:06:28 +01:00
Damien Lefortier
0d6fd3225a Minor fixes to compile with GCC 3.3
* src/ltlast/automatop.cc, src/ltlast/automatop.hh: Rename nfa as
get_nfa to avoid a name clash with the `nfa' class.
* src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc,
src/ltlvisit/tostring.cc, src/tgbaalgos/eltl2tgba_lacim.cc: Use
get_nfa instead of nfa.
* src/tgba/tgbasafracomplement.cc: Don't use a
const_reverse_iterator.
2010-01-20 18:06:00 +01:00
Alexandre Duret-Lutz
dcf7eed11f Remove some non-determinism in random_graph()
* src/tgbaalgos/randomgraph.cc (random_graph): Revert the part of
the patch from 2007-02-06 which silently replaced the use of state
index by state pointers.  Storing states pointer in this map cause
some non-determinism because of the memory layout.  It was almost
impossible to reproduce bugs found by tests based on randtgba.
2010-01-20 15:24:29 +01:00
Damien Lefortier
9fb8701667 * src/tgbaalgos/ltl2taa.cc: Fix the previous patch. 2010-01-19 10:43:43 +01:00
Damien Lefortier
9cebcdc124 * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Fix memory issues
occuring when labels are pointers.
* src/tgbaalgos/ltl2taa.cc: Fix a bug.
* src/tgbatest/ltl2tgba.cc: Fix a bug.
2010-01-18 18:27:53 +01:00
Guillaume Sadegh
be78c82e44 * src/saba/sabacomplementtgba.cc: Fix a bug. 2010-01-17 02:16:10 +01:00
Guillaume Sadegh
1f19198d2d [LBTT] Add a missing include.
* src/translate.cc: exit(2) requires cstdlib.
2010-01-17 02:15:08 +01:00
Damien Lefortier
beb3744581 Use taa_tgba_formula instead of taa_tgba_string in ltl_to_taa to
speed up a little the translation.

* src/tgbaalgos/ltl2taa.cc: Adjust.  Also fix a bug with
acceptance conditions in all_n_tuples.
* src/tgba/taatgba.cc, src/tgba/taatgba.hh: Adjust.
2010-01-17 00:50:37 +01:00
Damien Lefortier
7c20d8ae5d Introduce taa_tgba_labelled<label> so that we can build
taa_tgba instances labelled by other objects than strings
in the same way Alexandre did for tgba_explicit.

* src/tgba/taatgba.cc, src/tgba/taatgba.hh: Split taa_tgba in two
levels: taa_tgba with no label and taa_tgba_labelled templated by
the type of the label.  Define taa_tgba_string (with the interface
of the former taa_tgba class) and taa_tgba_formula for future use
in ltl2taa.cc.
* src/tgbaalgos/ltl2taa.cc, src/tgbatest/taatgba.cc: Adjust to use
taa_tgba_string.
2010-01-16 13:15:42 +01:00
Damien Lefortier
88df8c0a1d Fix a longstanding bug reported by Guillaume Sadegh.
* src/eltlparse/eltlscan.ll: Fix a typo.
2010-01-06 09:37:05 +01:00