]> git.saurik.com Git - bison.git/log
bison.git
12 years agomaint: use STREQ/STRNEQ.
Akim Demaille [Thu, 23 Feb 2012 17:51:51 +0000 (18:51 +0100)] 
maint: use STREQ/STRNEQ.

* doc/bison.texinfo: Space change.
* src/system.h (STREQ, STRNEQ): New.
* src/files.c, src/ielr.c, src/lalr.c, src/muscle-tab.c,
* src/output.c, src/print.c, src/print_graph.c,
* src/reader.c, src/scan-skel.l, src/tables.c,
* src/uniqstr.c:
Use them.
* src/scan-gram.l: Do not use streq.h, use system.h's STREQ.
* cfg.mk: The documentation is an exception.

12 years agodoc: fix environment issues.
Akim Demaille [Thu, 23 Feb 2012 16:50:29 +0000 (17:50 +0100)] 
doc: fix environment issues.

* doc/bison.texinfo: Do not use @verbatim, in particular when
we use @group inside.
Use @quotation instead of @display for frequently asked questions,
it looks much nicer.
(cherry picked from commit 71b52b1342c65a5497f6b3780481ff2deb932a56)

Conflicts:

doc/bison.texinfo

12 years agodoc: fix environment issues.
Akim Demaille [Thu, 23 Feb 2012 16:50:29 +0000 (17:50 +0100)] 
doc: fix environment issues.

* doc/bison.texinfo: Do not use @verbatim, in particular when
we use @group inside.
Use @quotation instead of @display for frequently asked questions,
it looks much nicer.

12 years agoregen.
Akim Demaille [Tue, 21 Feb 2012 14:52:35 +0000 (15:52 +0100)] 
regen.

* src/parse-gram.h, src/parse-gram.c: regen.

12 years agotests: fix regressions.
Akim Demaille [Tue, 21 Feb 2012 14:38:09 +0000 (15:38 +0100)] 
tests: fix regressions.

Exit status 63 is documented for version-mismatch.
* bootstrap.conf (gnulib_modules): Remove sysexits.
* src/system.h (EX_MISMATCH): Define.
* src/parse-gram.y (version_check): Use it instead of EX_CONFIG.

Missing includes.
* tests/calc.at, tests/named-refs.at: Include assert.h.
(cherry picked from commit 459a57a90ff6fc8209498b7d5bc6e33d5e633f23)

12 years agomaint: gitignore.
Akim Demaille [Wed, 22 Feb 2012 10:49:21 +0000 (11:49 +0100)] 
maint: gitignore.

* examples/mfcalc/.gitignore, examples/rpcalc/.gitignore: Fix.

12 years agoregen.
Akim Demaille [Tue, 21 Feb 2012 15:31:24 +0000 (16:31 +0100)] 
regen.

* src/parse-gram.c, src/parse-gram.h: regen.

12 years agotests: fix regressions.
Akim Demaille [Tue, 21 Feb 2012 14:38:09 +0000 (15:38 +0100)] 
tests: fix regressions.

Exit status 63 is documented for version-mismatch.
* bootstrap.conf (gnulib_modules): Remove sysexits.
* src/system.h (EX_MISMATCH): Define.
* src/parse-gram.y (version_check): Use it instead of EX_CONFIG.

Missing includes.
* tests/calc.at, tests/named-refs.at: Include assert.h.

12 years agotests: post-process stderr to normalize quotes.
Akim Demaille [Tue, 21 Feb 2012 14:28:46 +0000 (15:28 +0100)] 
tests: post-process stderr to normalize quotes.

* tests/bison.in: Save bison's stderr, and convert gettextized
quotes to plain ASCII.

12 years agoglr: fix ambiguity reports.
Akim Demaille [Tue, 21 Feb 2012 10:51:37 +0000 (11:51 +0100)] 
glr: fix ambiguity reports.

* tests/glr-regression.at (Ambiguity reports): New.
(cherry picked from commit a6b2f4fc020fe6e464f4a445a7851825d3d57e4d)

12 years agoglr: fix ambiguity reports.
Akim Demaille [Tue, 21 Feb 2012 10:51:37 +0000 (11:51 +0100)] 
glr: fix ambiguity reports.

Fix a regression introduced in commit
783aa653f4ca70a75919c8516b950494c612cbfe.

* tests/glr-regression.at (Ambiguity reports): New.
* data/glr.c (yyreportTree): Fix an offset error.

12 years agodoc: stylistic improvements.
Akim Demaille [Sun, 19 Feb 2012 17:17:19 +0000 (18:17 +0100)] 
doc: stylistic improvements.

* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
Add some @group/@end group to avoid poor page breaks.
(cherry picked from commit d4fca427636f15eb952974ff04e4fb046428440a)

Conflicts:

doc/bison.texinfo

12 years agomaint: address sc_prohibit_doubled_word.
Akim Demaille [Sun, 19 Feb 2012 11:54:09 +0000 (12:54 +0100)] 
maint: address sc_prohibit_doubled_word.

* data/yacc.c, doc/bison.texinfo: Reword to avoid having to
disable that check.
* cfg.mk: No longer skip this test.
(cherry picked from commit 762caaf6393d71d740ad86855a15f5000721d103)

Conflicts:

data/yacc.c

12 years agomaint: address sc_prohibit_always-defined_macros.
Akim Demaille [Sun, 19 Feb 2012 10:40:36 +0000 (11:40 +0100)] 
maint: address sc_prohibit_always-defined_macros.

* cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
as a witness for stdlib.h.
Skip this test when appropriate.
* data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.

Conflicts:

cfg.mk

12 years agomaint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
Akim Demaille [Sun, 19 Feb 2012 10:13:04 +0000 (11:13 +0100)] 
maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.

* bootstrap.conf (gnulib_modules): Require progname.
* src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
* cfg.mk (exclude): New.
Use it.
Skip lib/main.c for bindtextdomain and set_program_name.
(cherry picked from commit 4d699f44e65d29b4d49cf68d7a3b4bf856eb5d1b)

Conflicts:

cfg.mk

12 years agomaint: remove stray file.
Akim Demaille [Sun, 19 Feb 2012 11:28:42 +0000 (12:28 +0100)] 
maint: remove stray file.

* config.hin: Remove.
(cherry picked from commit 222342aa6708814c01a63ff7d568209d3705ff47)

12 years agodoc: stylistic improvements.
Akim Demaille [Sun, 19 Feb 2012 17:17:19 +0000 (18:17 +0100)] 
doc: stylistic improvements.

* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
Add some @group/@end group to avoid poor page breaks.

12 years agodoc: check the rpcalc.
Akim Demaille [Sun, 19 Feb 2012 12:05:42 +0000 (13:05 +0100)] 
doc: check the rpcalc.

* doc/bison.texinfo: Tag rpcalc.y snippets.
Add missing includes.
(Rpcalc Rules): Don't issue leading tabs.
Complete an Info menu.
Use @result.
* examples/rpcalc/local.mk: New.
* examples/rpcalc/rpcalc.test: New.
* examples/local.mk: Use them.
* examples/mfcalc/mfcalc.test: Remove dup test.
* examples/test: Disable debug traces.

12 years agoregen.
Akim Demaille [Sun, 19 Feb 2012 11:56:14 +0000 (12:56 +0100)] 
regen.

* src/parse-gram.c, src/parse-gram.h: Regen.

12 years agomaint: address sc_prohibit_doubled_word.
Akim Demaille [Sun, 19 Feb 2012 11:54:09 +0000 (12:54 +0100)] 
maint: address sc_prohibit_doubled_word.

* data/yacc.c, doc/bison.texinfo: Reword to avoid having to
disable that check.
* cfg.mk: No longer skip this test.

12 years agomaint: address sc_prohibit_always-defined_macros.
Akim Demaille [Sun, 19 Feb 2012 10:40:36 +0000 (11:40 +0100)] 
maint: address sc_prohibit_always-defined_macros.

* cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
as a witness for stdlib.h.
Skip this test when appropriate.
* data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.

12 years agomaint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
Akim Demaille [Sun, 19 Feb 2012 10:13:04 +0000 (11:13 +0100)] 
maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.

* bootstrap.conf (gnulib_modules): Require progname.
* src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
* cfg.mk (exclude): New.
Use it.
Skip lib/main.c for bindtextdomain and set_program_name.

12 years agomaint: remove stray file.
Akim Demaille [Sun, 19 Feb 2012 11:28:42 +0000 (12:28 +0100)] 
maint: remove stray file.

* config.hin: Remove.

12 years agobitset: fix an incorrect error message.
Akim Demaille [Sun, 19 Feb 2012 09:18:29 +0000 (10:18 +0100)] 
bitset: fix an incorrect error message.

* lib/bitset_stats.c: here.
Reported by Stefano Lattarini.

12 years agomaint: address some syntax-issues remaining after cherry-picking from master.
Akim Demaille [Sun, 19 Feb 2012 09:27:05 +0000 (10:27 +0100)] 
maint: address some syntax-issues remaining after cherry-picking from master.

* cfg.mk: Skip bison generated files, 2.5 is generating trailing
blanks.  This is already fixed in master.
* tests/conflicts.at, tests/java.at: Fix white space issues.

12 years agoregen.
Akim Demaille [Sun, 19 Feb 2012 09:22:51 +0000 (10:22 +0100)] 
regen.

* src/parse-gram.c, src/parse-gram.h: Regen.

12 years agobitset: fix an incorrect error message.
Akim Demaille [Sun, 19 Feb 2012 09:18:29 +0000 (10:18 +0100)] 
bitset: fix an incorrect error message.

* lib/bitset_stats.c: here.
Reported by Stefano Lattarini.

12 years agomaint: reenable sc_m4_quote_check
Jim Meyering [Sun, 29 Jan 2012 20:26:43 +0000 (21:26 +0100)] 
maint: reenable sc_m4_quote_check

* cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
* m4/dmalloc.m4: Add quotes.

Conflicts:

cfg.mk

12 years agomaint: remove trailing empty lines.
Akim Demaille [Sat, 18 Feb 2012 18:25:55 +0000 (19:25 +0100)] 
maint: remove trailing empty lines.

* cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
for parse-gram.h (generated).
* examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
* po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
empty lines.

Conflicts:

examples/mfcalc/.gitignore

12 years agomaint: avoid "magic number exit".
Akim Demaille [Sat, 18 Feb 2012 18:19:26 +0000 (19:19 +0100)] 
maint: avoid "magic number exit".

* cfg.mk (local-checks-to-skip): No longer skip it.
* bootstrap.conf (gnulib_modules): Add sysexits.
* doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
* src/system.h, tests/calc.at, tests/named-refs.at: Use assert
where appropriate instead of "if (...) exit".
Use symbolic exit status elsewhere.

Conflicts:

doc/bison.texinfo
src/parse-gram.y

12 years agomaint: fix some syntax-check issues.
Akim Demaille [Sat, 18 Feb 2012 17:48:33 +0000 (18:48 +0100)] 
maint: fix some syntax-check issues.

* cfg.mk (local-checks-to-skip): Remove
sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
sc_unmarked_diagnostics, sc_useless_cpp_parens.
(sc_unmarked_diagnostics): Skip DJGPP.
* data/yacc.c, src/LR0.c, src/closure.c,
* src/flex-scanner.h, src/gram.c, src/lalr.c,
* src/print-xml.c, src/print.c, src/print_graph.c,
* src/reader.c, src/reduce.c, src/tables.c:
Don't use parens with cpp's defined.
Remove useless includes.

12 years agomaint: address a couple of syntax-check errors.
Akim Demaille [Sat, 18 Feb 2012 14:41:50 +0000 (15:41 +0100)] 
maint: address a couple of syntax-check errors.

* cfg.mk (local-checks-to-skip): Remove sc_error_message_period
and sc_error_message_uppercase.
Address the uncovered issues.
* po/POTFILES.in: Add missing files.
* src/symtab.c: Remove useless includes.
* lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
conformant error messages.

Conflicts:

cfg.mk
lib/bitset_stats.c
tests/glr-regression.at

12 years agomaint: gnulib: upgrade.
Akim Demaille [Sat, 18 Feb 2012 14:25:31 +0000 (15:25 +0100)] 
maint: gnulib: upgrade.

12 years agomaint: remove trailing empty lines.
Akim Demaille [Sat, 18 Feb 2012 18:25:55 +0000 (19:25 +0100)] 
maint: remove trailing empty lines.

* cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
for parse-gram.h (generated).
* examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
* po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
empty lines.

12 years agomaint: regen.
Akim Demaille [Sat, 18 Feb 2012 18:25:26 +0000 (19:25 +0100)] 
maint: regen.

* src/parse-gram.c, src/parse-gram.h: regen.

12 years agomaint: avoid "magic number exit".
Akim Demaille [Sat, 18 Feb 2012 18:19:26 +0000 (19:19 +0100)] 
maint: avoid "magic number exit".

* cfg.mk (local-checks-to-skip): No longer skip it.
* bootstrap.conf (gnulib_modules): Add sysexits.
* doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
* src/system.h, tests/calc.at, tests/named-refs.at: Use assert
where appropriate instead of "if (...) exit".
Use symbolic exit status elsewhere.

12 years agomaint: fix some syntax-check issues.
Akim Demaille [Sat, 18 Feb 2012 17:48:33 +0000 (18:48 +0100)] 
maint: fix some syntax-check issues.

* cfg.mk (local-checks-to-skip): Remove
sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
sc_unmarked_diagnostics, sc_useless_cpp_parens.
(sc_unmarked_diagnostics): Skip DJGPP.
* data/yacc.c, src/LR0.c, src/closure.c,
* src/flex-scanner.h, src/gram.c, src/lalr.c,
* src/print-xml.c, src/print.c, src/print_graph.c,
* src/reader.c, src/reduce.c, src/tables.c:
Don't use parens with cpp's defined.
Remove useless includes.

12 years agomaint: address a couple of syntax-check errors.
Akim Demaille [Sat, 18 Feb 2012 14:41:50 +0000 (15:41 +0100)] 
maint: address a couple of syntax-check errors.

* cfg.mk (local-checks-to-skip): Remove sc_error_message_period
and sc_error_message_uppercase.
Address the uncovered issues.
* po/POTFILES.in: Add missing files.
* src/symtab.c: Remove useless includes.
* lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
conformant error messages.

12 years agomaint: gnulib: upgrade.
Akim Demaille [Sat, 18 Feb 2012 14:25:31 +0000 (15:25 +0100)] 
maint: gnulib: upgrade.

12 years agodoc: mfcalc: fix includes.
Akim Demaille [Fri, 17 Feb 2012 14:49:03 +0000 (15:49 +0100)] 
doc: mfcalc: fix includes.

* doc/bison.texinfo: math.h is needed early.

12 years agoexamples: factor the test suite.
Akim Demaille [Fri, 17 Feb 2012 13:59:23 +0000 (14:59 +0100)] 
examples: factor the test suite.

* examples/mfcalc/test, examples/calc++/test: Extract the
common bits into...
* examples/test: here.
(cwd): New.
Use it to avoid a race on the temporary directory.
Reported by Jim Meyering.
* examples/mfcalc/test, examples/calc++/test: Rename into...
* examples/mfcalc/mfcalc.test, examples/calc++/calc++.test: these.
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/local.mk: Adjust.

12 years agoexamples: fix the test suites.
Akim Demaille [Fri, 17 Feb 2012 09:12:06 +0000 (10:12 +0100)] 
examples: fix the test suites.

* examples/calc++/test, examples/mfcalc/test (me): Be more
meaningfull: include the example name.
(prog): Factor.
(run): Avoid printf, use echo.
Add missing parens.
(cleanup): New.
Call it on trap.
Remove the previous "rm" that did the cleanup.
Move into a private directory to avoid concurrency issues.
Reported by Jim Meyering.

12 years agoexamples: link mfcalc with -lm for uses of pow, cos, atan, etc.
Jim Meyering [Fri, 17 Feb 2012 07:36:57 +0000 (08:36 +0100)] 
examples: link mfcalc with -lm for uses of pow, cos, atan, etc.

* examples/mfcalc/local.mk (examples_mfcalc_mfcalc_LDADD): Define.

12 years agomfcalc: extract and exercise.
Akim Demaille [Thu, 16 Feb 2012 14:44:43 +0000 (15:44 +0100)] 
mfcalc: extract and exercise.

* examples/mfcalc/local.mk, examples/mfcalc/test: New,
based on calc++'s ones.
* examples/local.mk: Include mfcalc/local.mk.

12 years agocalc++: factor for other extracted tests.
Akim Demaille [Thu, 16 Feb 2012 14:27:03 +0000 (15:27 +0100)] 
calc++: factor for other extracted tests.

* Makefile.am (TESTS, check_PROGRAMS): Initialize here.
* examples/local.mk (doc, extexi): Define here.
* examples/calc++/local.mk: Adjust accordingly.
* configure.ac: Ask for parallel-tests (for the way the logs
are handled).
* examples/calc++/test: As a consequence, always be verbose.
($prog): New.
(run): Use it.
Sort the tests in a more natural order (simplest first).

12 years agodoc: mfcalc: send errors to stderr.
Akim Demaille [Thu, 16 Feb 2012 14:11:13 +0000 (15:11 +0100)] 
doc: mfcalc: send errors to stderr.

* doc/bison.texinfo (Mfcalc Lexer): New.
(Mfcalc Main): Move the definition of main and yyerror here, for
clarity.
Let yyerror report on stderr.

12 years agodoc: fix mfcalc code.
Akim Demaille [Thu, 16 Feb 2012 14:07:23 +0000 (15:07 +0100)] 
doc: fix mfcalc code.

* doc/bison.texinfo (Multi-function Calc): Add missing includes.
Fix the rendering of the result: use @result and remove the
initial tabulation in the actual code.
Fix stylistic issues: avoid the , operator.
Add extexi mark-up.
* examples/extexi: Also support @smallexample.

12 years agotests: c++: stylistic changes.
Akim Demaille [Thu, 16 Feb 2012 14:51:35 +0000 (15:51 +0100)] 
tests: c++: stylistic changes.

* tests/c++.at: Don't use void for incoming arguments.
Prefer cstdlib to stdlib.h.

12 years agotests: avoid c++ failure due to lack of getenv decl
Jim Meyering [Thu, 16 Feb 2012 10:03:31 +0000 (11:03 +0100)] 
tests: avoid c++ failure due to lack of getenv decl

* tests/c++.at (Syntax error as exception): Avoid spurious failure
at least when compiling with g++-4.7.x due to lack of declaration
of getenv.  Include <stdlib.h>.

12 years agomaint: rely on Automake for parsers.
Akim Demaille [Wed, 15 Feb 2012 12:36:24 +0000 (13:36 +0100)] 
maint: rely on Automake for parsers.

* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
Move other options in here.
(BISON): New.
(YACC): Use it.
(bison_SOURCES): Now that automake can see `-d' in AM_YFLAGS,
we can rely on it to compile and ship the parser header
files.

Based on commit 737406a32c201471699bfa0843d1f432f3ec29ab and
commit 3d6ca339083c278d907c9f030f4ba6bc5ecb07f2.

12 years agomaint: trust Automake for parser headers.
Akim Demaille [Wed, 15 Feb 2012 12:32:07 +0000 (13:32 +0100)] 
maint: trust Automake for parser headers.

* examples/calc++/local.mk, src/local.mk: Now that automake
can see `-d' in AM_YFLAGS, we can rely on it to compile
and ship the parser header files.

12 years agomaint: help Automake reading Yacc flags.
Akim Demaille [Wed, 15 Feb 2012 11:53:34 +0000 (12:53 +0100)] 
maint: help Automake reading Yacc flags.

* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.

12 years agocalc++: rely on Automake.
Akim Demaille [Tue, 14 Feb 2012 16:32:51 +0000 (17:32 +0100)] 
calc++: rely on Automake.

Rely on $(YACC) being the bison being built, and let Automake do the
rest.  It turned out to be much more difficult than anticipated, for
various reasons, including some bad behavior from Automake 1.11.2
which (i) generates calc++-parser.h instead of calc++-parser.hh, and
(ii) leaves an #include "y.tab.h" in the generated parser instead
of #include "calc++-parser.h".

The authors of Automake appear to be aware of the problem,
http://lists.gnu.org/archive/html/automake/2011-05/msg00008.html
so a simple work around will suffice for the time being.

* examples/calc++/y.tab.h, examples/calc++/calc++-parser.hh: New.
To work around Automake 1.11.2 issues.
* examples/calc++/local.mk: Remove all the rules for compilation
with bison, leave them to Automake.
So provide it with "calc++-parse.yy" as a source file.
(calc_sources_generated, calc_sources_extracted): Rename as.
(calc_generated, calc_extracted): these.
(calc_sources): New.
Fix them.

12 years agomaint: tidy the Makefile a bit.
Akim Demaille [Tue, 14 Feb 2012 16:27:15 +0000 (17:27 +0100)] 
maint: tidy the Makefile a bit.

* src/local.mk: Put yacc related variables together.
(AUTOMAKE_OPTIONS): Move to...
* Makefile.am: here.
Remove an old Emacs mode request which disables Automake support.
* src/local.mk (YACC, AM_YFLAGS): Move to...
* Makefile.am: here, as they will be used by other local.mks.

12 years agomaint: de-recurse the handling of examples
Akim Demaille [Mon, 13 Feb 2012 17:23:45 +0000 (18:23 +0100)] 
maint: de-recurse the handling of examples

The directory was still using a local Makefile.am because it provides
"scoped" Make variables: these examples are not meant to use the same
CPPFLAGS etc.  If we were to use the same -I set, we'd pick up
gnulib's stdio.h for instance, which we do not want for these simple
examples.

Yet, as a result, the dependencies are less accurate, there is code
duplication, etc.  This is especially perceptible when trying to
extract more examples from the documentation, as will be done in
forthcoming changes.

In order to make the tuning of CPPFLAGS easier, discard the predefined
-I from Automake.

* examples/calc++/Makefile.am: Rename as...
* examples/calc++/local.mk: this.
Adjust the paths which are now rooted in top_srcdir/top_builddir.
Handle BISON_CXX_WORKS here, instead of the too crude previous
approach that completely discarded the whole directory.
($(BISON)): Remove now useless bouncing recipe.
(calc___CPPFLAGS): New.
Stay away from -Ilib.
* Makefile.am, configure.ac, examples/local.mk,
* examples/calc++/test: Adjust.

* configure.ac: Pass nostdinc to Automake.
* src/local.mk, lib/local.mk (AM_CPPFLAGS): Move to...
* Makefile.am: here.

* src/local.mk, examples/calc++/Makefile.am (BISON, BISON_IN): Factor
to...
* Makefile.am: here.
* tests/local.mk: Use it.

12 years agovariant: fix the example.
Akim Demaille [Tue, 14 Feb 2012 11:05:26 +0000 (12:05 +0100)] 
variant: fix the example.

* examples/variant.yy: Adjust to "assert" being now
"parse.assert".

12 years agomaint: more authors.
Akim Demaille [Mon, 13 Feb 2012 12:45:50 +0000 (13:45 +0100)] 
maint: more authors.

* AUTHORS: here.
Suggested by Tys Lefering.
(cherry picked from commit bdf66d1db4b82872076197998ddcfafbed306268)

12 years agomaint: add license headers.
Akim Demaille [Mon, 13 Feb 2012 12:39:23 +0000 (13:39 +0100)] 
maint: add license headers.

* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
* tests/atlocal.in, tests/bison.in: Add license headers.
Reported by Tys Lefering.
(cherry picked from commit 3272a7256f893399bbbc4b84e6181c71002f3fd8)

Conflicts:

examples/variant.yy
tests/bison.in

12 years agomaint: remove obsolete file.
Akim Demaille [Sat, 11 Feb 2012 13:50:54 +0000 (14:50 +0100)] 
maint: remove obsolete file.

* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
Reported by Tys Lefering.
(cherry picked from commit 3b4d62d5269c50231c9a209dd15820ccba21f5e7)

12 years agomaint: more authors.
Akim Demaille [Mon, 13 Feb 2012 12:45:50 +0000 (13:45 +0100)] 
maint: more authors.

* AUTHORS: here.
Suggested by Tys Lefering.

12 years agomaint: add license headers.
Akim Demaille [Mon, 13 Feb 2012 12:39:23 +0000 (13:39 +0100)] 
maint: add license headers.

* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
* tests/atlocal.in, tests/bison.in: Add license headers.
Reported by Tys Lefering.

12 years agomaint: remove obsolete file.
Akim Demaille [Sat, 11 Feb 2012 13:50:54 +0000 (14:50 +0100)] 
maint: remove obsolete file.

* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
Reported by Tys Lefering.

12 years agolalr1.cc: also handle syntax_error when calling yylex.
Akim Demaille [Thu, 30 Jun 2011 12:10:21 +0000 (14:10 +0200)] 
lalr1.cc: also handle syntax_error when calling yylex.

* data/lalr1.cc (parse): Catch syntax_error around yylex and
forward them to errlab1.
* tests/c++.at (Syntax error as exception): Check support for
syntax exceptions raised by the scanner.
* NEWS, doc/bison.texinfo: Document it.

12 years agotests: lalr1.cc: check syntax_error.
Akim Demaille [Thu, 9 Feb 2012 09:34:00 +0000 (10:34 +0100)] 
tests: lalr1.cc: check syntax_error.

* tests/c++.at (Syntax error as exception): New.

12 years agotests: don't require locations uselessly.
Akim Demaille [Thu, 9 Feb 2012 09:04:32 +0000 (10:04 +0100)] 
tests: don't require locations uselessly.

* tests/c++.at (Syntax error discarding no lookahead): Contrary to
2.5, C++ parsers can work without locations.

12 years agomaint: more silent rules.
Akim Demaille [Thu, 9 Feb 2012 13:09:23 +0000 (14:09 +0100)] 
maint: more silent rules.

* tests/local.mk (TESTSUITE_AT): Include plackage.m4.
Adjust dependencies.
Make testsuite.at its first argument.
(package.m4): Be silent.
(testsuite): Be silent.
Use $<.

12 years agoskeletons: simplify the protections against "unused" warnings.
Akim Demaille [Thu, 9 Feb 2012 13:02:22 +0000 (14:02 +0100)] 
skeletons: simplify the protections against "unused" warnings.

* data/c.m4 (b4_parse_param_use): Also accept optional arguments
to "use".
Simplify callers.
* data/glr.c (yyuserAction): Simplify use of b4_parse_param_use.
(yy_reduce_print): Don't use b4_parse_param_use, as all the arguments
_are_ used.
* data/lalr1.cc (YY_SYMBOL_PRINT): Even when disabled, "use" the
symbol argument.
This neutralizes a warning in yypush_ when there are no symbols
with a semantic values.
(yy_destroy_): Remove useless "use" of yymsg.

12 years agoglr: formatting changes.
Akim Demaille [Thu, 9 Feb 2012 12:30:37 +0000 (13:30 +0100)] 
glr: formatting changes.

* data/glr.c: Split long strings.

12 years agouse a more consistent quoting style.
Akim Demaille [Wed, 8 Feb 2012 09:28:58 +0000 (10:28 +0100)] 
use a more consistent quoting style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.

* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.
(cherry picked from commit 4a9cd8f24abba232b4a07ccdda4c6f109d27acac)

Conflicts:

src/muscle-tab.c

12 years agouse a more consistent quoting style.
Akim Demaille [Wed, 8 Feb 2012 09:28:58 +0000 (10:28 +0100)] 
use a more consistent quoting style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.

* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.

12 years agomaint: reenable sc_m4_quote_check
Jim Meyering [Sun, 29 Jan 2012 20:26:43 +0000 (21:26 +0100)] 
maint: reenable sc_m4_quote_check

* cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
* m4/dmalloc.m4: Add quotes.

12 years agomaint: force "make syntax-check" to pass by skipping failing tests
Jim Meyering [Sat, 28 Jan 2012 16:11:43 +0000 (17:11 +0100)] 
maint: force "make syntax-check" to pass by skipping failing tests

* cfg.mk (local-checks-to-skip): Skip all currently-failing tests.
Remove changelog-check; it's long gone.

12 years agomaint: remove stray debug code.
Akim Demaille [Tue, 31 Jan 2012 08:42:56 +0000 (09:42 +0100)] 
maint: remove stray debug code.

* src/Makefile.am (echo): Remove.

12 years agomaint: space changes.
Akim Demaille [Tue, 31 Jan 2012 08:42:04 +0000 (09:42 +0100)] 
maint: space changes.

* src/Makefile.am: Use 2 leading spaces for variable definition
spreading over several lines.

12 years agomaint: more silent-rules.
Akim Demaille [Mon, 30 Jan 2012 15:21:13 +0000 (16:21 +0100)] 
maint: more silent-rules.

* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
$(AM_V_GEN) and $(AM_V_at) where appropriate.
(cherry picked from commit f67c0a1c35cbc342e1c1b2201aa563b17c26e3b1)

Conflicts:

doc/local.mk
examples/calc++/Makefile.am
src/local.mk

12 years agodo not ignore errors like ENOSPC,EIO when writing to stdout
Jim Meyering [Sun, 29 Jan 2012 11:50:32 +0000 (12:50 +0100)] 
do not ignore errors like ENOSPC,EIO when writing to stdout

Standard output was never explicitly closed, so we could not
detect failure.  Thus, bison would ignore the errors of writing
to a full file system and getting an I/O error on write, but only
for standard output, e.g., for --print-localedir, --print-datadir,
--help and some verbose output.
Now, "bison --print-datadir > /dev/full" reports the write failure:
bison: write error: No space left on device
Before, it would exit 0 with no diagnostic, implying success.
This is not an issue for "--output=-" or the other FILE-accepting
command-line options, because unlike most other GNU programs,
an output file argument of "-" is treated as the literal "./-",
rather than standard output.
* bootstrap.conf (gnulib_modules): Add closeout.
* src/main.c: Include "closeout.h".
Use atexit to ensure we close stdout.
* .gitignore: Ignore new files pulled in via gnulib-tool.
(cherry picked from commit acb5895680611f8beb497b41694d9686f2932c50)

Conflicts:

m4/.gitignore

12 years agomaint: more silent-rules.
Akim Demaille [Mon, 30 Jan 2012 15:21:13 +0000 (16:21 +0100)] 
maint: more silent-rules.

* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
$(AM_V_GEN) and $(AM_V_at) where appropriate.

12 years agodo not ignore errors like ENOSPC,EIO when writing to stdout
Jim Meyering [Sun, 29 Jan 2012 11:50:32 +0000 (12:50 +0100)] 
do not ignore errors like ENOSPC,EIO when writing to stdout

Standard output was never explicitly closed, so we could not
detect failure.  Thus, bison would ignore the errors of writing
to a full file system and getting an I/O error on write, but only
for standard output, e.g., for --print-localedir, --print-datadir,
--help and some verbose output.
Now, "bison --print-datadir > /dev/full" reports the write failure:
bison: write error: No space left on device
Before, it would exit 0 with no diagnostic, implying success.
This is not an issue for "--output=-" or the other FILE-accepting
command-line options, because unlike most other GNU programs,
an output file argument of "-" is treated as the literal "./-",
rather than standard output.
* bootstrap.conf (gnulib_modules): Add closeout.
* src/main.c: Include "closeout.h".
Use atexit to ensure we close stdout.
* .gitignore: Ignore new files pulled in via gnulib-tool.

12 years agotests: fix expected output.
Akim Demaille [Thu, 26 Jan 2012 20:52:44 +0000 (21:52 +0100)] 
tests: fix expected output.

* tests/actions.at (YYBACKUP): here.
(cherry picked from commit 888b6ddfe44ee87ddc6bd77b960dde820c53f105)

12 years agotests: fix expected output.
Akim Demaille [Thu, 26 Jan 2012 20:52:44 +0000 (21:52 +0100)] 
tests: fix expected output.

* tests/actions.at (YYBACKUP): here.

12 years agomaint: fix configure.ac
Akim Demaille [Thu, 26 Jan 2012 20:37:15 +0000 (21:37 +0100)] 
maint: fix configure.ac

Fix commit 1890a2a816dab86c23cc1d0af8fac3986335deb7.

* configure.ac: Fix variable assignment.

12 years agoyacc: fix YYBACKUP.
Akim Demaille [Wed, 25 Jan 2012 15:57:58 +0000 (16:57 +0100)] 
yacc: fix YYBACKUP.

Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

* data/yacc.c (YYBACKUP): Accept rhs size.
Restore the proper state value.
* TODO (YYBACKUP): Make it...
* tests/actions.at: a new test case.
* NEWS, THANKS: Update.
(cherry picked from commit d115aad9112fb4e2fe1b268c9db7390732d39539)

Conflicts:

TODO
data/yacc.c

12 years agomaint: update TODO.
Akim Demaille [Wed, 25 Jan 2012 15:36:03 +0000 (16:36 +0100)] 
maint: update TODO.

* TODO (Labeling the symbols): Remove, it's done ("Name references").
(cherry picked from commit 2c7f50be6247b4a03bdb27936ea6185cb6a7443c)

12 years agomaint: update THANKS.
Akim Demaille [Wed, 25 Jan 2012 12:25:22 +0000 (13:25 +0100)] 
maint: update THANKS.

* THANKS: Update Tys's address, on his request.
(cherry picked from commit 93ebddb11f3aca5aeb7d2337c6b54a652f08384f)

12 years agomaint: fix --gcc-warnings support.
Akim Demaille [Wed, 25 Jan 2012 12:04:43 +0000 (13:04 +0100)] 
maint: fix --gcc-warnings support.

* configure.ac: Use enable_gcc_warnings instead of enableval,
which is valid only with AC_ARG_ENABLE.
(cherry picked from commit 1890a2a816dab86c23cc1d0af8fac3986335deb7)

Conflicts:

configure.ac

12 years agomaint: silent-rules.
Akim Demaille [Wed, 25 Jan 2012 11:59:02 +0000 (12:59 +0100)] 
maint: silent-rules.

* configure.ac: Ask for silent-rules support.
Enable it by default.
(cherry picked from commit da1eb15bc9f2147359f5a4d9826303a53e08b447)

12 years agomaint: remove trailing blanks.
Akim Demaille [Thu, 26 Jan 2012 20:27:49 +0000 (21:27 +0100)] 
maint: remove trailing blanks.

* src/scan-code.l: Here.

12 years agoyacc: fix YYBACKUP.
Akim Demaille [Wed, 25 Jan 2012 15:57:58 +0000 (16:57 +0100)] 
yacc: fix YYBACKUP.

Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

* data/yacc.c (YYBACKUP): Accept rhs size.
Restore the proper state value.
* TODO (YYBACKUP): Make it...
* tests/actions.at: a new test case.
* NEWS, THANKS: Update.

12 years agomaint: update TODO.
Akim Demaille [Wed, 25 Jan 2012 15:36:03 +0000 (16:36 +0100)] 
maint: update TODO.

* TODO (Labeling the symbols): Remove, it's done ("Name references").

12 years agomaint: update THANKS.
Akim Demaille [Wed, 25 Jan 2012 12:25:22 +0000 (13:25 +0100)] 
maint: update THANKS.

* THANKS: Update Tys's address, on his request.

12 years agomaint: fix --gcc-warnings support.
Akim Demaille [Wed, 25 Jan 2012 12:04:43 +0000 (13:04 +0100)] 
maint: fix --gcc-warnings support.

* configure.ac: Use enable_gcc_warnings instead of enableval,
which is valid only with AC_ARG_ENABLE.

12 years agomaint: silent-rules.
Akim Demaille [Wed, 25 Jan 2012 11:59:02 +0000 (12:59 +0100)] 
maint: silent-rules.

* configure.ac: Ask for silent-rules support.
Enable it by default.

12 years agotests: port to Solaris 10 'diff -u'
Paul Eggert [Tue, 24 Jan 2012 21:54:12 +0000 (13:54 -0800)] 
tests: port to Solaris 10 'diff -u'

* tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
where "diff -u X X" outputs "No differences encountered"
instead of outputting nothing.  Reported by Tomohiro Suzuki in
<http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.
(cherry picked from commit 071ca141ec7987a5eca782227ce70db434a206ab)

12 years agobuild: avoid possibly-replaced fprintf in liby-source, yyerror.c
Jim Meyering [Mon, 23 Jan 2012 10:47:46 +0000 (11:47 +0100)] 
build: avoid possibly-replaced fprintf in liby-source, yyerror.c

* lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
with a mere "%s\n" format.  Always return 0 now, on the assumption
that the return value was never used anyway.
Don't include <config.h> after all.  This avoids a problem
reported by Thiru Ramakrishnan in
http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
* cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
* THANKS: Update.
(cherry picked from commit fb9eea88856d73a5f25295a52f6d4df7fabc565b)

12 years agotests: port to Solaris 10 'diff -u'
Paul Eggert [Tue, 24 Jan 2012 21:54:12 +0000 (13:54 -0800)] 
tests: port to Solaris 10 'diff -u'

* tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
where "diff -u X X" outputs "No differences encountered"
instead of outputting nothing.  Reported by Tomohiro Suzuki in
<http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.

12 years agomaint: generate ChangeLog from git log
Jim Meyering [Thu, 19 Jan 2012 08:07:02 +0000 (09:07 +0100)] 
maint: generate ChangeLog from git log

* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.
(cherry picked from commit 5ef4a3c71cfd6c07e71462944281c284780312c1)

Conflicts:

Makefile.am
bootstrap.conf
build-aux/.gitignore

12 years agochange more quotes in source, and adjust tests to match
Jim Meyering [Mon, 16 Jan 2012 18:36:41 +0000 (19:36 +0100)] 
change more quotes in source, and adjust tests to match

Run this command to change each `%s' to '%s' in source directories:
  git grep -l '`%s'\' src djgpp data \
    |xargs perl -pi -e '$q="'\''";s/`%s$q/$q%s$q/g'
* data/bison.m4: Affected per the above.
* djgpp/subpipe.c: Likewise.
* src/files.c: Likewise.
* src/getargs.c: Likewise.
* src/muscle-tab.c: Likewise.
* src/reader.c: Likewise.
* tests/glr-regression.at: Adjust to match.
* tests/input.at: Likewise.
* tests/push.at: Likewise.
* tests/skeletons.at: Likewise.
(cherry picked from commit 4aa9d1ff9ca9b838fe02a9bfe5ae4b0f935e5451)

Conflicts:

src/getargs.c
src/muscle-tab.c
src/reader.c
tests/input.at

12 years agoquote consistently and make tests pass with new quoting from gnulib
Jim Meyering [Mon, 16 Jan 2012 18:20:50 +0000 (19:20 +0100)] 
quote consistently and make tests pass with new quoting from gnulib

Updating to gnulib pulled in new quote and quotarg modules,
by which quoting is now done like 'this' rather than `this'.
That change induces many "make check" test failures.  This change
adapts code and tests so that "make check" passes once again.
* src/scan-code.l: Quote like 'this', not like `this'.
* src/scan-gram.l: Likewise.
* src/symtab.c: Likewise.
* tests/actions.at: Adjust tests to match.
* tests/input.at: Likewise.
* tests/named-refs.at: Likewise.
* tests/output.at: Likewise.
* tests/regression.at: Likewise.
* lib/.gitignore: Regenerate.
* m4/.gitignore: Likewise.
(cherry picked from commit ae93e4e4b8e78396a7707de3dcdd47aca7a46dec)

Conflicts:

src/scan-code.l
src/scan-gram.l
src/symtab.c
tests/output.at

12 years agobuild: avoid possibly-replaced fprintf in liby-source, yyerror.c
Jim Meyering [Mon, 23 Jan 2012 10:47:46 +0000 (11:47 +0100)] 
build: avoid possibly-replaced fprintf in liby-source, yyerror.c

* lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
with a mere "%s\n" format.  Always return 0 now, on the assumption
that the return value was never used anyway.
Don't include <config.h> after all.  This avoids a problem
reported by Thiru Ramakrishnan in
http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
* cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
* THANKS: Update.

12 years agobuild: update gnulib and autoconf submodules to latest
Jim Meyering [Mon, 16 Jan 2012 16:28:06 +0000 (17:28 +0100)] 
build: update gnulib and autoconf submodules to latest
(cherry picked from commit 728415f885e5cb8e518c8576fa6e1f541e384130)