Bison News
----------
-Changes in version 1.49a:
+Changes in version 1.49b:
* Undefined token
The undefined token was systematically mapped to 2 which prevented
If yylex returned a code out of range, yyparse could die. This is
no longer the case.
+* Error token
+ According to POSIX, the error token should be numbered as 256.
+ Bison extends this requirement by making it a preference: *if* the
+ user specified that one of her tokens is numbered 256, then error
+ will be mapped onto another number.
+
* Large grammars
Are now supported (large token numbers, large grammar size (= sum of
- the LHS and RHS lengths).
+ the LHS and RHS lengths), large LALR tables).
* The initial rule is explicit.
Bison used to play hacks with the initial rule, which the user does
not write. It is now explicit, and visible in the reports and
graphs as rule 0.
-
+
* Useless rules are actually removed.
Before, Bison reported the useless rules, but, although not used,
included them in the parsers.
-
+
* False `Token not used' report fixed.
On a grammar such as
or
%token YYEOF 0 "end of file"
\f
+Changes in version 1.35, 2002-03-25:
+
+* C Skeleton
+ Some projects use Bison's C parser with C++ compilers, and define
+ YYSTYPE as a class. The recent adjustment of C parsers for data
+ alignment and 64 bit architectures made this impossible.
+
+ Because for the time being no real solution for C++ parser
+ generation exists, kludges were implemented in the parser to
+ maintain this use. In the future, when Bison has C++ parsers, this
+ kludge will be disabled.
+
+ This kludge also addresses some C++ problems when the stack was
+ extended.
+
+\f
+Changes in version 1.34, 2002-03-12:
+
+* File name clashes are detected
+ $ bison foo.y -d -o foo.x
+ fatal error: header and parser would both be named `foo.x'
+
+* A missing `;' at the end of a rule triggers a warning
+ In accordance with POSIX, and in agreement with other
+ Yacc implementations, Bison will mandate this semicolon in the near
+ future. This eases the implementation of a Bison parser of Bison
+ grammars by making this grammar LALR(1) instead of LR(2). To
+ facilitate the transition, this release introduces a warning.
+
+* Revert the C++ namespace changes introduced in 1.31, as they caused too
+ many portability hassles.
+
+* DJGPP support added.
+
+* Fix test suite portability problems.
+\f
+Changes in version 1.33, 2002-02-07:
+
+* Fix C++ issues
+ Groff could not be compiled for the definition of size_t was lacking
+ under some conditions.
+
+* Catch invalid @n
+ As is done with $n.
+\f
+Changes in version 1.32, 2002-01-23:
+
+* Fix Yacc output file names
+
+* Portability fixes
+
+* Italian, Dutch translations
+\f
Changes in version 1.31, 2002-01-14:
* Many Bug Fixes
* Better C++ compliance
The output parsers try to respect C++ namespaces.
+ [This turned out to be a failed experiment, and it was reverted later.]
* Reduced Grammars
Fixed bugs when reporting useless nonterminals.
* --output
New, aliasing `--output-file'.
\f
-Changes in version 1.30:
+Changes in version 1.30, 2001-10-26:
* `--defines' and `--graph' have now an optionnal argument which is the
output file name. `-d' and `-g' do not change, they do not take any
Local Variables:
mode: outline
End:
+
+-----
+
+Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Autoconf.
+
+GNU Autoconf is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Autoconf is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.