Bison 1.875.

This commit is contained in:
Paul Eggert
2003-01-01 09:04:56 +00:00
parent 1deb9bdcad
commit dc546b0f6e
3 changed files with 82 additions and 89 deletions

View File

@@ -1,3 +1,7 @@
2003-01-01 Paul Eggert <eggert@twinsun.com>
* Version 1.875.
2002-12-30 Paul Eggert <eggert@twinsun.com> 2002-12-30 Paul Eggert <eggert@twinsun.com>
* src/scan-gram.l (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","): * src/scan-gram.l (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
@@ -5,7 +9,7 @@
(<INITIAL>","): Here. This causes stray "," to be treated (<INITIAL>","): Here. This causes stray "," to be treated
more uniformly. more uniformly.
* src/scan-gram.l (<SC_BRACED_CODE>"}"): Append ";" before the * src/scan-gram.l (<SC_BRACED_CODE>"}"): Output ";" before the
last brace in braced code when not in Yacc mode, for compatibility last brace in braced code when not in Yacc mode, for compatibility
with Bison 1.35. This resurrects the 2001-12-15 patch to with Bison 1.35. This resurrects the 2001-12-15 patch to
src/reader.c. src/reader.c.
@@ -174,7 +178,7 @@
(token_type): New local var, to keep track of which token type (token_type): New local var, to keep track of which token type
to return when scanning braced code. to return when scanning braced code.
(<INITIAL>"%destructor", <INITIAL>"%lex-param", (<INITIAL>"%destructor", <INITIAL>"%lex-param",
<INITIAL>"%parse-param", <INITIAL>"%printer, <INITIAL>"%parse-param", <INITIAL>"%printer",
<INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE <INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE
instead of returning a token type immediately. instead of returning a token type immediately.
(<INITIAL>"{"): Set token type. (<INITIAL>"{"): Set token type.
@@ -10607,10 +10611,11 @@
1987-12-16 Richard Stallman <rms@gnu.org> 1987-12-16 Richard Stallman <rms@gnu.org>
* REFERENCES: entered into RCS * REFERENCES: entered into RCS
----- -----
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.

156
NEWS
View File

@@ -1,105 +1,93 @@
Bison News Bison News
---------- ----------
Changes in version 1.75f, 2002-12-28: Changes in version 1.875, 2003-01-01:
* In Yacc-style parsers YYLLOC_DEFAULT is now used to compute error
locations too. This fixes bugs in error-location computation.
* Bison now uses a Yacc-style format for conflict reports, e.g.,
"conflicts: 2 shift/reduce, 1 reduce/reduce".
* Bison now warns if it detects conflicting outputs to the same file,
e.g., it generates a warning for "bison -d -o foo.h foo.y" since
that command outputs both code and header to foo.h.
Changes in version 1.75e, 2002-12-24:
* If the user does not define YYSTYPE as a macro, Bison now declares it
using typedef instead of defining it as a macro. POSIX requires this.
For consistency, YYLTYPE is also declared instead of defined.
* %union directives can now have a tag before the `{', e.g., the
directive `%union foo {...}' now generates the C code
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
The default union tag is `YYSTYPE', for compatibility with Solaris 9 Yacc.
For consistency, YYLTYPE's struct tag is now `YYLTYPE' instead of `yyltype'.
* `yystype' and `yyltype' are now obsolescent macros instead of being
typedefs or tags; they are no longer documented and will be
withdrawn in a future release.
* References to the experimental %lex-param and %parse-param directives
have been temporarily removed from the manual, since we don't want
users to rely upon these features quite yet.
Changes in version 1.75d, 2002-12-13:
* Semicolons are once again optional at the end of grammar rules.
This reverts to the behavior of Bison 1.33 and earlier, and improves
compatibility with Yacc.
* Type clashes now generate warnings, not errors.
* Yacc command and library now available
The Bison distribution now installs a yacc command, as POSIX requires.
Also, Bison now installs a small library liby.a containing
implementations of Yacc-compatible yyerror and main functions.
This library is normally not useful, but POSIX requires it.
* %lex-param, %parse-param
These now take just one operand, not two.
* The documentation now emphasizes that yylex and yyerror must be
declared before use. C99 requires this.
* The documentation license has been upgraded to version 1.2 * The documentation license has been upgraded to version 1.2
of the GNU Free Documentation License. of the GNU Free Documentation License.
Changes in version 1.75c, 2002-11-25: * syntax error processing
* "parse error" -> "syntax error" - In Yacc-style parsers YYLLOC_DEFAULT is now used to compute error
Bison now uniformly uses the term "syntax error"; formerly, the code locations too. This fixes bugs in error-location computation.
and manual sometimes used the term "parse error" instead. POSIX
requires "syntax error" in diagnostics, and it was thought better to
be consistent.
* "parsing stack overflow..." -> "parser stack overflow" - %destructor
GLR parsers now report "parser stack overflow" as per the Bison manual. It is now possible to reclaim the memory associated to symbols
discarded during error recovery. This feature is still experimental.
* GLR and inline - %error-verbose
Users of Bison have to decide how they handle the portability of the This new directive is preferred over YYERROR_VERBOSE.
C keyword `inline'.
Changes in version 1.75b, 2002-11-13: - #defining yyerror to steal internal variables is discouraged.
It is not guaranteed to work forever.
* %destructor * POSIX conformance
It is now possible to reclaim the memory associated to symbols
discarded during error recovery. This feature is still experimental.
* Bison now parses C99 lexical constructs like UCNs and - Semicolons are once again optional at the end of grammar rules.
backslash-newline within C escape sequences, as POSIX 1003.1-2001 requires. This reverts to the behavior of Bison 1.33 and earlier, and improves
compatibility with Yacc.
* --no-line works properly. - `parse error' -> `syntax error'
Bison now uniformly uses the term `syntax error'; formerly, the code
and manual sometimes used the term `parse error' instead. POSIX
requires `syntax error' in diagnostics, and it was thought better to
be consistent.
* %error-verbose - The documentation now emphasizes that yylex and yyerror must be
This new directive is preferred over YYERROR_VERBOSE. declared before use. C99 requires this.
* %lex-param, %parse-param - Bison now parses C99 lexical constructs like UCNs and
These new directives are preferred over PARSE_PARAM and LEX_PARAM. backslash-newline within C escape sequences, as POSIX 1003.1-2001 requires.
In addition, they provide a means for yyerror to remain pure, and
to access to the current location.
#defining yyerror to steal internal variables is strongly - File names are properly escaped in C output. E.g., foo\bar.y is
discouraged. It is not guaranteed to work for ever. output as "foo\\bar.y".
* #line - Yacc command and library now available
Bison now recognizes #line in its input, and forwards them. The Bison distribution now installs a `yacc' command, as POSIX requires.
Also, Bison now installs a small library liby.a containing
implementations of Yacc-compatible yyerror and main functions.
This library is normally not useful, but POSIX requires it.
* #line - Type clashes now generate warnings, not errors.
File names are properly escaped. E.g. foo\bar.y give #line 123 "foo\\bar.y".
Changes in version 1.75a, 2002-10-24: - If the user does not define YYSTYPE as a macro, Bison now declares it
using typedef instead of defining it as a macro.
For consistency, YYLTYPE is also declared instead of defined.
* Other compatibility issues
- %union directives can now have a tag before the `{', e.g., the
directive `%union foo {...}' now generates the C code
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
The default union tag is `YYSTYPE', for compatibility with Solaris 9 Yacc.
For consistency, YYLTYPE's struct tag is now `YYLTYPE' not `yyltype'.
This is for compatibility with both Yacc and Bison 1.35.
- `;' is output before the terminating `}' of an action, for
compatibility with Bison 1.35.
- Bison now uses a Yacc-style format for conflict reports, e.g.,
`conflicts: 2 shift/reduce, 1 reduce/reduce'.
- `yystype' and `yyltype' are now obsolescent macros instead of being
typedefs or tags; they are no longer documented and are planned to be
withdrawn in a future release.
* GLR parser notes
- GLR and inline
Users of Bison have to decide how they handle the portability of the
C keyword `inline'.
- `parsing stack overflow...' -> `parser stack overflow'
GLR parsers now report `parser stack overflow' as per the Bison manual.
* Bison now warns if it detects conflicting outputs to the same file,
e.g., it generates a warning for `bison -d -o foo.h foo.y' since
that command outputs both code and header to foo.h.
* #line in output files
- --no-line works properly.
* Bison can no longer be built by a K&R C compiler; it requires C89 or * Bison can no longer be built by a K&R C compiler; it requires C89 or
later to be built. This change originally took place a few versions later to be built. This change originally took place a few versions
@@ -540,8 +528,8 @@ End:
----- -----
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.

View File

@@ -1,6 +1,6 @@
# Configure template for GNU Bison. -*-Autoconf-*- # Configure template for GNU Bison. -*-Autoconf-*-
# #
# Copyright (C) 2001, 2002 Free Software Foundation, Inc. # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
# We need a recent Autoconf to run a recent Autotest. # We need a recent Autoconf to run a recent Autotest.
AC_PREREQ(2.54) AC_PREREQ(2.54)
AC_INIT([GNU Bison], [1.75g], [bug-bison@gnu.org]) AC_INIT([GNU Bison], [1.875], [bug-bison@gnu.org])
AC_CONFIG_AUX_DIR(config) AC_CONFIG_AUX_DIR(config)
AM_INIT_AUTOMAKE([1.7 check-news readme-alpha dist-bzip2]) AM_INIT_AUTOMAKE([1.7 check-news readme-alpha dist-bzip2])