summaryrefslogtreecommitdiff
path: root/src/reader.h
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny@ces.clemson.edu>2006-06-23 20:17:28 +0000
committerJoel E. Denny <jdenny@ces.clemson.edu>2006-06-23 20:17:28 +0000
commit34f98f46ee16dd3719d19e002dc27b2665a2514f (patch)
tree3a042df9f00893c771358d83e02fbfb7cdf0509a /src/reader.h
parent31b2b07ef765e9e8734ca273308094804fcc9763 (diff)
downloadbison-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.h6
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;