Bison 3.0.4 is a long overdue bug fix release. 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 languages.
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 supported. Enjoy! Here are the compressed sources: ftp://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz (3.2MB) ftp://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.xz (1.9MB) Here are the GPG detached signatures[*]: ftp://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz.sig ftp://ftp.gnu.org/gnu/bison/bison-3.0.4.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.4.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-339-gea6cb04 NEWS * Noteworthy changes in release 3.0.4 (2015-01-23) [stable] ** Bug fixes *** C++ with Variants (lalr1.cc) Fix a compiler warning when no %destructor use $$. *** Test suites Several portability issues in tests were fixed. * 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. _______________________________________________ GNU Announcement mailing list <info-gnu@gnu.org> https://lists.gnu.org/mailman/listinfo/info-gnu