]> git.saurik.com Git - bison.git/blobdiff - NEWS
Regen.
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 4f1f0751cab48a52ee60e788135845f42b80793b..50fb91efc51d433a15aff9430e871b4a9b29d404 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,18 +1,36 @@
 Bison News
 ----------
 
-Changes in version 1.49a:
+Changes in version 1.49b:
 
-* The initial rule is explicit.
+* Undefined token
+  The undefined token was systematically mapped to 2 which prevented
+  the use of 2 from the user.  This is no longer the case.
+
+* Unknown token numbers
+  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
+  Large grammars are now supported (large token numbers, large grammar
+  size (= sum of the LHS and RHS lengths), large LALR tables).
+
+* Explicit initial rule
   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.
+
+* Useless rules
   Before, Bison reported the useless rules, but, although not used,
-  included them in the parsers.
-        
-* False `Token not used' report fixed.
+  included them in the parsers.  They are now actually removed.
+
+* Incorrect `Token not used'
   On a grammar such as
 
            %token useless useful
@@ -22,12 +40,14 @@ Changes in version 1.49a:
   where a token was used to set the precedence of the last rule,
   bison reported both `useful' and `useless' as useless tokens.
 
-* Revert the C++ namespace changes introduced in 1.31, as they caused too
-  many portability hassles.
+* Revert the C++ namespace changes introduced in 1.31
+  as they caused too many portability hassles.
 
-* Items overflow
-  Bison no longer dumps core when there are too many items, it just
-  dies.
+* Default locations
+  By an accident of design, the default computation of @$ was
+  performed after another default computation was performed: @$ = @1.
+  The latter is now removed: YYLLOC_DEFAULT is fully responsible of
+  the computation of @$.
 
 * Token end-of-file
   The token end of file may be specified by the user, in which case,
@@ -37,6 +57,74 @@ Changes in version 1.49a:
      %token YYEOF 0
   or
      %token YYEOF 0 "end of file"
+
+* Semantic parser
+  This old option, which has been broken for ages, is removed.
+
+* New translations
+  Croatian, thanks to Denis Lackovic.
+
+* Incorrect token definitions
+  When fed with `%token 'a' "A"', Bison used to output `#define 'a' 65'.
+
+* Token definitions as enums
+  Tokens are output both as the traditional #define's, and, provided
+  the compiler supports ANSI C or is a C++ compiler, as enums.
+  This helps debuggers producing symbols instead of values.
+
+\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:
 
@@ -65,6 +153,7 @@ Changes in version 1.31, 2002-01-14:
 
 * 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.
@@ -122,7 +211,7 @@ Changes in version 1.31, 2002-01-14:
 * --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
@@ -245,3 +334,24 @@ Output file does not redefine const for C++.
 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.