NEWS: update

This commit is contained in:
Akim Demaille
2018-07-09 13:10:40 +02:00
parent da8f4a2f5f
commit 9c80fa286e

32
NEWS
View File

@@ -2,7 +2,23 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?] * Noteworthy changes in release ?.? (????-??-??) [?]
** Reports include the type of the symbols ** New features
*** Typed midrule actions
Because their type is unknown to Bison, the values of midrule actions are
not treated like the others: they don't have %printer and %destructor
support. It also prevents C++ (Bison) variants to handle them properly.
Typed midrule actions address these issues. Instead of:
exp: { $<ival>$ = 1; } { $<ival>$ = 2; } { $$ = $<ival>1 + $<ival>2; }
write:
exp: <ival>{ $$ = 1; } <ival>{ $$ = 2; } { $$ = $1 + $2; }
*** Reports include the type of the symbols
The sections about terminal and nonterminal symbols of the '*.output' file The sections about terminal and nonterminal symbols of the '*.output' file
now specify their declared type. For instance, for: now specify their declared type. For instance, for:
@@ -15,7 +31,7 @@ GNU Bison NEWS
NUM <ival> (258) 5 NUM <ival> (258) 5
** Diagnostics about useless rules *** Diagnostics about useless rules
In the following grammar, the 'exp' nonterminal is trivially useless. So, In the following grammar, the 'exp' nonterminal is trivially useless. So,
of course, its rules are useless too. of course, its rules are useless too.
@@ -58,6 +74,18 @@ GNU Bison NEWS
input: '0' | exp input: '0' | exp
^^^ ^^^
** Bug fixes
*** GLR: Predicates support broken by #line directives
Predicates (%?) in GLR such as
widget:
%? {new_syntax} 'w' id new_args
| %?{!new_syntax} 'w' id old_args
were issued with #lines in the middle of C code.
* Noteworthy changes in release 3.0.5 (2018-05-27) [stable] * Noteworthy changes in release 3.0.5 (2018-05-27) [stable]
** Bug fixes ** Bug fixes