]> git.saurik.com Git - bison.git/blobdiff - NEWS
Merge remote-tracking branch 'origin/maint'
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index d3a860b532202390d07501a7e5f388f33ed81652..c8cab5e0bde6c8c0a01bf0b53b8400040a7cf8b2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,11 +16,11 @@ GNU Bison NEWS
 *** Enhancements of the -Werror option
 
   The -Werror=CATEGORY option is now recognized, and will treat specified
 *** Enhancements of the -Werror option
 
   The -Werror=CATEGORY option is now recognized, and will treat specified
-  warnings as errors. The warnings need not have been explictly activated
-  using the -W option, this is similar to what gcc 4.7 does.
+  warnings as errors. The warnings need not have been explicitly activated
+  using the -W option, this is similar to what GCC 4.7 does.
 
   For example, given the following command line, Bison will treat both
 
   For example, given the following command line, Bison will treat both
-  warnings related to POSIX Yacc incompatiblities and S/R conflicts as
+  warnings related to POSIX Yacc incompatibilities and S/R conflicts as
   errors (and only those):
 
     $ bison -Werror=yacc,error=conflicts-sr input.y
   errors (and only those):
 
     $ bison -Werror=yacc,error=conflicts-sr input.y
@@ -47,7 +47,7 @@ GNU Bison NEWS
 
   In the case of warnings treated as errors, the prefix is changed from
   "warning: " to "error: ", and the suffix is displayed, in a manner similar
 
   In the case of warnings treated as errors, the prefix is changed from
   "warning: " to "error: ", and the suffix is displayed, in a manner similar
-  to gcc, as [-Werror=CATEGORY].
+  to GCC, as [-Werror=CATEGORY].
 
   For instance, where the previous version of Bison would report (and exit
   with failure):
 
   For instance, where the previous version of Bison would report (and exit
   with failure):
@@ -195,14 +195,14 @@ GNU Bison NEWS
   used by the scanner, or rejecting invalid combinations from a
   factory invoked by the user actions).
 
   used by the scanner, or rejecting invalid combinations from a
   factory invoked by the user actions).
 
-** Variable api.tokens.prefix
+** Variable api.token.prefix
 
 
-  The variable api.tokens.prefix changes the way tokens are identified in
+  The variable api.token.prefix changes the way tokens are identified in
   the generated files.  This is especially useful to avoid collisions
   with identifiers in the target language.  For instance
 
     %token FILE for ERROR
   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_"
+    %define api.token.prefix "TOK_"
     %%
     start: FILE for ERROR;
 
     %%
     start: FILE for ERROR;
 
@@ -211,11 +211,15 @@ GNU Bison NEWS
   use these prefixed token names, although the grammar itself still
   uses the short names (as in the sample rule given above).
 
   use these prefixed token names, although the grammar itself still
   uses the short names (as in the sample rule given above).
 
-** Variable api.namespace
+** Renamed %define variables
 
 
-  The 'namespace' variable is renamed 'api.namespace'.  Backward
+  The following variables have been renamed for consistency.  Backward
   compatibility is ensured, but upgrading is recommended.
 
   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
 
   This variable controls the verbosity of error messages.  The use of the
 ** Variable parse.error
 
   This variable controls the verbosity of error messages.  The use of the
@@ -238,6 +242,96 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+** Changes in the format of error messages
+
+  This used to be the format of many error reports:
+
+    foo.y:5.10-24: result type clash on merge function 'merge': <t3> != <t2>
+    foo.y:4.13-27: previous declaration
+
+  It is now:
+
+    foo.y:5.10-25: result type clash on merge function 'merge': <t3> != <t2>
+    foo.y:4.13-27:     previous declaration
+
+** Exception safety (lalr1.cc)
+
+  The parse function now catches exceptions, uses the %destructors to
+  release memory (the lookahead symbol and the symbols pushed on the stack)
+  before re-throwing the exception.
+
+  This feature is somewhat experimental.  User feedback would be
+  appreciated.
+
+** New %define variable: api.location.type (glr.cc, lalr1.cc, lalr1.java)
+
+  The %define variable api.location.type defines the name of the type to use
+  for locations.  When defined, Bison no longer generates the position.hh
+  and location.hh files, nor does the parser will include them: the user is
+  then responsible to define her type.
+
+  This can be used in programs with several parsers to factor their location
+  and position files: let one of them generate them, and the others just use
+  them.
+
+  This feature was actually introduced, but not documented, in Bison 2.5,
+  under the name "location_type" (which is maintained for backward
+  compatibility).
+
+  For consistency, lalr1.java's %define variables location_type and
+  position_type are deprecated in favor of api.location.type and
+  api.position.type.
+
+** Graph improvements in DOT and XSLT
+
+  The graphical presentation of the states is more readable: their shape is
+  now rectangular, the state number is clearly displayed, and the items are
+  numbered and left-justified.
+
+  The reductions are now explicitly represented as transitions to other
+  diamond shaped nodes.
+
+  These changes are present in both --graph output and xml2dot.xsl XSLT
+  processing, with minor (documented) differences.
+
+  Two nodes were added to the documentation: Xml and Graphviz.
+
+* Noteworthy changes in release ?.? (????-??-??) [?]
+
+** Bug fixes
+
+  Warnings about uninitialized yylloc in yyparse have been fixed.
+
+** Documentation
+
+  The sections about shift/reduce and reduce/reduce conflicts resolution
+  have been fixed and extended.
+
+* Noteworthy changes in release 2.6.5 (2012-11-07) [stable]
+
+  We consider compiler warnings about Bison generated parsers to be bugs.
+  Rather than working around them in your own project, please consider
+  reporting them to us.
+
+** Bug fixes
+
+  Warnings about uninitialized yylval and/or yylloc for push parsers with a
+  pure interface have been fixed for GCC 4.0 up to 4.8, and Clang 2.9 to
+  3.2.
+
+  Other issues in the test suite have been addressed.
+
+  Nul characters are correctly displayed in error messages.
+
+  When possible, yylloc is correctly initialized before calling yylex.  It
+  is no longer necessary to initialize it in the %initial-action.
+
+* Noteworthy changes in release 2.6.4 (2012-10-23) [stable]
+
+  Bison 2.6.3's --version was incorrect.  This release fixes this issue.
+
+* Noteworthy changes in release 2.6.3 (2012-10-22) [stable]
+
 ** Bug fixes
 
   Bugs and portability issues in the test suite have been fixed.
 ** Bug fixes
 
   Bugs and portability issues in the test suite have been fixed.
@@ -252,18 +346,6 @@ GNU Bison NEWS
 
   All the generated headers are self-contained.
 
 
   All the generated headers are self-contained.
 
-** Changes in the format of error messages
-
-  This used to be the format of many error reports:
-
-    foo.y:5.10-24: result type clash on merge function 'merge': <t3> != <t2>
-    foo.y:4.13-27: previous declaration
-
-  It is now:
-
-    foo.y:5.10-25: result type clash on merge function 'merge': <t3> != <t2>
-    foo.y:4.13-27:     previous declaration
-
 ** Header guards (yacc.c, glr.c, glr.cc)
 
   In order to avoid collisions, the header guards are now
 ** Header guards (yacc.c, glr.c, glr.cc)
 
   In order to avoid collisions, the header guards are now
@@ -275,15 +357,6 @@ GNU Bison NEWS
 
   will use YY_CALC_LIB_PARSE_H_INCLUDED as guard.
 
 
   will use YY_CALC_LIB_PARSE_H_INCLUDED as guard.
 
-** Exception safety (lalr1.cc)
-
-  The parse function now catches exceptions, uses the %destructors to
-  release memory (the lookahead symbol and the symbols pushed on the stack)
-  before rethrowing the exception.
-
-  This feature is somewhat experimental.  User feedback would be
-  appreciated.
-
 ** Fix compiler warnings in the generated parser (yacc.c, glr.c)
 
   The compilation of pure parsers (%define api.pure) can trigger GCC
 ** Fix compiler warnings in the generated parser (yacc.c, glr.c)
 
   The compilation of pure parsers (%define api.pure) can trigger GCC
@@ -301,21 +374,6 @@ GNU Bison NEWS
   "function declared 'noreturn' should not return") have also been
   addressed.
 
   "function declared 'noreturn' should not return") have also been
   addressed.
 
-** New %define variable: api.location.type (glr.cc, lalr1.cc)
-
-  The %define variable api.location.type defines the name of the type to use
-  for locations.  When defined, Bison no longer generates the position.hh
-  and location.hh files, nor does the parser will include them: the user is
-  then responsible to define her type.
-
-  This can be used in programs with several parsers to factor their location
-  and position files: let one of them generate them, and the others just use
-  them.
-
-  This feature was actually introduced, but not documented, in Bison 2.5,
-  under the name "location_type" (which is maintained for backward
-  compatibility).
-
 * Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
 
 ** Bug fixes
 * Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
 
 ** Bug fixes
@@ -372,7 +430,7 @@ GNU Bison NEWS
 
 * Noteworthy changes in release 2.6 (2012-07-19) [stable]
 
 
 * Noteworthy changes in release 2.6 (2012-07-19) [stable]
 
-** 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.
 
   The next major release of Bison will drop support for the following
   deprecated features.  Please report disagreements to bug-bison@gnu.org.
@@ -2174,7 +2232,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  LocalWords:  Automake TMPDIR LESSEQ ylwrap endif yydebug YYTOKEN YYLSP ival hh
  LocalWords:  extern YYTOKENTYPE TOKENTYPE yytokentype tokentype STYPE lval pdf
  LocalWords:  lang yyoutput dvi html ps POSIX lvalp llocp Wother nterm arg init
  LocalWords:  Automake TMPDIR LESSEQ ylwrap endif yydebug YYTOKEN YYLSP ival hh
  LocalWords:  extern YYTOKENTYPE TOKENTYPE yytokentype tokentype STYPE lval pdf
  LocalWords:  lang yyoutput dvi html ps POSIX lvalp llocp Wother nterm arg init
- LocalWords:  TOK calc yyo fval
+ LocalWords:  TOK calc yyo fval Wconflicts
 
 Local Variables:
 mode: outline
 
 Local Variables:
 mode: outline