* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c:

Allow multiple %union directives, whose contents concatenate.
* src/parse-gram.y (grammar_declaration): Likewise.
Use muscle_code_grow, so that we don't need stype_line any more.
All uses changed.
This commit is contained in:
Paul Eggert
2006-01-03 20:25:54 +00:00
parent ff5150d9a4
commit 1221b78adb
6 changed files with 45 additions and 21 deletions

View File

@@ -189,10 +189,11 @@ b4_location_if([#define yylloc b4_prefix[]lloc])])[
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
]m4_ifdef([b4_stype],
[b4_syncline([b4_stype_line], [b4_file_name])
typedef union m4_bregexp(b4_stype, [^{], [YYSTYPE ])b4_stype YYSTYPE;
[typedef union m4_bregexp(b4_stype, [^{], [YYSTYPE ])
b4_stype
/* Line __line__ of yacc.c. */
b4_syncline([@oline@], [@ofile@])],
b4_syncline([@oline@], [@ofile@])
YYSTYPE;],
[typedef int YYSTYPE;])[
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -1508,10 +1509,11 @@ b4_token_enums_defines(b4_tokens)
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
m4_ifdef([b4_stype],
[b4_syncline([b4_stype_line], [b4_file_name])
typedef union m4_bregexp(b4_stype, [^{], [YYSTYPE ])b4_stype YYSTYPE;
[typedef union m4_bregexp(b4_stype, [^{], [YYSTYPE ])
b4_stype
/* Line __line__ of yacc.c. */
b4_syncline([@oline@], [@ofile@])],
b4_syncline([@oline@], [@ofile@])
YYSTYPE;],
[typedef int YYSTYPE;])
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1