1. 26 Aug, 2013 2 commits
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      dstar: Improve conversion from DRA to BA. · d7027c34
      Alexandre Duret-Lutz authored
      Extended former conversion from DRA->DBA to handle
      the case where some SCC is not DBA-realizable.
      * src/dstarparse/dra2dba.cc: Rename as...
      * src/dstarparse/dra2ba.cc: ... this.
      (dra_to_dba, dra_to_dba_worker): Rename as...
      (dra_to_ba, dra_to_ba_worker): ... these and extend.
      * src/dstarparse/Makefile.am, src/dstarparse/public.hh,
      src/dstarparse/dstar2tgba.cc, src/dstarparse/nra2nba.cc: Adjust.
      * NEWS: Update the description of dstar2tgba accordingly.
  2. 23 Aug, 2013 10 commits
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      dstar2tgba: new command. · d3b81809
      Alexandre Duret-Lutz authored
      * src/bin/dstar2tgba.cc, src/bin/man/dstar2tgba.x: New files.
      * src/bin/Makefile.am, src/bin/man/Makefile.am: Add them.
      * NEWS: Mention it.
      * src/bin/ltl2tgba.cc, src/tgbaalgos/stats.cc, doc/org/ltl2tgba.org:
      Rename the %S sequence as %c, for consistency with dstar2tgba.
      * src/tgbatest/ltl2dstar.test: Add more tests.
      * src/tgbatest/ltl2dstar2.test: New file.
      * src/tgbatest/Makefile.am: Add it.
    • Alexandre Duret-Lutz's avatar
      dstar: implement dra_to_dba() · 9a7590a6
      Alexandre Duret-Lutz authored
      This is an implementation of Krishnan's ISAAC'94 paper to convert
      deterministic Rabin automata into DBA when possible.
      * src/dstarparse/dra2dba.cc: New file.
      * src/dstarparse/dstar2tgba.cc: New file.
      * src/dstarparse/Makefile.am: Add them.
      * src/dstarparse/nra2nba.cc (nra_to_nba): Adjust so
      that dra_to_dba() can call it using a masked automaton.
      * src/dstarparse/public.hh (dra_to_dba, dstar_to_tgba): Declare.
      * src/tgbatest/ltl2tgba.cc: Add an -XDD option.
      * src/tgbatest/dstar.test: More tests.
    • Alexandre Duret-Lutz's avatar
      Introduce some masked tgba. · ce0aec60
      Alexandre Duret-Lutz authored
      * src/tgba/tgbamask.cc, src/tgba/tgbamask.hh,
      src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh: New files.
      * src/tgba/Makefile.am: Add them.
      * src/tgbatest/explicit3.cc, src/tgbatest/explicit3.test:
      New files.
      * src/tgbatest/Makefile.am: Add them.
    • Alexandre Duret-Lutz's avatar
      Introduce spot::state_set. · 68ce9980
      Alexandre Duret-Lutz authored
      * src/tgba/state.hh: Define state_set and shared_state_set.
      * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Rename the existing
      state_set (that inherits from spot::state) as set_state.
      * src/tgba/tgbakvcomplement.cc: Use shared_state_set instead
      of state_set.
      * src/tgbaalgos/minimize.cc (state_set): Rename as...
      (build_state_set): ... this.
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      ltlcross: add support for ltl2dstar's output. · 337aeefc
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Add support for %D.
      * src/bin/man/ltlcross.x: Add example.
      * NEWS: Mention it.
      * src/tgbatest/ltl2dstar.test: New file.
      * src/tgbatest/Makefile.am: Add it.
    • Alexandre Duret-Lutz's avatar
      dstarparse: Preliminary work on a parser for ltl2dstar. · 2da0053c
      Alexandre Duret-Lutz authored
      Supports reading Rabin and Streett automata, and converting them to
      nondeterministic Büchi automata (for Rabin) or TGBA (for Streett).
      * src/dstarparse/Makefile.am, src/dstarparse/dstarparse.yy,
      src/dstarparse/dstarscan.ll, src/dstarparse/fmterror.cc,
      src/dstarparse/parsedecl.hh, src/dstarparse/public.hh,
      src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc: New files.
      * configure.ac, src/Makefile.am, README: Adjust.
      * src/tgbatest/ltl2tgba.cc: Add options -XD, -XDB.
      * src/tgbatest/dstar.test: New file.
      * src/tgbatest/Makefile.am (TESTS): Add it.
    • Alexandre Duret-Lutz's avatar
      bitvect: implement a dynamic bit-vector class. · 5a3b1a99
      Alexandre Duret-Lutz authored
      * src/misc/bitvect.cc, src/misc/bitvect.hh: New files.
      * src/misc/Makefile.am: Add them.
      * src/tgbatest/bitvect.cc, src/tgbatest/bitvect.test: New files.
      * src/tgbatest/Makefile.am: Add them.
    • Alexandre Duret-Lutz's avatar
      degen: Improve when initial state is accepting without self-loop. · dfc5ff95
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/degen.cc: Choose the initial level according
      to acceptance condition common to all outgoing transitions.
      * src/tgbatest/degenid.test: Add test case.
      * NEWS: Mention it.
  3. 21 Aug, 2013 2 commits
  4. 29 Jul, 2013 26 commits
    • Alexandre Duret-Lutz's avatar
      ltlcross: give an example of accepted word for nonempty cross-products · e7522056
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/word.cc, src/tgbaalgos/word.hh: New files.
      * src/tgbaalgos/Makefile.am: Add them.
      * src/tgbatest/ltlcrossce.test: New file.
      * src/tgbatest/Makefile.am: Add it.
      * src/bin/ltlcross.cc: Compute and display an accepted word
      for nonempty cross-products.
      * NEWS, doc/org/ltlcross.org: Document it.
    • Alexandre Duret-Lutz's avatar
      tmpfile: Honor SPOT_TMPFILE and SPOT_TMPKEEP. · 4bafa4e1
      Alexandre Duret-Lutz authored
      * src/misc/tmpfile.cc: Check these environment variables.
      * src/bin/man/ltlcross.x, NEWS: Document them.
    • Alexandre Duret-Lutz's avatar
      Test driver for Teamcity. · 1bb5cbd9
      Alexandre Duret-Lutz authored
      * tools/test-driver-teamcity: New file.
      * Makefile.am: Distribute it.
      * HACKING: Document it.
      * wrap/python/tests/Makefile.am: Use it also for Python
    • Alexandre Duret-Lutz's avatar
      ltlcross: use tmpfile. · 9894b817
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Use features introduced by misc/tmpfile.hh.
    • Alexandre Duret-Lutz's avatar
      gnulib: import module mkstemps · c0e7f9de
      Alexandre Duret-Lutz authored
      * lib/mkstemps.c, m4/mkstemps.m4: New files.
      * lib/Makefile.am, m4/gnulib-cache.m4, m4/gnulib-comp.m4: Update.
    • Alexandre Duret-Lutz's avatar
      Fix gnulib to not replace gmtime() and localtime() · 16b7206d
      Alexandre Duret-Lutz authored
      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.
    • Alexandre Duret-Lutz's avatar
      Update to gnulib 312af25ba220ccff068245f0dc698e9bcc8f03f8 · 96f32c73
      Alexandre Duret-Lutz authored
      * 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:
    • Alexandre Duret-Lutz's avatar
      misc: Include config.h in *.cc files · 904ff6a5
      Alexandre Duret-Lutz authored
      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
    • Alexandre Duret-Lutz's avatar
      tmpfile: new module to create and keep track of temporary files. · e7d09f4f
      Alexandre Duret-Lutz authored
      * 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.
    • Alexandre Duret-Lutz's avatar
      gnulib: add module stpcpy · ab3a4f54
      Alexandre Duret-Lutz authored
      * lib/stpcpy.c, m4/stpcpy.m4: New files.
      * lib/Makefile.am, m4/gnulib-cache.m4, m4/gnulib-comp.m4: Update.
    • Alexandre Duret-Lutz's avatar
      ltlcross: Add a --color option. · 5b0bf8ef
      Alexandre Duret-Lutz authored
      * src/bin/ltlcross.cc: Add a --color option.
      * NEWS: Mention it.
    • Alexandre Duret-Lutz's avatar
      gnulib: Add modules argmatch and isatty. · 35129e5a
      Alexandre Duret-Lutz authored
      * 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.
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      Use the count_state() function instead of stats_reachable(). · f00d97b4
      Alexandre Duret-Lutz authored
      * 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
    • Alexandre Duret-Lutz's avatar
      Use -fvisibility=hidden globally. · 43b3df0e
      Alexandre Duret-Lutz authored
      * 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.
    • Alexandre Duret-Lutz's avatar
      gnulib: Upgrade and build as a libtool library. · f8cdaf0c
      Alexandre Duret-Lutz authored
      * 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.
    • Alexandre Duret-Lutz's avatar
      [buddy] Probe for -fvisibility and -fvisibility-inlines-hidden. · cee55268
      Alexandre Duret-Lutz authored
      * configure.ac: Check gcc and g++ for -fvisibility and
      -fvisibility-inlines-hidden.  Add these options to
      * 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.
    • Alexandre Duret-Lutz's avatar
      Add missing copyright blurbs to sanity tests. · e4abcfdd
      Alexandre Duret-Lutz authored
      * src/sanity/80columns.test, src/sanity/includes.test,
      src/sanity/private.test, src/sanity/style.test: Here.
    • Alexandre Duret-Lutz's avatar
    • Alexandre Duret-Lutz's avatar
      Add a sanity check for installed private headers. · aeca44e0
      Alexandre Duret-Lutz authored
      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.
    • Alexandre Duret-Lutz's avatar
      Use -fvisibility=hidden in src/ta/ and src/taalgos/. · cfbd3138
      Alexandre Duret-Lutz authored
      * src/ta/Makefile.am, src/taalgos/Makefile.am: Use
      * 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.
    • Alexandre Duret-Lutz's avatar
      Use -fvisibility=hidden for all parsers. · f53328a8
      Alexandre Duret-Lutz authored
      * 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.
    • Alexandre Duret-Lutz's avatar
      Use the same location.hh and position.hh in all parsers. · 8c2d7fcb
      Alexandre Duret-Lutz authored
      * 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
      * NEWS: Mention this change.