mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
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.
This commit is contained in:
24
data/yacc.c
24
data/yacc.c
@@ -181,9 +181,9 @@ b4_locations_if([#define yylloc b4_prefix[]lloc])])[
|
||||
# define YYTOKEN_TABLE ]b4_token_table[
|
||||
#endif
|
||||
|
||||
]m4_ifdef([b4_before_definitions],
|
||||
[[/* Copy the %before-definitions blocks. */
|
||||
]b4_before_definitions])[]dnl
|
||||
]m4_ifdef([b4_start_header],
|
||||
[[/* Copy the %start-header blocks. */
|
||||
]b4_start_header])[]dnl
|
||||
|
||||
b4_token_enums_defines(b4_tokens)[
|
||||
|
||||
@@ -213,9 +213,9 @@ typedef struct YYLTYPE
|
||||
# define YYLTYPE_IS_TRIVIAL 1
|
||||
#endif])
|
||||
|
||||
m4_ifdef([b4_after_definitions],
|
||||
[[/* Copy the %after-definitions blocks. */
|
||||
]b4_after_definitions])[]dnl
|
||||
m4_ifdef([b4_end_header],
|
||||
[[/* Copy the %end-header blocks. */
|
||||
]b4_end_header])[]dnl
|
||||
|
||||
[/* Copy the second part of user declarations. */
|
||||
]b4_post_prologue
|
||||
@@ -1498,9 +1498,9 @@ b4_defines_if(
|
||||
b4_copyright([Skeleton interface for Bison's Yacc-like parsers in C],dnl '
|
||||
[1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006])
|
||||
|
||||
m4_ifdef([b4_before_definitions],
|
||||
[[/* Copy the %before-definitions blocks. */
|
||||
]b4_before_definitions])[]dnl
|
||||
m4_ifdef([b4_start_header],
|
||||
[[/* Copy the %start-header blocks. */
|
||||
]b4_start_header])[]dnl
|
||||
|
||||
b4_token_enums_defines(b4_tokens)
|
||||
|
||||
@@ -1538,7 +1538,7 @@ typedef struct YYLTYPE
|
||||
[extern YYLTYPE b4_prefix[]lloc;])
|
||||
)dnl b4_locations_if
|
||||
|
||||
m4_ifdef([b4_after_definitions],
|
||||
[[/* Copy the %after-definitions blocks. */
|
||||
]b4_after_definitions])[]dnl
|
||||
m4_ifdef([b4_end_header],
|
||||
[[/* Copy the %end-header blocks. */
|
||||
]b4_end_header])[]dnl
|
||||
])dnl b4_defines_if
|
||||
|
||||
Reference in New Issue
Block a user