]> git.saurik.com Git - bison.git/blobdiff - NEWS
tests: style changes
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index d937bea7a74f425527150150bced36f2142709ee..8da9cf9f855d2ca35b40ba1a556e37f07c53b81d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,21 +3,40 @@ GNU Bison NEWS
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
 
-* Noteworthy changes in release 2.6.90 (2012-12-07) [beta]
+* Noteworthy changes in release 2.7 (2012-12-12) [stable]
 
 ** Bug fixes
 
   Warnings about uninitialized yylloc in yyparse have been fixed.
 
 
 ** Bug fixes
 
   Warnings about uninitialized yylloc in yyparse have been fixed.
 
-** %language is no longer an experimental feature.
+  Restored C90 compliance (yet no report was ever made).
+
+** Diagnostics are improved
+
+*** Changes in the format of error messages
+
+  This used to be the format of many error reports:
+
+    input.y:2.7-12: %type redeclaration for exp
+    input.y:1.7-12: previous declaration
+
+  It is now:
+
+    input.y:2.7-12: error: %type redeclaration for exp
+    input.y:1.7-12:     previous declaration
+
+*** New format for error reports: carets
 
 
-  The introduction of this feature, in 2.4, was four years ago. The --language
-  option and the %language directive are no longer experimental.
+  Caret errors have been added to Bison:
 
 
-** New format for error reports: carets
+    input.y:2.7-12: error: %type redeclaration for exp
+     %type <sval> exp
+           ^^^^^^
+    input.y:1.7-12:     previous declaration
+     %type <ival> exp
+           ^^^^^^
 
 
-  Caret errors have been added to Bison, for example (taken from the
-  documentation):
+  or
 
     input.y:3.20-23: error: ambiguous reference: '$exp'
      exp: exp '+' exp { $exp = $1 + $3; };
 
     input.y:3.20-23: error: ambiguous reference: '$exp'
      exp: exp '+' exp { $exp = $1 + $3; };
@@ -32,42 +51,23 @@ GNU Bison NEWS
      exp: exp '+' exp { $exp = $1 + $3; };
                   ^^^
 
      exp: exp '+' exp { $exp = $1 + $3; };
                   ^^^
 
-  The default behaviour for now is still not to display these unless explictly
-  asked with -fall of -fcaret. However, in a later release, it will be made the
-  default behavior (but may still be deactivated with -fno-caret).
+  The default behaviour for now is still not to display these unless
+  explictly asked with -fcaret (or -fall). However, in a later release, it
+  will be made the default behavior (but may still be deactivated with
+  -fno-caret).
 
 ** New value for %define variable: api.pure full
 
   The %define variable api.pure requests a pure (reentrant) parser. However,
 
 ** New value for %define variable: api.pure full
 
   The %define variable api.pure requests a pure (reentrant) parser. However,
-  for historical reasons, using it in a location-tracking Yacc parser resulted
-  in a yyerror function that did not take a location as a parameter. With this
-  new value, the user may request a better pure parser, where yyerror does take
-  a location as a parameter (in location-tracking parsers).
+  for historical reasons, using it in a location-tracking Yacc parser
+  resulted in a yyerror function that did not take a location as a
+  parameter. With this new value, the user may request a better pure parser,
+  where yyerror does take a location as a parameter (in location-tracking
+  parsers).
 
   The use of "%define api.pure true" is deprecated in favor of this new
   "%define api.pure full".
 
 
   The use of "%define api.pure true" is deprecated in favor of this new
   "%define api.pure full".
 
-** 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
 ** 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
@@ -87,6 +87,15 @@ GNU Bison NEWS
   position_type are deprecated in favor of api.location.type and
   api.position.type.
 
   position_type are deprecated in favor of api.location.type and
   api.position.type.
 
+** 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.
+
 ** Graph improvements in DOT and XSLT
 
   The graphical presentation of the states is more readable: their shape is
 ** Graph improvements in DOT and XSLT
 
   The graphical presentation of the states is more readable: their shape is
@@ -99,13 +108,19 @@ GNU Bison NEWS
   These changes are present in both --graph output and xml2dot.xsl XSLT
   processing, with minor (documented) differences.
 
   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.
+** %language is no longer an experimental feature.
+
+  The introduction of this feature, in 2.4, was four years ago. The
+  --language option and the %language directive are no longer experimental.
 
 ** Documentation
 
   The sections about shift/reduce and reduce/reduce conflicts resolution
   have been fixed and extended.
 
 
 ** Documentation
 
   The sections about shift/reduce and reduce/reduce conflicts resolution
   have been fixed and extended.
 
+  Although introduced more than four years ago, XML and Graphviz reports
+  were not properly documented.
+
   The translation of mid-rule actions is now described.
 
 * Noteworthy changes in release 2.6.5 (2012-11-07) [stable]
   The translation of mid-rule actions is now described.
 
 * Noteworthy changes in release 2.6.5 (2012-11-07) [stable]
@@ -493,6 +508,7 @@ GNU Bison NEWS
 
   These features are experimental in this version.  More user feedback
   will help to stabilize them.
 
   These features are experimental in this version.  More user feedback
   will help to stabilize them.
+  Contributed by Alex Rozenman.
 
 ** IELR(1) and canonical LR(1):
 
 
 ** IELR(1) and canonical LR(1):
 
@@ -1009,6 +1025,7 @@ GNU Bison NEWS
 
   The current Java interface is experimental and may evolve.  More user
   feedback will help to stabilize it.
 
   The current Java interface is experimental and may evolve.  More user
   feedback will help to stabilize it.
+  Contributed by Paolo Bonzini.
 
 ** %language
 
 
 ** %language
 
@@ -1022,6 +1039,7 @@ GNU Bison NEWS
   Bison can now generate an XML report of the LALR(1) automaton using the new
   "--xml" option.  The current XML schema is experimental and may evolve.  More
   user feedback will help to stabilize it.
   Bison can now generate an XML report of the LALR(1) automaton using the new
   "--xml" option.  The current XML schema is experimental and may evolve.  More
   user feedback will help to stabilize it.
+  Contributed by Wojciech Polak.
 
 ** The grammar file may now specify the name of the parser header file using
   %defines.  For example:
 
 ** The grammar file may now specify the name of the parser header file using
   %defines.  For example: