mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-14 14:53:03 +00:00
%define push_pull -> %define api.push_pull. Discussed starting at
<http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00005.html>. * data/push.c: Expect the new name. * data/yacc.c: Likewise. * doc/bison.texinfo (Push Decl): Update. (Decl Summary): Update %define entry. (Push Parser Function): Update. (Pull Parser Function): Update. (Parser Create Function): Update. (Parser Delete Function): Update. * tests/calc.at (Simple LALR Calculator): Update. * tests/input.at (%define enum variables): Update. * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update. (Push Parsing: Multiple impure instances): Update. (Push Parsing: Unsupported Skeletons): Update. * tests/torture.at (Exploding the Stack Size with Alloca): Update. (Exploding the Stack Size with Malloc): Update. * NEWS (2.3a+): Add an entry for the push parser, and clean up the other entries some.
This commit is contained in:
55
NEWS
55
NEWS
@@ -3,7 +3,35 @@ Bison News
|
||||
|
||||
Changes in version 2.3a+ (????-??-??):
|
||||
|
||||
* Previously, Bison sometimes generated parser tables containing unreachable
|
||||
* 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
|
||||
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:
|
||||
|
||||
%define api.push_pull "push" // Just push; does not require yylex.
|
||||
%define api.push_pull "both" // Push and pull; requires yylex.
|
||||
|
||||
See the new section `A Push Parser' in the Bison manual for details.
|
||||
|
||||
* The -g and --graph options now output graphs in Graphviz DOT format,
|
||||
not VCG format.
|
||||
|
||||
* An experimental directive %language specifies the language of the
|
||||
generated parser, which can be C (the default) or C++. This
|
||||
directive affects the skeleton used, and the names of the generated
|
||||
files if the grammar file's name ends in ".y".
|
||||
|
||||
* The grammar file may now specify the name of the parser header file using
|
||||
%defines. For example:
|
||||
|
||||
%defines "parser.h"
|
||||
|
||||
* Unreachable State Removal
|
||||
|
||||
Previously, Bison sometimes generated parser tables containing unreachable
|
||||
states. A state can become unreachable during conflict resolution if Bison
|
||||
disables a shift action leading to it from a predecessor state. Bison now:
|
||||
|
||||
@@ -23,7 +51,9 @@ Changes in version 2.3a+ (????-??-??):
|
||||
See the %define entry in the `Bison Declaration Summary' in the Bison manual
|
||||
for further discussion.
|
||||
|
||||
* When instructed to generate a `.output' file including lookahead sets
|
||||
* 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
|
||||
associated with the same rule as the reduction and (2) has its dot at the end
|
||||
@@ -32,19 +62,6 @@ Changes in version 2.3a+ (????-??-??):
|
||||
bug affected only the `.output' file and not the generated parser source
|
||||
code.
|
||||
|
||||
* The -g and --graph options now output graphs in Graphviz DOT format,
|
||||
not VCG format.
|
||||
|
||||
* An experimental directive %language specifies the language of the
|
||||
generated parser, which can be C (the default) or C++. This
|
||||
directive affects the skeleton used, and the names of the generated
|
||||
files if the grammar file's name ends in ".y".
|
||||
|
||||
* The grammar file may now specify the name of the parser header file using
|
||||
%defines. For example:
|
||||
|
||||
%defines "parser.h"
|
||||
|
||||
* The `=' that used to be required in the following directives is now
|
||||
deprecated:
|
||||
|
||||
@@ -57,7 +74,9 @@ Changes in version 2.3a+ (????-??-??):
|
||||
|
||||
%define NAME "VALUE"
|
||||
|
||||
* Bison 2.3a provided a new set of directives as a more flexible alternative to
|
||||
* An Alternative to `%{...%}' -- `%code QUALIFIER {CODE}'
|
||||
|
||||
Bison 2.3a provided a new set of directives as a more flexible alternative to
|
||||
the traditional Yacc prologue blocks. Those have now been consolidated into
|
||||
a single %code directive with an optional qualifier field, which identifies
|
||||
the purpose of the code and thus the location(s) where Bison should generate
|
||||
@@ -96,7 +115,9 @@ Changes in version 2.3a+ (????-??-??):
|
||||
To enable these warnings, specify the flag `--warnings=midrule-values' or
|
||||
`-W', which is a synonym for `--warnings=all'.
|
||||
|
||||
* Bison now recognizes two separate kinds of default %destructor's and
|
||||
* Default %destructor or %printer with `<*>' or `<>'
|
||||
|
||||
Bison now recognizes two separate kinds of default %destructor's and
|
||||
%printer's:
|
||||
|
||||
1. Place `<*>' in a %destructor/%printer symbol list to define a default
|
||||
|
||||
Reference in New Issue
Block a user