[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bison 3.0.3 (stable)
From: |
Akim Demaille |
Subject: |
Bison 3.0.3 (stable) |
Date: |
Thu, 15 Jan 2015 10:57:01 +0100 |
Hi all,
I'm about to release Bison 3.0.3, a long overdue bug fix
release of the 3.0 series. Please, test it exhaustively
on your projects!
Unless problems are reported, I will publish this announcement
more widely in a few days.
Thanks!
Here are the compressed sources:
ftp://ftp.gnu.org/gnu/bison/bison-3.0.3.tar.gz (3.2MB)
ftp://ftp.gnu.org/gnu/bison/bison-3.0.3.tar.xz (1.9MB)
Here are the GPG detached signatures[*]:
ftp://ftp.gnu.org/gnu/bison/bison-3.0.3.tar.gz.sig
ftp://ftp.gnu.org/gnu/bison/bison-3.0.3.tar.xz.sig
Use a mirror for higher download bandwidth:
http://www.gnu.org/order/ftp.html
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify bison-3.0.3.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys 0DDCAA3278D5264E
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
Autoconf 2.69
Automake 1.15
Flex 2.5.37
Gettext 0.19.4
Gnulib v0.1-334-g7585eb3
NEWS
* Noteworthy changes in release 3.0.3 (2015-01-15) [stable]
** Bug fixes
*** C++ with Variants (lalr1.cc)
Problems with %destructor and '%define parse.assert' have been fixed.
*** Named %union support (yacc.c, glr.c)
Bison 3.0 introduced a regression on named %union such as
%union foo { int ival; };
The possibility to use a name was introduced "for Yacc compatibility".
It is however not required by POSIX Yacc, and its usefulness is not clear.
*** %define api.value.type union with %defines (yacc.c, glr.c)
The C parsers were broken when %defines was used together with "%define
api.value.type union".
*** Redeclarations are reported in proper order
On
%token FOO "foo"
%printer {} "foo"
%printer {} FOO
bison used to report:
/tmp/foo.yy:2.10-11: error: %printer redeclaration for FOO
%printer {} "foo"
^^
/tmp/foo.yy:3.10-11: previous declaration
%printer {} FOO
^^
Now, the "previous" declaration is always the first one.
** Documentation
Bison now installs various files in its docdir (which defaults to
'/usr/local/share/doc/bison'), including the three fully blown examples
extracted from the documentation:
- rpcalc
Reverse polish calculator, a simple introductory example.
- mfcalc
Multi-function Calc, a calculator with memory and functions and located
error messages.
- calc++
a calculator in C++ using variant support and token constructors.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Bison 3.0.3 (stable),
Akim Demaille <=