X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/0906b12cd56f9777fb684b8a257a0e56c090a93c..f6df83b4e80b2a53c08b5dc654e247076a3b9b03:/NEWS diff --git a/NEWS b/NEWS index 7df5d87e..619d36cd 100644 --- a/NEWS +++ b/NEWS @@ -6,13 +6,22 @@ GNU Bison NEWS *** Obsolete features - Support for YYFAIL is removed (deprecated in Bison 2.4.2). - Support for yystype and yyltype (instead of YYSTYPE and YYLTYPE) - is removed (deprecated in Bison 1.875). - Support for YYPARSE_PARAM is removed (deprecated in Bison 1.875). + Support for YYFAIL is removed (deprecated in Bison 2.4.2): use YYERROR. + + Support for yystype and yyltype is removed (deprecated in Bison 1.875): + use YYSTYPE and YYLTYPE. + + Support for YYLEX_PARAM and YYPARSE_PARAM is removed (deprecated in Bison + 1.875): use %lex-param, %parse-param, or %param. ** Warnings +*** Carets + + Version 2.7 introduced caret errors, for a prettier output. These are now + activated by default. The old format can still be used by invoking Bison + with -fno-caret (or -fnone). + *** Enhancements of the -Werror option The -Werror=CATEGORY option is now recognized, and will treat specified @@ -195,6 +204,28 @@ 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 (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 + compatibility is ensured, but upgrading is recommended. + + lr.default-reductions -> lr.default-reduction + lr.keep-unreachable-states -> lr.keep-unreachable-state + namespace -> api.namespace + stype -> api.value.type + ** Variable api.token.prefix The variable api.token.prefix changes the way tokens are identified in @@ -211,14 +242,7 @@ GNU Bison NEWS use these prefixed token names, although the grammar itself still uses the short names (as in the sample rule given above). -** Renamed %define variables - The following variables have been renamed for consistency. Backward - compatibility is ensured, but upgrading is recommended. - - lr.default-reductions -> lr.default-reduction - lr.keep-unreachable-states -> lr.keep-unreachable-state - namespace -> api.namespace ** Variable parse.error @@ -240,17 +264,14 @@ GNU Bison NEWS It used to be an error only if used in non GLR mode, _and_ if there are reduce/reduce conflicts. -* Noteworthy changes in release ?.? (????-??-??) [?] - -** %language is no longer an experimental feature. - - The introduction of this feature, in 2.4, was four years ago. The --language - option and the %language directive are no longer experimental. +* Noteworthy changes in release 2.7 (2012-12-12) [stable] ** Bug fixes Warnings about uninitialized yylloc in yyparse have been fixed. + Restored C90 compliance (yet no report was ever made). + ** Diagnostics are improved *** Changes in the format of error messages @@ -748,6 +769,7 @@ GNU Bison NEWS These features are experimental in this version. More user feedback will help to stabilize them. + Contributed by Alex Rozenman. ** IELR(1) and canonical LR(1): @@ -1264,6 +1286,7 @@ GNU Bison NEWS The current Java interface is experimental and may evolve. More user feedback will help to stabilize it. + Contributed by Paolo Bonzini. ** %language @@ -1277,6 +1300,7 @@ GNU Bison NEWS Bison can now generate an XML report of the LALR(1) automaton using the new "--xml" option. The current XML schema is experimental and may evolve. More user feedback will help to stabilize it. + Contributed by Wojciech Polak. ** The grammar file may now specify the name of the parser header file using %defines. For example: