diff options
author | Joel E. Denny <jdenny@ces.clemson.edu> | 2006-06-23 20:17:28 +0000 |
---|---|---|
committer | Joel E. Denny <jdenny@ces.clemson.edu> | 2006-06-23 20:17:28 +0000 |
commit | 34f98f46ee16dd3719d19e002dc27b2665a2514f (patch) | |
tree | 3a042df9f00893c771358d83e02fbfb7cdf0509a /src/reader.h | |
parent | 31b2b07ef765e9e8734ca273308094804fcc9763 (diff) | |
download | bison-34f98f46ee16dd3719d19e002dc27b2665a2514f.tar.gz |
Rename %before-definitions to %start-header and %after-definitions to
%end-header. Don't use these declarations to separate pre-prologue
blocks from post-prologue blocks. Add new order-independent
declarations %before-header and %after-header as alternatives to the
traditional Yacc pre-prologue and post-prologue blocks. Discussed at
<http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00110.html>.
* NEWS (2.3+): Update for these changes.
* data/glr.c (b4_before_definitions): Update to...
(b4_start_header): ... this.
(b4_after_definitions): Update to...
(b4_end_header): ... this.
* data/glr.cc: Likewise.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
* doc/bison.texinfo (The prologue): Update names, and replace remaining
prologue blocks with %*-header declarations.
(Calc++ Parser): Likewise.
(Bison Declaration Summary): Update names.
(Bison Symbols): Update description.
* src/parse-gram.y (PERCENT_AFTER_DEFINITIONS): Update to...
(PERCENT_END_HEADER): ... this.
(PERCENT_BEFORE_DEFINITIONS): Update to...
(PERCENT_START_HEADER): ... this.
(PERCENT_AFTER_HEADER, PERCENT_BEFORE_HEADER): New tokens.
(declaration): Update token names and m4 macro names.
When parsing %end-header and %start-header, invoke translate_code
before muscle_code_grow, and no longer set global booleans to remember
whether these declarations have been seen.
Parse new %after-header and %before-header.
* src/reader.c (before_definitions, after_definitions): Remove.
(prologue_augment): Accept a new bool argument to specify whether to
augment the pre-prologue or post-prologue.
* src/reader.h (before_definitions, after_definitions): Remove these
extern's.
(prologue_augment): Add new bool argument.
* src/scan-gram.l (PERCENT_AFTER_DEFINITIONS): Update to...
(PERCENT_END_HEADER): ... this.
(PERCENT_BEFORE_DEFINITIONS): Update to...
(PERCENT_START_HEADER): ... this.
(PERCENT_AFTER_HEADER, PERCENT_BEFORE_HEADER): New tokens.
* tests/actions.at (Printers and Destructors): Update names.
Diffstat (limited to 'src/reader.h')
-rw-r--r-- | src/reader.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/reader.h b/src/reader.h index d49f8f67..a16bfaf3 100644 --- a/src/reader.h +++ b/src/reader.h @@ -43,7 +43,7 @@ char const *token_name (int type); /* From reader.c. */ void grammar_start_symbol_set (symbol *sym, location loc); -void prologue_augment (const char *prologue, location loc); +void prologue_augment (const char *prologue, location loc, bool post); void grammar_current_rule_begin (symbol *lhs, location loc); void grammar_current_rule_end (location loc); void grammar_midrule_action (void); @@ -58,10 +58,8 @@ void free_merger_functions (void); extern merger_list *merge_functions; -/* Was %union, %before-definitions, or %after-definitions seen? */ +/* Was %union seen? */ extern bool typed; -extern bool before_definitions; -extern bool after_definitions; /* Should rules have a default precedence? */ extern bool default_prec; |