Commit graph

3484 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
0edb2ad066 man: more bibliographic references
* spot/bin/man/autfilt.x, spot/bin/man/dstar2tgba.x,
spot/bin/man/ltlfilt.x: Add more bibliography.
2015-12-07 22:29:50 +01:00
Alexandre Duret-Lutz
b519c7d3dc rename iface/ as spot-if/
So that instead of having to do
  #incluce <spot/iface/ltsmin/ltsmin.hh>
for using installed the installed header, and
  #incluce <iface/ltsmin/ltsmin.hh>
for using the non-installed version, we now do
  #incluce <spot-if/ltsmin/ltsmin.hh>
in both cases.

* iface/: Rename as...
* spot-if/: ... this.
* doc/Doxyfile.in, README, configure.ac, Makefile.am,
spot/sanity/80columns.test, spot/sanity/style.test: Adjust.
* NEWS: Mention the change.
* spot-if/ltsmin/Makefile.am: Install headers in $includedir/spot-if.
* debian/libspot-dev.install: Distribute that directory as well.
2015-12-07 22:29:18 +01:00
Alexandre Duret-Lutz
690b8f51c7 org: some documentation about compiling C++
* doc/org/compile.org: New file.
* doc/Makefile.am: Add it.
* NEWS: Mention it.
* doc/org/tut.org, doc/org/tut01.org: Link to it.
2015-12-05 11:29:02 +01:00
Alexandre Duret-Lutz
f120dd3206 rename src/ as spot/ and use include <spot/...>
* NEWS: Mention the change.
* src/: Rename as ...
* spot/: ... this, adjust all headers to include <spot/...> instead of
"...", and adjust all Makefile.am to search headers from the top-level
directory.
* HACKING: Add conventions about #include.
* spot/sanity/style.test: Add a few more grep to catch cases
that do not follow these conventions.
* .gitignore, Makefile.am, README, bench/stutter/Makefile.am,
bench/stutter/stutter_invariance_formulas.cc,
bench/stutter/stutter_invariance_randomgraph.cc, configure.ac,
debian/rules, doc/Doxyfile.in, doc/Makefile.am,
doc/org/.dir-locals.el.in, doc/org/g++wrap.in, doc/org/init.el.in,
doc/org/tut01.org, doc/org/tut02.org, doc/org/tut03.org,
doc/org/tut10.org, doc/org/tut20.org, doc/org/tut21.org,
doc/org/tut22.org, doc/org/tut30.org, iface/ltsmin/Makefile.am,
iface/ltsmin/kripke.test, iface/ltsmin/ltsmin.cc,
iface/ltsmin/ltsmin.hh, iface/ltsmin/modelcheck.cc,
wrap/python/Makefile.am, wrap/python/ajax/spotcgi.in,
wrap/python/spot_impl.i, wrap/python/tests/ltl2tgba.py,
wrap/python/tests/randgen.py, wrap/python/tests/run.in: Adjust.
2015-12-04 20:13:59 +01:00
Alexandre Duret-Lutz
1fddfe60ec * NEWS: Typo. 2015-12-04 16:39:07 +01:00
Alexandre Duret-Lutz
47da953c74 * NEWS, configure.ac: Bump version number. 2015-12-04 11:13:41 +01:00
Alexandre Duret-Lutz
af96afac82 Release Spot 1.99.6
* NEWS, configure.ac, doc/org/setup.org: Update version and date.
2015-12-04 08:12:34 +01:00
Alexandre Duret-Lutz
871965c7fb * wrap/python/ajax/spotcgi.in: Adjust for recent renamings. 2015-12-04 08:09:10 +01:00
Alexandre Duret-Lutz
5f45642a24 * NEWS: Cleanup. 2015-12-03 18:06:07 +01:00
Alexandre Duret-Lutz
9d8fd50821 * elisp/hoa-mode.el: Update from its master. 2015-12-03 17:59:01 +01:00
Alexandre Duret-Lutz
6a64b0804c * debian/control: Fix some dependencdies. 2015-12-02 19:48:20 +01:00
Alexandre Duret-Lutz
e357c0c5bc hoa: allow dots in identifiers
As discussed at https://github.com/adl/hoaf/issues/56

* src/parseaut/scanaut.ll: Allow dots.
* src/tests/parseaut.test: Test it.
* NEWS: Mention it.
2015-12-02 15:31:03 +01:00
Alexandre Duret-Lutz
c60c117714 python: do not use -no-undefined
This was added by mistake in 86abd6c1 but that makes no sense, because
the library depends on all the symbols in libpython.  Reported by
Étienne Renault.

* wrap/python/Makefile.am: Here.
2015-12-02 14:26:21 +01:00
Alexandre Duret-Lutz
2052e73af8 word: store the bdd dict for easier printing
* src/twaalgos/word.hh, src/twaalgos/word.cc: Store the
bdd_dict, and replace the print() method by a << overload.
* NEWS: Mention it.
* src/bin/ltlcross.cc, src/bin/common_aoutput.hh: Adjust.
2015-12-01 01:57:37 +01:00
Alexandre Duret-Lutz
cff79b063b * doc/org/hoa.org: Simplify wording in property table. 2015-11-29 02:51:32 +01:00
Alexandre Duret-Lutz
06b176991e fix constness of twa::get_init_state() and twa_succ_iterator::dst()
Fixes #125.

* src/kripke/kripkegraph.hh, src/ta/ta.cc, src/ta/ta.hh,
src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/ta/taproduct.cc,
src/ta/taproduct.hh, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh,
src/taalgos/dot.cc, src/taalgos/emptinessta.cc,
src/taalgos/emptinessta.hh, src/taalgos/minimize.cc,
src/taalgos/reachiter.cc, src/taalgos/tgba2ta.cc, src/twa/twa.hh,
src/twa/twagraph.hh, src/twa/twaproduct.cc, src/twa/twaproduct.hh,
src/twaalgos/compsusp.cc, src/twaalgos/gtec/gtec.cc,
src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/reachiter.cc,
src/twaalgos/stutter.cc: Adjust.
2015-11-28 21:47:04 +01:00
Alexandre Duret-Lutz
afbaa54d92 rewrite explicit Kripke structures and their parser
Fixes #4 and fixes #5.

* NEWS: Mention the change.
* src/kripkeparse/: Delete.
* README, src/Makefile.am, configure.ac: Adjust.
* src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
src/kripke/kripkeprint.cc, src/kripke/kripkeprint.hh: Delete.
* src/kripke/kripkegraph.hh: New file.
* src/kripke/Makefile.am: Adjust.
* src/parseaut/parseaut.yy, src/parseaut/public.hh: Add
an option to read kripke structures.
* src/tests/bad_parsing.test: Delete.
* src/tests/Makefile.am: Adjust.
* src/tests/kripke.test, src/tests/parse_print_test.cc: Rewrite.
* src/tests/ikwiad.cc, src/tests/parseaut.test,
iface/ltsmin/modelcheck.cc, wrap/python/spot_impl.i: Adjust.
2015-11-28 02:18:39 +01:00
Alexandre Duret-Lutz
073d154540 Only use -Bsymbolic-functions, not -Bsymbolic.
* m4/symbolic.m4: Here.  The -Bsymbolic option causes
segfault related to spot::formula::ff() returning a
pointer to some global.
2015-11-28 02:18:39 +01:00
Alexandre Duret-Lutz
745fda1a4f print_hoa: add option "k"
* src/twaalgos/hoa.cc, src/twaalgos/hoa.hh: Implement it.
* NEWS, doc/org/hoa.org, src/bin/common_aoutput.cc: Document it.
* src/tests/readsave.test: Test it.
2015-11-28 02:18:13 +01:00
Alexandre Duret-Lutz
a825fa91e5 dtwa_sat_minimize: better selection of the reference automaton
* src/twaalgos/dtwasat.cc: Choose the reference automaton based on its
size.  With this change, the last example of my LPAR'15 talk goes from
~7s to under 1s.
* NEWS: Mention it.
2015-11-24 06:23:44 +01:00
Alexandre Duret-Lutz
a5ca9dbc43 sat: rename dtgbasat as dtwasat
* src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Rename as...
* src/twaalgos/dtwasat.cc, src/twaalgos/dtwasat.hh: ... these.
* src/bin/autfilt.cc, src/tests/ikwiad.cc, src/twaalgos/Makefile.am,
src/twaalgos/postproc.cc, wrap/python/spot_impl.i: Adjust.
* NEWS: Mention the renamings.
2015-11-24 05:44:51 +01:00
Alexandre Duret-Lutz
6237bf4cd6 org: more language tooltips in HTML output
* doc/org/spot.css: add tooltips for Python and C++.
2015-11-20 14:50:25 +01:00
Alexandre Duret-Lutz
5aba246ff0 org: syntax-highlight the HOA outputs
* elisp/hoa-mode.el, elisp/Makefile.am, elisp/README: New files.
* debian/copyright, configure.ac, README, Makefile.am: Adjust.
* doc/org/init.el.in: Adjust to load hoa-mode.el.
* doc/org/spot.css: Add entries for HOA mode.
* doc/org/hoa.org, doc/org/ltldo.org, doc/org/oaut.org,
doc/org/tut20.org, doc/org/tut21.org, doc/org/tut22.org,
doc/org/tut30.org: Make the HOA outputs as HOA.
2015-11-20 14:28:51 +01:00
Alexandre Duret-Lutz
d46da963d5 python: better interface for sat_minimize()
* NEWS: Mention it.
* wrap/python/spot.py: Rewrite the sat_minimize() function.
* wrap/python/tests/satmin.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add it.
2015-11-17 18:37:23 +01:00
Alexandre Duret-Lutz
c1bfc5d59b doc: two typos
* doc/mainpage.dox, doc/org/tut01.org: Here.
2015-11-17 18:18:50 +01:00
Alexandre Duret-Lutz
b3ff5655fb dot: add support for option +N
* src/twaalgos/dot.cc: Here.
* NEWS, src/bin/common_aoutput.cc: Document it.
* wrap/python/tests/automata.ipynb: Test it.
2015-11-14 14:49:31 +01:00
Alexandre Duret-Lutz
f86beb3c68 workaround bad interactions between magit and whitespace-mode
* .dir-locals.el: Use global-whitespace-mode instead of whitespace-mode.
2015-11-14 14:15:49 +01:00
Alexandre Duret-Lutz
6b516df34a dot: display pairs of states for products
* src/twaalgos/dot.cc: Here.
* wrap/python/tests/automata.ipynb: Test it.
* NEWS: Document this.
2015-11-14 10:22:59 +01:00
Alexandre Duret-Lutz
e3b8ed7bb5 python: add a show_default option to setup()
* wrap/python/spot.py: Here.
* wrap/python/tests/decompose.ipynb: Use it to simplify the code.
2015-11-13 18:18:13 +01:00
Alexandre Duret-Lutz
d23eaec7ef make sure --dot=Bb is the same as --dot=b
* NEWS: Mention the fixed bug.
* src/twaalgos/dot.cc: Fix.
* wrap/python/tests/decompose.ipynb: Use it.
2015-11-13 17:50:12 +01:00
Alexandre Duret-Lutz
5a7abe8582 rename tgba_run as twa_run
Fixes #122.

* src/twaalgos/word.cc, src/twaalgos/word.hh: Here.
* src/bin/ltlcross.cc, src/bin/common_aoutput.hh: Adjust.
* NEWS: Mention the renaming.
2015-11-11 12:45:59 +01:00
Alexandre Duret-Lutz
d14f0998e0 hide trim() from the public interface
* src/misc/escape.cc, src/misc/escape.hh (trim): Move...
* src/priv/trim.cc, src/priv/trim.hh: ... in these new files.
* src/priv/Makefile.am: Add them.
* src/parseaut/scanaut.ll, src/parsetl/scantl.ll: Adjust.
2015-11-11 11:33:15 +01:00
Alexandre Duret-Lutz
86abd6c1c0 Use -Bsymbolic-functions and -Bsymbolic
This avoids dynamic lookups to resolve symbols inside the library, but
disallows symbol interposition.

* m4/symbolic.m4: New file.
* buddy/m4/symbolic.m4: New link.
* configure.ac, buddy/configure.ac: Add AX_SYMBOLIC.
* buddy/src/Makefile.am, iface/ltsmin/Makefile.am, src/Makefile.am,
wrap/python/Makefile.am: Link with $(SYMBOLIC_LDFLAGS).
2015-11-10 15:10:11 +01:00
Alexandre Duret-Lutz
0553842347 activate c11 for gnulib tests
* configure.ac: Here.
2015-11-10 13:36:21 +01:00
Alexandre Duret-Lutz
1396b7f710 * src/parsetl/.gitignore: Adjust to no-that-recent renamings. 2015-11-10 11:19:37 +01:00
Alexandre Duret-Lutz
622422226f * tools/.gitignore: Ignore ar-lib. 2015-11-10 11:16:59 +01:00
Alexandre Duret-Lutz
4a7733823e Update gnulib.
* 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.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/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.c,
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/codeset.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/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.
2015-11-10 11:14:38 +01:00
Alexandre Duret-Lutz
e206b5ef33 * wrap/python/tests/decompose.ipynb: Typos. 2015-11-09 10:01:03 +01:00
Alexandre Duret-Lutz
458fc53b71 * src/bin/man/autfilt.x: Fix description. 2015-11-09 08:25:58 +01:00
Alexandre Duret-Lutz
104a372c41 Add a notebook illustrating decompose_strength()
* wrap/python/tests/decompose.ipynb: New file.
* wrap/python/tests/Makefile.am: Add it.
* src/twaalgos/strength.cc: Fix corner cases.
* src/tests/strength.test: Adjust corner case.
* NEWS, doc/org/tut.org: Mention the notebook.
2015-11-08 22:07:43 +01:00
Alexandre Duret-Lutz
a7db0b5435 Add a decompose_strength() function.
* src/twaalgos/strength.cc, src/twaalgos/strength.hh
(decompose_stregth): New function.
* src/bin/autfilt.cc: Add a --decompose-strength option.
* src/bin/man/autfilt.x: Add bibliography.
* src/tests/strength.test: Test it.
* NEWS: Mention it.
2015-11-08 22:07:43 +01:00
Alexandre Duret-Lutz
3428fb32cd Add support for --check=strength
* src/twaalgos/strength.cc, src/twaalgos/strength.hh (check_strength):
New function.
* src/bin/common_aoutput.cc: Add --check=strength.
* src/tests/strength.test: New file.
* src/tests/Makefile.am: Add it.
* doc/org/hoa.org, NEWS: Document it.
2015-11-07 21:40:04 +01:00
Alexandre Duret-Lutz
f4cf0f4078 autfilt: Add --is-terminal and --is-weak.
Fixes #47.

* src/twaalgos/strength.cc, src/twaalgos/strength.hh
(is_weak_automaton): New function.
(is_terminal_automaton): Generalize slightly.
* src/bin/autfilt.cc: Add options --is-terminal and --is-weak.
* src/tests/readsave.test: Add a test.
* NEWS: Update.
2015-11-07 16:40:26 +01:00
Alexandre Duret-Lutz
81cfa05aef rename safety.hh as strength.hh
* src/twaalgos/safety.cc, src/twaalgos/safety.hh: Rename as ...
* src/twaalgos/strength.cc, src/twaalgos/strength.hh: ... these.
* src/bin/ltlfilt.cc, src/tests/ikwiad.cc, src/twaalgos/Makefile.am,
src/twaalgos/compsusp.cc, src/twaalgos/minimize.cc,
wrap/python/spot_impl.i: Adjust.
2015-11-07 14:28:40 +01:00
Alexandre Duret-Lutz
8a8ec21de7 rename is_guarantee_automaton() as is_terminal_automaton()
* src/twaalgos/safety.hh, src/twaalgos/safety.cc: Here.
* src/bin/ltlfilt.cc, src/tests/ikwiad.cc, src/twaalgos/minimize.cc,
wrap/python/ajax/spotcgi.in: Adjust.
* NEWS: Mention the change.
2015-11-07 14:05:01 +01:00
Alexandre Duret-Lutz
0c5f87b442 add support for the "terminal" property
* src/twa/twa.hh: Store the terminal property.
* src/twaalgos/hoa.cc, src/parseaut/parseaut.yy: Add I/O for "terminal".
* src/twaalgos/ltl2tgba_fm.cc, src/twaalgos/minimize.cc: Set terminal
as apropriate.
* src/twaalgos/safety.cc: Use it.
* doc/org/tut21.org, doc/org/hoa.org, NEWS: Document it.
* src/tests/complement.test, src/tests/monitor.test,
wrap/python/tests/automata-io.ipynb: Adjust.
2015-11-07 14:04:44 +01:00
Alexandre Duret-Lutz
654888718c add support for the weak property
This fixes #119.

* doc/org/tut21.org, doc/org/hoa.org, NEWS: Document it.
* src/twa/twa.hh: Support it in automata.
* src/twaalgos/hoa.cc, src/parseaut/parseaut.yy: Add I/O support.
* src/twaalgos/minimize.cc, src/twaalgos/totgba.cc: Set weak
automata on output.
* src/tests/complement.test, src/tests/parseaut.test,
src/tests/readsave.test, src/tests/remfin.test, src/tests/sccsimpl.test,
src/tests/wdba2.test, wrap/python/tests/automata-io.ipynb: Adjust.
2015-11-06 21:51:48 +01:00
Alexandre Duret-Lutz
eecd201273 org: more examples of accessing properties
For the first part of #118.

* doc/org/tut21.org: Here.
2015-11-06 16:15:34 +01:00
Alexandre Duret-Lutz
33c234da11 hoa: output "unambiguous" only for non-deterministic automata by default
* src/twaalgos/hoa.cc: Output do not output "unambiguous" if the
automaton is deterministic.  Add option "v" to cancel this restriction,
and also output "no-univ-branch".
* src/twaalgos/hoa.hh: Document the "v" option.
* src/tests/readsave.test: Test it.
* src/tests/unambig.test: Adjust for unambiguous not being output
if the automaton is deterministic.
* src/bin/common_aoutput.cc, NEWS: Document it.
* doc/org/hoa.org: Add a summary table about how properties are handled.
* src/twa/twa.hh (prop_deterministic): Setting this should also
set the unambiguous property.
* src/twaalgos/isunamb.cc: Simplify the property check.
2015-11-05 19:42:08 +01:00
Alexandre Duret-Lutz
30037b9905 org: update description of support for HOA properties
* doc/org/hoa.org: Here.  Also mention --trust-hoa.
2015-11-05 17:16:54 +01:00