*** 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
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
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