mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 10:13:03 +00:00
news: prepare for 2.8
* NEWS: Restructure. Name contributors.
This commit is contained in:
50
NEWS
50
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
|
** 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
|
||||||
|
|||||||
Reference in New Issue
Block a user