]> git.saurik.com Git - bison.git/blobdiff - NEWS
Convert multiple variable definition warnings to complaints.
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index cef62ee53760541e580a05f1c943d4b9672f7941..3c99a876e4d9009570b7a7d691bd05879b2ce744 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,14 +9,14 @@ Bison News
   Also, it is possible to add code to the parser's constructors using
   "%code init" and "%define init_throws".
 
-** Variable token.prefix
+** Variable api.tokens.prefix
 
-  The variable token.prefix changes the way tokens are identified in
+  The variable api.tokens.prefix changes the way tokens are identified in
   the generated files.  This is especially useful to avoid collisions
   with identifiers in the target language.  For instance
 
       %token FILE for ERROR
-      %define token.prefix "TOK_"
+      %define api.tokens.prefix "TOK_"
       %%
       start: FILE for ERROR;
 
@@ -57,19 +57,26 @@ Bison News
   These features are experimental.  More user feedback will help to
   stabilize them.
 
+** Multiple %define's for any variable is now an error not a warning.
+
 ** %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.