news: prepare for forthcoming release

* NEWS: Fill paragraph.
Reorder.
Update examples.
Remove line for 2.6.90.
This commit is contained in:
Akim Demaille
2012-12-09 16:50:12 +01:00
parent be22823e78
commit d4fe9e88f3

86
NEWS
View File

@@ -2,22 +2,36 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?] * Noteworthy changes in release ?.? (????-??-??) [?]
* Noteworthy changes in release 2.6.90 (2012-12-07) [beta]
** Bug fixes ** Bug fixes
Warnings about uninitialized yylloc in yyparse have been fixed. Warnings about uninitialized yylloc in yyparse have been fixed.
** %language is no longer an experimental feature. ** Diagnostics are improved
The introduction of this feature, in 2.4, was four years ago. The --language *** Changes in the format of error messages
option and the %language directive are no longer experimental.
** New format for error reports: carets This used to be the format of many error reports:
Caret errors have been added to Bison, for example (taken from the input.y:2.7-12: %type redeclaration for exp
documentation): 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
Caret errors have been added to Bison:
input.y:2.7-12: error: %type redeclaration for exp
%type <sval> exp
^^^^^^
input.y:1.7-12: previous declaration
%type <ival> exp
^^^^^^
or
input.y:3.20-23: error: ambiguous reference: '$exp' input.y:3.20-23: error: ambiguous reference: '$exp'
exp: exp '+' exp { $exp = $1 + $3; }; exp: exp '+' exp { $exp = $1 + $3; };
@@ -32,42 +46,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 The default behaviour for now is still not to display these unless
asked with -fall of -fcaret. However, in a later release, it will be made the explictly asked with -fcaret (or -fall). However, in a later release, it
default behavior (but may still be deactivated with -fno-caret). will be made the default behavior (but may still be deactivated with
-fno-caret).
** New value for %define variable: api.pure full ** New value for %define variable: api.pure full
The %define variable api.pure requests a pure (reentrant) parser. However, The %define variable api.pure requests a pure (reentrant) parser. However,
for historical reasons, using it in a location-tracking Yacc parser resulted for historical reasons, using it in a location-tracking Yacc parser
in a yyerror function that did not take a location as a parameter. With this resulted in a yyerror function that did not take a location as a
new value, the user may request a better pure parser, where yyerror does take parameter. With this new value, the user may request a better pure parser,
a location as a parameter (in location-tracking parsers). 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 The use of "%define api.pure true" is deprecated in favor of this new
"%define api.pure full". "%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) ** 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 The %define variable api.location.type defines the name of the type to use
@@ -87,6 +82,15 @@ GNU Bison NEWS
position_type are deprecated in favor of api.location.type and position_type are deprecated in favor of api.location.type and
api.position.type. 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 ** Graph improvements in DOT and XSLT
The graphical presentation of the states is more readable: their shape is The graphical presentation of the states is more readable: their shape is
@@ -99,13 +103,19 @@ GNU Bison NEWS
These changes are present in both --graph output and xml2dot.xsl XSLT These changes are present in both --graph output and xml2dot.xsl XSLT
processing, with minor (documented) differences. 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 ** Documentation
The sections about shift/reduce and reduce/reduce conflicts resolution The sections about shift/reduce and reduce/reduce conflicts resolution
have been fixed and extended. 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. The translation of mid-rule actions is now described.
* Noteworthy changes in release 2.6.5 (2012-11-07) [stable] * Noteworthy changes in release 2.6.5 (2012-11-07) [stable]