mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 02:03:03 +00:00
news: prepare for forthcoming release
* NEWS: Fill paragraph. Reorder. Update examples. Remove line for 2.6.90.
This commit is contained in:
86
NEWS
86
NEWS
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user