]> git.saurik.com Git - bison.git/log
bison.git
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 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: 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: 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 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 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 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 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 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 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: 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)

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.
* lib/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.
(gnulib_tool_option_extras): Generate gnulib.mk.
(cherry picked from commit 85ad742d4e94345d5ac07755f6722344cfd49603)

Conflicts:

Makefile.am
bootstrap.conf
etc/prefix-gnulib-mk

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.
(cherry picked from commit 77f114dd6e50ab39e0962f39ad9c2f2e1d347acf)

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>.
(cherry picked from commit cf33c228e08142e3ef715105a191db24ec980ca8)

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.
(cherry picked from commit e7f5dbf82d8b8110a8982d31d034755b5d072fdc)

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.
(cherry picked from commit aebc4303615a4431acaa54e42380feb6b63e7f12)

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.
(cherry picked from commit 411614fac478a60cf942dc5e2011a08178156d30)

Conflicts:

doc/bison.texinfo

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.
(cherry picked from commit b87414a05e43ed270d5a88d365d0139f43acb34d)

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.

Conflicts:

ChangeLog
src/parse-gram.y

12 years agobuild: avoid warning from coverity about lbitset_elt_find
Jim Meyering [Fri, 13 Jan 2012 11:19:08 +0000 (12:19 +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.

12 years agomaint: factor copyright year.
Akim Demaille [Fri, 13 Jan 2012 11:02:36 +0000 (12:02 +0100)] 
maint: factor copyright year.

* configure.ac: Use $PACKAGE_COPYRIGHT_YEAR instead of repeating it.

12 years agomaint: catch missing gnulib macros.
Akim Demaille [Fri, 13 Jan 2012 11:00:12 +0000 (12:00 +0100)] 
maint: catch missing gnulib macros.

* configure.ac: Add m4_pattern_forbid.

12 years agomaint: run "make update-copyright".
Akim Demaille [Fri, 13 Jan 2012 10:47:30 +0000 (11:47 +0100)] 
maint: run "make update-copyright".

12 years agojava: remove unused variable.
Tim Landscheidt [Sun, 8 Jan 2012 01:27:33 +0000 (01:27 +0000)] 
java: remove unused variable.

* data/lalr1.java (yyresult): remove, unused.

12 years agoscanner: fix typo.
Akim Demaille [Wed, 11 Jan 2012 15:46:36 +0000 (16:46 +0100)] 
scanner: fix typo.

* src/scan-skel.l (@`): s/emtpy/empty/.
Reported by Tim Landscheidt.

12 years agobuild: avoid warnings about set-but-not-used variables
Jim Meyering [Fri, 6 Jan 2012 12:55:11 +0000 (13:55 +0100)] 
build: avoid warnings about set-but-not-used variables

* lib/bitset_stats.c (bitset_stats_list): Remove declaration
and set of unused local, "type".
* lib/ebitset.c (ebitset_init): Likewise, for "size".
* lib/lbitset.c (lbitset_not): Likewise, for "elt".

13 years agotests: add -pedantic for --enable-gcc-warnings.
Joel E. Denny [Sun, 21 Aug 2011 17:07:16 +0000 (13:07 -0400)] 
tests: add -pedantic for --enable-gcc-warnings.

This should help to avoid some portability problems.  For example,
it would have revealed the empty unions fixed by the last patch
* configure.ac (WARN_CFLAGS_TESTS, WARN_CXXFLAGS_TEST): Implement.
* tests/synclines.at (AT_TEST_SYNCLINE): Avoid -pedantic warning
about an empty translation unit.

13 years agotests: fix empty unions.
Joel E. Denny [Sun, 21 Aug 2011 18:45:03 +0000 (14:45 -0400)] 
tests: fix empty unions.

Empty unions are not accepted by the ISO C99 grammar or by at
least some versions of Sun Studio.  Reported by Wolfgang S. Kechel
at
<http://lists.gnu.org/archive/html/bug-bison/2011-08/msg00003.html>.
* NEWS (2.5.1): Document fix.
* THANKS (Wolfgang S. Kechel): Add.
* tests/existing.at (GNU Cim Grammar)
(GNU pic (Groff 1.18.1) Grammar.): Remove empty %union.

13 years agobuild: avoid YACC typo inherited from Autoconf.
Joel E. Denny [Sun, 10 Jul 2011 17:42:12 +0000 (13:42 -0400)] 
build: avoid YACC typo inherited from Autoconf.

The typo shows up in the `configure --help' output.  Reported by
W.C.A. Wijngaards and Paul Eggert at
<http://lists.gnu.org/archive/html/bug-bison/2011-07/msg00000.html>.
* README-hacking (Release Procedure): Remind about updating
maintainer tools before a release.
* THANKS (W.C.A. Wijngaards): Add.
* configure.ac (AC_PREREQ): Set to 2.68, which fixes the YACC
typo.

13 years agobuild: create xz instead of bzip2 tarballs.
Joel E. Denny [Sun, 10 Jul 2011 16:38:24 +0000 (12:38 -0400)] 
build: create xz instead of bzip2 tarballs.

Suggested by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-06/msg00012.html>.
* README-hacking (Release Procedure): Update example.
* configure.ac (AM_INIT_AUTOMAKE): Replace dist-bzip2 with
dist-xz.

13 years agodoc: clean up references to `Locations Overview'.
Joel E. Denny [Mon, 30 May 2011 02:30:55 +0000 (22:30 -0400)] 
doc: clean up references to `Locations Overview'.

* doc/bison.texinfo (Locations Overview): Rename node to...
(Locations): ... this, which is its section name.  Update menus to
match that and not to use the title `Tracking Locations', which is
a different section.

13 years agodoc: clean up references to `Tracking Locations'.
Joel E. Denny [Mon, 30 May 2011 02:18:27 +0000 (22:18 -0400)] 
doc: clean up references to `Tracking Locations'.

* doc/bison.texinfo (Locations): Rename node to...
(Tracking Locations): ... this, which is its section name, and
update all cross references.  The trouble is that there is another
node about locations.  Its section name is `Locations', which was
easily confused with the node name of this node.  Moreover, its
node name is `Locations Overview', which was mistakenly used to
label some cross references to this node.

13 years agodoc: clean up `Named References' a little.
Joel E. Denny [Mon, 30 May 2011 00:28:09 +0000 (20:28 -0400)] 
doc: clean up `Named References' a little.

* doc/bison.texinfo (Named References): Rename section to match
the node name, and update all cross references.  Don't use the
acronyms RHS and LHS given that we don't expand them anywhere in
the manual.  Try to use @samp and @code properly.  Mention that
named references are experimental as we've already stated in NEWS.
(Destructor Decl): Expand the only remaining use of RHS or LHS.

13 years agodoc: motivate named references.
Joel E. Denny [Mon, 30 May 2011 00:06:22 +0000 (20:06 -0400)] 
doc: motivate named references.

Suggested by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* doc/bison.texinfo (Named References): Explain briefly how
they're better than the traditional positional references.

13 years agodoc: discuss named references after locations.
Joel E. Denny [Sun, 29 May 2011 23:59:44 +0000 (19:59 -0400)] 
doc: discuss named references after locations.

Reported by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* NEWS (2.5.1): Document.
* doc/bison.texinfo (Named References): Because it discusses
locations in addition to semantic values, move this subsection out
of the section `Defining Language Semantics', where locations have
not yet been introduced, to be a new section after the following
section, `Tracking Locations'.

13 years agoPrepare for the possibility of a 2.5.1 release.
Joel E. Denny [Mon, 30 May 2011 00:49:16 +0000 (20:49 -0400)] 
Prepare for the possibility of a 2.5.1 release.

* NEWS (2.5.1): New heading.

13 years agoVersion 2.5. v2.5
Joel E. Denny [Sat, 14 May 2011 22:14:52 +0000 (18:14 -0400)] 
Version 2.5.

* NEWS (2.5): Set date.

13 years agoDon't use IF_LINT in Bison sources.
Joel E. Denny [Sat, 14 May 2011 20:16:26 +0000 (16:16 -0400)] 
Don't use IF_LINT in Bison sources.

It creates unnecessary differences between the sources that Bison
maintainers build and test (given that maintainers normally
configure with --enable-gcc-warnings) and the sources that Bison
users build.  Instead, use PACIFY_CC, which doesn't.  This change
fixes compiler warnings reported by Tys Lefering at
<http://lists.gnu.org/archive/html/bison-patches/2011-05/msg00004.html>.
* configure.ac: Don't AC_DEFINE lint regardless of the configure
options.  This change affects imported gnulib sources, where
IF_LINT still appears and depends on lint.
* src/scan-gram.l, src/scan-skel.l: Replace uses of IF_LINT with
PACIFY_CC.
* src/system.h (IF_LINT): Remove cpp macro.
(PACIFY_CC): New cpp macro.

13 years agoFix precedence for end token.
Joel E. Denny [Mon, 2 May 2011 01:53:35 +0000 (21:53 -0400)] 
Fix precedence for end token.

Since Bison 2.3b, which restored the ability of precedence
directives to assign user token numbers, doing so for user token
number 0 has produced an assertion failure.
* NEWS (2.5): Document fix.
* src/symtab.c (symbol_user_token_number_set): In the case of the
end token, don't decrement ntokens if it was never incremented.
* tests/regression.at (Token number in precedence declaration):
Extend.

13 years agoPrepare for 2.5 release.
Joel E. Denny [Sun, 1 May 2011 22:41:34 +0000 (18:41 -0400)] 
Prepare for 2.5 release.

* NEWS (2.5_rc1): Rename back to...
(2.5): ... this, and unset date.

13 years agoVersion 2.5_rc1. v2.5_rc1
Joel E. Denny [Sun, 1 May 2011 14:27:37 +0000 (10:27 -0400)] 
Version 2.5_rc1.

* NEWS (2.5): Rename to...
(2.5_rc1): ... this, and set date.

13 years agoPacify -DGNULIB_POSIXCHECK.
Joel E. Denny [Sun, 1 May 2011 16:25:31 +0000 (12:25 -0400)] 
Pacify -DGNULIB_POSIXCHECK.

* bootstrap.conf (gnulib_modules): Add all modules suggested by
-DGNULIB_POSIXCHECK.
* src/files.c (file_name_split)
* src/getargs.c (getargs)
* src/location.c (boundary_set_from_string)
* src/output.c (token_definitions_output, output_skeleton)
* src/parse-gram.y (prologue_declaration)
* src/scan-gram.l (handle_syncline)
* src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
strchr and strrchr.  In the cases of command-line options, file
names, and thus locations, functionality may be improved.  In the
case of symbol names, there should be no functional difference as
all characters are ASCII, so the intended benefit is just warning
suppression.

13 years ago* NEWS (2.5): Fix minor typos.
Joel E. Denny [Sun, 1 May 2011 21:33:14 +0000 (17:33 -0400)] 
* NEWS (2.5): Fix minor typos.

13 years agodoc: clean up quotation style in NEWS.
Joel E. Denny [Sun, 1 May 2011 14:22:39 +0000 (10:22 -0400)] 
doc: clean up quotation style in NEWS.

* NEWS (2.5): For multi-character tokens in example grammar rules,
use "token" not 'token'.  In English, use a consistent quotation
style; we might as well follow the precedent seen in info pages:
`quote' not "quote".

13 years agotests: pacify gcc 4.6.0's -Wunused-but-set-variable.
Joel E. Denny [Sat, 16 Apr 2011 22:26:18 +0000 (18:26 -0400)] 
tests: pacify gcc 4.6.0's -Wunused-but-set-variable.

Reported by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
* tests/actions.at
(Default %printer and %destructor for mid-rule values): Define
YYLLOC_DEFAULT so that it uses its Rhs argument.

13 years agoglr.c: omit yyresolveLocations when locations are disabled.
Joel E. Denny [Sat, 16 Apr 2011 22:15:40 +0000 (18:15 -0400)] 
glr.c: omit yyresolveLocations when locations are disabled.

This prevents gcc 4.6.0's -Wunused-but-set-variable from warning
about yyresolveLocations's local yyrhsloc.  When locations are
enabled, there's no such warning because YYLLOC_DEFAULT then uses
yyrhsloc.  Reported by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
* data/glr.c (yyresolveLocations): Omit definition when locations
are disabled.
(yyresolveValue): Omit yyresolveLocations invocation when
locations are disabled.

13 years agognulib, autoconf: update.
Joel E. Denny [Sat, 16 Apr 2011 18:59:32 +0000 (14:59 -0400)] 
gnulib, autoconf: update.

* README-hacking (Updating a submodule): Give advice on how to
determine the versions of gnulib and autoconf to which we should
update.
(Release Procedure): Note that submodules should be updated.
* bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as
suggested in updated gnulib NEWS.
* gnulib: Choose a stable snapshot according to advice in Bison's
README-hacking.
* po/POTFILES.in (lib/pipe.c): Rename to...
(lib/spawn-pipe.c): ... this.
* src/output.c: Update to include spawn-pipe.h.
* submodules/autoconf: Update to latest for improvement in m4.m4
that excludes M4 with buggy strstr.  The only other changes to
files that we use are copyright updates.

13 years agoFix missing updates to GPLv3.
Joel E. Denny [Sat, 9 Apr 2011 22:24:55 +0000 (18:24 -0400)] 
Fix missing updates to GPLv3.

Reported by Tys Lefering at
<http://lists.gnu.org/archive/html/bison-patches/2011-04/msg00000.html>.
* src/print-xml.c, src/print-xml.h: In these files.

13 years agoAdd -Wconflicts-sr and -Wconflicts-rr.
Joel E. Denny [Mon, 28 Mar 2011 02:38:32 +0000 (22:38 -0400)] 
Add -Wconflicts-sr and -Wconflicts-rr.

Thus, conflict reports are now affected by -Werror and -Wnone
(unless %expect or %expect-rr is specified).  Reported by George
Neuner at
<http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
* NEWS (2.5): Document.
* doc/bison.texinfo (Bison Options): Document.
* src/complain.c, src/complain.h (set_warning_issued): Export
function.
* src/conflicts.c (conflicts_print): Suppress conflict report
based on -Wno-conflicts-sr and -Wno-conflicts-rr, and treat
conflicts as errors if -Werror.
* src/getargs.c (warnings_flag): Initialize with
warnings_conflicts_sr and warnings_conflicts_rr as well.
(warnings_args, warnings_types): Add entries for
warnings_conflicts_sr and warnings_conflicts_rr.
(usage): Update.
* src/getargs.h (enum warnings): Add entries for
warnings_conflicts_sr and warnings_conflicts_rr.
* tests/conflicts.at (-W versus %expect and %expect-rr): New test
group.
* tests/local.at (AT_BISON_CHECK_NO_XML): Update now that the
conflict report can produce a "warnings being treated as errors"
message.  Also, check that stderr is now fully scrubbed by -Wnone
when the exit status is 0.

13 years agoPacify maintainer-check-posix.
Joel E. Denny [Sun, 27 Mar 2011 23:29:37 +0000 (19:29 -0400)] 
Pacify maintainer-check-posix.

Adding command-line options after the grammar file name is not
permitted, so disable checks that do that when
maintainer-check-posix is running.
* tests/local.at (AT_BISON_CHECK_NO_XML): Don't run the
problematic checks when POSIXLY_CORRECT=1.  Also, for readability,
remove an unnecessary m4_if.

13 years agoAdd -Wother so -Wnone suppresses all warnings.
Joel E. Denny [Sun, 27 Mar 2011 23:08:24 +0000 (19:08 -0400)] 
Add -Wother so -Wnone suppresses all warnings.

Reported by George Neuner at
<http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
* NEWS (2.5): Document.
* THANKS (George Neuner): Add.
* doc/bison.texinfo (Bison Options): Document.
* src/complain.c, src/complain.h
(warn_at, warn_at_indent, warn): Suppress warning if -Wno-other.
(midrule_value_at): New warning function, similar to yacc_at in
that it's controlled by its own warning category.
* src/getargs.c (warnings_flag): Initialize to warnings_other.
(warnings_args, warnings_types): Add entry for warnings_other.
(usage): Update.
* src/getargs.h (enum warnings): Add entry for warnings_other.
* src/gram.c (grammar_rules_useless_report): If -Wno-other, then
don't print useless rules.
* src/reader.c (symbol_should_be_used): Rather than adjusting the
return value based on whether midrule value warnings are enabled,
accept a new parameter for telling the caller whether true is
being returned for a potential midrule warning.
(grammar_rule_check): Use midrule_value_at for midrule value
warnings, and continue to use warn_at for all other warnings.  Let
them check whether the warnings are enabled.
* tests/local.at (AT_BISON_CHECK): Update documentation.
(AT_BISON_CHECK_NO_XML): Check that -Wnone and --warnings=none
disable all warnings exercised in the test suite.

13 years agoDon't let -Wnone disable -Werror.
Joel E. Denny [Sun, 27 Mar 2011 19:39:25 +0000 (15:39 -0400)] 
Don't let -Wnone disable -Werror.

Discussed at
<http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00009.html>.
* NEWS (2.5): Document.
* src/getargs.c (flags_argmatch): Accept a new argument that
specifies what flags "all" and thus "none" affect.
(FLAGS_ARGMATCH): Update flags_argmatch invocation.
* tests/input.at (-Werror is not affected by -Wnone and -Wall):
New test group.

13 years ago* NEWS (2.5): Document fix for -Wno-KEY.
Joel E. Denny [Sun, 27 Mar 2011 19:46:29 +0000 (15:46 -0400)] 
* NEWS (2.5): Document fix for -Wno-KEY.

13 years agoImplement no-XXX arguments for --warnings, --report, --trace.
Di-an Jan [Fri, 21 Nov 2008 21:09:16 +0000 (13:09 -0800)] 
Implement no-XXX arguments for --warnings, --report, --trace.

* src/getargs.c (flags_argmatch): Handles no-XXX.
Fix typo in doxygen comment.
(cherry picked from commit 4182a0a18681fe4808f474441d62c5d2489e24e4)

13 years agodoc: fix confusing citation of LAC publication.
Joel E. Denny [Sun, 20 Mar 2011 21:41:23 +0000 (17:41 -0400)] 
doc: fix confusing citation of LAC publication.

Suggested by Akim Demaille.
* doc/bison.texinfo (LAC): Here.

13 years agolr.default-reductions: rename "full" value to "most".
Joel E. Denny [Sun, 20 Mar 2011 21:35:10 +0000 (17:35 -0400)] 
lr.default-reductions: rename "full" value to "most".

Unlike "consistent" and "accepting", "full" doesn't answer the
question of "which states".
* doc/bison.texinfo (%define Summary): Update.
(Default Reductions): Update.
* src/print.c (print_reductions): Update.
* src/reader.c (prepare_percent_define_front_end_variables):
Update.
* src/tables.c (action_row): Update.
* tests/input.at (%define enum variables): Update.
* tests/reduce.at (%define lr.default-reductions): Update.

13 years ago* src/parse-gram.c, src/parse-gram.h: Regenerate.
Joel E. Denny [Sun, 13 Mar 2011 20:24:05 +0000 (16:24 -0400)] 
* src/parse-gram.c, src/parse-gram.h: Regenerate.

13 years agonamed references: fix double free.
Akim Demaille [Wed, 2 Mar 2011 16:06:58 +0000 (17:06 +0100)] 
named references: fix double free.

In `rhs[name]: "a" | "b"', do not free "name" twice.
Reported by Tys Lefering.
<http://lists.gnu.org/archive/html/bug-bison/2010-06/msg00002.html>

* src/named-ref.h, src/named-ref.c (named_ref_copy): New.
* src/parse-gram.y (current_lhs): Rename as...
(current_lhs_symbol): this.
(current_lhs): New function.  Use it to free the current lhs
named reference.
* src/reader.c: Bind lhs to a copy of the current named reference.
* src/symlist.c: Rely on free (0) being valid.
* tests/named-refs.at: Test this.

13 years agotests: style changes.
Akim Demaille [Wed, 2 Mar 2011 16:03:37 +0000 (17:03 +0100)] 
tests: style changes.

* tests/named-refs.at (Redundant words in LHS brackets)
(Unresolved references): here.

13 years agojava: fix parser tracing bug.
Joel E. Denny [Mon, 7 Mar 2011 03:27:28 +0000 (22:27 -0500)] 
java: fix parser tracing bug.

* NEWS (2.5): Document.
* data/lalr1.java (YYParser::YYStack::print): Don't skip top
element.

13 years agojava: finish fixing parser stack popping bug.
Joel E. Denny [Mon, 7 Mar 2011 03:48:46 +0000 (22:48 -0500)] 
java: finish fixing parser stack popping bug.

* NEWS (2.5): Document.
* data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
in clearing the location stack.  Also fix pop function that
accepts no arguments.

13 years agojava: fix parser stack popping bug.
Angelo Borsotti [Mon, 7 Mar 2011 03:19:18 +0000 (22:19 -0500)] 
java: fix parser stack popping bug.

Reported at
<http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
* THANKS (Angelo Borsotti): Add.
* data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
in clearing the value stack.  Previously, the top element of the
stack wasn't cleared and so the value was not garbage collected.

13 years agodoc: cite publication for LAC.
Joel E. Denny [Sun, 6 Mar 2011 22:12:16 +0000 (17:12 -0500)] 
doc: cite publication for LAC.

* doc/bison.texinfo (LAC): Here.

13 years agodoc: clean up terminology for mysterious conflicts.
Joel E. Denny [Sun, 6 Mar 2011 17:54:35 +0000 (12:54 -0500)] 
doc: clean up terminology for mysterious conflicts.

* doc/bison.texinfo (Mystery Conflicts): Rename node to...
(Mysterious Conflicts): ... this, which is already the section
title and the name used in the index.  Update all cross-references
to this node.  Also, don't imply that R/R conflicts are the only
kind of mysterious conflict.

13 years agolr.default-reductions: rename "all" value to "full".
Joel E. Denny [Sun, 6 Mar 2011 17:46:27 +0000 (12:46 -0500)] 
lr.default-reductions: rename "all" value to "full".

States that shift the error token do not have default reductions,
and GLR disables some default reductions, so "all" was a misnomer.
* doc/bison.texinfo (%define Summary): Update.
(Default Reductions): Update.
* src/print.c (print_reductions): Update.
* src/reader.c (prepare_percent_define_front_end_variables):
Update.
* src/tables.c (action_row): Update.
* tests/input.at (%define enum variables): Update.
* tests/reduce.at (%define lr.default-reductions): Update.

13 years agodoc: create a new Tuning LR section in the manual.
Joel E. Denny [Tue, 22 Feb 2011 00:09:24 +0000 (19:09 -0500)] 
doc: create a new Tuning LR section in the manual.

And clean up all other documentation of the features described
there.
* NEWS (2.5): Tweak wording of lr.type and parse.lac entries a
bit, update the cross-references to the manual, and point out that
LAC has caveats.  Don't be so adamant that IELR+LAC=canonical LR.
That is, as the referenced section in the manual documents, LAC
does not fix infinite parsing loops on syntax errors.
* doc/bison.texinfo: Consistently drop the "(1)" suffix from LALR,
IELR, and LR in @cindex.
(%define Summary): Condense the entries for lr.default-reductions,
lr.keep-unreachable-states, lr.type, and parse.lac into brief
summaries, and cross-reference the appropriate subsections of
Tuning LR.  For parse.lac, mention that it's only implemented for
deterministic parsers in C.
(Error Reporting): When mentioning %error-verbose, mention LAC,
and add cross-reference to the LAC section.
(Tuning LR): New section with an extended version of the
documentation removed from %define Summary.  Change all
cross-references in the manual to point here instead of there.
(Calc++ Parser): When mentioning %error-verbose, mention LAC, and
add cross-reference to the LAC section.
(Table of Symbols): In %error-verbose and YYERROR_VERBOSE entries,
add cross-references to Error Reporting.
(Glossary): Capitalize entry titles consistently.  Add definitions
for "defaulted state" and "unreachable state".  Expand IELR
acronym in IELR's entry.

13 years agodoc: add bibliography to manual.
Joel E. Denny [Sun, 20 Feb 2011 21:58:52 +0000 (16:58 -0500)] 
doc: add bibliography to manual.

* doc/bison.texinfo (Mystery Conflicts): Cross-reference
bibliography instead of citing publications directly.
(Generalized LR Parsing): Likewise.
(Bibliography): New section.  Not all entries are cross-referenced
yet, but that will come in future patches.

13 years agojava: test and document previous bug fix.
Joel E. Denny [Sun, 20 Feb 2011 00:36:33 +0000 (19:36 -0500)] 
java: test and document previous bug fix.

* NEWS (2.5): Document it.
* tests/java.at (_AT_DATA_JAVA_CALC_Y): To one of the yyerror
invocations, pass a location that spans multiple tokens.  Change
yyerror to report all of a location rather than just the begin
position.  Extend yylex and Position to count tokens on a line.
Remove getHashCode as it's unused.  Update all expected output.

13 years agojava: fix location handling bug.
Bernd Kiefer [Sun, 20 Feb 2011 00:24:07 +0000 (19:24 -0500)] 
java: fix location handling bug.

Reported at
<http://lists.gnu.org/archive/html/bison-patches/2011-02/msg00005.html>.
* data/lalr1.java (YYParser::yylloc): For non-empty RHS, fix
reversed access to location stack.
* THANKS (Bernd Kiefer): Add.

13 years agodoc: please Emacs.
Akim Demaille [Tue, 11 May 2010 19:31:31 +0000 (21:31 +0200)] 
doc: please Emacs.

* doc/bison.texinfo (Local Variables): Move this after the
LocalWords, since the latter are looked for in the whole document,
while the former are looked for only at its end.
Require american spell checking.
(cherry picked from commit e944aaff36c500c8de9537551fe1aa8458b23fe2)

13 years agodoc: clean up new subsections in manual.
Joel E. Denny [Sun, 6 Feb 2011 19:18:01 +0000 (14:18 -0500)] 
doc: clean up new subsections in manual.

* doc/bison.texinfo (%define Summary): Reword so it reads well as
a separate section.  For example, add an intro, and move most of
the text outside of the @deffn so it is not indented so far.
(%code Summary): Likewise.
(Table of Symbols): Reword %code entry to match the %code entry in
Decl Summary.

13 years agodoc: finish splitting apart the manual's Decl Summary section.
Joel E. Denny [Sun, 6 Feb 2011 17:41:24 +0000 (12:41 -0500)] 
doc: finish splitting apart the manual's Decl Summary section.

Suggested by Akim Demaille at
<http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
* doc/bison.texinfo (Decl Summary): Extract most of the %define
entry into...
(%define Summary): ... this new subsection, and update all
cross-references.  For readability of the patches, rewriting of
the text so it makes sense as a separate subsection will come in a
later patch.  Moreover, the majority of the text describing the
various new LR features should likely move to another new section
somewhere.

13 years agodoc: begin to split apart the manual's Decl Summary section.
Joel E. Denny [Sun, 6 Feb 2011 17:29:56 +0000 (12:29 -0500)] 
doc: begin to split apart the manual's Decl Summary section.

Discussed in thread starting at
<http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
* doc/bison.texinfo (Decl Summary): Extract most of the %code
entry into...
(%code Summary): ... this new subsection, and update all
cross-references.  For readability of the patches, rewriting of
the text so it makes sense as a separate subsection will come in a
later patch.

13 years agodoc: clean up naming of various Bison files.
Joel E. Denny [Sun, 6 Feb 2011 16:08:27 +0000 (11:08 -0500)] 
doc: clean up naming of various Bison files.

The Bison manual's names for various files associated with a Bison
parser has devolved into inconsistency.  This patch makes the
naming consistent for the most important files.  First, it chooses
"grammar file" over "input file".  The former appears to be more
traditional in the Bison manual, and Bison has other input
files (skeletons).  Second, it chooses "parser implementation
file" over names like "parser file", "parser source file", "parser
source code file", and "parser output file".  The new name makes
it clearer where Bison generates the main parser implementation,
and it is easily distinguishable from "parser header file".
* doc/bison.texinfo: Implement throughout.

13 years agodoc: give credit to more of Bison's developers.
Joel E. Denny [Sun, 6 Feb 2011 13:59:05 +0000 (08:59 -0500)] 
doc: give credit to more of Bison's developers.

* doc/bison.texinfo (Introduction): Don't imply that only Robert
Corbett, Richard Stallman, and Wilfred Hansen have contributed to
Bison.  However, I don't have time to write a full history, so
just point readers to THANKS and ChangeLog.

13 years agodoc: document experimental features better.
Joel E. Denny [Sun, 6 Feb 2011 13:52:09 +0000 (08:52 -0500)] 
doc: document experimental features better.

* doc/bison.texinfo (Introduction): Say that IELR(1) and canonical
LR(1) are experimental.  Mention Java.  Normally experimental
features probably shouldn't be mentioned in the introduction.
However, if Bison's limitations to LALR(1), C, and C++ are so
important that they should be mentioned here, then it's important
to point out that Bison is beginning to escape those limitations.
Moreover, these particular experimental features have very little
chance of being removed.
* src/getargs.c (usage): Say that IELR(1) and canonical LR(1) are
experimental.

13 years agoDo not allow identifiers that start with a dash.
Joel E. Denny [Sat, 29 Jan 2011 17:54:28 +0000 (12:54 -0500)] 
Do not allow identifiers that start with a dash.

This cleans up our previous fixes for a bug whereby Bison
discarded `.field' in `$-1.field'.  The previous fixes were less
restrictive about where a dash could appear in an identifier, but
the restrictions were hard to explain.  That bug was reported and
this final fix was originally suggested by Paul Hilfinger.  This
also fixes a remaining bug reported by Paul Eggert whereby Bison
parses `%token ID -123' as `%token ID - 123' and handles `-' as an
identifier.  Now, `-' cannot be an identifier.  Discussed in
threads beginning at
<http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00000.html>,
<http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00004.html>.
* NEWS (2.5): Update entry describing the dash extension to
grammar symbol names.  Also, move that entry before the named
references entry because the latter mentions the former.
* doc/bison.texinfo (Symbol): Update documentation for symbol
names.  As suggested by Paul Eggert, mention the effect of periods
and dashes on named references.
(Decl Summary): Update documentation for unquoted %define values,
which, as a side effect, can no longer start with dashes either.
* src/scan-code.l (id): Implement.
* src/scan-gram.l (id): Implement.
* tests/actions.at (Exotic Dollars): Extend test group to exercise
bug reported by Paul Hilfinger.
* tests/input.at (Symbols): Update test group, and extend to
exercise bug reported by Paul Eggert.
* tests/named-refs.at (Stray symbols in brackets): Update test
group.
($ or @ followed by . or -): Likewise.
* tests/regression.at (Invalid inputs): Likewise.
(cherry picked from commit 82f3355eaf8d5988391021262dc9acfa6485c098)