X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c373bf8bb8da68ed12b1e73aaa2d777f6c701e46..2bb3ebec2191c93534bf8b52d647bd221c1cab3b:/NEWS?ds=sidebyside diff --git a/NEWS b/NEWS index 09defd4d..1458cb2d 100644 --- a/NEWS +++ b/NEWS @@ -3,10 +3,22 @@ Bison News Changes in version 2.3a+ (????-??-??): +* The quotes around NAME that used to be required in the following directive + are now deprecated: + + %define NAME "VALUE" + +* The directive `%pure-parser' is now deprecated in favor of: + + %define api.pure + + which has the same effect except that Bison is more careful to warn about + unreasonable usage in the latter case. + * Push Parsing Bison can now generate an LALR(1) parser in C with a push interface. That - is, instead of invoking yyparse, which pulls tokens from `yylex', you can + is, instead of invoking `yyparse', which pulls tokens from `yylex', you can push one token at a time to the parser using `yypush_parse', which will return to the caller after processing each token. By default, the push interface is disabled. Either of the following directives will enable it: @@ -29,6 +41,11 @@ Changes in version 2.3a+ (????-??-??): %defines "parser.h" +* When reporting useless rules, useless nonterminals, and unused terminals, + Bison now employs the terms "useless in grammar" instead of "useless", + "useless in parser" instead of "never reduced", and "unused in grammar" + instead of "unused". + * Unreachable State Removal Previously, Bison sometimes generated parser tables containing unreachable @@ -42,7 +59,7 @@ Changes in version 2.3a+ (????-??-??): directives in existing grammar files. 3. For any rule used only in such states, Bison now reports the rule as - "never reduced because of conflicts". + "useless in parser due to conflicts". This feature can be disabled with the following directive: @@ -52,7 +69,7 @@ Changes in version 2.3a+ (????-??-??): for further discussion. * Lookahead Set Correction in the `.output' Report - + When instructed to generate a `.output' file including lookahead sets (using `--report=lookahead', for example), Bison now prints each reduction's lookahead set only next to the associated state's one item that (1) is @@ -62,6 +79,8 @@ Changes in version 2.3a+ (????-??-??): bug affected only the `.output' file and not the generated parser source code. +* --report-file=FILE is a new flag to override the default `.output' file name. + * The `=' that used to be required in the following directives is now deprecated: @@ -69,11 +88,6 @@ Changes in version 2.3a+ (????-??-??): %name-prefix "c_" %output "parser.c" -* The quotes around NAME that used to be required in the following directive - are now deprecated: - - %define NAME "VALUE" - * An Alternative to `%{...%}' -- `%code QUALIFIER {CODE}' Bison 2.3a provided a new set of directives as a more flexible alternative to @@ -140,6 +154,13 @@ Changes in version 2.3a+ (????-??-??): See the section `Freeing Discarded Symbols' in the Bison manual for further details. +* %left, %right, and %nonassoc can now declare token numbers. This is required + by POSIX. However, see the end of section `Operator Precedence' in the Bison + manual for a caveat concerning the treatment of literal strings. + +* The nonfunctional --no-parser, -n, and %no-parser options have been + completely removed from Bison. + Changes in version 2.3a, 2006-09-13: * Instead of %union, you can define and use your own union type @@ -964,7 +985,7 @@ End: ----- Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007 Free Software Foundation, Inc. +2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler.