news: prepare for 2.8

* NEWS: Restructure.
Name contributors.
This commit is contained in:
Akim Demaille
2013-01-25 16:30:56 +01:00
parent 56b91ae0b1
commit 597afd73d7

50
NEWS
View File

@@ -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 ** Incompatible changes
*** Obsolete features *** Obsolete features
@@ -14,7 +27,24 @@ GNU Bison NEWS
Support for YYLEX_PARAM and YYPARSE_PARAM is removed (deprecated in Bison Support for YYLEX_PARAM and YYPARSE_PARAM is removed (deprecated in Bison
1.875): use %lex-param, %parse-param, or %param. 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 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" is possible to add code to the parser's constructors using "%code init"
and "%define init_throws". and "%define init_throws".
@@ -204,18 +236,6 @@ GNU Bison NEWS
used by the scanner, or rejecting invalid combinations from a used by the scanner, or rejecting invalid combinations from a
factory invoked by the user actions). 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 ** Renamed %define variables
The following variables have been renamed for consistency. Backward 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 use these prefixed token names, although the grammar itself still
uses the short names (as in the sample rule given above). uses the short names (as in the sample rule given above).
** Variable parse.error ** Variable parse.error
This variable controls the verbosity of error messages. The use of the 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 The new, experimental, semantic-predicate feature allows actions of the
form "%?{ BOOLEAN-EXPRESSION }", which cause syntax errors (as for form "%?{ BOOLEAN-EXPRESSION }", which cause syntax errors (as for
YYERROR) if the expression evaluates to 0, and are evaluated immediately YYERROR) if the expression evaluates to 0, and are evaluated immediately