]> git.saurik.com Git - bison.git/commit - src/scan-gram.l
Do not allow identifiers that start with a dash.
authorJoel E. Denny <joeldenny@joeldenny.org>
Sat, 29 Jan 2011 17:54:28 +0000 (12:54 -0500)
committerJoel E. Denny <joeldenny@joeldenny.org>
Sun, 6 Feb 2011 00:15:51 +0000 (19:15 -0500)
commiteb8c66bbda06f71d107e2780503f2de9ba814ddd
tree1338374d18e8ef9a33bd1dadc4fe290aedb1ca49
parent448dc38bc4a5396809f0987fd4e93488498122a4
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)
ChangeLog
NEWS
doc/bison.texinfo
src/scan-code.l
src/scan-gram.l
tests/actions.at
tests/input.at
tests/named-refs.at
tests/regression.at