* Noteworthy changes in release ?.? (????-??-??) [?]
-** Future changes:
+** Future changes
+
+ The next major release of Bison will drop support for the following
+ deprecated features. Please report disagreements to bug-bison@gnu.org.
+
+*** K&C parsers
+
+ Support for generating parsers in K&R C will be removed. Parsers
+ generated for C supprt ISO C90, and are tested with ISO C99 and ISO C11
+ compilers.
+
+*** Deprecated features
+
+ The definitions of yystype and yyltype will be removed, as announced since
+ Bison 1.875. Use YYSTYPE and YYLTYPE only.
- The next major release will drop support for generating parsers in K&R C,
- and remove the definitions of yystype and yyltype (removal announced since
- Bison 1.875). YYPARSE_PARAM and YYLEX_PARAM, which were deprecated in
- favor of %parse-param and %lex-param (introduced in Bison 1.875 too), will
- no longer be supported.
+ YYPARSE_PARAM and YYLEX_PARAM, which were deprecated in favor of
+ %parse-param and %lex-param (introduced in Bison 1.875), will no longer be
+ supported.
-** The generated header is included (yacc.c)
+*** The generated header will be included (yacc.c)
Instead of duplicating the content of the generated header (definition of
- YYSTYPE, yyltype etc.), the generated parser now includes it, as was
- already the case for GLR or C++ parsers.
+ YYSTYPE, yyparse declaration etc.), the generated parser will include it,
+ as is already the case for GLR or C++ parsers. This change is deferred
+ because existing versions of ylwrap (e.g., Automake 1.12.1) do not support
+ it.
** Headers (yacc.c, glr.c, glr.cc)
# b4_declare_yyparse_push_
# ------------------------
+# Declaration of yyparse (and dependencies) when using the push parser
+# (including in pull mode).
m4_define([b4_declare_yyparse_push_],
[[typedef struct ]b4_prefix[pstate ]b4_prefix[pstate;
enum { YYPUSH_MORE = 4 };
# Declaration that might either go into the header (if --defines)
# or open coded in the parser body.
m4_define([b4_shared_declarations],
-[b4_declare_yydebug[
+[b4_cpp_guard_open([b4_spec_defines_file])[
+]b4_declare_yydebug[
]b4_percent_code_get([[requires]])[
]b4_token_enums_defines(b4_tokens)[
]b4_declare_yylstype[
]b4_declare_yyparse[
-]b4_percent_code_get([[provides]])[]dnl
+]b4_percent_code_get([[provides]])[
+]b4_cpp_guard_close([b4_spec_defines_file])[]dnl
])
## -------------- ##
# define YYTOKEN_TABLE ]b4_token_table[
#endif
-]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
- [b4_shared_declarations])[
+/* In a future release of Bison, this section will be replaced
+ by #include "@basename(]b4_spec_defines_file[@)". */
+]b4_shared_declarations[
/* Copy the second part of user declarations. */
]b4_user_post_prologue
b4_copyright([Bison interface for Yacc-like parsers in C],
[1984, 1989-1990, 2000-2012])[
-]b4_cpp_guard_open([b4_spec_defines_file])[
]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])[
]])dnl b4_defines_if
m4_divert_pop(0)