]> git.saurik.com Git - bison.git/commit - data/push.c
Simplify union and prologue handling, and escape union and lex/parse
authorJoel E. Denny <jdenny@ces.clemson.edu>
Tue, 9 Jan 2007 05:24:11 +0000 (05:24 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Tue, 9 Jan 2007 05:24:11 +0000 (05:24 +0000)
commit7ecec4ddf9e1640c7133e0be0788b1d30ece20ec
tree4b243d5c3cb91a26fdebbb8b38dd56f6ed47c9d4
parent16dc6a9ebf3b936f5383c49d5f29738a53538395
Simplify union and prologue handling, and escape union and lex/parse
params with digraphs.
* data/bison.m4 (b4_pre_prologue, b4_post_prologue): Set their default
values to the empty string since these are no longer guaranteed
initialized by the front-end.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/push.c, data/yacc.c: Add
braces around b4_user_stype since this is no longer done by the
front-end.
* src/files.c, src/files.h (pre_prologue_obstack,
post_prologue_obstack): Remove.
* src/muscle_tab.c (muscle_pair_list_grow): Don't duplicate header
comments here.  Use MUSCLE_OBSTACK_SGROW so that values are escaped
with digraphs.  This fixes lex params and parse params.
* src/muscle_tab.h (muscle_pair_list_grow): Update comments.
* src/output.c (prepare): Remove muscle insertion of the prologues.
(output): Remove freeing of pre_prologue_obstack and
post_prologue_obstack.
* src/parse-gram.y (prologue_declaration): Use muscle_code_grow rather
than prologue_augment for prologue parsing so you don't need prologue
obstacks.
(grammar_declaration): Use `braceless' instead of "{...}" so that
braces are already stripped and code is escaped with digraphs.
* src/reader.c (prologue_augment): Remove.
(reader): Remove initialization of pre_prologue_obstack and
post_prologue_obstack.
* src/reader.h (prologue_augment): Remove.

* data/c.m4: Remove stray parenthesis.
18 files changed:
ChangeLog
data/bison.m4
data/c.m4
data/glr.c
data/glr.cc
data/lalr1.cc
data/push.c
data/yacc.c
src/files.c
src/files.h
src/muscle_tab.c
src/muscle_tab.h
src/output.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/reader.c
src/reader.h