[Top][All Lists]

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

Bison 1.31 is released

From: Akim Demaille
Subject: Bison 1.31 is released
Date: 15 Jan 2002 16:42:42 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

The following message is a courtesy copy of an article
that has been posted to comp.compilers,gnu.announce,gnu.utils.bug as well.

It finally came out!

We are very happy to announce Bison 1.31, the GNU Yacc clone, which
includes very significant bug fixes: we _strongly_ encourage everyone
to upgrade.

This release would never have existed without the following people:
Robert Anisko, Marc Autret, Pascal Bart (who worked on Bison as part
of their scholarship at EPITA), Paul Eggert (who imported his
expertise on standards, portability, and 64 bit issues), and all our
beta testers (especially the tireless H. Merijn Brand).

Enjoy!   (701 kB)  (573 kB)

And here are xdelta-style diffs   (158 kB)

Here are the MD5 and SHA1 signatures for the compressed tar files:

bda25569be8e2ab168b5342d21eb70c0  bison-1.31.tar.gz
b518b82de104cef26830d4bac7af459e  bison-1.31.tar.bz2
35f1dc152bbff671583156a270f3eb29b0370a56  bison-1.31.tar.gz
b5f498cb19e94126e36d273bb014e3e36d1495ee  bison-1.31.tar.bz2

Bison News

Changes in version 1.31, 2002-01-14:

* Many Bug Fixes

* Use of alloca in parsers
  If YYSTACK_USE_ALLOCA is defined to 0, then the parsers will use
  malloc exclusively.  Since 1.29, but was not NEWS'ed.

  alloca is used only when compiled with GCC, to avoid portability
  problems as on AIX.

* When the generated parser lacks debugging code, YYDEBUG is now 0
  (as POSIX requires) instead of being undefined.

* User Actions
  Bison has always permitted actions such as { $$ = $1 }: it adds the
  ending semicolon.  Now if in Yacc compatibility mode, the semicolon
  is no longer output: one has to write { $$ = $1; }.

* Better C++ compliance
  The output parsers try to respect C++ namespaces.

* Reduced Grammars
  Fixed bugs when reporting useless nonterminals.

* 64 bit hosts
  The parsers work properly on 64 bit hosts.

* Error messages
  Some calls to strerror resulted in scrambled or missing error messages.

* %expect
  When the number of shift/reduce conflicts is correct, don't issue
  any warning.

* The verbose report includes the rule line numbers.

* Rule line numbers are fixed in traces.

* Swedish translation

* Parse errors
  Verbose parse error messages from the parsers are better looking.
  Before: parse error: unexpected `'/'', expecting `"number"' or `'-'' or `'(''
     Now: parse error: unexpected '/', expecting "number" or '-' or '('

* Fixed parser memory leaks.
  When the generated parser was using malloc to extend its stacks, the
  previous allocations were not freed.

* Fixed verbose output file.
  Some newlines were missing.
  Some conflicts in state descriptions were missing.

* Fixed conflict report.
  Option -v was needed to get the result.

* %expect
  Was not used.
  Mismatches are errors, not warnings.

* Fixed incorrect processing of some invalid input.

* Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H.

* Fixed some typos in the documentation.

* %token MY_EOF 0 is supported.
  Before, MY_EOF was silently renumbered as 257.

* doc/refcard.tex is updated.

* %output, %file-prefix, %name-prefix.

* --output
  New, aliasing `--output-file'.

reply via email to

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