[Top][All Lists]

[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.


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[*]:

Use a mirror for higher download bandwidth:

[*] 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


* 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


    %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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]