[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bison-3.0.5 released [stable]

From: Akim Demaille
Subject: bison-3.0.5 released [stable]
Date: Mon, 28 May 2018 07:33:25 +0200

We are happy to announce the release of GNU Bison 3.0.5, a bug fix

Bison is a general-purpose parser generator that converts an annotated
context-free grammar into a deterministic LR or generalized LR (GLR)
parser employing LALR(1) parser tables.  Bison can also generate
IELR(1) or canonical LR(1) parser tables. Once you are proficient with
Bison, you can use it to develop a wide range of language parsers,
from those used in simple desk calculators to complex programming

Bison is upward compatible with Yacc: all properly-written Yacc
grammars ought to work with Bison with no change. Anyone familiar with
Yacc should be able to use Bison with little trouble. You need to be
fluent in C or C++ programming in order to use Bison. Java is also

Here are the compressed sources:   (4.1MB)   (2.1MB)

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.5.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 --recv-keys 0DDCAA3278D5264E

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69
  Automake 1.16.1
  Flex 2.6.4
  Gnulib v0.1-1882-g0d10473be


* Noteworthy changes in release 3.0.5 (2018-05-27) [stable]

** Bug fixes

*** C++: Fix support of 'syntax_error'

  One incorrect 'inline' resulted in linking errors about the constructor of
  the syntax_error exception.

*** C++: Fix warnings

  GCC 7.3 (with -O1 or -O2 but not -O0 or -O3) issued null-dereference
  warnings about yyformat being possibly null.  It also warned about the
  deprecated implicit definition of copy constructors when there's a
  user-defined (copy) assignment operator.

*** Location of errors

  In C++ parsers, out-of-bounds errors can happen when a rule with an empty
  ride-hand side raises a syntax error.  The behavior of the default parser
  (yacc.c) in such a condition was undefined.

  Now all the parsers match the behavior of glr.c: @$ is used as the
  location of the error.  This handles gracefully rules with and without

*** Portability fixes in the test suite

  On some platforms, some Java and/or C++ tests were failing.

reply via email to

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