]> git.saurik.com Git - bison.git/log
bison.git
12 years agodoc: update the --verbose report format.
Akim Demaille [Fri, 16 Mar 2012 09:13:16 +0000 (10:13 +0100)] 
doc: update the --verbose report format.

* doc/bison.texinfo (Understanding): Adjust to match the
current format.

12 years agodoc: spell check.
Akim Demaille [Mon, 19 Mar 2012 09:41:25 +0000 (10:41 +0100)] 
doc: spell check.

* doc/bison.texinfo: here.

12 years agodoc: stmt, not stmnt.
Akim Demaille [Fri, 16 Mar 2012 13:31:44 +0000 (14:31 +0100)] 
doc: stmt, not stmnt.

* doc/bison.texinfo: s/stmnt/stmt/g.  This is a
much more common abbreviation for "statement".

12 years agodoc: save width.
Akim Demaille [Fri, 16 Mar 2012 13:29:43 +0000 (14:29 +0100)] 
doc: save width.

* doc/bison.texinfo (Language and Grammar): Use the same
layout for an example in all the versions, i.e., keep
as general case what used to be used only for Info.

12 years agodoc: reformat grammar snippets.
Akim Demaille [Fri, 16 Mar 2012 13:26:00 +0000 (14:26 +0100)] 
doc: reformat grammar snippets.

* doc/bison.texinfo: Convert the grammar examples to
use a narrower style.  This helps fitting into the
@smallbook constraints.
http://lists.gnu.org/archive/html/bison-patches/2012-03/msg00011.html

12 years agodoc: use only @example, not @smallexample.
Akim Demaille [Thu, 15 Mar 2012 14:40:04 +0000 (15:40 +0100)] 
doc: use only @example, not @smallexample.

* doc/bison.texinfo: Convert all @smallexamples into @examples.
Adjust layout where needed.

12 years agodoc: style changes.
Akim Demaille [Thu, 15 Mar 2012 14:36:20 +0000 (15:36 +0100)] 
doc: style changes.

* doc/bison.texinfo: Avoid line width issues with TeX.
Upgrade ancient messages.
Move some comments to better looking places.
Add more @group.
(Mfcalc Symbol Table): Reduce variable scopes.
Prefer size_t for sizes.
Prefer declarations with an initial value.
Fix a @group environment.

12 years agoc.m4: better newline control with b4_parse_param_use.
Akim Demaille [Thu, 15 Mar 2012 13:42:15 +0000 (14:42 +0100)] 
c.m4: better newline control with b4_parse_param_use.

* data/c.m4: Use m4_ifvaln instead of m4_ifval where
applicable.
(b4_parse_param_use): Switch order between two nested
"if"s to avoid useless empty lines.
Adjust callers to avoid useless lines.

12 years agoglr.c: remove (broken) support for YYPRINT.
Akim Demaille [Thu, 15 Mar 2012 13:34:06 +0000 (14:34 +0100)] 
glr.c: remove (broken) support for YYPRINT.

YYPRINT uses yytoknum which glr does not define.  Since YYPRINT
is considered obsolete, and did not work, don't fix its support,
remove it from glr.c.

* data/c.m4 (yy_symbol_value_print): Use YYPRINT only for yacc.c.
* TODO: Done.

12 years agodoc: minor fixes to "Understanding" section
Paul Eggert [Sat, 17 Mar 2012 19:52:47 +0000 (12:52 -0700)] 
doc: minor fixes to "Understanding" section

* doc/bison.texinfo (Understanding): Minor wording fixes and
improvements.  Fixes problems reported in
<https://savannah.gnu.org/patch/?4306>.

12 years agoTODO: update.
Akim Demaille [Thu, 15 Mar 2012 12:56:07 +0000 (13:56 +0100)] 
TODO: update.

12 years agognulib: update.
Akim Demaille [Thu, 15 Mar 2012 12:47:19 +0000 (13:47 +0100)] 
gnulib: update.

12 years agomaint: fix distcheck.
Akim Demaille [Tue, 13 Mar 2012 10:58:46 +0000 (11:58 +0100)] 
maint: fix distcheck.

* examples/local.mk (MAINTAINERCLEANFILES): Complete, and rename as...
(CLEANFILES): this,
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/rpcalc/local.mk (CLEANFILES): Add the generated files.

12 years agotests: minor fixes/simplifications
Akim Demaille [Wed, 22 Feb 2012 13:42:59 +0000 (14:42 +0100)] 
tests: minor fixes/simplifications

* tests/local.at (AT_BISON_CHECK_NO_XML): Simplify sed programs,
quotation, and default value assignments.
Ensure a proper value to the numeric variables.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html

12 years agotests: be robust to POSIXLY_CORRECT being defined.
Akim Demaille [Tue, 6 Mar 2012 08:09:02 +0000 (09:09 +0100)] 
tests: be robust to POSIXLY_CORRECT being defined.

* tests/local.at (AT_BISON_CHECK_NO_XML): Check if
POSIXLY_CORRECT is defined, not if it is defined to 1.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html

12 years agotests: remove quote magic from the bison test wrapper.
Akim Demaille [Wed, 22 Feb 2012 15:11:05 +0000 (16:11 +0100)] 
tests: remove quote magic from the bison test wrapper.

Basically, revert 4c4d35394d1bdb4dc3392482ab002bc111a3378f.

* tests/bison.in: Leave bison's stderr as is.

12 years agotests: be robust to quote style.
Akim Demaille [Wed, 8 Feb 2012 13:44:24 +0000 (14:44 +0100)] 
tests: be robust to quote style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.

* src/main.c (main): Define the quoting style we use.
* tests/atlocal.in: Use ASCII style quotes during the tests.

12 years agoavoid direct strncmp calls.
Akim Demaille [Thu, 23 Feb 2012 19:14:42 +0000 (20:14 +0100)] 
avoid direct strncmp calls.

Before this change, bison would accept either .tab and _tab equivalently,
whatever the current platform.  Besides, it was not obeying everywhere
to the possible definition of TAB_EXT to something else than .tab.

For consistency, handle only TAB_EXT (".tab" on non DJGPP platforms).
Support for "_tab" is neither documented, nor tested.

* src/system.h (STRNCMP_LIT): New.
From Jim Meyering.
(STRPREFIX_LIT): New.
* src/files.c, src/getargs.c: Use it.

12 years agobuild: comment changes.
Akim Demaille [Fri, 24 Feb 2012 13:00:22 +0000 (14:00 +0100)] 
build: comment changes.

* Makefile.am, examples/calc++/local.mk, examples/local.mk,
* examples/mfcalc/local.mk, examples/rpcalc/local.mk,
* lib/local.mk, src/local.mk, tests/local.mk:
Make the copyright licenses more uniform.

12 years agobuild: fix more example extraction issues.
Akim Demaille [Fri, 24 Feb 2012 11:10:07 +0000 (12:10 +0100)] 
build: fix more example extraction issues.

* Makefile.am (dist_TESTS): New.
(TESTS, EXTRA_DIST): Run and ship them.
* examples/calc++/local.mk: examples/calc++/calc++.stamp no longer
        exists, don't try to ship it.
(.yy.stamp): New recipe.
Use it.
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/rpcalc/local.mk:
Don't ship the sources.
Adjust the CPPFLAGS: there is nothing left in srcdir.
(MAINTAINERCLEANFILES): Remove, now we are in builddir.
(TESTS): Rename as...
(dist_TESTS): this.

12 years agomaint: fix example extraction issues.
Akim Demaille [Wed, 22 Feb 2012 13:42:39 +0000 (14:42 +0100)] 
maint: fix example extraction issues.

calc++: don't rely on Automake to compile a C++ parser.

Basically, revert commit 609b3d8096fb0cc1fa4d908b6e1a860ced260bda,
Automake 1.11.3 is not safe enough for C++ parser.

* examples/calc++/calc++-parser.hh: Remove.
* examples/calc++/local.mk (examples/calc++/calc++-parser.stamp):
New.

examples: factor the extractions into a single step

extexi had to be run in the extraction directory.  Now, it can be
given the files with expected output directory.  This allows to
use $(*_extracted) variables (before we had to list again their
members, but limited to their base names).  In turn, this also
allows fusing the extraction recipes into a single one.

Also, it is currently too hard (or requires too much duplication,
since Make wants all the occurrences of the files to be prefixed with
$(srcdir)/, which is something Automake cannot support for *_SOURCES)
to work in the source tree.  So extract, and compile scanners and parsers
in the build tree.

* examples/extexi (basename): New.
(BEGIN): Now "file_wanted" maps base name to extracted file name.
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/rpcalc/local.mk: Fuse extraction rules into...
* examples/local.mk: Here.
(extract, extracted): New.

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.

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.

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.

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: 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: 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.

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.

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: 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.

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.

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>.

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: generalize etc/prefix-gnulib-mk
Jim Meyering [Sat, 21 Jan 2012 21:43:09 +0000 (22:43 +0100)] 
build: generalize etc/prefix-gnulib-mk

This script hard-coded "libbison" and lib/gnulib.mk.
Adjust the script to require a --lib-name=$gnulib_name option
and a FILE argument like lib/$gnulib_mk.
Also add support for --help and --version.
* etc/prefix-gnulib-mk: Generalize.
* bootstrap.conf (bootstrap_post_import_hook): Update its invocation.

12 years agomaint: be more robust to gnulib's FOO_H variables.
Akim Demaille [Fri, 20 Jan 2012 12:47:11 +0000 (13:47 +0100)] 
maint: be more robust to gnulib's FOO_H variables.

* configure.ac: Instead of listing gnulib's variables, look for
them among AC_SUBST variables.

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.

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.

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.

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

12 years agobuild: manually update bootstrap from gnulib, and adapt
Jim Meyering [Mon, 16 Jan 2012 11:29:19 +0000 (12:29 +0100)] 
build: manually update bootstrap from gnulib, and adapt

Updating to the latest bootstrap from gnulib involves more of a
change than usual, and updating to the latest gnulib would involve
its own set of challenges with the upcoming quoting changes, so
we update bootstrap manually and separately.
* bootstrap: Update from gnulib.
* Makefile.am: Initialize more variables to empty, so that gnulib.mk
can append to them with "+=".
* bootstrap.conf (gnulib_mk_hook): Remove.  No longer honored.
(bootstrap_post_import_hook): Instead, run the same command,
etc/prefix-gnulib-mk lib/$gnulib_mk, via slightly different API.
Temporarily disable "bootstrap_sync=true".
* etc/prefix-gnulib-mk: Don't prepend "lib/" to tokens like -I$(...
or "\".

12 years agomaint: include <config.h> first
Jim Meyering [Mon, 16 Jan 2012 11:18:46 +0000 (12:18 +0100)] 
maint: include <config.h> first

* cfg.mk (exclude_file_name_regexp--sc_require_config_h_first):
Exempt data/glr.c and data/yacc.c from the include-config.h-first
requirement.

12 years agobuild: include <config.h> from lib/yyerror.c
Jim Meyering [Mon, 16 Jan 2012 11:16:24 +0000 (12:16 +0100)] 
build: include <config.h> from lib/yyerror.c

* lib/yyerror.c: Include <config.h>.

12 years agomaint: list djgpp/subpipe.c in po/POTFILES.in
Jim Meyering [Mon, 16 Jan 2012 11:14:12 +0000 (12:14 +0100)] 
maint: list djgpp/subpipe.c in po/POTFILES.in

* po/POTFILES.in: Add djgpp/subpipe.c.

12 years agomaint: placate the space-TAB syntax-check
Jim Meyering [Mon, 16 Jan 2012 10:58:41 +0000 (11:58 +0100)] 
maint: placate the space-TAB syntax-check

* cfg.mk (exclude_file_name_regexp--sc_space_tab): Exempt
tests/input.at and tests/c++.at, since they appear to use
SP-TAB sequences deliberately.
* OChangeLog: Remove space-before-TAB.

12 years agomaint: remove final trailing space
Jim Meyering [Mon, 16 Jan 2012 10:48:19 +0000 (11:48 +0100)] 
maint: remove final trailing space

* src/scan-gram.l (%): Remove single space at end of line.

12 years agomaint: get gpl-3.0 from gnulib
Jim Meyering [Mon, 16 Jan 2012 10:47:05 +0000 (11:47 +0100)] 
maint: get gpl-3.0 from gnulib

* bootstrap.conf (gnulib_modules): Add gpl-3.0.
* doc/gpl-3.0.texi: Remove from version control, now that
we get it via gnulib.
* doc/.gitignore: Ignore it.

12 years agodoc: correct typo: s/can not/cannot/
Jim Meyering [Mon, 16 Jan 2012 10:42:55 +0000 (11:42 +0100)] 
doc: correct typo: s/can not/cannot/

* doc/bison.texinfo (Bug Reports): s/can not/cannot/
And remove trailing blanks.

12 years agojava: fix reduction traces.
Akim Demaille [Sun, 15 Jan 2012 13:23:15 +0000 (14:23 +0100)] 
java: fix reduction traces.

* data/lalr1.java (yy_reduce_print): Fix state index.
Reported by Tim Landscheidt.

12 years agobuild: avoid warning from coverity about lbitset_elt_find
Jim Meyering [Thu, 12 Jan 2012 13:52:26 +0000 (14:52 +0100)] 
build: avoid warning from coverity about lbitset_elt_find

* lib/lbitset.c (lbitset_elt_find): Remove unnecessary test of "elt",
at a point where we know it is non-NULL, due to prior dereference.

Copyright (C) 1987-1988, 1991-2012 Free Software Foundation,

12 years agomaint: get fdl.texi from gnulib
Jim Meyering [Fri, 13 Jan 2012 09:39:45 +0000 (10:39 +0100)] 
maint: get fdl.texi from gnulib

* bootstrap.conf (gnulib_modules): Add fdl.
* doc/fdl.texi: Remove file.

12 years agomaint: spell "file system" as two separate words
Jim Meyering [Fri, 13 Jan 2012 09:22:48 +0000 (10:22 +0100)] 
maint: spell "file system" as two separate words

* doc/Doxyfile.in: Spell it "file system", to avoid a
"make syntax-check" failure.

12 years agomaint: avoid "the the"
Jim Meyering [Fri, 13 Jan 2012 09:18:26 +0000 (10:18 +0100)] 
maint: avoid "the the"

* djgpp/README.in: s/the the/the/
* src/parse-gram.c (lloc_default): Likewise.
* src/parse-gram.y (lloc_default): Likewise, and remove a
trailing space.