]> git.saurik.com Git - bison.git/commit
Replace `%push-parser' and `%push-pull-parser' with
authorJoel E. Denny <jdenny@ces.clemson.edu>
Tue, 25 Sep 2007 05:47:27 +0000 (05:47 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Tue, 25 Sep 2007 05:47:27 +0000 (05:47 +0000)
commitd782395d52519fabb2cac3bd479246cc6de7efa8
treeec231b8f3299ea38f1c34aa0c2051fb81893f871
parent3f999f78be708c18eb71f4ca4f1896bf93d293e3
Replace `%push-parser' and `%push-pull-parser' with
`%define push_pull "push"' and `%define push_pull "both"'.
`%define push_pull "pull"' is the default.
* doc/bison.texinfo (Push Decl, Push Parser Function,
Pull Parser Function, Parser Create Function, Parser Delete Function):
Update declarations.
(Decl Summary, Table of Symbols): Replace %push-parser and
%push-pull-parser entries with a %define push_pull entry.
* data/bison.m4 (b4_percent_define_check_values): New macro.
(b4_pull_if, b4_push_if, b4_use_push_for_pull_if): Move these
definitions...
* data/c.m4 (b4_identification): ... and the YYPUSH and YYPULL cpp
definitions...
* data/push.c: ... to here and compute them from the value of the
%define variable push_pull.
* data/c-skel.m4: Instead of choosing the push.c skeleton for push
parsing requests here...
* data/yacc.c: ... hack this to switch to push.c any time
b4_use_push_pull_flag or the %define variable push_pull is set.  This
will go away when we mv push.c yacc.c.
* data/c++-skel.m4, data/glr.c, data/java-skel.m4: Don't report that
push parsing is not supported since unused %define variables are
reported anyway.
* src/getargs.c, src/getargs.h (pull_parser, push_parser): Remove.
* src/muscle_tab.h (muscle_percent_define_check_values): Update
comments for consistency with b4_percent_define_check_values.
* src/output.c (prepare): Don't insert b4_pull_flag and b4_push_flag
muscles.
* src/parse-gram.y (PERCENT_PUSH_PARSER, PERCENT_PUSH_PULL_PARSER):
Remove.
(prologue_declaration): Remove %push-parser and %push-pull-parser
rules.
* src/scan-gram.l (%push-parser, %push-pull-parser): Remove rules.
* tests/calc.at: Update declarations.
* tests/input.at (%define enum variables): New test case.
* tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update
declaration.
(Push Parsing: Multiple impure instances): Update declaration.
(Push Parsing: Unsupported Skeletons): New test case.
* tests/torture.at (Exploding the Stack Size with Alloca): Update
declaration.
(Exploding the Stack Size with Malloc): Update declaration.
22 files changed:
ChangeLog
data/bison.m4
data/c++-skel.m4
data/c-skel.m4
data/c.m4
data/glr.c
data/java-skel.m4
data/push.c
data/yacc.c
doc/bison.texinfo
src/getargs.c
src/getargs.h
src/muscle_tab.h
src/output.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/scan-gram.l
tests/calc.at
tests/input.at
tests/push.at
tests/torture.at