Commit graph

358 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
337aeefcc3 ltlcross: add support for ltl2dstar's output.
* 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.
2013-08-23 17:02:30 +02:00
Alexandre Duret-Lutz
e7522056ca ltlcross: give an example of accepted word for nonempty cross-products
* 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.
2013-07-29 01:14:38 +02:00
Alexandre Duret-Lutz
4bafa4e1b0 tmpfile: Honor SPOT_TMPFILE and SPOT_TMPKEEP.
* src/misc/tmpfile.cc: Check these environment variables.
* src/bin/man/ltlcross.x, NEWS: Document them.
2013-07-29 01:14:37 +02:00
Alexandre Duret-Lutz
9894b81775 ltlcross: use tmpfile.
* src/bin/ltlcross.cc: Use features introduced by misc/tmpfile.hh.
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
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
4f986400f1 * src/bin/man/ltlcross.x: Typo. 2013-07-27 12:31:52 +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
b26b910358 * src/bin/ltlcross.cc: Typo. 2013-07-20 20:16:51 +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
330b6ddac0 * src/bin/ltlcross.cc (statistics): Initialize all members. 2013-05-17 10:58:44 +02:00
Alexandre Duret-Lutz
9b82d7557c ltlcross: add a --products=N option
* src/bin/ltlcross.cc: Implement the new option.  Average the product
statistics on all products.
* src/tgbatest/basimul.test, src/tgbatest/ltlcross.test,
src/tgbatest/ltlcross2.test, bench/ltl2tgba/tools: Use the new option.
* NEWS: Mention it.
2013-05-12 21:22:46 +02:00
Alexandre Duret-Lutz
372790a489 bin: Ignore empty lines on input.
* src/bin/common_finput.cc: Here.
* src/ltltest/ltlfilt.test: Test it.
* NEWS: Mention it.
2013-05-12 17:32:46 +02:00
Alexandre Duret-Lutz
9e589422d1 ltlcross: Add a --seed option.
* src/bin/ltlcross.cc: Here.
* NEWS: Mention it.
2013-05-12 17:28:09 +02:00
Alexandre Duret-Lutz
2cab8197e5 ltlfilt: Fix handling --universal, --eventual, and --stutter-invariant.
* src/bin/ltlfilt.cc: Handle --universal and --eventual.  Match
only LTL formulas with --stutter-invariant.
* src/ltltest/ltlfilt.test: New file.
* src/ltltest/Makefile.am (TESTS): Add it.
* NEWS: Mention these bug fixes.
2013-05-11 11:24:38 +02:00
Alexandre Duret-Lutz
eed7e2df8f lbtt: improve the LBTT output
Provide a way to output automata with state-based acceptance.  Also
print the guards using to_lbt_string() for consistency: as a
consequence, atomic proposition that do not match p[0-9]+ are now
double-quoted.

* src/tgbaalgos/lbtt.hh (lbtt_reachable): Add a sba option.
* src/tgbaalgos/lbtt.cc: Implement it, and use to_lbt_string().
* src/ltlvisit/lbt.cc (is_pnum): Reject 'p' without number.
* src/bin/ltl2tgba.cc: Activate the sba option of --ba was given.
Add an option --lbtt=t to get the old behavior.
* src/bin/man/ltl2tgba.x: Document the LBTT format we use with
some links and examples.
* src/tgbatest/lbttparse.test: More tests.
* src/tgbatest/ltlcross2.test: Add a check with --lbtt --ba.
* NEWS: Update.
2013-05-09 21:55:37 +02:00
Alexandre Duret-Lutz
e2378b4904 Fix genltl --gh-r
Reported by František Blahoudek.

* src/bin/genltl.cc (R_n): Really generate (GFp1 || FGp2), not
(GFp1 || GFp2).
* NEWS: Mention the bug.
* THANKS: Update.
2013-04-30 00:01:35 +02:00
Alexandre Duret-Lutz
a2b98c6340 man: Fix installation and distribution of spot-x.7.
* src/bin/man/Makefile.am: Install spot-x.7 in $(man7dir),
and make sure we distribute spot-x.x.
2013-04-28 15:22:29 +02:00
Alexandre Duret-Lutz
fec939c1a6 ltlcross: count SCCs of various strenghts
* src/bin/ltlcross.cc: Implement the counters.
* doc/org/ltlcross.org: Update the documentation.
* bench/ltl2tgba/sum.py: Do not assume a fixed column for the time.
* NEWS: Update.
2013-04-27 20:33:51 +02:00
Alexandre Duret-Lutz
b6d4806dca translate: use compositional suspension on request
This has to be turned on using "-x comp-susp" and other
related options documented in spot-x (7).

* src/tgbaalgos/translate.hh, src/tgbaalgos/translate.cc:
Add support for calling composition-suspension, with
optional simulation, WDBA-minimization, and composition.
* src/bin/spot-x.cc: Document the new options.
* src/bin/man/spot-x.x: Add some bibliography.
* src/tgbatest/ltlcross2.test: Test it.
2013-04-27 10:52:49 +02:00
Alexandre Duret-Lutz
4c2791e042 postproc: Perform simulation on the BA in --high mode.
* src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Do simulation
on the BA produced in --high mode.
* src/bin/spot-x.cc: Document the ba-simul option that can be used
to disable it.
2013-04-27 10:52:49 +02:00
Elie Abi Saad
2e5e5d1e3c Add inputs support.
* src/bin/ltlcross.cc: Update print_stats_json.
2013-04-15 15:31:42 +02:00
Alexandre Duret-Lutz
33ba8a78c5 * src/bin/man/ltlfilt.x: Add a bibliography section. 2013-04-09 17:25:27 +02:00
Alexandre Duret-Lutz
a7bfb42de7 remove_x: Implement detection of stutter-invariant LTL formulas.
* src/bin/ltlfilt.cc: Add options --remove-x and --stutter-invariant.
* src/ltlvisit/remove_x.cc, src/ltlvisit/remove_x.hh: New files.
* src/ltlvisit/Makefile.am: Add them.
* src/ltltest/remove_x.test: New file.
* src/ltltest/Makefile.am: Add it.
* NEWS: Mention the new algorithms.
2013-04-09 17:25:05 +02:00
Alexandre Duret-Lutz
c5b7e8e1da Introduce a translator class.
This perform pre- and post-processings in addition to
the LTL-to-TGBA translation.

* src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/postproc.hh: Make the private part protected, so
that we can inherit from that in the translator class.
* src/bin/ltl2tgba.cc: Use the translator class to hide LTL
simplification, translation, and postprocessings.
* NEWS: Mention it.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
276f9108c6 ltl2tgta: Honor -x as well
* src/bin/ltl2tgta.cc: Honor -x.
* src/bin/man/ltl2tgta.x, src/bin/man/spot-x.x: Add cross references.
2013-04-09 15:05:56 +02:00
Alexandre Duret-Lutz
d78670ad44 spot-x.7: new man page for common fine-tuning options
* src/bin/spot-x.cc, src/bin/man/spot-x.x: New files.
* src/bin/Makefile.am, src/bin/man/Makefile.am: Adjust.
* src/bin/man/ltl2tgba.x: Remove all fine-tuning options,
and make a reference spot spot-x (7).
* src/bin/common_setup.hh, src/bin/common_setup.cc: Add
a misc_argp_hidden version of the option, so that --help
and --version are not shown in the --help output used
by help2man to generate spot-x.7.
* src/bin/ltl2tgba.cc: Refer to spot-x.7.
2013-04-09 15:05:55 +02:00
Alexandre Duret-Lutz
a965af711c postproc: add an scc-filter option
* src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add an
scc-filter option.
* src/bin/man/ltl2tgba.x: Document it.
2013-04-09 15:05:55 +02:00
Alexandre Duret-Lutz
bc7a2865de postproc: add some experimental don't care options
* src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add a
"simul-limit" option, and add two new cases to "simul"
for the two don't care simulation
* src/bin/man/ltl2tgba.x: Mention the new options.
2013-04-09 15:05:55 +02:00
Alexandre Duret-Lutz
5796114e37 postproc: add a "simul" option to select the simulation algorithm
* src/tgbaalgos/postproc.hh, src/tgbaalgos/postproc.cc: Honor the
"simul" option in the option_map.
(do_simul, do_degen): New method to wrap the algorithms that may be
altered via option_map.
* src/bin/man/ltl2tgba.x (simul): Document this option.
2013-04-09 15:05:55 +02:00
Alexandre Duret-Lutz
05e59a9e1a postproc: Add an option_map parameter
* src/tgbaalgos/postproc.cc: Add an option_map parameter, and use to get
extra options to pass to the degeneralization algorithm.
* src/tgbaalgos/postproc.hh: Adjust prototype, and store Boolean
variables for degeneralize() options.
* src/bin/ltl2tgba.cc: Add a -x option to fill the option map, and pass
it to the postprocessor.
* src/bin/man/ltl2tgba.x: Document the three degeneralization options.
2013-04-09 15:05:55 +02:00
Alexandre Duret-Lutz
35e16a0b9a * src/bin/ltlfilt.cc: Destroy equivalent_to, implied_by, and imply. 2013-04-09 15:05:35 +02:00
Alexandre Duret-Lutz
c6406995fb ltl_simplifier: add a boolean_to_isop option and method
* src/ltlvisit/simplify.hh (ltl_simplifier_options): add
a boolean_to_isop option
(ltl_simplifier::boolean_to_isop): New method.
* src/ltlvisit/simplify.cc: Implement these.
* src/bin/ltlfilt.cc: Add a --boolean-to-isop option.
* src/ltltest/isop.test: New file.
* src/ltltest/Makefile.am: Add it.
* NEWS: Mention it.
2013-03-05 23:52:34 +01:00
Alexandre Duret-Lutz
b6b6582b05 bin: Fix handling of LTL simplification options.
Enable LTL simplifications by default for ltl2tgba & ltl2tgta, and make
sure the ltl_simplifier_options are all false initially.  Before this
patch --low/-r1 had the same effect as --medium/-r2 with respect to LTL
simplification.

* src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc (simplification_level): Set
to 3 by default.
* src/bin/common_r.cc: Disable all ltl_simplifier options initially.
2013-03-02 15:36:26 +01:00
Alexandre Duret-Lutz
b31ddb787d * src/bin/man/Makefile.am (common_dep): Fix dependency. 2013-01-23 14:59:20 +01:00
Alexandre Duret-Lutz
6a547371d7 ltlcross: diagnose missing i/o specifications earlier.
* src/misc/formater.cc, src/misc/formater.hh (scan): New method.
(prime): Use it.
* src/bin/ltlcross.cc (translator_runner::translator_runner): Scan each
specification string, and report those missing an input or output
%-sequence.
* NEWS: Mention it.
2013-01-21 10:20:25 +01:00
Alexandre Duret-Lutz
5086e24165 ltlcross: Display the number of timeouts.
* NEWS: Mention it.
* src/bin/ltlcross.cc: Always display the number of timeout
on normal termination.
2013-01-20 03:01:44 +01:00
Alexandre Duret-Lutz
aa7b43eadf Fix several warnings reported by clang++ 3.2.
* src/tgba/tgbakvcomplement.cc
(tgba_kv_complement_succ_iterator::current_state_),
src/ta/taexplicit.hh (state_ta_explicit::source_):
Remove useless private member.
* src/ta/taexplicit.cc: Adjust constructors.
* src/ta/tgta.cc, src/ta/taexplicit.hh: Also fix
copyright banner.
* src/bin/ltlcross.cc (exec_with_timeout): Work
around warning about status not being set in the
error path.
2013-01-16 08:52:27 +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
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
af639e58c7 more files to ignore 2012-11-28 16:45:04 +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
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
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
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
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
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
0bdfd9c72c * src/bin/ltlcheck.cc: Cleanup temporary files on ^C. 2012-10-19 16:17:53 +02:00
Alexandre Duret-Lutz
86dac4aadf ltlparse: add a lenient parsing mode
Spin 6 supports formulas such as []<>(a < b) so that atomic properties
need not be specified using #define.  Of course we don't want to
implement all the syntax of Spin in our LTL parser because other tools
may have different syntaxes for their atomic propositions.  The
lenient mode tells the scanner to return any (...), {...}, or {...}!
block as a single token.  The parser will try to recursively parse
this block as a LTL/SERE formula, and if this fails, it will consider
the block to be an atomic proposition.  The drawback is that most
syntax errors will no be considered to be atomic propositions.  For
instance (a U b U) is a single atomic proposition in lenient mode, and
a syntax error in default mode.

* src/ltlparse/ltlparse.yy, src/ltlparse/ltlscan.ll,
src/ltlparse/parsedecl.hh, src/ltlparse/public.hh: Add a
lenient parsing mode.  Simplify the lexer using yy_scan_string.
* src/bin/common_finput.cc: Add a --lenient option.
* src/ltltest/lenient.test: New file.
* src/ltltest/Makefile.am: Add it.
* src/neverparse/neverclaimparse.yy: Parse the guards in lenient mode.
* src/tgbatest/neverclaimread.test: Adjust.
* src/ltlvisit/tostring.cc: When outputing a formula in Spin's syntax,
output (a < b) instead of "a < b".
* src/misc/escape.cc, src/misc/escape.hh (trim): New helper function.
2012-10-17 18:26:42 +02:00