]> git.saurik.com Git - bison.git/blobdiff - NEWS
news: prepare for 2.8
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 619d36cdc985f128cbe7514362eab41a52cc2484..f4314c43bc98ba9f59b0d25fc7c2fa47b51b9d02 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,19 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
 
 * 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
 ** Incompatible changes
 
 *** Obsolete features
@@ -14,7 +27,24 @@ GNU Bison NEWS
   Support for YYLEX_PARAM and YYPARSE_PARAM is removed (deprecated in Bison
   1.875): use %lex-param, %parse-param, or %param.
 
   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.
+
+** Diagnostics reported by Bison
+
+  Most of these features were contributed by Théophile Ranquet and Victor
+  Santet.
 
 *** Carets
 
 
 *** Carets
 
@@ -179,6 +209,8 @@ GNU Bison NEWS
 
 ** Java skeleton improvements
 
 
 ** 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".
   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 +236,6 @@ GNU Bison NEWS
   used by the scanner, or rejecting invalid combinations from a
   factory invoked by the user actions).
 
   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 (yy::parser::semantic_type *yylval);
-
-  This is has been fixed: yylval, ynerrs, yychar, and yylloc are now valid
-  identifiers for user-provided variables.
-
 ** Renamed %define variables
 
   The following variables have been renamed for consistency.  Backward
 ** Renamed %define variables
 
   The following variables have been renamed for consistency.  Backward
@@ -242,8 +262,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).
 
   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
 ** Variable parse.error
 
   This variable controls the verbosity of error messages.  The use of the
@@ -252,6 +270,8 @@ GNU Bison NEWS
 
 ** Semantic predicates
 
 
 ** 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
   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
@@ -2277,7 +2297,7 @@ Output file does not redefine const for C++.
 
 -----
 
 
 -----
 
-Copyright (C) 1995-2012 Free Software Foundation, Inc.
+Copyright (C) 1995-2013 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Parser Generator.
 
 
 This file is part of Bison, the GNU Parser Generator.