mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
-F/--force-define and relative %define/-D/--define priorities.
* NEWS (2.5): Add documentation to -D/--define entry.
* build-aux/cross-options.pl: Hard-code association of
--force-define with %define.
* doc/bison.texinfo (Decl Summary): In %define entry,
cross-reference command-line options.
(Bison Options): Add documentation to -D/--define entry.
(Option Cross Key): Widen column for --force-define row.
* src/getargs.c (usage): Document -F/--force-define. Realign
options in output.
(short_options, long_options, getargs): Parse -F/--force-define,
and update muscle_percent_define_insert invocations.
* src/muscle-tab.h (muscle_percent_define_how): New enum type.
(muscle_percent_define_insert): Add argument with that type.
* src/muscle-tab.c (muscle_percent_define_insert): Implement
-F/--force-define behavior and priorities.
(muscle_percent_define_ensure): Update
muscle_percent_define_insert invocation.
* src/parse-gram.y (prologue_declaration): Update
muscle_percent_define_insert invocations.
* tests/input.at (`%define, --define'): Rename to...
(`%define, --define, --force-define'): ... this and extend.
(cherry picked from commit 34d4193815)
Conflicts:
src/getargs.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
This commit is contained in:
17
NEWS
17
NEWS
@@ -59,17 +59,22 @@ Bison News
|
||||
|
||||
** %define can now be invoked via the command line.
|
||||
|
||||
Each of these bison command-line options
|
||||
Each of these command-line options
|
||||
|
||||
-D NAME=VALUE
|
||||
--define=NAME=VALUE
|
||||
-D NAME[=VALUE]
|
||||
--define=NAME[=VALUE]
|
||||
|
||||
-F NAME[=VALUE]
|
||||
--force-define=NAME[=VALUE]
|
||||
|
||||
is equivalent to this grammar file declaration
|
||||
|
||||
%define NAME "VALUE"
|
||||
%define NAME ["VALUE"]
|
||||
|
||||
for any NAME and VALUE. Omitting `=VALUE' on the command line is
|
||||
equivalent to omitting `"VALUE"' in the declaration.
|
||||
except that the manner in which Bison processes multiple definitions
|
||||
for the same NAME differs. Most importantly, -F and --force-define
|
||||
quietly override %define, but -D and --define do not. For further
|
||||
details, see the section "Bison Options" in the Bison manual.
|
||||
|
||||
** %define variables renamed.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user