mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-10 12:53:03 +00:00
variables: accept dashes.
* src/scan-gram.l ({id}): Also accept dashes after the initial
letter.
({directive}): Use {id}.
* src/parse-gram.y: Comment and formatting changes.
* doc/bison.texinfo (Symbols): Adjust the lexical definitions of
symbols.
* src/complain.h, src/complain.c (yacc_at): New.
* src/symtab.c (symbol_new): Use yacc_at to report inappropriate
symbol names.
* src/output.c (token_definitions_output): Do not #define token
names with dashes.
(cherry picked from commit 4f646c3794)
Conflicts:
data/bison.m4
src/parse-gram.y
This commit is contained in:
committed by
Joel E. Denny
parent
379261b3fd
commit
663ce7bb3e
@@ -3051,8 +3051,12 @@ A @dfn{nonterminal symbol} stands for a class of syntactically
|
||||
equivalent groupings. The symbol name is used in writing grammar rules.
|
||||
By convention, it should be all lower case.
|
||||
|
||||
Symbol names can contain letters, digits (not at the beginning),
|
||||
underscores and periods. Periods make sense only in nonterminals.
|
||||
Symbol names can contain letters, underscores, period, and (not at the
|
||||
beginning) digits and dashes. Dashes in symbol names are a GNU
|
||||
extension, incompatible with @acronym{POSIX} Yacc. Terminal symbols
|
||||
that contain periods or dashes make little sense: since they are not
|
||||
valid symbols (in most programming languages) they are not exported as
|
||||
token names.
|
||||
|
||||
There are three ways of writing terminal symbols in the grammar:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user