summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2018-07-09 13:10:40 +0200
committerAkim Demaille <akim.demaille@gmail.com>2018-08-11 18:09:29 +0200
commit9c80fa286e14271598ded12c9f5c3f53f969981b (patch)
tree6f573d534950f6896a206b8f6f153fa94cae33af
parentda8f4a2f5f69f094949c8bf0c7f9eca4493735ff (diff)
downloadbison-9c80fa286e14271598ded12c9f5c3f53f969981b.tar.gz
NEWS: update
-rw-r--r--NEWS32
1 files 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: { $<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
now specify their declared type. For instance, for:
@@ -15,7 +31,7 @@ GNU Bison NEWS
NUM <ival> (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