summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2019-04-25 20:10:54 +0200
committerAkim Demaille <akim.demaille@gmail.com>2019-04-25 22:09:39 +0200
commit571447afe8e54253ac48fb9bd743f826474feb26 (patch)
tree5a3f0a09527f91a2f5e4df71bbb7e19bc3ffab47 /NEWS
parent9260e5ca4fa62ff971fc52a2dd64474dd60e5990 (diff)
downloadbison-571447afe8e54253ac48fb9bd743f826474feb26.tar.gz
NEWS: update
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS87
1 files changed, 56 insertions, 31 deletions
diff --git a/NEWS b/NEWS
index f9cd2b42..d2131125 100644
--- a/NEWS
+++ b/NEWS
@@ -2,37 +2,6 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?]
-** Changes
-
-*** Graphviz output
-
- In conformance with the recommendations of the Graphviz team, if %require
- "3.4" (or better) is specified, the option --graph generates a *.gv file
- by default, instead of *.dot.
-
-*** Diagnostics overhaul
-
- Column numbers were wrong with multibyte characters, which would also
- result in skewed diagnostics with carets. Beside, because we were
- indenting the quoted source with a single space, lines with tab characters
- were incorrectly underlined.
-
- To address these issues, and to be clearer, Bison now issues diagnostics
- as GCC9 does. For instance it used to display (there's a tab before the
- opening brace):
-
- foo.y:3.37-38: error: $2 of ‘expr’ has no declared type
- expr: expr '+' "number" { $$ = $1 + $2; }
- ^~
- It now reports
-
- foo.y:3.37-38: error: $2 of ‘expr’ has no declared type
- 3 | expr: expr '+' "number" { $$ = $1 + $2; }
- | ^~
-
- Other constructs now also have better locations, resulting in more precise
- diagnostics.
-
** New features
*** Colored diagnostics
@@ -95,6 +64,53 @@ GNU Bison NEWS
definition of locations: let one of them generate them, and the others
just use them.
+** Changes
+
+*** Graphviz output
+
+ In conformance with the recommendations of the Graphviz team, if %require
+ "3.4" (or better) is specified, the option --graph generates a *.gv file
+ by default, instead of *.dot.
+
+*** Diagnostics overhaul
+
+ Column numbers were wrong with multibyte characters, which would also
+ result in skewed diagnostics with carets. Beside, because we were
+ indenting the quoted source with a single space, lines with tab characters
+ were incorrectly underlined.
+
+ To address these issues, and to be clearer, Bison now issues diagnostics
+ as GCC9 does. For instance it used to display (there's a tab before the
+ opening brace):
+
+ foo.y:3.37-38: error: $2 of ‘expr’ has no declared type
+ expr: expr '+' "number" { $$ = $1 + $2; }
+ ^~
+ It now reports
+
+ foo.y:3.37-38: error: $2 of ‘expr’ has no declared type
+ 3 | expr: expr '+' "number" { $$ = $1 + $2; }
+ | ^~
+
+ Other constructs now also have better locations, resulting in more precise
+ diagnostics.
+
+*** Fix-it hints for %empty
+
+ Running Bison with -Wempty-rules and --update will remove incorrect %empty
+ annotations, and add the missing ones.
+
+*** Generated reports
+
+ The format of the reports (parse.output) was improved for readadibility.
+
+*** Better support for --no-line.
+
+ When --no-line is used, the generated files are now cleaner: no lines are
+ generated instead of empty lines. Together with using api.header.include,
+ that should help people saving the generated files into version control
+ systems get smaller diffs.
+
** Documentation
A new example in C shows an simple infix calculator with a hand-written
@@ -103,6 +119,15 @@ GNU Bison NEWS
A new example in C shows a reentrant parser (capable of recursive calls)
built with Flex and Bison (examples/c/reccalc).
+ There is a new section about the history of Yaccs and Bison.
+
+** Bug fixes
+
+ A few obscure bugs were fixed, including the second oldest (known) bug in
+ Bison: it was there when Bison was entered in the RCS version control
+ system, in December 1987. See the NEWS of Bison 3.3 for the previous
+ oldest bug.
+
* Noteworthy changes in release 3.3.2 (2019-02-03) [stable]
** Bug fixes