From 9c80fa286e14271598ded12c9f5c3f53f969981b Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 9 Jul 2018 13:10:40 +0200 Subject: [PATCH] NEWS: update --- NEWS | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index a02e9bc5..9135184a 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,23 @@ GNU Bison NEWS * 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: { $$ = 1; } { $$ = 2; } { $$ = $1 + $2; } + + write: + + exp: { $$ = 1; } { $$ = 2; } { $$ = $1 + $2; } + +*** Reports include the type of the symbols The sections about terminal and nonterminal symbols of the '*.output' file now specify their declared type. For instance, for: @@ -15,7 +31,7 @@ GNU Bison NEWS NUM (258) 5 -** Diagnostics about useless rules +*** Diagnostics about useless rules In the following grammar, the 'exp' nonterminal is trivially useless. So, of course, its rules are useless too. @@ -58,6 +74,18 @@ GNU Bison NEWS 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] ** Bug fixes