]> git.saurik.com Git - bison.git/blobdiff - NEWS
Merge remote-tracking branch 'origin/maint'
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 8c79bb7a4ab4b85e1eb1905528dd127fc4c15580..7b75972c4ace5457e59ee46acdc29c20c208ab9e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,14 +8,14 @@ GNU Bison NEWS
   and yyparse.  The %lex-param, %parse-param, and %param directives
   support one or more arguments.  Instead of
 
-      %lex-param   {arg1_type *arg1}
-      %lex-param   {arg2_type *arg2}
-      %parse-param {arg1_type *arg1}
-      %parse-param {arg2_type *arg2}
+    %lex-param   {arg1_type *arg1}
+    %lex-param   {arg2_type *arg2}
+    %parse-param {arg1_type *arg1}
+    %parse-param {arg2_type *arg2}
 
   one may now declare
 
-      %param {arg1_type *arg1} {arg2_type *arg2}
+    %param {arg1_type *arg1} {arg2_type *arg2}
 
 ** Java skeleton improvements
 
@@ -38,10 +38,10 @@ GNU Bison NEWS
   the generated files.  This is especially useful to avoid collisions
   with identifiers in the target language.  For instance
 
-      %token FILE for ERROR
-      %define api.tokens.prefix "TOK_"
-      %%
-      start: FILE for ERROR;
+    %token FILE for ERROR
+    %define api.tokens.prefix "TOK_"
+    %%
+    start: FILE for ERROR;
 
   will generate the definition of the symbols TOK_FILE, TOK_for, and
   TOK_ERROR in the generated sources.  In particular, the scanner must
@@ -68,6 +68,47 @@ GNU Bison NEWS
   allow the programmer to prune possible parses based on the values of
   runtime expressions.
 
+* Noteworthy changes in release ?.? (????-??-??) [?]
+
+** Future changes:
+
+  The next major release will drop support for generating parsers in K&R C,
+  and remove the definition of yystype (removal announced since Bison
+  1.875).
+
+** The generated header is 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.
+
+** Headers (yacc.c, glr.c, glr.cc)
+
+*** Guards
+
+  The generated headers are now guarded, as is already the case for C++
+  parsers (lalr1.cc).  For intance, with --defines=foo.h:
+
+    #ifndef YY_FOO_H
+    # define YY_FOO_H
+    ...
+    #endif /* !YY_FOO_H  */
+
+*** New declarations
+
+  The generated header now declares yydebug and yyparse.  Both honor
+  --name-prefix=bar_, and yield
+
+    int bar_parse (void);
+
+  rather than
+
+    #define yyparse bar_parse
+    int yyparse (void);
+
+  in order to facilitate the inclusion of several parser headers inside a
+  single compilation unit.
+
 * Noteworthy changes in release 2.5.1 (2012-06-05) [stable]
 
 ** Future changes:
@@ -160,7 +201,7 @@ GNU Bison NEWS
   This includes warnings with some compilers, unexpected behavior of tools
   such as diff, warning messages from the test suite itself, etc.
 
-*** The install-pdf target work properly:
+*** The install-pdf target works properly:
 
   Running "make install-pdf" (or -dvi, -html, -info, and -ps) no longer
   halts in the middle of its course.