]> git.saurik.com Git - bison.git/blobdiff - NEWS
* NEWS (2.5): Document fix for -Wno-KEY.
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 576d8cd5ebca6967175629e01ca30a1383bfa4c3..64a257043e6feab361b342d165c0729b56c2c5fe 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -62,6 +62,14 @@ Bison News
 
 * Changes in version 2.5 (????-??-??):
 
+** Grammar symbol names can now contain non-initial dashes:
+
+  Consistently with directives (such as %error-verbose) and with
+  %define variables (e.g. push-pull), grammar symbol names may contain
+  dashes in any position except the beginning.  This is a GNU
+  extension over POSIX Yacc.  Thus, use of this extension is reported
+  by -Wyacc and rejected in Yacc mode (--yacc).
+
 ** Named references:
 
   Historically, Yacc and Bison have supported positional references
@@ -108,27 +116,27 @@ Bison News
     %define lr.type ielr
     %define lr.type canonical-lr
 
-  The default reduction optimization in the parser tables can also be
-  adjusted using `%define lr.default-reductions'.  See the documentation
-  for `%define lr.type' and `%define lr.default-reductions' in the
-  section `Bison Declaration Summary' in the Bison manual for the
-  details.
+  The default-reduction optimization in the parser tables can also be
+  adjusted using `%define lr.default-reductions'.  For details on both
+  of these features, see the new section `Tuning LR' in the Bison
+  manual.
 
   These features are experimental.  More user feedback will help to
   stabilize them.
 
-** LAC (lookahead correction) for syntax error handling:
+** LAC (Lookahead Correction) for syntax error handling:
 
   Canonical LR, IELR, and LALR can suffer from a couple of problems
   upon encountering a syntax error.  First, the parser might perform
   additional parser stack reductions before discovering the syntax
-  error.  Such reductions perform user semantic actions that are
+  error.  Such reductions can perform user semantic actions that are
   unexpected because they are based on an invalid token, and they
   cause error recovery to begin in a different syntactic context than
   the one in which the invalid token was encountered.  Second, when
-  verbose error messages are enabled (with %error-verbose or `#define
-  YYERROR_VERBOSE'), the expected token list in the syntax error
-  message can both contain invalid tokens and omit valid tokens.
+  verbose error messages are enabled (with %error-verbose or the
+  obsolete `#define YYERROR_VERBOSE'), the expected token list in the
+  syntax error message can both contain invalid tokens and omit valid
+  tokens.
 
   The culprits for the above problems are %nonassoc, default
   reductions in inconsistent states, and parser state merging.  Thus,
@@ -136,11 +144,11 @@ Bison News
   %nonassoc is used or if default reductions are enabled for
   inconsistent states.
 
-  LAC is a new mechanism within the parsing algorithm that completely
-  solves these problems for canonical LR, IELR, and LALR without
-  sacrificing %nonassoc, default reductions, or state mering.  When
-  LAC is in use, canonical LR and IELR behave exactly the same for
-  both syntactically acceptable and syntactically unacceptable input.
+  LAC is a new mechanism within the parsing algorithm that solves
+  these problems for canonical LR, IELR, and LALR without sacrificing
+  %nonassoc, default reductions, or state merging.  When LAC is in
+  use, canonical LR and IELR behave almost exactly the same for both
+  syntactically acceptable and syntactically unacceptable input.
   While LALR still does not support the full language-recognition
   power of canonical LR and IELR, LAC at least enables LALR's syntax
   error handling to correctly reflect LALR's language-recognition
@@ -151,20 +159,12 @@ Bison News
 
     %define parse.lac full
 
-  See the documentation for `%define parse.lac' in the section `Bison
-  Declaration Summary' in the Bison manual for additional details.
+  See the new section `LAC' in the Bison manual for additional
+  details including a few caveats.
 
   LAC is an experimental feature.  More user feedback will help to
   stabilize it.
 
-** Grammar symbol names can now contain dashes:
-
-  Consistently with directives (such as %error-verbose) and variables
-  (e.g. push-pull), grammar symbol names may include dashes in any
-  position, similarly to periods and underscores.  This is GNU
-  extension over POSIX Yacc whose use is reported by -Wyacc, and
-  rejected in Yacc mode (--yacc).
-
 ** %define improvements:
 
 *** Can now be invoked via the command line:
@@ -314,11 +314,11 @@ Bison News
 
 ** Verbose syntax error message fixes:
 
-  When %error-verbose or `#define YYERROR_VERBOSE' is specified,
-  syntax error messages produced by the generated parser include the
-  unexpected token as well as a list of expected tokens.  The effect
-  of %nonassoc on these verbose messages has been corrected in two
-  ways, but a complete fix requires LAC, described above:
+  When %error-verbose or the obsolete `#define YYERROR_VERBOSE' is
+  specified, syntax error messages produced by the generated parser
+  include the unexpected token as well as a list of expected tokens.
+  The effect of %nonassoc on these verbose messages has been corrected
+  in two ways, but a more complete fix requires LAC, described above:
 
 *** When %nonassoc is used, there can exist parser states that accept no
     tokens, and so the parser does not always require a lookahead token
@@ -350,6 +350,24 @@ Bison News
     canonical LR.  However, LAC is still experimental and is disabled
     by default.
 
+** Java skeleton fixes:
+
+*** A location handling bug has been fixed.
+
+*** The top element of each of the value stack and location stack is now
+    cleared when popped so that it can be garbage collected.
+
+*** Parser traces now print the top element of the stack.
+
+** -W/--warnings fixes:
+
+*** Bison now properly recognizes the "no-" versions of categories:
+
+  For example, given the following command line, Bison now enables all
+  warnings except warnings for incompatibilities with POSIX Yacc:
+
+    bison -Wall,no-yacc gram.y
+
 * Changes in version 2.4.3 (2010-08-05):
 
 ** Bison now obeys -Werror and --warnings=error for warnings about
@@ -1511,9 +1529,7 @@ End:
 
 -----
 
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-Inc.
+Copyright (C) 1995-2011 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Parser Generator.