Commit graph

2222 commits

Author SHA1 Message Date
Pierre PARUTTO
67b7b86d52 tgbaproduct: fix segfault
* src/tgba/tgbaproduct.cc (transition_annotation): Adapt down cast to
new hierarchy.
2013-01-14 18:24:24 +01:00
Alexandre Duret-Lutz
e4ecc2d465 simplify: add four simplification rules for GF and FG
GF(a|Xb) = GF(a|b)      GF(a|Fb) = GF(a|b)
FG(a&Xb) = FG(a&b)      FG(a&Gb) = FG(a&b)

* src/ltlvisit/simplify.cc: Implement them.
* NEWS, doc/tl/tl.tex: Document them.
* src/ltltest/reduccmp.test: Test then.
2013-01-11 17:16:17 +01:00
Alexandre Duret-Lutz
2580fc6f91 * src/tgbatest/babiak.test: Rewrite using ltlcross. 2013-01-10 18:42:36 +01:00
Alexandre Duret-Lutz
081aa0d120 tgbatest: Rewrite ltl2neverclaim using ltlcross.
* src/tgbatest/ltl2neverclaim.test: Rename as...
* src/tgbatest/ltl2neverclaim-lbtt.test: ... this.
* src/tgbatest/ltl2neverclaim.test: New version, using ltlcross.
* src/tgbatest/Makefile.am: Add ltl2neverclaim-lbtt.test.
2013-01-10 18:22:35 +01:00
Alexandre Duret-Lutz
0e74b76521 Work around Debian's patched libtool.
* configure.ac: Set link_all_deplibs to yes.
2013-01-10 16:45:54 +01:00
Alexandre Duret-Lutz
c55f282298 * src/bin/common_setup.cc: Bump copyright year. 2013-01-06 21:44:38 +01:00
Alexandre Duret-Lutz
86558f1a5c Add missing copyright notice.
* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/sum.py: Add copyright
notice.
2013-01-06 21:44:15 +01:00
Alexandre Duret-Lutz
d02376aaa2 * NEWS: Update with recent changes. 2013-01-06 19:55:10 +01:00
Alexandre Duret-Lutz
254896d5d8 Remove anything related to evtgba.
* src/evtgba/, src/evtgbaalgos/, src/evtgbaparse/, src/evtgbatest/:
Delete.
* src/Makefile.am (SUBDIRS): Adjust.
* configure.ac, README: Adujst.
2013-01-06 19:26:32 +01:00
Alexandre Duret-Lutz
16c7bc1975 bench: delete useless defs.in files.
* bench/wdba/defs.in, bench/ltlclasses/defs.in,
bench/ltlcounter/defs.in: Delete.
* bench/wdba/run, bench/ltlclasses/run, bench/ltlcounter/run: Adjust not
to use them.
* configure.ac: Do not output the associated defs files.
2013-01-06 19:13:18 +01:00
Alexandre Duret-Lutz
885a535184 Rewrite the ltl2tgba bench using ltlcross
* bench/ltl2tgba/sum.py: New file.
* bench/ltl2tgba/.gitignore, bench/ltl2tgba/Makefile.am,
bench/ltl2tgba/README, bench/ltl2tgba/algorithms, bench/ltl2tgba/big,
bench/ltl2tgba/defs.in, bench/ltl2tgba/known, bench/ltl2tgba/small:
Rewrite this benchmark completely.  Also drop support of Wring and
Modella, as we cannot get them to work reliably.
* bench/ltl2tgba/formulae.ltl: Rewrite in Spot's syntax.
* bench/ltl2tgba/lbtt2csv.pl, bench/ltl2tgba/ltl2baw.in,
bench/ltl2tgba/parseout.pl: Delete these scripts, no
longer needed.
* configure.ac: Do not output ltl2baw.pl anymore.
2013-01-06 18:57:50 +01:00
Alexandre Duret-Lutz
e2f17f65b8 Remove LBTT.
* configure.ac: Detect lbtt using AC_CHECK_PROG.
* m4/lbtt.m4: Delete.
* lbtt/: Remove directory.
* Makefile.am, README: Adjust.
2012-12-28 10:05:12 +01:00
Alexandre Duret-Lutz
a577850eb3 Address several issues reported by cppcheck all over the place.
* src/bin/common_finput.cc, src/tgbaalgos/lbtt.cc: Use !empty() instead
of size() > 0.
* src/bin/ltl2tgta.cc, src/kripke/kripkeexplicit.cc,
src/tgbatest/complementation.cc: Avoid useless assignments.
* src/bin/ltlcross.cc: Correct mistaken assignment inside assert().
* src/evtgba/symbol.hh, src/tgba/tgbabddcoredata.cc,
src/tgba/tgbabddcoredata.hh,
src/tgba/tgbasafracomplement.cc (operator=): Do not return a const
reference.
* src/evtgbatest/ltl2evtgba.cc, src/evtgbatest/product.cc,
src/evtgbatest/product.cc: Check indices before using them, not after.
* src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
src/tgbatest/randtgba.cc: Pass constant strings by reference.
* src/kripke/kripkeprint.cc, src/tgbaalgos/simulation.cc:
Remove a useless operation.
* src/ltlvisit/simplify.cc: Remove a duplicate condition.
* src/misc/formater.hh: Remove unused attribute.
* src/misc/modgray.cc: Initialize done_ in the constructor.
* src/saba/explicitstateconjunction.cc,
src/saba/explicitstateconjunction.hh (operator=): Fix prototype.
* src/saba/sabacomplementtgba.cc: Remove unused default constructor.
* src/ta/taexplicit.cc, src/ta/taproduct.cc, src/ta/tgtaproduct.cc,
src/ta/tgtaproduct.hh, src/taalgos/emptinessta.cc,
src/taalgos/minimize.cc, src/taalgos/reachiter.cc,
src/taalgos/tgba2ta.cc, src/tgbaalgos/cutscc.cc: Use C++ casts, and
++it instead of it++.
* src/taalgos/dotty.cc, src/tgbatest/ltl2tgba.cc: Refine the scope of
variables.
* src/tgba/tgbakvcomplement.hh (bdd_order): Always initialize bdd_.
* src/tgba/tgbasgba.cc, src/tgba/wdbacomp.cc: Use the initialization
line to initialize all members.
2012-12-24 13:14:33 +01:00
Alexandre Duret-Lutz
a3b49f1108 acccompl: Speed up.
* src/misc/acccompl.cc: Simplify both directions of the conversion.
* src/misc/acccompl.hh: Pass bdds by reference.
2012-12-24 13:14:33 +01:00
Alexandre Duret-Lutz
ce21af6323 * .dir-locals.el: Fix whitespace-mode configuration. 2012-12-24 13:14:33 +01:00
Alexandre Duret-Lutz
15c9b72f13 [buddy]
* src/bdd.h: Make all inplace operators return a reference.
2012-12-24 13:14:23 +01:00
Alexandre Duret-Lutz
13c41ee773 ltlast: use the return of insert() to avoid a double lookup
* src/ltlast/atomic_prop.cc, src/ltlast/automatop.cc,
src/ltlast/binop.cc, src/ltlast/bunop.cc,
src/ltlast/multop.cc, src/ltlast/unop.cc: Do not look for a key
and then insert the (key,value) on failure.  Simply insert
(key,0), and replace 0 by value on failure.  This replaces two map
lookups by one.
2012-12-19 22:30:49 +01:00
Alexandre Duret-Lutz
2776de87da More documentation.
* README: Introduce Spot, and point to the documentation.
* wrap/python/ajax/README: Mention ltl3ba 1.0.2.
2012-12-19 15:36:56 +01:00
Alexandre Duret-Lutz
aa2374c5a2 Cosmetics.
* src/sanity/style.test: Catch extra space around operator declarations.
* src/ltlast/automatop.hh, src/ltlast/multop.hh,
src/tgba/tgbabddcoredata.cc, src/tgba/tgbabddcoredata.hh,
src/tgbaalgos/simulation.cc: Fix them.
2012-12-19 15:23:29 +01:00
Alexandre Duret-Lutz
cffbb7b498 Remove useless variable.
* src/tgba/tgbaexplicit.hh (add_state): Remove useless variable.
Reported by Étienne Renault.
2012-12-14 11:22:18 +01:00
Alexandre Duret-Lutz
b3d8b0198f x-to-1: Honor $PERL
* tools/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets a
chance to use his preferred version of Perl.  This is typically
required by Darwin users whose default /usr/bin/perl do not have all
the libraries required by help2man, and who need to use their MacPorts
installation of Perl instead.
2012-12-14 11:22:08 +01:00
Alexandre Duret-Lutz
41265cd94f * NEWS: Document recent bug fixes. 2012-11-28 17:53:43 +01:00
Alexandre Duret-Lutz
64484e7816 Print F"proc.st" as Fproc.st.
* src/ltlvisit/tostring.cc: Allow '.' in bare words while
printing atomic propositions.
* src/ltltest/bare.test: New file.
* src/ltltest/Makefile.am: Add it.
2012-11-28 17:34:39 +01:00
Alexandre Duret-Lutz
af639e58c7 more files to ignore 2012-11-28 16:45:04 +01:00
Alexandre Duret-Lutz
5efb66cb25 Add a .dir-locals.el file.
* .dir-locals.el: New file.
* Makefile.am (EXTRA_DIST): Distribute it.
2012-11-27 15:19:20 +01:00
Thomas Badie
d10e772d35 Fix non determinism in the simulation.
* src/tgbaalgos/simulation.cc: Fix non determinism.
* src/tgbatest/simdet.test: Test that the behavior is now correct.
* src/tgbatest/Makefile.am (TESTS): Add the new test to the
test-suite.
2012-11-14 18:22:11 +01:00
Alexandre Duret-Lutz
49d384b1eb ltlcross: diagnose failure to write into temporary files
The removes a warning about the return code from write() being
ignored.  Reported by Thomas Badie.

* src/bin/ltlcross.cc (string_to_tmp): Call error() on error.
2012-11-14 15:12:43 +01:00
Alexandre Duret-Lutz
973c5bc050 * NEWS, configure.ac: Bump version to 1.0a 2012-10-27 12:11:59 +02:00
Alexandre Duret-Lutz
213b67e84b Release Spot 1.0.
* NEWS, configure.ac: Bump version to 1.0.
2012-10-27 11:58:55 +02:00
Alexandre Duret-Lutz
f9373e4a9f * m4/ax_prefix_config_h.m4: Update to more recent version. 2012-10-26 09:47:51 +02:00
Alexandre Duret-Lutz
e2ed5f6b98 * NEWS: rephrase some items 2012-10-26 07:56:47 +02:00
Alexandre Duret-Lutz
301ad1ebf0 Speed-up translation of persistence formulas.
* src/tgbaalgos/ltl2tgba_fm.cc: Use a single acceptance for syntactic
persistence formulas.
2012-10-26 07:46:04 +02:00
Alexandre Duret-Lutz
7c464246f2 * src/tgbaalgos/ltl2tgba_fm.cc: Typo in comment. 2012-10-24 10:16:19 +02:00
Alexandre Duret-Lutz
d552be308b ltlcross: Add a --stop-on-error option.
* src/bin/ltlcross.cc: Add the option.
* src/bin/common_finput.hh, src/bin/common_finput.cc: Make it possible
to abort run().
2012-10-23 23:21:14 +02:00
Alexandre Duret-Lutz
1f12ad8765 unabbreviate_wm: fix a segfault.
* src/ltlvisit/wmunabbrev.cc: Fix clone() order.
* src/ltltest/equals.cc: Add a mode for unabbreviate_wm().
* src/ltltest/unabbrevwm.test: New file.
* src/ltltest/Makefile.am: Add it.
2012-10-23 22:36:18 +02:00
Alexandre Duret-Lutz
aede62d123 * src/bin/man/genltl.x: Missing dot. 2012-10-22 20:29:14 +02:00
Alexandre Duret-Lutz
f3ef9de0be rename ltlcheck as ltlcross
* src/bin/ltlcheck.cc, src/bin/man/ltlcheck.x,
src/tgbatest/ltlcheck.test, src/tgbatest/ltlcheck2.test: Rename as ...
* src/bin/ltlcross.cc, src/bin/man/ltlcross.x,
src/tgbatest/ltlcross.test, src/tgbatest/ltlcross2.test: ... these.
* NEWS, src/bin/Makefile.am, src/bin/man/Makefile.am,
src/tgbatest/Makefile.am: Adjust.
2012-10-21 13:23:02 +02:00
Alexandre Duret-Lutz
fa4e6effa6 tgbaexplicit: fix state_is_accepting()
* src/tgba/tgbaexplicit.hh (state_is_accepting): Use
all_acceptance_conditions(), not all_acceptance_conditions_, so that
it works even when all_acceptance_conditions_ is not ready.
* src/tgbatest/explicit2.cc, src/tgbatest/explicit2.test: Adjust
test case.
2012-10-21 00:02:07 +02:00
Alexandre Duret-Lutz
76787b23c0 postproc: add the possibility to output a monitor
* src/tgbaalgos/stripacc.cc, src/tgbaalgos/stripacc.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add a Monitor
output option.
* src/bin/ltl2tgba.cc: Add a --monitor/-M option.
* NEWS: Mention monitors.
* src/tgba/tgbaexplicit.hh (is_accepting_state): Fix for the
case where the automaton has no acceptance set.
2012-10-21 00:02:06 +02:00
Alexandre Duret-Lutz
5f6c262ae5 * NEWS: Document to_wring_string(). 2012-10-20 19:20:28 +02:00
Alexandre Duret-Lutz
877082bfb0 Add a parse_boolean() function to use in parsers for Automata.
* src/ltlparse/public.hh, src/ltlparse/ltlparse.yy (parse_boolean):
New function.
* src/neverparse/neverclaimparse.yy, src/tgbaparse/tgbaparse.yy:
Use it.
2012-10-20 19:18:54 +02:00
Alexandre Duret-Lutz
da5f7ac3aa to_string: remove extra parentheses
* src/ltlvisit/tostring.cc: Fix duplicate parentheses around
argument of unary operators when full_parent=true.
2012-10-20 13:52:44 +02:00
Alexandre Duret-Lutz
0fc3c6bcff Add support for printing LTL formulas using Wring's syntax.
* src/ltlvisit/tostring.hh, src/ltlvisit/tostring.cc
(to_wring_string): New option.
* src/bin/common_output.hh, src/bin/common_output.cc:
Add support for a --wring option.
* src/bin/ltlcheck.cc: Add %w and %W format specifiers.
2012-10-20 13:40:33 +02:00
Alexandre Duret-Lutz
bf765480b1 * src/tgba/tgbaexplicit.hh: Fix hash_map definition to please old g++. 2012-10-20 12:18:06 +02:00
Alexandre Duret-Lutz
b8ed85a30d bin: Adjust version display and help options.
In particular, this get rid of the ugly -? option that argp adds by
default, and we also remove -V so that we can use it for something
else later.

* src/bin/common_setup.cc, src/bin/common_setup.hh (misc_argp):
Provide support for --help/--version/--usage output, replacing argp's
default builting version.
* src/bin/genltl.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc,
src/bin/ltlcheck.cc, src/bin/ltlfilt.cc, src/bin/randltl.cc:
Call argp_parse() with ARGP_NO_HELP, and use misc_argp instead.
2012-10-19 22:58:38 +02:00
Alexandre Duret-Lutz
c6030df936 accconv: speed up acceptance_convertor::as_positive_product()
* src/misc/accconv.cc (as_positive_product): Use a small loop instead
of calling bdd_satone().
2012-10-19 20:50:35 +02:00
Alexandre Duret-Lutz
31fb3d9d15 tgbaexplicit: speed up merge_transitions()
* src/tgba/tgbaexplicit.hh (merge_transitions): Use a hash table
to merge compatible transitions.
* src/tgbatest/readsave.test: Add a test case.
2012-10-19 17:53:08 +02:00
Alexandre Duret-Lutz
0bdfd9c72c * src/bin/ltlcheck.cc: Cleanup temporary files on ^C. 2012-10-19 16:17:53 +02:00
Alexandre Duret-Lutz
e426c63550 lbttparse: allow acceptance sets that are not consecutive integers.
* src/tgbaalgos/lbtt.cc: Renumber acceptance sets as they are read.
* src/tgbatest/lbttparse.test: Add a test cases.
2012-10-19 15:56:42 +02:00
Alexandre Duret-Lutz
89b9cc5fd5 lbttparse: make sure we parse wring2lbtt's output
* src/tgbaalgos/lbtt.cc: Do not expect a new line after the number of
acceptance conditions.
* src/tgbatest/lbttparse.test: Add a test case.
2012-10-18 14:48:10 +02:00