Commit graph

2298 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
16b7206dd9 Fix gnulib to not replace gmtime() and localtime()
It cause issues when <ctime> latter undefine the gmtime/localtime macros
to access the real function.

* lib/Makefile.am, lib/time.in.h, m4/gettimeofday.m4, m4/time_h.m4:
These changes are mostly based on the patch posted in
http://permalink.gmane.org/gmane.comp.lib.gnulib.bugs/29229 but
with the prototype of gmtime() and localtime() fixed.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
96f32c73fb Update to gnulib 312af25ba220ccff068245f0dc698e9bcc8f03f8
* lib/.gitignore, lib/c-ctype.h, lib/msvc-inval.c, lib/stdalign.in.h,
lib/vasnprintf.c, lib/verify.h, m4/extern-inline.m4, m4/stdalign.m4:
Update.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
904ff6a555 misc: Include config.h in *.cc files
This is needed now that lib/ is in the include path.

* src/misc/bareword.cc, src/misc/bddop.cc, src/misc/escape.cc,
src/misc/formater.cc, src/misc/intvcmp2.cc, src/misc/intvcomp.cc,
src/misc/memusage.cc, src/misc/minato.cc, src/misc/optionmap.cc,
src/misc/random.cc, src/misc/timer.cc, src/misc/version.cc: Include
config.h.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
e7d09f4fd0 tmpfile: new module to create and keep track of temporary files.
* src/misc/tmpfile.cc, src/misc/tmpfile.hh: New files.
* src/misc/Makefile.am: Add them
* src/Makefile.am: Link with gnulib for mkstemp and mkstemps.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
ab3a4f54c2 gnulib: add module stpcpy
* lib/stpcpy.c, m4/stpcpy.m4: New files.
* lib/Makefile.am, m4/gnulib-cache.m4, m4/gnulib-comp.m4: Update.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
5b0bf8ef09 ltlcross: Add a --color option.
* src/bin/ltlcross.cc: Add a --color option.
* NEWS: Mention it.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
35129e5a5a gnulib: Add modules argmatch and isatty.
* lib/argmatch.c, lib/argmatch.h, lib/c-ctype.c, lib/c-ctype.h,
lib/config.charset, lib/c-strcasecmp.c, lib/c-strcaseeq.h,
lib/c-strcase.h, lib/c-strncasecmp.c, lib/exitfail.c, lib/exitfail.h,
lib/isatty.c, lib/localcharset.c, lib/localcharset.h, lib/mbrtowc.c,
lib/mbsinit.c, lib/quotearg.c, lib/quotearg.h, lib/quote.h,
lib/ref-add.sin, lib/ref-del.sin, lib/streq.h, lib/wctype-h.c,
lib/wctype.in.h, lib/xalloc-die.c, lib/xalloc.h, lib/xalloc-oversized.h,
lib/xmalloc.c, m4/codeset.m4, m4/configmake.m4, m4/glibc21.m4,
m4/isatty.m4, m4/localcharset.m4, m4/locale-fr.m4, m4/locale-ja.m4,
m4/locale-zh.m4, m4/mbrtowc.m4, m4/mbsinit.m4, m4/mbstate_t.m4,
m4/quotearg.m4, m4/quote.m4, m4/wctype_h.m4, m4/xalloc.m4: New files.
* lib/Makefile.am, m4/gnulib-cache.m4, m4/gnulib-comp.m4: Update.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
542050bab4 * doc/Doxyfile.in: Hide private functions and member. Enable search. 2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
7f31d70345 * src/tgbaalgos/cutscc.cc: Cosmetics. 2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
26f48b1df2 * src/taalgos/tgba2ta.cc: Cosmetics. 2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
92a3366488 * src/taalgos/minimize.cc: Cosmetics. 2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
f00d97b4ba Use the count_state() function instead of stats_reachable().
* src/tgbaalgos/postproc.cc: Move the count_state() function...
* src/priv/countstates.cc, src/priv/countstates.hh: ... in these
new files.
* src/priv/Makefile.am: Add them.
* src/saba/sabacomplementtgba.cc, src/tgba/tgbakvcomplement.cc,
src/tgbaalgos/minimize.cc: Use count_states() instead of
stats_reachable().
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
43b3df0ef0 Use -fvisibility=hidden globally.
* configure.ac: Check for flags and fill CXXFLAGS and CFLAGS.
* iface/dve2/dve2.hh: Mark load_dve2 for export.
* src/eltlparse/Makefile.am, src/kripke/Makefile.am,
src/kripkeparse/Makefile.am, src/ltlast/Makefile.am,
src/ltlenv/Makefile.am, src/ltlparse/Makefile.am,
src/ltlvisit/Makefile.am, src/misc/Makefile.am,
src/neverparse/Makefile.am, src/priv/Makefile.am, src/saba/Makefile.am,
src/sabaalgos/Makefile.am, src/ta/Makefile.am, src/taalgos/Makefile.am,
src/tgba/Makefile.am, src/tgbaalgos/Makefile.am,
src/tgbaalgos/gtec/Makefile.am, src/tgbaparse/Makefile.am:
Remove $(VISIBILITY_CXXFLAGS) now that it is set globally.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
f8cdaf0c12 gnulib: Upgrade and build as a libtool library.
* lib/Makefile.am lib/alloca.in.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/dirname-lgpl.c lib/dirname.h lib/dosname.h
lib/errno.in.h lib/error.c lib/error.h lib/fcntl.in.h lib/float+.h
lib/float.c lib/float.in.h lib/gethrxtime.c lib/gethrxtime.h
lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h
lib/gettext.h lib/gettime.c lib/gettimeofday.c lib/intprops.h
lib/itold.c lib/lstat.c lib/malloc.c lib/memchr.c lib/mempcpy.c
lib/mkstemp.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/rawmemchr.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/strcasecmp.c lib/strchrnul.c 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/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/timespec.h lib/unistd.in.h lib/vasnprintf.c lib/vasnprintf.h
lib/verify.h lib/vsnprintf.c lib/wchar.in.h lib/xsize.h lib/xtime.h
m4/00gnulib.m4 m4/alloca.m4 m4/argp.m4 m4/clock_time.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/gethrxtime.m4 m4/getopt.m4 m4/gettime.m4
m4/gettimeofday.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/largefile.m4 m4/longlong.m4 m4/lstat.m4 m4/malloc.m4
m4/math_h.m4 m4/memchr.m4 m4/mempcpy.m4 m4/mkstemp.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/rawmemchr.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/strcase.m4 m4/strchrnul.m4 m4/strerror.m4 m4/string_h.m4
m4/strings_h.m4 m4/strndup.m4 m4/strnlen.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/timespec.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/wint_t.m4 m4/xsize.m4 tools/snippet/arg-nonnull.h
tools/snippet/c++defs.h tools/snippet/warn-on-use.h: Upgrade to
gnulib 9ceceed274f83094127f9ff0bf061293c9fe1e7f.
* m4/secure_getenv.m4, lib/secure_getenv.c, lib/unistd.c,
lib/xtime.c: New files.
* src/bin/Makefile.am: Link with the libtool library.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
cee552689a [buddy] Probe for -fvisibility and -fvisibility-inlines-hidden.
* configure.ac: Check gcc and g++ for -fvisibility and
-fvisibility-inlines-hidden.  Add these options to
CFLAGS and CXXFLAGS.
* m4/ax_check_compile_flag.m4: New file.
* src/Makefile.am: Build BuDDy as a single library, reverting part of
the changes introduced in my previous patch to this file.  Since
the options are set in CFLAGS/CXXFLAGS, there is no possibility
for -fvisibility-inlines-hidden to be passed to the C compiler.
2013-07-29 01:14:36 +02:00
Alexandre Duret-Lutz
e4abcfddfc Add missing copyright blurbs to sanity tests.
* src/sanity/80columns.test, src/sanity/includes.test,
src/sanity/private.test, src/sanity/style.test: Here.
2013-07-29 01:14:36 +02:00
Alexandre Duret-Lutz
17c31fdee2 * HACKING: Some doc on exporting symbols with SPOT_API. 2013-07-29 01:14:36 +02:00
Alexandre Duret-Lutz
aeca44e0b1 Add a sanity check for installed private headers.
If an installed header has an associated *.cc file (in the source
tree), but does not declare any SPOT_API symbol, something is fishy.
Either that header should not be installed, or it is missing the
SPOT_API markers.

* src/sanity/private.test: New test.
* src/sanity/Makefile.am: Call it.
* src/ltlast/Makefile.am: Do not install formula_tree.hh.
* src/ltlvisit/Makefile.am: Do not install mark.hh.
* src/tgbaalgos/Makefile.am: Do not intall weight.hh.
2013-07-29 01:14:36 +02:00
Alexandre Duret-Lutz
cfbd31384f Use -fvisibility=hidden in src/ta/ and src/taalgos/.
* src/ta/Makefile.am, src/taalgos/Makefile.am: Use
$(VISIBILITY_CXXFLAGS).
* src/ta/ta.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh,
src/ta/tgta.hh, src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.hh,
src/taalgos/dotty.hh, src/taalgos/emptinessta.hh,
src/taalgos/minimize.hh, src/taalgos/reachiter.hh,
src/taalgos/statessetbuilder.hh, src/taalgos/stats.hh,
src/taalgos/tgba2ta.hh: Add SPOT_API in front
of all public symbols.
2013-07-29 01:14:36 +02:00
Alexandre Duret-Lutz
f53328a8c7 Use -fvisibility=hidden for all parsers.
* src/eltlparse/Makefile.am, src/kripkeparse/Makefile.am,
src/ltlparse/Makefile.am, src/neverparse/Makefile.am,
src/tgbaparse/Makefile.am: Use $(VISIBILITY_CXXFLAGS)
* src/eltlparse/public.hh, src/kripkeparse/public.hh,
src/ltlparse/ltlfile.hh, src/ltlparse/public.hh,
src/neverparse/public.hh, src/tgbaparse/public.hh:
Mark public symbols with SPOT_API.
2013-07-29 01:14:36 +02:00
Alexandre Duret-Lutz
8c2d7fcb7f Use the same location.hh and position.hh in all parsers.
* src/misc/location.hh, src/misc/position.hh: New files,
from Bison 2.7.
* src/misc/Makefile.am: Distribute them.
* src/eltlparse/Makefile.am, src/eltlparse/eltlparse.yy,
src/eltlparse/parsedecl.hh, src/eltlparse/public.hh,
src/kripkeparse/Makefile.am, src/kripkeparse/kripkeparse.yy,
src/kripkeparse/parsedecl.hh, src/kripkeparse/public.hh,
src/ltlparse/Makefile.am, src/ltlparse/fmterror.cc,
src/ltlparse/ltlparse.yy, src/ltlparse/parsedecl.hh,
src/ltlparse/public.hh, src/neverparse/Makefile.am,
src/neverparse/neverclaimparse.yy, src/neverparse/parsedecl.hh,
src/neverparse/public.hh, src/tgbaparse/Makefile.am,
src/tgbaparse/parsedecl.hh, src/tgbaparse/public.hh,
src/tgbaparse/tgbaparse.yy: Adjust to use and include
misc/location.hh.
* NEWS: Mention this change.
2013-07-29 01:14:34 +02:00
Alexandre Duret-Lutz
a0f5d53ea4 Use -fvisibility=hidden in src/tgbaalgos/.
* src/tgbaalgos/Makefile.am, src/tgbaalgos/gtec/Makefile.am: Add
$(VISIBILITY_CXXFLAGS).
* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/compsusp.hh,
src/tgbaalgos/cutscc.hh, src/tgbaalgos/cycles.hh,
src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/emptiness.hh,
src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/explscc.hh,
src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/nsheap.hh,
src/tgbaalgos/gtec/sccstack.hh,
src/tgbaalgos/gtec/status.hh, src/tgbaalgos/gv04.hh,
src/tgbaalgos/isdet.hh, src/tgbaalgos/isweakscc.cc,
src/tgbaalgos/isweakscc.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.hh,
src/tgbaalgos/minimize.hh, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.hh,
src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.hh,
src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh,
src/tgbaalgos/safety.hh, src/tgbaalgos/save.hh, src/tgbaalgos/scc.hh,
src/tgbaalgos/sccfilter.hh, src/tgbaalgos/se05.hh,
src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.hh,
src/tgbaalgos/stripacc.hh, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.hh, src/tgbaalgos/translate.hh: Mark public
symbol with SPOT_API.
2013-07-29 01:14:03 +02:00
Alexandre Duret-Lutz
dab51a9dd0 Use -fvisibility=hidden in src/kripke/, src/saba/, and src/sabaalgos/
* src/kripke/Makefile.am, src/saba/Makefile.am,
src/sabaalgos/Makefile.am: Use $(VISIBILITY_CXXFLAGS).
* src/kripke/fairkripke.hh, src/kripke/kripke.hh,
src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.hh,
src/saba/explicitstateconjunction.hh, src/saba/saba.hh,
src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh,
src/saba/sabasucciter.hh, src/sabaalgos/sabadotty.hh,
src/sabaalgos/sabareachiter.hh: Mark exported symbols
with SPOT_API.
2013-07-29 01:14:03 +02:00
Alexandre Duret-Lutz
a12922b331 Use -fvisibility=hidden in src/tgba/.
* src/tgba/Makefile.am: Use $(VISIBILITY_CXXFLAGS).
* src/tgba/bdddict.hh, src/tgba/bddprint.hh, src/tgba/formula2bdd.hh,
src/tgba/futurecondcol.hh, src/tgba/state.hh, src/tgba/statebdd.hh,
src/tgba/succiter.hh, src/tgba/succiterconcrete.hh, src/tgba/taatgba.hh,
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddconcreteproduct.hh,
src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh,
src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.hh,
src/tgba/tgbaproduct.hh, src/tgba/tgbasafracomplement.hh,
src/tgba/tgbascc.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh,
src/tgba/tgbaunion.hh, src/tgba/wdbacomp.hh: Mark exported symbols with
SPOT_API.
* src/tgba/public.hh: Mark the file as deprecated.
* src/tgbaalgos/cutscc.hh: Adjust.
2013-07-29 01:14:03 +02:00
Alexandre Duret-Lutz
8ba3e64f0a Use -fvisibility=hidden in src/ltlast/, src/ltlvisit/, and src/ltlenv/.
* src/ltlast/Makefile.am, src/ltlenv/Makefile.am,
src/ltlvisit/Makefile.am: Use $(VISIBILITY_CXXFLAGS).
* src/misc/common.hh (SPOT_DEPRECATED): New macro.
* src/ltlast/atomic_prop.hh, src/ltlast/automatop.hh,
src/ltlast/binop.hh, src/ltlast/bunop.hh, src/ltlast/constant.hh,
src/ltlast/formula.hh, src/ltlast/formula_tree.hh,
src/ltlast/multop.hh, src/ltlast/nfa.hh, src/ltlast/refformula.hh,
src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh,
src/ltlenv/defaultenv.hh, src/ltlvisit/apcollect.hh,
src/ltlvisit/clone.hh, src/ltlvisit/contain.hh,
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh, src/ltlvisit/dump.hh,
src/ltlvisit/lbt.hh, src/ltlvisit/length.hh,
src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh,
src/ltlvisit/postfix.hh, src/ltlvisit/randomltl.hh,
src/ltlvisit/reduce.hh, src/ltlvisit/relabel.hh,
src/ltlvisit/remove_x.hh, src/ltlvisit/simpfg.hh,
src/ltlvisit/simplify.hh, src/ltlvisit/snf.hh,
src/ltlvisit/tostring.hh, src/ltlvisit/tunabbrev.hh,
src/ltlvisit/wmunabbrev.hh: Add SPOT_API in fron of
exported symbols.
* src/ltlvisit/nenoform.cc, src/ltlvisit/remove_x.cc: Add missing
include of the corresponding header file.
2013-07-29 01:14:03 +02:00
Alexandre Duret-Lutz
cbfbf14297 * NEWS: summarize recent changes 2013-07-29 01:13:57 +02:00
Alexandre Duret-Lutz
1ed43038e8 Move bdd_allocator to src/priv/.
* src/misc/bddalloc.cc, src/misc/bddalloc.hh,
src/misc/freelist.cc, src/misc/freelist.hh: Move ...
* src/priv/bddalloc.cc, src/priv/bddalloc.hh,
src/priv/freelist.cc, src/priv/freelist.hh: ... here.
* src/misc/Makefile.am, src/priv/Makefile.am: Adjust.
* src/tgba/bdddict.cc: Adjust include.
* src/tgbaalgos/ltl2tgba_fm.cc: Remove useless include.
2013-07-29 01:12:13 +02:00
Alexandre Duret-Lutz
9775dfdd4b Hide the only use of bdd_allocator.
* src/tgba/bdddict.cc, src/tgba/bdddict.hh:  Hide the bdd_allocator
dependency in a bdd_dict_priv class that is not defined publicly.
2013-07-29 01:12:13 +02:00
Alexandre Duret-Lutz
1581a94c65 * src/misc/unique_ptr.hh: Add missing operator->() const. 2013-07-29 01:12:13 +02:00
Alexandre Duret-Lutz
882097a2ce Remove modgray, it's not used.
* src/misc/modgray.cc, src/misc/modgray.hh: Delete.
* src/misc/Makefile.am: Adjust.
* wrap/python/tests/modgray.py: Delete.
* wrap/python/tests/Makefile.am: Adjust.
* wrap/python/spot.i: Remove binding.
2013-07-29 01:12:12 +02:00
Alexandre Duret-Lutz
f2078ac325 Create a new src/priv/ directory for private algorithms.
* README: Document it.
* configure.ac: Generate src/priv/Makefile.
* src/Makefile.am: Recurse into priv/.
* src/priv/Makefile.am: New file.
* src/misc/acccompl.cc, src/misc/acccompl.hh,
src/misc/accconv.cc, src/misc/accconv.hh: Move to...
* src/priv/acccompl.cc, src/priv/acccompl.hh,
src/priv/accconv.cc, src/priv/accconv.hh: ... here.
* src/misc/Makefile.am: Adjust.
* src/tgbaalgos/scc.cc, src/tgbaalgos/simulation.cc: Adjust
includes.
* src/sanity/style.test: Make sure no public header
file include a private one.
2013-07-29 01:12:12 +02:00
Alexandre Duret-Lutz
2ef8917ba5 Enable -fvisibility=hidden for src/misc/.
* configure.ac: Check for -fvisibility support.
* m4/ax_check_compile_flag.m4: New file.
* src/misc/common.hh: New file.
* src/misc/Makefile.am: Add common.hh, and adjust to use -fvisibility.
* src/misc/bareword.hh, src/misc/escape.hh, src/misc/formater.hh,
src/misc/intvcmp2.hh, src/misc/intvcomp.hh, src/misc/memusage.hh,
src/misc/minato.hh, src/misc/optionmap.hh, src/misc/random.hh,
src/misc/timer.hh, src/misc/version.hh, src/misc/bddop.hh: Include
common.hh and add SPOT_API tags.
* src/misc/acccompl.hh, src/misc/accconv.hh: Prepare for upcoming
move.
* src/sanity/style.test: Ignore SPOT_API tags.
* wrap/python/Makefile.am: Ignore SPOT_API.
* wrap/python/spot.i: Do not emit binding for bddalloc.hh.
* wrap/python/tests/minato.py: Do not use bdd_allocator.
2013-07-29 01:12:12 +02:00
Alexandre Duret-Lutz
b5710663f4 [buddy] Restrict the number of exported symbols.
* src/bdd.h, src/bvec.h, src/fdd.h: Declare all exported
symbols using BUDDY_API, a new macro that sets visibility=default.
* src/Makefile.am: Compile with -fvisibility=hidden by default,
and compile the C++ part with -fvisibility-inlines-hidden as well.
2013-07-29 01:12:12 +02:00
Alexandre Duret-Lutz
9ed2d7a1dc Bump version to 1.1.4a.
* NEWS: Bump version.
* configure.ac: Bump version, and add a banner
about this being a development version at the end.
2013-07-29 01:11:32 +02:00
Alexandre Duret-Lutz
9d6d53ed92 Release Spot 1.1.4.
* NEWS, configure.ac, doc/org/tools.org: Update version.
2013-07-29 00:27:59 +02:00
Alexandre Duret-Lutz
ce6114f461 * THANKS: Jan should have been added earlier... 2013-07-29 00:25:13 +02:00
Alexandre Duret-Lutz
cb7bdf8c1f Fix interpretation of {e[*]} and !{e[*]}.
This follows from a discussion with Ernesto Posse.

The semantics for the {...} operator we use in Spot comes from the
cl(...) operator defined by Dax et al. (ATVA'09).  This is slightly
different from the the way the PSL spec interprets a SERE used in the
context of a temporal formula (appendix B.3.1.1.2, item 7).

cl({a;b}[*]) would match any infinite word that starts with a;b, while
in PSL {a;b}[*] would match any infinite word that alternates a and b.

Spot documents that {SERE} in a temporal formula is interpreted like
cl(SERE) however it failed to ignore the empty prefix of SERE.  So
{{a;b}[*]} would match anything, because the empty word is a prefix of
any word, and is also accepted by {a;b}[*].  Some trivial identities
and basic rewritings were also wrongly considering these empty
prefixes as well.

This patch therefore fixes the translation and syntactic
simplification rules, to really ignore these empty prefixes.

In some future version it should probably be wise to rename this {...}
operator as cl(...), and use {...} for the semantics given in appendix
B.3.1.1.2 (item 7) of the PSL specs.

* src/ltlast/unop.cc: Fix trivial identities.  We have
{[*0]} = 0 and !{[*0]} = 1.
* src/ltlvisit/simplify.cc: Fix basic rewriting rules.
{e[*]} = {e} and !{e[*]} = !{e}.
* doc/tl/tl.tex: Adjust documentation.
* doc/tl/tl.bib (dax.09.atva): New entry.
* src/tgbaalgos/ltl2tgba_fm.cc: Do not accept any
infinite word for {e[*]} just because the empty
prefix is matched by e[*].
* src/tgbatest/ltl2tgba.test: Add a test case.
* NEWS: Mention it.
* THANKS: Add Ernesto.
2013-07-29 00:25:13 +02:00
Alexandre Duret-Lutz
4f986400f1 * src/bin/man/ltlcross.x: Typo. 2013-07-27 12:31:52 +02:00
Alexandre Duret-Lutz
027836f431 neverparse: accept more unparenthesised guards
Also accept guards of the form (a) || !(b) or (a) && !(b).

* src/neverparse/neverclaimscan.ll: Adjust.
* src/tgbatest/neverclaimread.test: Add a test case.
2013-07-26 12:04:45 +02:00
Alexandre Duret-Lutz
e598175fca neverparse: Remove superfluous %expect-rr in grammar.
* src/neverparse/neverclaimparse.yy: Remove %expect-rr, that's only for
GLR parsers.
2013-07-26 11:51:30 +02:00
Alexandre Duret-Lutz
734e203b65 ltlcross: missing newline in error message.
* src/bin/ltlcross.cc: Add that missing new line.
* NEWS: Mention it.
2013-07-25 18:37:04 +02:00
Alexandre Duret-Lutz
5046f6d9db * src/tgbaalgos/isweakscc.cc: Remove useless guards. 2013-07-23 10:32:15 +02:00
Alexandre Duret-Lutz
84c9f03767 neverpase: fix parsing of neverclaim produced by ltl2ba and ltl3ba
These translator may output guards such as (a) || (b), but with the
changes in Spot 1.1.3 it would only work with ((a) || (b)).

Furthermore when ltlcross would fail to parse a neverclaim containing
such a guard, it would fail to parse all later neverclaims, because
the lexer was not properly reset.

* src/neverparse/neverclaimscan.ll: Scan (a) || (b) as a single
token.
(neverclaimyyopen): Reset the lexer.
* src/tgbatest/neverclaimread.test: Add a test for (a) || (b).
* NEWS: Update.
2013-07-20 20:21:39 +02:00
Alexandre Duret-Lutz
365d0ead94 * src/tgbaalgos/reducerun.hh: Typos in documentation. 2013-07-20 20:18:26 +02:00
Alexandre Duret-Lutz
b26b910358 * src/bin/ltlcross.cc: Typo. 2013-07-20 20:16:51 +02:00
Alexandre Duret-Lutz
00bf8d1641 * doc/org/ioltl.org: Typos. 2013-07-09 21:08:28 +02:00
Alexandre Duret-Lutz
9bd49cfcfc * NEWS, configure.ac: Bump version to 1.1.3a. 2013-07-09 15:53:44 +02:00
Alexandre Duret-Lutz
026830d159 Release Spot 1.1.3.
* configure.ac, doc/org/tools.org, NEWS: Set version to 1.1.3.
2013-07-09 14:03:07 +02:00
Alexandre Duret-Lutz
a9a96ee4ff ltlcross: do not use f after it has been destroyed.
Reported by Joachim Klein.

* src/bin/ltlcross.cc: Here.
* NEWS, THANKS: Update.
2013-07-09 14:00:49 +02:00
Alexandre Duret-Lutz
168265bdf0 * NEWS: Summarize recent changes. 2013-07-09 13:59:04 +02:00