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 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.
** Diagnostics are improved
The introduction of this feature, in 2.4, was four years ago. The --language
option and the %language directive are no longer experimental.
*** Changes in the format of error messages
** 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
documentation):
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
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'
exp: exp '+' exp { $exp = $1 + $3; };
@@ -32,42 +46,23 @@ GNU Bison NEWS
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,
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".
** 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
@@ -87,6 +82,15 @@ GNU Bison NEWS
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
@@ -99,13 +103,19 @@ GNU Bison NEWS
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.
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]