mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
NEWS: update
This commit is contained in:
87
NEWS
87
NEWS
@@ -2,37 +2,6 @@ GNU Bison NEWS
|
|||||||
|
|
||||||
* Noteworthy changes in release ?.? (????-??-??) [?]
|
* 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
|
** New features
|
||||||
|
|
||||||
*** Colored diagnostics
|
*** Colored diagnostics
|
||||||
@@ -95,6 +64,53 @@ GNU Bison NEWS
|
|||||||
definition of locations: let one of them generate them, and the others
|
definition of locations: let one of them generate them, and the others
|
||||||
just use them.
|
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
|
** Documentation
|
||||||
|
|
||||||
A new example in C shows an simple infix calculator with a hand-written
|
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)
|
A new example in C shows a reentrant parser (capable of recursive calls)
|
||||||
built with Flex and Bison (examples/c/reccalc).
|
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]
|
* Noteworthy changes in release 3.3.2 (2019-02-03) [stable]
|
||||||
|
|
||||||
** Bug fixes
|
** Bug fixes
|
||||||
|
|||||||
Reference in New Issue
Block a user