]> git.saurik.com Git - bison.git/blobdiff - NEWS
c++: remove now-useless operators
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index d10d0f7bb6944dd83083b3ff5a99549fa4c2269a..167cc8bd1f41808f8406ff7d6b71894d9dd06165 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,19 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+** Future changes
+
+  Bison will stop adding a semicolon at the end of the actions:
+
+    foo.y:2.22: warning: a ';' might be needed at the end of action code
+     exp: "num" { $$ = $1 }
+                          ^
+    foo.y:2.22:     future versions of Bison will not add the ';'
+
+  Like other GNU packages, Bison will start using some of the C99 features
+  for its own code, especially the definition of variables after statements.
+  The generated C parsers still aim at C90.
+
 ** Incompatible changes
 
 *** Obsolete features
@@ -14,7 +27,29 @@ GNU Bison NEWS
   Support for YYLEX_PARAM and YYPARSE_PARAM is removed (deprecated in Bison
   1.875): use %lex-param, %parse-param, or %param.
 
-** Warnings
+** Bug fixes
+
+*** The epilogue is no longer affected by internal #defines
+
+  The glr.c skeleton uses defines such as #define yylval (yystackp->yyval) in
+  generated code.  These weren't properly undefined before the inclusion of
+  the user epilogue, so functions such as the following were butchered by the
+  preprocessor expansion:
+
+    int yylex (YYSTYPE *yylval);
+
+  This is has been fixed: yylval, yynerrs, yychar, and yylloc are now valid
+  identifiers for user-provided variables.
+
+*** stdio.h is no longer needed when locations are enabled (yacc.c)
+
+  Changes in Bison 2.7 introduced a dependency on FILE and fprintf when
+  locations are enabled.  This is fixed.
+
+** Diagnostics reported by Bison
+
+  Most of these features were contributed by Théophile Ranquet and Victor
+  Santet.
 
 *** Carets
 
@@ -179,6 +214,8 @@ GNU Bison NEWS
 
 ** Java skeleton improvements
 
+  Contributed by Paolo Bonzini.
+
   The constants for token names were moved to the Lexer interface.  Also, it
   is possible to add code to the parser's constructors using "%code init"
   and "%define init_throws".
@@ -204,18 +241,6 @@ GNU Bison NEWS
   used by the scanner, or rejecting invalid combinations from a
   factory invoked by the user actions).
 
-*** The epilogue is no longer affected by internal #defines
-
-  The glr.c skeleton uses defines such as #define yylval (yystackp->yyval) in
-  generated code.  These weren't properly undefined before the inclusion of
-  the user epilogue, so functions such as the following were butchered by the
-  preprocessor expansion:
-
-    int yylex (YYSTYPE *yylval);
-
-  This is has been fixed: yylval, yynerrs, yychar, and yylloc are now valid
-  identifiers for user-provided variables.
-
 ** Renamed %define variables
 
   The following variables have been renamed for consistency.  Backward
@@ -242,8 +267,6 @@ GNU Bison NEWS
   use these prefixed token names, although the grammar itself still
   uses the short names (as in the sample rule given above).
 
-
-
 ** Variable parse.error
 
   This variable controls the verbosity of error messages.  The use of the
@@ -252,6 +275,8 @@ GNU Bison NEWS
 
 ** Semantic predicates
 
+  Contributed by Paul Hilfinger.
+
   The new, experimental, semantic-predicate feature allows actions of the
   form "%?{ BOOLEAN-EXPRESSION }", which cause syntax errors (as for
   YYERROR) if the expression evaluates to 0, and are evaluated immediately
@@ -264,6 +289,12 @@ GNU Bison NEWS
   It used to be an error only if used in non GLR mode, _and_ if there are
   reduce/reduce conflicts.
 
+** Token numbering has changed to preserve the user-defined order
+
+  When declaring %token A B, the numbering for A is inferior to B. Up to now,
+  when declaring associativity at the same time, with %left (or %right,
+  %precedence, %nonassoc), B was inferior to A.
+
 * Noteworthy changes in release 2.7 (2012-12-12) [stable]
 
 ** Bug fixes