Commit graph

4410 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
4fd297786a gnulib: update to 405cd675384221b541b460c43de26d159914fe0a
This also include my patch to lib/argp.hh for C++ compilation.

* lib/Makefile.am, lib/alloca.in.h, lib/argmatch.c, lib/argmatch.h,
lib/argp-ba.c, lib/argp-eexst.c, lib/argp-fmtstream.c,
lib/argp-fmtstream.h, lib/argp-fs-xinl.c, lib/argp-help.c,
lib/argp-namefrob.h, lib/argp-parse.c, lib/argp-pin.c, lib/argp-pv.c,
lib/argp-pvh.c, lib/argp-xinl.c, lib/argp.h, lib/asnprintf.c,
lib/basename-lgpl.c, lib/c-ctype.h, lib/c-strcase.h,
lib/c-strcasecmp.c, lib/c-strcaseeq.h, lib/c-strncasecmp.c,
lib/config.charset, lib/dirname-lgpl.c, lib/dirname.h, lib/dosname.h,
lib/errno.in.h, lib/error.c, lib/error.h, lib/exitfail.c,
lib/exitfail.h, lib/fcntl.in.h, lib/float+.h, lib/float.c,
lib/float.in.h, lib/getopt.c, lib/getopt.in.h, lib/getopt1.c,
lib/getopt_int.h, lib/gettext.h, lib/gettimeofday.c,
lib/hard-locale.c, lib/hard-locale.h, lib/intprops.h, lib/isatty.c,
lib/itold.c, lib/localcharset.c, lib/localcharset.h, lib/lstat.c,
lib/malloc.c, lib/mbrtowc.c, lib/mbsinit.c, lib/memchr.c,
lib/mempcpy.c, lib/mkstemp.c, lib/mkstemps.c, lib/msvc-inval.c,
lib/msvc-inval.h, lib/msvc-nothrow.c, lib/msvc-nothrow.h,
lib/pathmax.h, lib/printf-args.c, lib/printf-args.h,
lib/printf-parse.c, lib/printf-parse.h, lib/progname.c,
lib/progname.h, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
lib/rawmemchr.c, lib/ref-add.sin, lib/ref-del.sin,
lib/secure_getenv.c, lib/size_max.h, lib/sleep.c, lib/stat.c,
lib/stdalign.in.h, lib/stdbool.in.h, lib/stddef.in.h, lib/stdint.in.h,
lib/stdio.in.h, lib/stdlib.in.h, lib/stpcpy.c, lib/strcasecmp.c,
lib/strchrnul.c, lib/streq.h, lib/strerror-override.c,
lib/strerror-override.h, lib/strerror.c, lib/string.in.h,
lib/strings.in.h, lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c,
lib/strnlen.c, lib/strverscmp.c, lib/sys_stat.in.h, lib/sys_time.in.h,
lib/sys_types.in.h, lib/sys_wait.in.h, lib/sysexits.in.h,
lib/tempname.c, lib/tempname.h, lib/time.in.h, lib/unistd.in.h,
lib/vasnprintf.c, lib/vasnprintf.h, lib/verify.h, lib/vsnprintf.c,
lib/wchar.in.h, lib/wctype.in.h, lib/xalloc-die.c,
lib/xalloc-oversized.h, lib/xalloc.h, lib/xmalloc.c, lib/xsize.h,
m4/00gnulib.m4, m4/absolute-header.m4, m4/alloca.m4, m4/argp.m4,
m4/configmake.m4, m4/dirname.m4, m4/double-slash-root.m4,
m4/errno_h.m4, m4/error.m4, m4/exponentd.m4, m4/extensions.m4,
m4/extern-inline.m4, m4/fcntl-o.m4, m4/fcntl_h.m4, m4/float_h.m4,
m4/getopt.m4, m4/gettimeofday.m4, m4/glibc21.m4, m4/gnulib-cache.m4,
m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4,
m4/hard-locale.m4, m4/include_next.m4, m4/intmax_t.m4,
m4/inttypes_h.m4, m4/isatty.m4, m4/largefile.m4, m4/localcharset.m4,
m4/locale-fr.m4, m4/locale-ja.m4, m4/locale-zh.m4, m4/longlong.m4,
m4/lstat.m4, m4/malloc.m4, m4/math_h.m4, m4/mbrtowc.m4, m4/mbsinit.m4,
m4/mbstate_t.m4, m4/memchr.m4, m4/mempcpy.m4, m4/mkstemp.m4,
m4/mkstemps.m4, m4/mmap-anon.m4, m4/msvc-inval.m4, m4/msvc-nothrow.m4,
m4/multiarch.m4, m4/nocrash.m4, m4/off_t.m4, m4/pathmax.m4,
m4/printf.m4, m4/quote.m4, m4/quotearg.m4, m4/rawmemchr.m4,
m4/secure_getenv.m4, m4/size_max.m4, m4/sleep.m4, m4/ssize_t.m4,
m4/stat.m4, m4/stdalign.m4, m4/stdbool.m4, m4/stddef_h.m4,
m4/stdint.m4, m4/stdint_h.m4, m4/stdio_h.m4, m4/stdlib_h.m4,
m4/stpcpy.m4, m4/strcase.m4, m4/strchrnul.m4, m4/strerror.m4,
m4/string_h.m4, m4/strings_h.m4, m4/strndup.m4, m4/strnlen.m4,
m4/strverscmp.m4, m4/sys_socket_h.m4, m4/sys_stat_h.m4,
m4/sys_time_h.m4, m4/sys_types_h.m4, m4/sys_wait_h.m4, m4/sysexits.m4,
m4/tempname.m4, m4/time_h.m4, m4/unistd_h.m4, m4/vasnprintf.m4,
m4/vsnprintf.m4, m4/warn-on-use.m4, m4/wchar_h.m4, m4/wchar_t.m4,
m4/wctype_h.m4, m4/wint_t.m4, m4/xalloc.m4, m4/xsize.m4,
tools/snippet/arg-nonnull.h, tools/snippet/c++defs.h,
tools/snippet/warn-on-use.h: Update.
* lib/getprogname.c, lib/getprogname.h, lib/limits.in.h, lib/minmax.h,
m4/getprogname.m4, m4/limits-h.m4, m4/minmax.m4: New files.
2017-03-09 17:22:06 +01:00
Alexandre Duret-Lutz
07e714e14e upgrade utfcpp to v2.3.5
From https://github.com/nemtrif/utfcpp/releases/tag/v2.3.5

* utf8/utf8.h, utf8/utf8/checked.h, utf8/utf8/core.h,
utf8/utf8/unchecked.h: Update.
* utf8/doc/utf8cpp.html, utf8/doc/ReleaseNotes: Delete.
* utf8/README.md: New file.
* Makefile.am: Adjust.
2017-03-09 17:22:06 +01:00
Alexandre Duret-Lutz
b81d7e5839 python: add python bindings for declarative_environment
* python/spot/impl.i: Here.
* tests/python/declenv.py: New file.
* tests/Makefile.am: Add it.
2017-03-09 17:22:06 +01:00
Alexandre Duret-Lutz
2df677d2d2 parsetl: factor some code
* spot/parsetl/parsetl.yy (parse_ap, sere_ensure_bool,
error_false_block): New functions, replacing several similar blocks.
2017-03-09 17:20:42 +01:00
Alexandre Duret-Lutz
93b9932f90 * AUTHORS: Add Thomas Medioni. 2017-03-09 13:52:30 +01:00
Thomas Medioni
194c199232 Implement sum(..) and sum_and(..).
Fixes #231.

* NEWS: Mention of implementation of sum, sum_and.
* bin/autfilt.cc: Add --sum, --sum-or and --sum-and options.
* python/spot/impl.i: Add bindings for sum, sum_and.
* spot/twaalgos/Makefile.am: Add sum.cc, sum.hh.
* spot/twaalgos/sum.cc: Implement sum, sum_and.
* spot/twaalgos/sum.hh: Declaration of sum, sum_and.
* tests/Makefile.am: Add sum tests.
* tests/core/explsum.test: Test the sum of two automatons,
  false or false, unsatisfied mark propagation, handling of univ.
  transitions.
* tests/python/sum.py: Check that two automatons that does not
  share their bdd dict are not accepted, then run tests over the
  sum of randomly generated LTL formulas.
2017-03-09 11:42:08 +01:00
Alexandre Duret-Lutz
4c08e7ec00 python: add bindings for to_generalized_buchi()
* python/spot/impl.i: Here.
* NEWS: Mention it.
2017-03-08 18:11:44 +01:00
Alexandre Duret-Lutz
4a160cb644 * spot/twaalgos/remfin.cc: Typos in comment. 2017-03-08 18:10:28 +01:00
Alexandre Duret-Lutz
5793cf32f9 python: add bindings for to_generalized_buchi()
* python/spot/impl.i: Here.
* NEWS: Mention it.
2017-03-08 17:33:51 +01:00
Alexandre Duret-Lutz
7726147977 * spot/twaalgos/remfin.cc: Typos in comment. 2017-03-08 16:52:46 +01:00
Alexandre Duret-Lutz
cd89983ca5 typos: dictionnary -> dictionary
* doc/org/upgrade2.org, tests/python/prodexpt.py,
tests/python/product.ipynb, NEWS: Fix typos.
* tests/sanity/style.test: Add a check for this.
2017-03-08 16:44:30 +01:00
Alexandre Duret-Lutz
d1d3ee38e6 python: add bindings for bdd_to_formula()
Follow-up to an email from Ayrat Khalimov.

* python/spot/impl.i: Include twa/formula2bdd.hh.
* python/spot/__init__.py: Make the dictionnary
optional.
* spot/twa/formula2bdd.cc: Throw an exception instead of asserting.
* tests/python/bdditer.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Update.
2017-03-08 16:44:30 +01:00
Alexandre Duret-Lutz
47e1c9692e typos: dictionnary -> dictionary
* doc/org/upgrade2.org, tests/python/prodexpt.py,
tests/python/product.ipynb, NEWS: Fix typos.
* tests/sanity/style.test: Add a check for this.
2017-03-08 16:10:47 +01:00
Alexandre Duret-Lutz
0d8a88b28b degen: improve test coverage
* spot/twaalgos/degen.cc: Make use_cust_acc_orders as unlikely, as it
was never true in the whole test suite before this patch.
* tests/core/ltlcross2.test: Play with degen-order and degen-lcache
options to test more cases.
2017-03-08 15:48:38 +01:00
Alexandre Duret-Lutz
4e9303e380 python: add bindings for bdd_to_formula()
Follow-up to an email from Ayrat Khalimov.

* python/spot/impl.i: Include twa/formula2bdd.hh.
* python/spot/__init__.py: Make the dictionnary
optional.
* spot/twa/formula2bdd.cc: Throw an exception instead of asserting.
* tests/python/bdditer.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Update.
2017-03-08 15:39:08 +01:00
Alexandre Duret-Lutz
cd4c326f7b twa_graph: more test coverage
The goal is to improve coverage stats, but I discovered two issues
while doing so.

* tests/python/twagraph.py: New test case.
* tests/Makefile.am: Add it.
* spot/twa/twagraph.hh: Add fix typos in error messages.
* python/spot/impl.i: Fix broken wrappers for state_from_number and
state_acc_sets.
2017-03-07 23:16:07 +01:00
Alexandre Duret-Lutz
df44616dfd twa_graph: remove the useless set_init_state(const state*)
* spot/twa/twagraph.hh: Here.
* NEWS: Mention the change.
2017-03-07 23:15:42 +01:00
Alexandre Duret-Lutz
2e763a08cc twa_graph: more test coverage
The goal is to improve coverage stats, but I discovered two issues
while doing so.

* tests/python/twagraph.py: New test case.
* tests/Makefile.am: Add it.
* spot/twa/twagraph.hh: Add fix typos in error messages.
* python/spot/impl.i: Fix broken wrappers for state_from_number and
state_acc_sets.
2017-03-07 23:15:42 +01:00
Alexandre Duret-Lutz
be4f139757 tests: remove ltlprod
This very old test did not do anything useful today.

* tests/core/ltlprod.cc, tests/core/ltlprod.test: Delete.
* tests/Makefile.am: Adjust.
2017-03-07 23:15:37 +01:00
Alexandre Duret-Lutz
61924aec37 postproc/translate: more doc and references
Fixes #239.

* spot/twaalgos/postproc.hh, spot/twaalgos/translate.hh: Here.
2017-03-07 15:39:17 +01:00
Alexandre Duret-Lutz
650bb7ed03 twa_graph: fix set_univ_init_state() with initializer_list
Reported by Thomas Medioni.

* spot/twa/twagraph.hh (set_univ_init_state): Remove the bogus
template parameter.
* tests/core/twagraph.cc, tests/core/tgbagraph.test: Test the method.
* NEWS: Mention the bug.
2017-03-07 15:39:17 +01:00
Alexandre Duret-Lutz
5e1d575615 postproc/translate: more doc and references
Fixes #239.

* spot/twaalgos/postproc.hh, spot/twaalgos/translate.hh: Here.
2017-03-07 15:38:46 +01:00
Alexandre Duret-Lutz
2c9f201c0d twa_graph: fix set_univ_init_state() with initializer_list
Reported by Thomas Medioni.

* spot/twa/twagraph.hh (set_univ_init_state): Remove the bogus
template parameter.
* tests/core/twagraph.cc, tests/core/tgbagraph.test: Test the method.
* NEWS: Mention the bug.
2017-03-07 13:36:49 +01:00
Alexandre Duret-Lutz
0621e0e9c5 monitor: fix -MD/-M difference in property output
Fixes #241.

* spot/twaalgos/postproc.cc: Use the deterministic monitor if it
has as many states as the non-deterministic one.
* spot/twaalgos/minimize.cc (minimize_monitor): Quickly check
for terminal automata.
* spot/twaalgos/stripacc.cc: Set the weak property.
* spot/twaalgos/stripacc.hh: Improve documentation.
* tests/core/monitor.test, tests/core/sbacc.test: Update.
* NEWS: Mention the issue.
2017-03-03 22:57:55 +01:00
Alexandre Duret-Lutz
28f4e4b9a5 doc: simplify a C++ example
* doc/org/tut10.org: Remove a couple of useless includes.
2017-03-03 22:57:55 +01:00
Alexandre Duret-Lutz
0df785bcde doc: add an example about how to build monitor in shell/python/C++
Part of #239.

* doc/org/tut11.org: New file.
* doc/org/ltl2tgba.org, doc/org/hierarchy.org: Add some anchors we can
link to in tut11.org.
* doc/org/tut.org, doc/Makefile.am: Add tut11.org.
* NEWS: Mention the new page.
2017-03-03 22:57:55 +01:00
Alexandre Duret-Lutz
9defdad2bc postproc: fix monitor code
Fixes #240.

* spot/twaalgos/postproc.cc: Do not call do_simul on the output of
minimize_monitor(), and do not skip complete() when PREF_==Any.
* tests/core/monitor.test: Add a test case.
* NEWS: Mention the bug.
* doc/org/ltl2tgba.org: Document complete monitors.
2017-03-03 22:57:08 +01:00
Alexandre Duret-Lutz
57ea6d9634 sbacc: fix a typo and remove some useless code
* spot/twaalgos/sbacc.cc: Do not assign to one_in twice, and
fix the value of init_acc.
* tests/core/sbacc.test: Add a test case.
* NEWS: Mention the bug.
2017-03-03 22:57:08 +01:00
Alexandre Duret-Lutz
a66e7704d8 monitor: fix -MD/-M difference in property output
Fixes #241.

* spot/twaalgos/postproc.cc: Use the deterministic monitor if it
has as many states as the non-deterministic one.
* spot/twaalgos/minimize.cc (minimize_monitor): Quickly check
for terminal automata.
* spot/twaalgos/stripacc.cc: Set the weak property.
* spot/twaalgos/stripacc.hh: Improve documentation.
* tests/core/monitor.test, tests/core/sbacc.test: Update.
* NEWS: Mention the issue.
2017-03-03 18:37:32 +01:00
Alexandre Duret-Lutz
3699e6cd0c doc: simplify a C++ example
* doc/org/tut10.org: Remove a couple of useless includes.
2017-03-03 17:58:31 +01:00
Alexandre Duret-Lutz
bb23ea9978 doc: add an example about how to build monitor in shell/python/C++
Part of #239.

* doc/org/tut11.org: New file.
* doc/org/ltl2tgba.org, doc/org/hierarchy.org: Add some anchors we can
link to in tut11.org.
* doc/org/tut.org, doc/Makefile.am: Add tut11.org.
* NEWS: Mention the new page.
2017-03-03 17:57:31 +01:00
Alexandre Duret-Lutz
2b9accdf58 postproc: fix monitor code
Fixes #240.

* spot/twaalgos/postproc.cc: Do not call do_simul on the output of
minimize_monitor(), and do not skip complete() when PREF_==Any.
* tests/core/monitor.test: Add a test case.
* NEWS: Mention the bug.
* doc/org/ltl2tgba.org: Document complete monitors.
2017-03-03 14:39:55 +01:00
Alexandre Duret-Lutz
cf5d2c2b32 acc: make mark_t::operator bool() explicit
This avoids a few conversion problems, and also made the bug of
sbacc (fixed by 37fc948be4) obvious.

Reported by Thomas Medioni.

* spot/twa/acc.hh (mark_t::operator bool): Make it explicit.
* spot/twaalgos/remfin.cc: Adjust.
2017-03-03 13:35:31 +01:00
Alexandre Duret-Lutz
37fc948be4 sbacc: fix a typo and remove some useless code
* spot/twaalgos/sbacc.cc: Do not assign to one_in twice, and
fix the value of init_acc.
* tests/core/sbacc.test: Add a test case.
* NEWS: Mention the bug.
2017-03-03 11:55:00 +01:00
Alexandre Duret-Lutz
e826710cf1 remove options -! and -" from genltl
Fixes #237.

* bin/genltl.cc: Fix the numbering of options.
* NEWS: Mention the bugs.
2017-03-02 14:19:16 +01:00
Alexandre Duret-Lutz
dfe02f722e add options to %x to list atomic propositions
* bin/common_aoutput.cc, bin/common_aoutput.hh, bin/common_output.cc,
bin/common_output.hh: Add options to %x to list atomic propositions
with various quoting scheme.  Deprecate --format=%a in favor of the
new --format=%x for consistency with --stats=%x.
* tests/core/format.test, tests/core/remprop.test: Adjust and add more
tests.
* NEWS: Mention these changes.
2017-03-02 14:19:16 +01:00
Alexandre Duret-Lutz
1eb5be543d acc: implement min_set() and max_set() using gcc builtins
Fixes #238.

* spot/twa/acc.hh (max_set): Add a version using __builtin_clz().
(min_set): New method.
* tests/core/acc.cc, tests/core/acc.test: Add some tests.
2017-03-02 14:17:06 +01:00
Alexandre Duret-Lutz
22a3d1c393 remove options -! and -" from genltl
Fixes #237.

* bin/genltl.cc: Fix the numbering of options.
* NEWS: Mention the bugs.
2017-03-01 16:18:12 +01:00
Alexandre Duret-Lutz
18283d6907 add options to %x to list atomic propositions
* bin/common_aoutput.cc, bin/common_aoutput.hh, bin/common_output.cc,
bin/common_output.hh: Add options to %x to list atomic propositions
with various quoting scheme.  Deprecate --format=%a in favor of the
new --format=%x for consistency with --stats=%x.
* tests/core/format.test, tests/core/remprop.test: Adjust and add more
tests.
* NEWS: Mention these changes.
2017-03-01 16:02:09 +01:00
Alexandre Duret-Lutz
68ad391948 correct handling of --stats=%P
Fixes #236.

* bin/common_aoutput.cc: Fix it.
* tests/core/format.test: Improve test cases.
* NEWS: Mention the bug.
2017-02-28 17:02:06 +01:00
Alexandre Duret-Lutz
d2e9515c10 skip divine tests when divine does not understand compile --help
Fixes #235, reported by Henrich Lauko.

* python/spot/ltsmin.i: Catch CalledProcessError.
* NEWS: Mention the bug.
* THANKS: Add Henrich.
2017-02-28 17:02:06 +01:00
Alexandre Duret-Lutz
0d00ab24d2 bin: --stats=%x to count atomic propositions
* bin/common_aoutput.cc, bin/common_aoutput.hh: Implement %x and %X.
* tests/core/remprop.test: Test them.
* NEWS: Mention them.
2017-02-28 17:02:06 +01:00
Alexandre Duret-Lutz
dd5a820863 * spot/priv/satcommon.cc: Fix include. 2017-02-28 17:02:06 +01:00
Alexandre Duret-Lutz
ac39c1db3c powerset: minor simplifications
* spot/twaalgos/powerset.cc (tgba_powerset): Use twa::ap() to simplify
the code.
(number_of_variables): Remove.
2017-02-28 17:01:15 +01:00
Alexandre Duret-Lutz
e0d3291881 correct handling of --stats=%P
Fixes #236.

* bin/common_aoutput.cc: Fix it.
* tests/core/format.test: Improve test cases.
* NEWS: Mention the bug.
2017-02-28 16:58:31 +01:00
Alexandre Duret-Lutz
905af90459 skip divine tests when divine does not understand compile --help
Fixes #235, reported by Henrich Lauko.

* python/spot/ltsmin.i: Catch CalledProcessError.
* NEWS: Mention the bug.
* THANKS: Add Henrich.
2017-02-28 16:58:26 +01:00
Alexandre Duret-Lutz
6c218e4828 bin: --stats=%x to count atomic propositions
* bin/common_aoutput.cc, bin/common_aoutput.hh: Implement %x and %X.
* tests/core/remprop.test: Test them.
* NEWS: Mention them.
2017-02-28 16:58:23 +01:00
Alexandre Duret-Lutz
0f7008d98c * spot/priv/satcommon.cc: Fix include. 2017-02-28 16:58:20 +01:00
Alexandre Duret-Lutz
58abbc7399 * AUTHORS: Add Clément Gillard 2017-02-28 16:49:48 +01:00
Clément Gillard
da051e112d decompose_scc: Update 'decompose' notebook
* tests/python/decompose.ipynb: Add about `decompose_scc`.
* doc/org/tut.org: Update description.
2017-02-21 21:36:26 +01:00