]> git.saurik.com Git - bison.git/blobdiff - NEWS
doc: explain how mid-rule actions are translated
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index cb845125c3e30bded6f05e8f162b7d886409e113..d937bea7a74f425527150150bced36f2142709ee 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,51 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+
+* Noteworthy changes in release 2.6.90 (2012-12-07) [beta]
+
+** Bug fixes
+
+  Warnings about uninitialized yylloc in yyparse have been fixed.
+
+** %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.
+
+** New format for error reports: carets
+
+  Caret errors have been added to Bison, for example (taken from the
+  documentation):
+
+    input.y:3.20-23: error: ambiguous reference: '$exp'
+     exp: exp '+' exp { $exp = $1 + $3; };
+                        ^^^^
+    input.y:3.1-3:       refers to: $exp at $$
+     exp: exp '+' exp { $exp = $1 + $3; };
+     ^^^
+    input.y:3.6-8:       refers to: $exp at $1
+     exp: exp '+' exp { $exp = $1 + $3; };
+          ^^^
+    input.y:3.14-16:     refers to: $exp at $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).
+
+** 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).
+
+  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:
@@ -42,7 +87,7 @@ GNU Bison NEWS
   position_type are deprecated in favor of api.location.type and
   api.position.type.
 
-** Graphviz improvements
+** 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
@@ -51,6 +96,37 @@ GNU Bison NEWS
   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.
+
+** Documentation
+
+  The sections about shift/reduce and reduce/reduce conflicts resolution
+  have been fixed and extended.
+
+  The translation of mid-rule actions is now described.
+
+* 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.