X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c373bf8bb8da68ed12b1e73aaa2d777f6c701e46..80d2c3adcce25b11be36add53af1bc8be79eefb0:/NEWS diff --git a/NEWS b/NEWS index 09defd4d..3526e7b4 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: @@ -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