[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 8/8] regen
From: |
Akim Demaille |
Subject: |
[PATCH 8/8] regen |
Date: |
Sat, 29 Dec 2018 17:30:27 +0100 |
---
src/parse-gram.c | 1347 +++++++++++++++++++++++-----------------------
src/parse-gram.h | 141 ++---
2 files changed, 748 insertions(+), 740 deletions(-)
diff --git a/src/parse-gram.c b/src/parse-gram.c
index 314f3d3f..88596182 100644
--- a/src/parse-gram.c
+++ b/src/parse-gram.c
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.2.1.108-19b4e. */
+/* A Bison parser, made by GNU Bison 3.2.1.140-ce94f. */
/* Bison implementation for Yacc-like parsers in C
@@ -47,7 +47,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.2.1.108-19b4e"
+#define YYBISON_VERSION "3.2.1.140-ce94f"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -124,7 +124,7 @@ extern int gram_debug;
#include "symlist.h"
#include "symtab.h"
-#line 218 "src/parse-gram.y" /* yacc.c:352 */
+#line 213 "src/parse-gram.y" /* yacc.c:352 */
typedef enum
{
@@ -133,7 +133,7 @@ extern int gram_debug;
param_parse = 1 << 1,
param_both = param_lex | param_parse
} param_type;
-#line 660 "src/parse-gram.y" /* yacc.c:352 */
+#line 668 "src/parse-gram.y" /* yacc.c:352 */
#include "muscle-tab.h"
typedef struct
@@ -151,59 +151,60 @@ extern int gram_debug;
{
GRAM_EOF = 0,
STRING = 258,
- PERCENT_TOKEN = 259,
- PERCENT_NTERM = 260,
- PERCENT_TYPE = 261,
- PERCENT_DESTRUCTOR = 262,
- PERCENT_PRINTER = 263,
- PERCENT_LEFT = 264,
- PERCENT_RIGHT = 265,
- PERCENT_NONASSOC = 266,
- PERCENT_PRECEDENCE = 267,
- PERCENT_PREC = 268,
- PERCENT_DPREC = 269,
- PERCENT_MERGE = 270,
- PERCENT_CODE = 271,
- PERCENT_DEFAULT_PREC = 272,
- PERCENT_DEFINE = 273,
- PERCENT_DEFINES = 274,
- PERCENT_EXPECT = 275,
- PERCENT_EXPECT_RR = 276,
- PERCENT_FLAG = 277,
- PERCENT_FILE_PREFIX = 278,
- PERCENT_GLR_PARSER = 279,
- PERCENT_INITIAL_ACTION = 280,
- PERCENT_LANGUAGE = 281,
- PERCENT_NAME_PREFIX = 282,
- PERCENT_NO_DEFAULT_PREC = 283,
- PERCENT_NO_LINES = 284,
- PERCENT_NONDETERMINISTIC_PARSER = 285,
- PERCENT_OUTPUT = 286,
- PERCENT_REQUIRE = 287,
- PERCENT_SKELETON = 288,
- PERCENT_START = 289,
- PERCENT_TOKEN_TABLE = 290,
- PERCENT_VERBOSE = 291,
- PERCENT_YACC = 292,
- BRACED_CODE = 293,
- BRACED_PREDICATE = 294,
- BRACKETED_ID = 295,
- CHAR = 296,
- EPILOGUE = 297,
- EQUAL = 298,
- ID = 299,
- ID_COLON = 300,
- PERCENT_PERCENT = 301,
- PIPE = 302,
- PROLOGUE = 303,
- SEMICOLON = 304,
- TAG = 305,
- TAG_ANY = 306,
- TAG_NONE = 307,
- INT = 308,
- PERCENT_PARAM = 309,
- PERCENT_UNION = 310,
- PERCENT_EMPTY = 311
+ TSTRING = 259,
+ PERCENT_TOKEN = 260,
+ PERCENT_NTERM = 261,
+ PERCENT_TYPE = 262,
+ PERCENT_DESTRUCTOR = 263,
+ PERCENT_PRINTER = 264,
+ PERCENT_LEFT = 265,
+ PERCENT_RIGHT = 266,
+ PERCENT_NONASSOC = 267,
+ PERCENT_PRECEDENCE = 268,
+ PERCENT_PREC = 269,
+ PERCENT_DPREC = 270,
+ PERCENT_MERGE = 271,
+ PERCENT_CODE = 272,
+ PERCENT_DEFAULT_PREC = 273,
+ PERCENT_DEFINE = 274,
+ PERCENT_DEFINES = 275,
+ PERCENT_EXPECT = 276,
+ PERCENT_EXPECT_RR = 277,
+ PERCENT_FLAG = 278,
+ PERCENT_FILE_PREFIX = 279,
+ PERCENT_GLR_PARSER = 280,
+ PERCENT_INITIAL_ACTION = 281,
+ PERCENT_LANGUAGE = 282,
+ PERCENT_NAME_PREFIX = 283,
+ PERCENT_NO_DEFAULT_PREC = 284,
+ PERCENT_NO_LINES = 285,
+ PERCENT_NONDETERMINISTIC_PARSER = 286,
+ PERCENT_OUTPUT = 287,
+ PERCENT_REQUIRE = 288,
+ PERCENT_SKELETON = 289,
+ PERCENT_START = 290,
+ PERCENT_TOKEN_TABLE = 291,
+ PERCENT_VERBOSE = 292,
+ PERCENT_YACC = 293,
+ BRACED_CODE = 294,
+ BRACED_PREDICATE = 295,
+ BRACKETED_ID = 296,
+ CHAR = 297,
+ EPILOGUE = 298,
+ EQUAL = 299,
+ ID = 300,
+ ID_COLON = 301,
+ PERCENT_PERCENT = 302,
+ PIPE = 303,
+ PROLOGUE = 304,
+ SEMICOLON = 305,
+ TAG = 306,
+ TAG_ANY = 307,
+ TAG_NONE = 308,
+ INT = 309,
+ PERCENT_PARAM = 310,
+ PERCENT_UNION = 311,
+ PERCENT_EMPTY = 312
};
#endif
@@ -217,6 +218,8 @@ union GRAM_STYPE
assoc precedence_declarator;
/* "string" */
char* STRING;
+ /* "translatable string" */
+ char* TSTRING;
/* "{...}" */
char* BRACED_CODE;
/* "%?{...}" */
@@ -227,16 +230,18 @@ union GRAM_STYPE
char* PROLOGUE;
/* code_props_type */
code_props_type code_props_type;
- /* "integer" */
+ /* "integer literal" */
int INT;
/* int.opt */
- int yytype_78;
+ int yytype_79;
/* named_ref.opt */
- named_ref* yytype_90;
+ named_ref* yytype_92;
/* "%param" */
param_type PERCENT_PARAM;
/* token_decl */
symbol* token_decl;
+ /* alias */
+ symbol* alias;
/* token_decl_for_prec */
symbol* token_decl_for_prec;
/* id */
@@ -247,8 +252,6 @@ union GRAM_STYPE
symbol* symbol;
/* string_as_id */
symbol* string_as_id;
- /* string_as_id.opt */
- symbol* yytype_97;
/* generic_symlist */
symbol_list* generic_symlist;
/* generic_symlist_item */
@@ -258,15 +261,15 @@ union GRAM_STYPE
/* token_decls */
symbol_list* token_decls;
/* token_decl.1 */
- symbol_list* yytype_76;
+ symbol_list* yytype_77;
/* token_decls_for_prec */
symbol_list* token_decls_for_prec;
/* token_decl_for_prec.1 */
- symbol_list* yytype_80;
+ symbol_list* yytype_82;
/* symbol_decls */
symbol_list* symbol_decls;
/* symbol_decl.1 */
- symbol_list* yytype_83;
+ symbol_list* yytype_85;
/* "%<flag>" */
uniqstr PERCENT_FLAG;
/* "[identifier]" */
@@ -278,16 +281,16 @@ union GRAM_STYPE
/* "<tag>" */
uniqstr TAG;
/* tag.opt */
- uniqstr yytype_70;
+ uniqstr yytype_71;
/* tag */
uniqstr tag;
/* variable */
uniqstr variable;
- /* "char" */
+ /* "character literal" */
unsigned char CHAR;
/* value */
value_type value;
-#line 291 "src/parse-gram.c" /* yacc.c:352 */
+#line 294 "src/parse-gram.c" /* yacc.c:352 */
};
typedef union GRAM_STYPE GRAM_STYPE;
@@ -384,7 +387,7 @@ int gram_parse (void);
#define YYTYPE_INT8 int_fast8_t
#define YYTYPE_UINT16 uint_fast16_t
#define YYTYPE_UINT8 uint_fast8_t
-#line 228 "src/parse-gram.y" /* yacc.c:355 */
+#line 223 "src/parse-gram.y" /* yacc.c:355 */
/** Add a lex-param and/or a parse-param.
*
@@ -395,7 +398,7 @@ int gram_parse (void);
static void add_param (param_type type, char *decl, location loc);
static param_type current_param = param_none;
-#line 399 "src/parse-gram.c" /* yacc.c:355 */
+#line 402 "src/parse-gram.c" /* yacc.c:355 */
#ifdef short
# undef short
@@ -610,16 +613,16 @@ union yyalloc
#define YYLAST 227
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 57
+#define YYNTOKENS 58
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 42
/* YYNRULES -- Number of rules. */
-#define YYNRULES 120
+#define YYNRULES 121
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 163
+#define YYNSTATES 164
#define YYUNDEFTOK 2
-#define YYMAXUTOK 311
+#define YYMAXUTOK 312
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
@@ -661,26 +664,26 @@ static const yytype_uint8 yytranslate[] =
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56
+ 55, 56, 57
};
#if GRAM_DEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 260, 260, 269, 270, 274, 275, 281, 285, 290,
- 291, 296, 297, 298, 299, 304, 309, 310, 311, 312,
- 313, 314, 314, 315, 316, 317, 318, 319, 320, 321,
- 325, 326, 335, 336, 340, 351, 355, 359, 367, 377,
- 378, 388, 389, 395, 408, 408, 413, 413, 418, 422,
- 432, 433, 434, 435, 439, 440, 445, 446, 450, 451,
- 455, 456, 457, 470, 479, 483, 487, 495, 496, 500,
- 513, 514, 526, 530, 534, 542, 544, 549, 556, 566,
- 570, 574, 582, 583, 591, 592, 598, 599, 600, 607,
- 607, 615, 616, 617, 622, 625, 627, 629, 631, 633,
- 635, 637, 639, 641, 646, 647, 656, 680, 681, 682,
- 683, 695, 697, 712, 717, 718, 723, 732, 733, 737,
- 738
+ 0, 255, 255, 264, 265, 269, 270, 276, 280, 285,
+ 286, 291, 292, 293, 294, 299, 304, 305, 306, 307,
+ 308, 309, 309, 310, 311, 312, 313, 314, 315, 316,
+ 320, 321, 330, 331, 335, 346, 350, 354, 362, 372,
+ 373, 383, 384, 390, 403, 403, 408, 408, 413, 417,
+ 427, 428, 429, 430, 434, 435, 440, 441, 445, 446,
+ 450, 451, 452, 465, 474, 478, 482, 490, 491, 495,
+ 508, 509, 514, 515, 516, 534, 538, 542, 550, 552,
+ 557, 564, 574, 578, 582, 590, 591, 599, 600, 606,
+ 607, 608, 615, 615, 623, 624, 625, 630, 633, 635,
+ 637, 639, 641, 643, 645, 647, 649, 654, 655, 664,
+ 688, 689, 690, 691, 703, 705, 720, 725, 726, 731,
+ 739, 740
};
#endif
@@ -689,29 +692,26 @@ static const yytype_uint16 yyrline[] =
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "\"end of file\"", "error", "$undefined", "\"string\"", "\"%token\"",
- "\"%nterm\"", "\"%type\"", "\"%destructor\"", "\"%printer\"",
- "\"%left\"", "\"%right\"", "\"%nonassoc\"", "\"%precedence\"",
- "\"%prec\"", "\"%dprec\"", "\"%merge\"", "\"%code\"",
- "\"%default-prec\"", "\"%define\"", "\"%defines\"", "\"%expect\"",
- "\"%expect-rr\"", "\"%<flag>\"", "\"%file-prefix\"", "\"%glr-parser\"",
- "\"%initial-action\"", "\"%language\"", "\"%name-prefix\"",
- "\"%no-default-prec\"", "\"%no-lines\"", "\"%nondeterministic-parser\"",
- "\"%output\"", "\"%require\"", "\"%skeleton\"", "\"%start\"",
- "\"%token-table\"", "\"%verbose\"", "\"%yacc\"", "\"{...}\"",
- "\"%?{...}\"", "\"[identifier]\"", "\"char\"", "\"epilogue\"", "\"=\"",
- "\"identifier\"", "\"identifier:\"", "\"%%\"", "\"|\"", "\"%{...%}\"",
- "\";\"", "\"<tag>\"", "\"<*>\"", "\"<>\"", "\"integer\"", "\"%param\"",
- "\"%union\"", "\"%empty\"", "$accept", "input", "prologue_declarations",
+ "end of file", "error", "$undefined", "string", "translatable string",
+ "%token", "%nterm", "%type", "%destructor", "%printer", "%left",
+ "%right", "%nonassoc", "%precedence", "%prec", "%dprec", "%merge",
+ "%code", "%default-prec", "%define", "%defines", "%expect", "%expect-rr",
+ "%<flag>", "%file-prefix", "%glr-parser", "%initial-action", "%language",
+ "%name-prefix", "%no-default-prec", "%no-lines",
+ "%nondeterministic-parser", "%output", "%require", "%skeleton", "%start",
+ "%token-table", "%verbose", "%yacc", "{...}", "%?{...}", "[identifier]",
+ "character literal", "epilogue", "=", "identifier", "identifier:", "%%",
+ "|", "%{...%}", ";", "<tag>", "<*>", "<>", "integer literal", "%param",
+ "%union", "%empty", "$accept", "input", "prologue_declarations",
"prologue_declaration", "address@hidden", "params", "grammar_declaration",
"code_props_type", "union_name", "symbol_declaration", "address@hidden",
"address@hidden",
"precedence_declarator", "tag.opt", "generic_symlist",
"generic_symlist_item", "tag", "nterm_decls", "token_decls",
- "token_decl.1", "token_decl", "int.opt", "token_decls_for_prec",
+ "token_decl.1", "token_decl", "int.opt", "alias", "token_decls_for_prec",
"token_decl_for_prec.1", "token_decl_for_prec", "symbol_decls",
"symbol_decl.1", "grammar", "rules_or_grammar_declaration", "rules",
"address@hidden", "rhses.1", "rhs", "named_ref.opt", "variable", "value",
"id",
- "id_colon", "symbol", "string_as_id", "string_as_id.opt", "epilogue.opt",
YY_NULLPTR
+ "id_colon", "symbol", "string_as_id", "epilogue.opt", YY_NULLPTR
};
#endif
@@ -725,16 +725,16 @@ static const yytype_uint16 yytoknum[] =
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311
+ 305, 306, 307, 308, 309, 310, 311, 312
};
# endif
-#define YYPACT_NINF -131
+#define YYPACT_NINF -127
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-131)))
+ (!!((Yystate) == (-127)))
-#define YYTABLE_NINF -120
+#define YYTABLE_NINF -121
#define yytable_value_is_error(Yytable_value) \
0
@@ -743,23 +743,23 @@ static const yytype_uint16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- -131, 5, 109, -131, -43, -131, -131, 30, -131, -131,
- -131, -131, -131, -131, 23, -131, -9, 33, -14, 3,
- -131, 56, -131, 22, 60, 69, -131, -131, -131, 70,
- 78, 79, 46, -131, -131, -131, 161, -131, -131, -131,
- 41, -131, -131, 63, -131, 50, -131, -12, -12, -131,
- -131, -131, 46, 53, 46, -131, -131, -131, -131, 66,
- -131, 24, -131, -131, -131, -131, -131, -131, -131, -131,
- -131, -131, -131, 49, -131, 57, 9, -131, -131, 65,
- 73, -131, 85, 25, 46, 58, 46, -131, 54, -131,
- -10, 74, -10, -131, 54, -131, 74, 46, 46, -131,
- -131, -131, -131, -131, -131, -131, -131, 105, -131, -131,
- -131, -131, -131, 110, -131, -131, -131, -131, 25, -131,
- -131, -131, 46, 46, -131, -131, -131, -10, -10, -131,
- 146, 46, -131, -131, -131, -131, 46, -10, -131, -131,
- 48, 171, -131, -131, 46, 97, 101, 99, 100, -131,
- -131, -131, 116, 65, 171, -131, -131, -131, -131, -131,
- 65, -131, -131
+ -127, 7, 119, -127, -12, -127, -127, 2, -127, -127,
+ -127, -127, -127, -127, -33, -127, -6, 54, 14, 28,
+ -127, 84, -127, 64, 101, 102, -127, -127, -127, 105,
+ 106, 108, 72, -127, -127, -127, 171, -127, -127, -127,
+ 70, -127, -127, 77, -127, 56, -127, -15, -15, -127,
+ -127, -127, 72, 67, 72, -127, -127, -127, -127, 80,
+ -127, 46, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, 71, -127, 83, 8, -127, -127, 81,
+ 95, -127, 96, 21, 72, 107, 72, -127, 109, -127,
+ -13, 110, -13, -127, 109, -127, 110, 72, 72, -127,
+ -127, -127, -127, -127, -127, -127, -127, 116, -127, -127,
+ -127, -127, -127, 121, -127, -127, -127, -127, 21, -127,
+ -127, -127, 72, 72, -127, -127, -127, -13, -13, -127,
+ 30, 72, -127, -127, -127, -127, 72, -13, -127, -127,
+ -127, 12, 55, -127, -127, 72, 111, 113, 117, 131,
+ -127, -127, -127, 123, 81, 55, -127, -127, -127, -127,
+ -127, 81, -127, -127
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -771,39 +771,39 @@ static const yytype_uint8 yydefact[] =
50, 51, 52, 53, 0, 35, 0, 9, 0, 0,
7, 0, 14, 0, 0, 0, 36, 18, 19, 0,
0, 0, 0, 25, 26, 27, 0, 6, 29, 21,
- 41, 4, 5, 0, 32, 0, 28, 0, 0, 116,
- 112, 111, 0, 48, 79, 114, 82, 115, 37, 0,
- 106, 107, 10, 11, 12, 13, 15, 16, 17, 20,
- 23, 24, 33, 0, 113, 0, 0, 84, 86, 104,
- 0, 42, 0, 0, 0, 49, 72, 75, 70, 78,
- 0, 47, 64, 67, 70, 45, 63, 80, 0, 83,
- 38, 109, 110, 108, 8, 88, 87, 0, 85, 2,
- 105, 89, 31, 22, 43, 60, 61, 62, 34, 56,
- 59, 58, 73, 0, 76, 71, 77, 65, 0, 68,
- 117, 81, 120, 94, 30, 57, 74, 66, 118, 69,
- 90, 91, 94, 93, 0, 0, 0, 0, 0, 97,
- 55, 98, 0, 104, 92, 99, 100, 101, 102, 103,
- 104, 95, 96
+ 41, 4, 5, 0, 32, 0, 28, 0, 0, 119,
+ 115, 114, 0, 48, 82, 117, 85, 118, 37, 0,
+ 109, 110, 10, 11, 12, 13, 15, 16, 17, 20,
+ 23, 24, 33, 0, 116, 0, 0, 87, 89, 107,
+ 0, 42, 0, 0, 0, 49, 75, 78, 70, 81,
+ 0, 47, 64, 67, 70, 45, 63, 83, 0, 86,
+ 38, 112, 113, 111, 8, 91, 90, 0, 88, 2,
+ 108, 92, 31, 22, 43, 60, 61, 62, 34, 56,
+ 59, 58, 76, 0, 79, 71, 80, 65, 0, 68,
+ 72, 84, 121, 97, 30, 57, 77, 66, 74, 69,
+ 73, 93, 94, 97, 96, 0, 0, 0, 0, 0,
+ 100, 55, 101, 0, 107, 95, 102, 103, 104, 105,
+ 106, 107, 98, 99
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -131, -131, -131, -131, -131, -131, 154, -131, -131, -131,
- -131, -131, -131, -131, -131, 42, -131, -131, 111, -83,
- -80, 67, -131, -82, -78, -131, -28, -131, 103, -131,
- -131, -131, 34, -130, -131, -131, -44, -131, -32, -34,
- -131, -131
+ -127, -127, -127, -127, -127, -127, 165, -127, -127, -127,
+ -127, -127, -127, -127, -127, 52, -127, -127, 125, -67,
+ -47, 92, -127, -127, -82, -55, -127, -42, -127, 114,
+ -127, -127, -127, 44, -126, -127, -127, -44, -127, -32,
+ -34, -127
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 2, 41, 80, 113, 75, 43, 82, 44,
- 48, 47, 45, 152, 118, 119, 120, 95, 91, 92,
- 93, 126, 85, 86, 87, 53, 54, 76, 77, 78,
- 133, 140, 141, 111, 61, 104, 55, 79, 56, 57,
- 139, 109
+ 48, 47, 45, 153, 118, 119, 120, 95, 91, 92,
+ 93, 126, 139, 85, 86, 87, 53, 54, 76, 77,
+ 78, 133, 141, 142, 111, 61, 104, 55, 79, 56,
+ 57, 109
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -811,97 +811,97 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 72, 88, 122, 94, 94, 3, 46, 127, 124, -119,
- 73, 89, 129, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 99, 161, 97, 14, 15, 101, 49, 50,
- 162, 50, 51, 49, 51, 60, 62, 26, 90, 63,
- 88, 136, 88, 32, 124, 137, 94, 129, 94, 49,
- 89, 121, 89, 49, 74, 107, 64, 129, 124, 65,
- 66, 58, 102, 67, 40, 99, 50, 59, 103, 51,
- 131, 50, 68, 69, 51, 115, 116, 117, 88, 88,
- 52, 70, 71, 94, 94, 81, 121, 50, 89, 89,
- 51, 50, 88, 94, 51, 142, 138, 143, 105, 99,
- 84, 83, 89, 98, 100, 110, 106, 125, 123, 153,
- 4, 112, 155, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 153, 114, 128, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 132, 134, 49,
- 156, 157, 158, 159, 160, 36, 42, 37, 38, 96,
- 135, 130, 73, 39, 40, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 49, 0, 154, 14, 15, 108,
- 0, 0, 0, 0, 144, 145, 146, 0, 0, 26,
- 0, 147, 148, 0, 0, 32, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 74, 0, 0, -54,
- 149, 0, 50, 0, 0, 51, 40, 0, 0, 0,
- 0, 150, 0, 0, 0, 0, 0, 151
+ 72, 88, 122, 94, 94, 49, 58, 3, -120, 73,
+ 97, 89, 59, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 99, 127, 49, 14, 15, 50, 162, 50,
+ 51, 124, 51, 49, 138, 163, 90, 26, 46, 60,
+ 88, 136, 88, 32, 50, 129, 94, 51, 94, 101,
+ 89, 121, 89, 52, 74, 107, 131, 62, 49, 49,
+ 143, 137, 144, 50, 40, 99, 51, 124, 63, 145,
+ 146, 147, 115, 116, 117, 49, 148, 149, 88, 88,
+ 129, 124, 64, 94, 94, 102, 121, 65, 89, 89,
+ 129, 103, 88, 94, -54, 150, 140, 50, 50, 99,
+ 51, 51, 89, 66, 67, 68, 151, 84, 69, 70,
+ 154, 71, 152, 156, 50, 81, 83, 51, 98, 100,
+ 4, 105, 110, 154, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 106, 112, 114, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 123, 132,
+ 134, 128, 161, 125, 158, 157, 36, 42, 37, 38,
+ 135, 159, 73, 96, 39, 40, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 160, 130, 155, 14, 15,
+ 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 32, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 40
};
static const yytype_int16 yycheck[] =
{
- 32, 45, 84, 47, 48, 0, 49, 90, 86, 0,
- 1, 45, 92, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 54, 153, 52, 16, 17, 3, 3, 41,
- 160, 41, 44, 3, 44, 44, 3, 28, 50, 53,
- 84, 123, 86, 34, 122, 128, 90, 127, 92, 3,
- 84, 83, 86, 3, 45, 46, 53, 137, 136, 3,
- 38, 38, 38, 3, 55, 97, 41, 44, 44, 44,
- 98, 41, 3, 3, 44, 50, 51, 52, 122, 123,
- 50, 3, 3, 127, 128, 44, 118, 41, 122, 123,
- 44, 41, 136, 137, 44, 47, 130, 49, 49, 131,
- 50, 38, 136, 50, 38, 40, 49, 53, 50, 141,
- 1, 38, 144, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 154, 38, 50, 16, 17, 18, 19, 20,
+ 32, 45, 84, 47, 48, 3, 39, 0, 0, 1,
+ 52, 45, 45, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 54, 90, 3, 17, 18, 42, 154, 42,
+ 45, 86, 45, 3, 4, 161, 51, 29, 50, 45,
+ 84, 123, 86, 35, 42, 92, 90, 45, 92, 3,
+ 84, 83, 86, 51, 46, 47, 98, 3, 3, 3,
+ 48, 128, 50, 42, 56, 97, 45, 122, 54, 14,
+ 15, 16, 51, 52, 53, 3, 21, 22, 122, 123,
+ 127, 136, 54, 127, 128, 39, 118, 3, 122, 123,
+ 137, 45, 136, 137, 39, 40, 130, 42, 42, 131,
+ 45, 45, 136, 39, 3, 3, 51, 51, 3, 3,
+ 142, 3, 57, 145, 42, 45, 39, 45, 51, 39,
+ 1, 50, 41, 155, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 50, 39, 39, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 42, 38, 3,
- 53, 50, 53, 53, 38, 46, 2, 48, 49, 48,
- 118, 94, 1, 54, 55, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 3, -1, 142, 16, 17, 76,
- -1, -1, -1, -1, 13, 14, 15, -1, -1, 28,
- -1, 20, 21, -1, -1, 34, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 45, -1, -1, 38,
- 39, -1, 41, -1, -1, 44, 55, -1, -1, -1,
- -1, 50, -1, -1, -1, -1, -1, 56
+ 31, 32, 33, 34, 35, 36, 37, 38, 51, 43,
+ 39, 51, 39, 54, 51, 54, 47, 2, 49, 50,
+ 118, 54, 1, 48, 55, 56, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 54, 94, 143, 17, 18,
+ 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 29, -1, -1, -1, -1, -1, 35, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 46, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 56
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 58, 59, 0, 1, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 46, 48, 49, 54,
- 55, 60, 63, 64, 66, 69, 49, 68, 67, 3,
- 41, 44, 50, 82, 83, 93, 95, 96, 38, 44,
- 44, 91, 3, 53, 53, 3, 38, 3, 3, 3,
- 3, 3, 95, 1, 45, 63, 84, 85, 86, 94,
- 61, 44, 65, 38, 50, 79, 80, 81, 93, 96,
- 50, 75, 76, 77, 93, 74, 75, 83, 50, 95,
- 38, 3, 38, 44, 92, 49, 49, 46, 85, 98,
- 40, 90, 38, 62, 38, 50, 51, 52, 71, 72,
- 73, 95, 80, 50, 81, 53, 78, 76, 50, 77,
- 78, 83, 42, 87, 38, 72, 80, 76, 96, 97,
- 88, 89, 47, 49, 13, 14, 15, 20, 21, 39,
- 50, 56, 70, 95, 89, 95, 53, 50, 53, 53,
- 38, 90, 90
+ 0, 59, 60, 0, 1, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 47, 49, 50, 55,
+ 56, 61, 64, 65, 67, 70, 50, 69, 68, 3,
+ 42, 45, 51, 84, 85, 95, 97, 98, 39, 45,
+ 45, 93, 3, 54, 54, 3, 39, 3, 3, 3,
+ 3, 3, 97, 1, 46, 64, 86, 87, 88, 96,
+ 62, 45, 66, 39, 51, 81, 82, 83, 95, 98,
+ 51, 76, 77, 78, 95, 75, 76, 85, 51, 97,
+ 39, 3, 39, 45, 94, 50, 50, 47, 87, 99,
+ 41, 92, 39, 63, 39, 51, 52, 53, 72, 73,
+ 74, 97, 82, 51, 83, 54, 79, 77, 51, 78,
+ 79, 85, 43, 89, 39, 73, 82, 77, 4, 80,
+ 98, 90, 91, 48, 50, 14, 15, 16, 21, 22,
+ 40, 51, 57, 71, 97, 91, 97, 54, 51, 54,
+ 54, 39, 92, 92
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 57, 58, 59, 59, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 61, 60, 60, 60, 60, 60, 60, 60, 60,
- 62, 62, 63, 63, 63, 63, 63, 63, 63, 64,
- 64, 65, 65, 63, 67, 66, 68, 66, 66, 66,
- 69, 69, 69, 69, 70, 70, 71, 71, 72, 72,
- 73, 73, 73, 74, 75, 75, 75, 76, 76, 77,
- 78, 78, 79, 79, 79, 80, 80, 81, 81, 82,
- 82, 82, 83, 83, 84, 84, 85, 85, 85, 87,
- 86, 88, 88, 88, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 90, 90, 91, 92, 92, 92,
- 92, 93, 93, 94, 95, 95, 96, 97, 97, 98,
- 98
+ 0, 58, 59, 60, 60, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 62, 61, 61, 61, 61, 61, 61, 61, 61,
+ 63, 63, 64, 64, 64, 64, 64, 64, 64, 65,
+ 65, 66, 66, 64, 68, 67, 69, 67, 67, 67,
+ 70, 70, 70, 70, 71, 71, 72, 72, 73, 73,
+ 74, 74, 74, 75, 76, 76, 76, 77, 77, 78,
+ 79, 79, 80, 80, 80, 81, 81, 81, 82, 82,
+ 83, 83, 84, 84, 84, 85, 85, 86, 86, 87,
+ 87, 87, 89, 88, 90, 90, 90, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 92, 92, 93,
+ 94, 94, 94, 94, 95, 95, 96, 97, 97, 98,
+ 99, 99
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -914,12 +914,12 @@ static const yytype_uint8 yyr2[] =
1, 0, 1, 3, 0, 3, 0, 3, 2, 2,
1, 1, 1, 1, 0, 1, 1, 2, 1, 1,
1, 1, 1, 1, 1, 2, 3, 1, 2, 3,
- 0, 1, 1, 2, 3, 1, 2, 2, 1, 1,
- 2, 3, 1, 2, 1, 2, 1, 2, 2, 0,
- 4, 1, 3, 2, 0, 3, 4, 2, 2, 3,
- 3, 3, 3, 3, 0, 1, 1, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
- 2
+ 0, 1, 0, 1, 1, 1, 2, 3, 1, 2,
+ 2, 1, 1, 2, 3, 1, 2, 1, 2, 1,
+ 2, 2, 0, 4, 1, 3, 2, 0, 3, 4,
+ 2, 2, 3, 3, 3, 3, 3, 0, 1, 1,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 2
};
@@ -1075,79 +1075,85 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE
const * const yyvaluep, YY
switch (yytype)
{
case 3: /* "string" */
-#line 190 "src/parse-gram.y" /* yacc.c:680 */
+#line 185 "src/parse-gram.y" /* yacc.c:680 */
{ fputs (quotearg_style (c_quoting_style, ((*yyvaluep).STRING)), yyo); }
#line 1081 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 22: /* "%<flag>" */
-#line 197 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%%%s", ((*yyvaluep).PERCENT_FLAG)); }
+ case 4: /* "translatable string" */
+#line 185 "src/parse-gram.y" /* yacc.c:680 */
+ { fputs (quotearg_style (c_quoting_style, ((*yyvaluep).TSTRING)), yyo); }
#line 1087 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 38: /* "{...}" */
-#line 191 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).BRACED_CODE)); }
+ case 23: /* "%<flag>" */
+#line 192 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%%%s", ((*yyvaluep).PERCENT_FLAG)); }
#line 1093 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 39: /* "%?{...}" */
-#line 191 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).BRACED_PREDICATE)); }
+ case 39: /* "{...}" */
+#line 186 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).BRACED_CODE)); }
#line 1099 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 40: /* "[identifier]" */
-#line 195 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "[%s]", ((*yyvaluep).BRACKETED_ID)); }
+ case 40: /* "%?{...}" */
+#line 186 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).BRACED_PREDICATE)); }
#line 1105 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 41: /* "char" */
-#line 187 "src/parse-gram.y" /* yacc.c:680 */
- { fputs (char_name (((*yyvaluep).CHAR)), yyo); }
+ case 41: /* "[identifier]" */
+#line 190 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "[%s]", ((*yyvaluep).BRACKETED_ID)); }
#line 1111 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 42: /* "epilogue" */
-#line 191 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).EPILOGUE)); }
+ case 42: /* "character literal" */
+#line 182 "src/parse-gram.y" /* yacc.c:680 */
+ { fputs (char_name (((*yyvaluep).CHAR)), yyo); }
#line 1117 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 44: /* "identifier" */
-#line 194 "src/parse-gram.y" /* yacc.c:680 */
- { fputs (((*yyvaluep).ID), yyo); }
+ case 43: /* "epilogue" */
+#line 186 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).EPILOGUE)); }
#line 1123 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 45: /* "identifier:" */
-#line 196 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%s:", ((*yyvaluep).ID_COLON)); }
+ case 45: /* "identifier" */
+#line 189 "src/parse-gram.y" /* yacc.c:680 */
+ { fputs (((*yyvaluep).ID), yyo); }
#line 1129 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 48: /* "%{...%}" */
+ case 46: /* "identifier:" */
#line 191 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).PROLOGUE)); }
+ { fprintf (yyo, "%s:", ((*yyvaluep).ID_COLON)); }
#line 1135 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 50: /* "<tag>" */
-#line 198 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "<%s>", ((*yyvaluep).TAG)); }
+ case 49: /* "%{...%}" */
+#line 186 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "{\n%s\n}", ((*yyvaluep).PROLOGUE)); }
#line 1141 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 53: /* "integer" */
-#line 201 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%d", ((*yyvaluep).INT)); }
+ case 51: /* "<tag>" */
+#line 193 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "<%s>", ((*yyvaluep).TAG)); }
#line 1147 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 54: /* "%param" */
-#line 240 "src/parse-gram.y" /* yacc.c:680 */
+ case 54: /* "integer literal" */
+#line 196 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%d", ((*yyvaluep).INT)); }
+#line 1153 "src/parse-gram.c" /* yacc.c:680 */
+ break;
+
+ case 55: /* "%param" */
+#line 235 "src/parse-gram.y" /* yacc.c:680 */
{
switch (((*yyvaluep).PERCENT_PARAM))
{
@@ -1160,107 +1166,113 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE
const * const yyvaluep, YY
case param_none: aver (false); break;
}
}
-#line 1164 "src/parse-gram.c" /* yacc.c:680 */
- break;
-
- case 64: /* code_props_type */
-#line 375 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%s", code_props_type_string
(((*yyvaluep).code_props_type))); }
#line 1170 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 70: /* tag.opt */
-#line 194 "src/parse-gram.y" /* yacc.c:680 */
- { fputs (((*yyvaluep).yytype_70), yyo); }
+ case 65: /* code_props_type */
+#line 370 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%s", code_props_type_string
(((*yyvaluep).code_props_type))); }
#line 1176 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 71: /* generic_symlist */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).generic_symlist), yyo); }
+ case 71: /* tag.opt */
+#line 189 "src/parse-gram.y" /* yacc.c:680 */
+ { fputs (((*yyvaluep).yytype_71), yyo); }
#line 1182 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 72: /* generic_symlist_item */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).generic_symlist_item), yyo); }
+ case 72: /* generic_symlist */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).generic_symlist), yyo); }
#line 1188 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 73: /* tag */
-#line 198 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "<%s>", ((*yyvaluep).tag)); }
+ case 73: /* generic_symlist_item */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).generic_symlist_item), yyo); }
#line 1194 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 74: /* nterm_decls */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).nterm_decls), yyo); }
+ case 74: /* tag */
+#line 193 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "<%s>", ((*yyvaluep).tag)); }
#line 1200 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 75: /* token_decls */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).token_decls), yyo); }
+ case 75: /* nterm_decls */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).nterm_decls), yyo); }
#line 1206 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 76: /* token_decl.1 */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).yytype_76), yyo); }
+ case 76: /* token_decls */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).token_decls), yyo); }
#line 1212 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 77: /* token_decl */
-#line 204 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%s", ((*yyvaluep).token_decl) ?
((*yyvaluep).token_decl)->tag : "<NULL>"); }
+ case 77: /* token_decl.1 */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).yytype_77), yyo); }
#line 1218 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 78: /* int.opt */
-#line 201 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%d", ((*yyvaluep).yytype_78)); }
+ case 78: /* token_decl */
+#line 199 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%s", ((*yyvaluep).token_decl) ?
((*yyvaluep).token_decl)->tag : "<NULL>"); }
#line 1224 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 79: /* token_decls_for_prec */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).token_decls_for_prec), yyo); }
+ case 79: /* int.opt */
+#line 196 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%d", ((*yyvaluep).yytype_79)); }
#line 1230 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 80: /* token_decl_for_prec.1 */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).yytype_80), yyo); }
+ case 80: /* alias */
+#line 199 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%s", ((*yyvaluep).alias) ? ((*yyvaluep).alias)->tag :
"<NULL>"); }
#line 1236 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 81: /* token_decl_for_prec */
-#line 204 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%s", ((*yyvaluep).token_decl_for_prec) ?
((*yyvaluep).token_decl_for_prec)->tag : "<NULL>"); }
+ case 81: /* token_decls_for_prec */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).token_decls_for_prec), yyo); }
#line 1242 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 82: /* symbol_decls */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).symbol_decls), yyo); }
+ case 82: /* token_decl_for_prec.1 */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).yytype_82), yyo); }
#line 1248 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 83: /* symbol_decl.1 */
-#line 210 "src/parse-gram.y" /* yacc.c:680 */
- { symbol_list_syms_print (((*yyvaluep).yytype_83), yyo); }
+ case 83: /* token_decl_for_prec */
+#line 199 "src/parse-gram.y" /* yacc.c:680 */
+ { fprintf (yyo, "%s", ((*yyvaluep).token_decl_for_prec) ?
((*yyvaluep).token_decl_for_prec)->tag : "<NULL>"); }
#line 1254 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 91: /* variable */
-#line 194 "src/parse-gram.y" /* yacc.c:680 */
- { fputs (((*yyvaluep).variable), yyo); }
+ case 84: /* symbol_decls */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).symbol_decls), yyo); }
#line 1260 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 92: /* value */
-#line 670 "src/parse-gram.y" /* yacc.c:680 */
+ case 85: /* symbol_decl.1 */
+#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ { symbol_list_syms_print (((*yyvaluep).yytype_85), yyo); }
+#line 1266 "src/parse-gram.c" /* yacc.c:680 */
+ break;
+
+ case 93: /* variable */
+#line 189 "src/parse-gram.y" /* yacc.c:680 */
+ { fputs (((*yyvaluep).variable), yyo); }
+#line 1272 "src/parse-gram.c" /* yacc.c:680 */
+ break;
+
+ case 94: /* value */
+#line 678 "src/parse-gram.y" /* yacc.c:680 */
{
switch (((*yyvaluep).value).kind)
{
@@ -1269,37 +1281,31 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE
const * const yyvaluep, YY
case muscle_string: fprintf (yyo, "\"%s\"", ((*yyvaluep).value).chars);
break;
}
}
-#line 1273 "src/parse-gram.c" /* yacc.c:680 */
+#line 1285 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 93: /* id */
-#line 204 "src/parse-gram.y" /* yacc.c:680 */
+ case 95: /* id */
+#line 199 "src/parse-gram.y" /* yacc.c:680 */
{ fprintf (yyo, "%s", ((*yyvaluep).id) ? ((*yyvaluep).id)->tag :
"<NULL>"); }
-#line 1279 "src/parse-gram.c" /* yacc.c:680 */
+#line 1291 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 94: /* id_colon */
-#line 205 "src/parse-gram.y" /* yacc.c:680 */
+ case 96: /* id_colon */
+#line 200 "src/parse-gram.y" /* yacc.c:680 */
{ fprintf (yyo, "%s:", ((*yyvaluep).id_colon)->tag); }
-#line 1285 "src/parse-gram.c" /* yacc.c:680 */
+#line 1297 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 95: /* symbol */
-#line 204 "src/parse-gram.y" /* yacc.c:680 */
+ case 97: /* symbol */
+#line 199 "src/parse-gram.y" /* yacc.c:680 */
{ fprintf (yyo, "%s", ((*yyvaluep).symbol) ? ((*yyvaluep).symbol)->tag :
"<NULL>"); }
-#line 1291 "src/parse-gram.c" /* yacc.c:680 */
+#line 1303 "src/parse-gram.c" /* yacc.c:680 */
break;
- case 96: /* string_as_id */
-#line 204 "src/parse-gram.y" /* yacc.c:680 */
+ case 98: /* string_as_id */
+#line 199 "src/parse-gram.y" /* yacc.c:680 */
{ fprintf (yyo, "%s", ((*yyvaluep).string_as_id) ?
((*yyvaluep).string_as_id)->tag : "<NULL>"); }
-#line 1297 "src/parse-gram.c" /* yacc.c:680 */
- break;
-
- case 97: /* string_as_id.opt */
-#line 204 "src/parse-gram.y" /* yacc.c:680 */
- { fprintf (yyo, "%s", ((*yyvaluep).yytype_97) ?
((*yyvaluep).yytype_97)->tag : "<NULL>"); }
-#line 1303 "src/parse-gram.c" /* yacc.c:680 */
+#line 1309 "src/parse-gram.c" /* yacc.c:680 */
break;
default:
@@ -1677,7 +1683,7 @@ yystpcpy (char *yydest, const char *yysrc)
# endif
# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+/* Copy to YYRES the name of YYTOKEN after stripping away unnecessary
quotes and backslashes, so that it's suitable for yyerror. The
heuristic is that double-quoting is unnecessary unless the string
contains an apostrophe, a comma, or backslash (other than
@@ -1685,38 +1691,21 @@ yystpcpy (char *yydest, const char *yysrc)
null, do not copy; instead, return the length of what the result
would have been. */
static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
+yytnamerr (char *yyres, int yytoken)
{
- if (*yystr == '"')
- {
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
+ /* YYTRANSLATABLE[SYMBOL-NUM] -- Whether YYTNAME[SYMBOL-NUM] is
+ internationalizable. */
+ static yytype_uint8 yytranslatable[] =
+ {
+ 1, 0, 0, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1, 1, 1, 0, 1, 1, 0, 0, 0,
+ 0, 1, 0, 0, 1, 0, 0, 0
+ };
+ const char *yystr
+ = yytranslatable[yytoken] ? _(yytname[yytoken]) : yytname[yytoken];
if (! yyres)
return yystrlen (yystr);
@@ -1739,13 +1728,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyesa, yytype_int16 **yyes,
YYSIZE_T *yyes_capacity, yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytoken);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULLPTR;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Arguments of yyformat as symbol numbers. */
+ int yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
"expected"). */
int yycount = 0;
@@ -1774,7 +1763,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
int yyn = yypact[*yyssp];
YYDPRINTF ((stderr, "Constructing syntax error message\n"));
- yyarg[yycount++] = yytname[yytoken];
+ yyarg[yycount++] = yytoken;
if (!yypact_value_is_default (yyn))
{
int yyx;
@@ -1796,9 +1785,9 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yysize = yysize0;
break;
}
- yyarg[yycount++] = yytname[yyx];
+ yyarg[yycount++] = yyx;
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR,
yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yyx);
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
yysize = yysize1;
else
@@ -1883,58 +1872,58 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE
*yyvaluep, YYLTYPE *yylocatio
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
switch (yytype)
{
- case 71: /* generic_symlist */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
+ case 72: /* generic_symlist */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
{ symbol_list_free (((*yyvaluep).generic_symlist)); }
-#line 1889 "src/parse-gram.c" /* yacc.c:1253 */
+#line 1879 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 72: /* generic_symlist_item */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
+ case 73: /* generic_symlist_item */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
{ symbol_list_free (((*yyvaluep).generic_symlist_item)); }
-#line 1895 "src/parse-gram.c" /* yacc.c:1253 */
+#line 1885 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 74: /* nterm_decls */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
+ case 75: /* nterm_decls */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
{ symbol_list_free (((*yyvaluep).nterm_decls)); }
-#line 1901 "src/parse-gram.c" /* yacc.c:1253 */
+#line 1891 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 75: /* token_decls */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
+ case 76: /* token_decls */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
{ symbol_list_free (((*yyvaluep).token_decls)); }
-#line 1907 "src/parse-gram.c" /* yacc.c:1253 */
+#line 1897 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 76: /* token_decl.1 */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
- { symbol_list_free (((*yyvaluep).yytype_76)); }
-#line 1913 "src/parse-gram.c" /* yacc.c:1253 */
+ case 77: /* token_decl.1 */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
+ { symbol_list_free (((*yyvaluep).yytype_77)); }
+#line 1903 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 79: /* token_decls_for_prec */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
+ case 81: /* token_decls_for_prec */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
{ symbol_list_free (((*yyvaluep).token_decls_for_prec)); }
-#line 1919 "src/parse-gram.c" /* yacc.c:1253 */
+#line 1909 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 80: /* token_decl_for_prec.1 */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
- { symbol_list_free (((*yyvaluep).yytype_80)); }
-#line 1925 "src/parse-gram.c" /* yacc.c:1253 */
+ case 82: /* token_decl_for_prec.1 */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
+ { symbol_list_free (((*yyvaluep).yytype_82)); }
+#line 1915 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 82: /* symbol_decls */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
+ case 84: /* symbol_decls */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
{ symbol_list_free (((*yyvaluep).symbol_decls)); }
-#line 1931 "src/parse-gram.c" /* yacc.c:1253 */
+#line 1921 "src/parse-gram.c" /* yacc.c:1233 */
break;
- case 83: /* symbol_decl.1 */
-#line 209 "src/parse-gram.y" /* yacc.c:1253 */
- { symbol_list_free (((*yyvaluep).yytype_83)); }
-#line 1937 "src/parse-gram.c" /* yacc.c:1253 */
+ case 85: /* symbol_decl.1 */
+#line 204 "src/parse-gram.y" /* yacc.c:1233 */
+ { symbol_list_free (((*yyvaluep).yytype_85)); }
+#line 1927 "src/parse-gram.c" /* yacc.c:1233 */
break;
default:
@@ -2051,7 +2040,7 @@ YYLTYPE yylloc = yyloc_default;
yychar = YYEMPTY; /* Cause a token to be read. */
/* User initialization code. */
-#line 113 "src/parse-gram.y" /* yacc.c:1427 */
+#line 113 "src/parse-gram.y" /* yacc.c:1407 */
{
/* Bison's grammar can initial empty locations, hence a default
location is needed. */
@@ -2059,7 +2048,7 @@ YYLTYPE yylloc = yyloc_default;
boundary_set (&yylloc.end, current_file, 1, 1);
}
-#line 2062 "src/parse-gram.c" /* yacc.c:1427 */
+#line 2052 "src/parse-gram.c" /* yacc.c:1407 */
yylsp[0] = yylloc;
goto yysetstate;
@@ -2258,183 +2247,183 @@ yyreduce:
switch (yyn)
{
case 6:
-#line 276 "src/parse-gram.y" /* yacc.c:1648 */
+#line 271 "src/parse-gram.y" /* yacc.c:1628 */
{
muscle_code_grow (union_seen ? "post_prologue" : "pre_prologue",
translate_code ((yyvsp[0].PROLOGUE), (yylsp[0]),
true), (yylsp[0]));
code_scanner_last_string_free ();
}
-#line 2267 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2257 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 7:
-#line 282 "src/parse-gram.y" /* yacc.c:1648 */
+#line 277 "src/parse-gram.y" /* yacc.c:1628 */
{
muscle_percent_define_ensure ((yyvsp[0].PERCENT_FLAG), (yylsp[0]), true);
}
-#line 2275 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2265 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 8:
-#line 286 "src/parse-gram.y" /* yacc.c:1648 */
+#line 281 "src/parse-gram.y" /* yacc.c:1628 */
{
muscle_percent_define_insert ((yyvsp[-1].variable), (yylsp[-1]),
(yyvsp[0].value).kind, (yyvsp[0].value).chars,
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
}
-#line 2284 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2274 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 9:
-#line 290 "src/parse-gram.y" /* yacc.c:1648 */
+#line 285 "src/parse-gram.y" /* yacc.c:1628 */
{ defines_flag = true; }
-#line 2290 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2280 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 10:
-#line 292 "src/parse-gram.y" /* yacc.c:1648 */
+#line 287 "src/parse-gram.y" /* yacc.c:1628 */
{
defines_flag = true;
spec_defines_file = xstrdup ((yyvsp[0].STRING));
}
-#line 2299 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2289 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 11:
-#line 296 "src/parse-gram.y" /* yacc.c:1648 */
+#line 291 "src/parse-gram.y" /* yacc.c:1628 */
{ expected_sr_conflicts = (yyvsp[0].INT); }
-#line 2305 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2295 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 12:
-#line 297 "src/parse-gram.y" /* yacc.c:1648 */
+#line 292 "src/parse-gram.y" /* yacc.c:1628 */
{ expected_rr_conflicts = (yyvsp[0].INT); }
-#line 2311 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2301 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 13:
-#line 298 "src/parse-gram.y" /* yacc.c:1648 */
+#line 293 "src/parse-gram.y" /* yacc.c:1628 */
{ spec_file_prefix = (yyvsp[0].STRING); }
-#line 2317 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2307 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 14:
-#line 300 "src/parse-gram.y" /* yacc.c:1648 */
+#line 295 "src/parse-gram.y" /* yacc.c:1628 */
{
nondeterministic_parser = true;
glr_parser = true;
}
-#line 2326 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2316 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 15:
-#line 305 "src/parse-gram.y" /* yacc.c:1648 */
+#line 300 "src/parse-gram.y" /* yacc.c:1628 */
{
muscle_code_grow ("initial_action", translate_code
((yyvsp[0].BRACED_CODE), (yylsp[0]), false), (yylsp[0]));
code_scanner_last_string_free ();
}
-#line 2335 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2325 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 16:
-#line 309 "src/parse-gram.y" /* yacc.c:1648 */
+#line 304 "src/parse-gram.y" /* yacc.c:1628 */
{ language_argmatch ((yyvsp[0].STRING), grammar_prio, (yylsp[-1])); }
-#line 2341 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2331 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 17:
-#line 310 "src/parse-gram.y" /* yacc.c:1648 */
+#line 305 "src/parse-gram.y" /* yacc.c:1628 */
{ spec_name_prefix = (yyvsp[0].STRING); }
-#line 2347 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2337 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 18:
-#line 311 "src/parse-gram.y" /* yacc.c:1648 */
+#line 306 "src/parse-gram.y" /* yacc.c:1628 */
{ no_lines_flag = true; }
-#line 2353 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2343 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 19:
-#line 312 "src/parse-gram.y" /* yacc.c:1648 */
+#line 307 "src/parse-gram.y" /* yacc.c:1628 */
{ nondeterministic_parser = true; }
-#line 2359 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2349 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 20:
-#line 313 "src/parse-gram.y" /* yacc.c:1648 */
+#line 308 "src/parse-gram.y" /* yacc.c:1628 */
{ spec_outfile = (yyvsp[0].STRING); }
-#line 2365 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2355 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 21:
-#line 314 "src/parse-gram.y" /* yacc.c:1648 */
+#line 309 "src/parse-gram.y" /* yacc.c:1628 */
{ current_param = (yyvsp[0].PERCENT_PARAM); }
-#line 2371 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2361 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 22:
-#line 314 "src/parse-gram.y" /* yacc.c:1648 */
+#line 309 "src/parse-gram.y" /* yacc.c:1628 */
{ current_param = param_none; }
-#line 2377 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2367 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 23:
-#line 315 "src/parse-gram.y" /* yacc.c:1648 */
+#line 310 "src/parse-gram.y" /* yacc.c:1628 */
{ do_require (&(yylsp[0]), (yyvsp[0].STRING)); }
-#line 2383 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2373 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 24:
-#line 316 "src/parse-gram.y" /* yacc.c:1648 */
+#line 311 "src/parse-gram.y" /* yacc.c:1628 */
{ do_skeleton (&(yylsp[0]), (yyvsp[0].STRING)); }
-#line 2389 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2379 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 25:
-#line 317 "src/parse-gram.y" /* yacc.c:1648 */
+#line 312 "src/parse-gram.y" /* yacc.c:1628 */
{ token_table_flag = true; }
-#line 2395 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2385 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 26:
-#line 318 "src/parse-gram.y" /* yacc.c:1648 */
+#line 313 "src/parse-gram.y" /* yacc.c:1628 */
{ report_flag |= report_states; }
-#line 2401 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2391 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 27:
-#line 319 "src/parse-gram.y" /* yacc.c:1648 */
+#line 314 "src/parse-gram.y" /* yacc.c:1628 */
{ yacc_flag = true; }
-#line 2407 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2397 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 28:
-#line 320 "src/parse-gram.y" /* yacc.c:1648 */
+#line 315 "src/parse-gram.y" /* yacc.c:1628 */
{ current_class = unknown_sym; yyerrok; }
-#line 2413 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2403 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 30:
-#line 325 "src/parse-gram.y" /* yacc.c:1648 */
+#line 320 "src/parse-gram.y" /* yacc.c:1628 */
{ add_param (current_param, (yyvsp[0].BRACED_CODE), (yylsp[0])); }
-#line 2419 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2409 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 31:
-#line 326 "src/parse-gram.y" /* yacc.c:1648 */
+#line 321 "src/parse-gram.y" /* yacc.c:1628 */
{ add_param (current_param, (yyvsp[0].BRACED_CODE), (yylsp[0])); }
-#line 2425 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2415 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 33:
-#line 337 "src/parse-gram.y" /* yacc.c:1648 */
+#line 332 "src/parse-gram.y" /* yacc.c:1628 */
{
grammar_start_symbol_set ((yyvsp[0].symbol), (yylsp[0]));
}
-#line 2433 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2423 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 34:
-#line 341 "src/parse-gram.y" /* yacc.c:1648 */
+#line 336 "src/parse-gram.y" /* yacc.c:1628 */
{
code_props code;
code_props_symbol_action_init (&code, (yyvsp[-1].BRACED_CODE),
(yylsp[-1]));
@@ -2445,27 +2434,27 @@ yyreduce:
symbol_list_free ((yyvsp[0].generic_symlist));
}
}
-#line 2448 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2438 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 35:
-#line 352 "src/parse-gram.y" /* yacc.c:1648 */
+#line 347 "src/parse-gram.y" /* yacc.c:1628 */
{
default_prec = true;
}
-#line 2456 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2446 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 36:
-#line 356 "src/parse-gram.y" /* yacc.c:1648 */
+#line 351 "src/parse-gram.y" /* yacc.c:1628 */
{
default_prec = false;
}
-#line 2464 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2454 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 37:
-#line 360 "src/parse-gram.y" /* yacc.c:1648 */
+#line 355 "src/parse-gram.y" /* yacc.c:1628 */
{
/* Do not invoke muscle_percent_code_grow here since it invokes
muscle_user_name_list_grow. */
@@ -2473,447 +2462,469 @@ yyreduce:
translate_code_braceless ((yyvsp[0].BRACED_CODE),
(yylsp[0])), (yylsp[0]));
code_scanner_last_string_free ();
}
-#line 2476 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2466 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 38:
-#line 368 "src/parse-gram.y" /* yacc.c:1648 */
+#line 363 "src/parse-gram.y" /* yacc.c:1628 */
{
muscle_percent_code_grow ((yyvsp[-1].ID), (yylsp[-1]),
translate_code_braceless ((yyvsp[0].BRACED_CODE), (yylsp[0])), (yylsp[0]));
code_scanner_last_string_free ();
}
-#line 2485 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2475 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 39:
-#line 377 "src/parse-gram.y" /* yacc.c:1648 */
+#line 372 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.code_props_type) = destructor; }
-#line 2491 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2481 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 40:
-#line 378 "src/parse-gram.y" /* yacc.c:1648 */
+#line 373 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.code_props_type) = printer; }
-#line 2497 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2487 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 41:
-#line 388 "src/parse-gram.y" /* yacc.c:1648 */
+#line 383 "src/parse-gram.y" /* yacc.c:1628 */
{}
-#line 2503 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2493 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 42:
-#line 389 "src/parse-gram.y" /* yacc.c:1648 */
+#line 384 "src/parse-gram.y" /* yacc.c:1628 */
{ muscle_percent_define_insert ("api.value.union.name",
(yylsp[0]), muscle_keyword,
(yyvsp[0].ID),
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); }
-#line 2511 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2501 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 43:
-#line 396 "src/parse-gram.y" /* yacc.c:1648 */
+#line 391 "src/parse-gram.y" /* yacc.c:1628 */
{
union_seen = true;
muscle_code_grow ("union_members", translate_code_braceless
((yyvsp[0].BRACED_CODE), (yylsp[0])), (yylsp[0]));
code_scanner_last_string_free ();
}
-#line 2521 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2511 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 44:
-#line 408 "src/parse-gram.y" /* yacc.c:1648 */
+#line 403 "src/parse-gram.y" /* yacc.c:1628 */
{ current_class = nterm_sym; }
-#line 2527 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2517 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 45:
-#line 409 "src/parse-gram.y" /* yacc.c:1648 */
+#line 404 "src/parse-gram.y" /* yacc.c:1628 */
{
current_class = unknown_sym;
symbol_list_free ((yyvsp[0].nterm_decls));
}
-#line 2536 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2526 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 46:
-#line 413 "src/parse-gram.y" /* yacc.c:1648 */
+#line 408 "src/parse-gram.y" /* yacc.c:1628 */
{ current_class = token_sym; }
-#line 2542 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2532 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 47:
-#line 414 "src/parse-gram.y" /* yacc.c:1648 */
+#line 409 "src/parse-gram.y" /* yacc.c:1628 */
{
current_class = unknown_sym;
symbol_list_free ((yyvsp[0].token_decls));
}
-#line 2551 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2541 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 48:
-#line 419 "src/parse-gram.y" /* yacc.c:1648 */
+#line 414 "src/parse-gram.y" /* yacc.c:1628 */
{
symbol_list_free ((yyvsp[0].symbol_decls));
}
-#line 2559 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2549 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 49:
-#line 423 "src/parse-gram.y" /* yacc.c:1648 */
+#line 418 "src/parse-gram.y" /* yacc.c:1628 */
{
++current_prec;
for (symbol_list *list = (yyvsp[0].token_decls_for_prec); list; list =
list->next)
symbol_precedence_set (list->content.sym, current_prec,
(yyvsp[-1].precedence_declarator), (yylsp[-1]));
symbol_list_free ((yyvsp[0].token_decls_for_prec));
}
-#line 2570 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2560 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 50:
-#line 432 "src/parse-gram.y" /* yacc.c:1648 */
+#line 427 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.precedence_declarator) = left_assoc; }
-#line 2576 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2566 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 51:
-#line 433 "src/parse-gram.y" /* yacc.c:1648 */
+#line 428 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.precedence_declarator) = right_assoc; }
-#line 2582 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2572 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 52:
-#line 434 "src/parse-gram.y" /* yacc.c:1648 */
+#line 429 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.precedence_declarator) = non_assoc; }
-#line 2588 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2578 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 53:
-#line 435 "src/parse-gram.y" /* yacc.c:1648 */
+#line 430 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.precedence_declarator) = precedence_assoc; }
-#line 2594 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2584 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 54:
-#line 439 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_70) = NULL; }
-#line 2600 "src/parse-gram.c" /* yacc.c:1648 */
+#line 434 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_71) = NULL; }
+#line 2590 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 55:
-#line 440 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_70) = (yyvsp[0].TAG); }
-#line 2606 "src/parse-gram.c" /* yacc.c:1648 */
+#line 435 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_71) = (yyvsp[0].TAG); }
+#line 2596 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 57:
-#line 446 "src/parse-gram.y" /* yacc.c:1648 */
+#line 441 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.generic_symlist) = symbol_list_append
((yyvsp[-1].generic_symlist), (yyvsp[0].generic_symlist_item)); }
-#line 2612 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2602 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 58:
-#line 450 "src/parse-gram.y" /* yacc.c:1648 */
+#line 445 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.generic_symlist_item) = symbol_list_sym_new ((yyvsp[0].symbol),
(yylsp[0])); }
-#line 2618 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2608 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 59:
-#line 451 "src/parse-gram.y" /* yacc.c:1648 */
+#line 446 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.generic_symlist_item) = symbol_list_type_new ((yyvsp[0].tag),
(yylsp[0])); }
-#line 2624 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2614 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 61:
-#line 456 "src/parse-gram.y" /* yacc.c:1648 */
+#line 451 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.tag) = uniqstr_new ("*"); }
-#line 2630 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2620 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 62:
-#line 457 "src/parse-gram.y" /* yacc.c:1648 */
+#line 452 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.tag) = uniqstr_new (""); }
-#line 2636 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2626 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 64:
-#line 480 "src/parse-gram.y" /* yacc.c:1648 */
+#line 475 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.token_decls) = (yyvsp[0].yytype_76);
+ (yyval.token_decls) = (yyvsp[0].yytype_77);
}
-#line 2644 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2634 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 65:
-#line 484 "src/parse-gram.y" /* yacc.c:1648 */
+#line 479 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.token_decls) = symbol_list_type_set ((yyvsp[0].yytype_76),
(yyvsp[-1].TAG), (yylsp[-1]));
+ (yyval.token_decls) = symbol_list_type_set ((yyvsp[0].yytype_77),
(yyvsp[-1].TAG), (yylsp[-1]));
}
-#line 2652 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2642 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 66:
-#line 488 "src/parse-gram.y" /* yacc.c:1648 */
+#line 483 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.token_decls) = symbol_list_append ((yyvsp[-2].token_decls),
symbol_list_type_set ((yyvsp[0].yytype_76), (yyvsp[-1].TAG), (yylsp[-1])));
+ (yyval.token_decls) = symbol_list_append ((yyvsp[-2].token_decls),
symbol_list_type_set ((yyvsp[0].yytype_77), (yyvsp[-1].TAG), (yylsp[-1])));
}
-#line 2660 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2650 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 67:
-#line 495 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_76) = symbol_list_sym_new ((yyvsp[0].token_decl),
(yylsp[0])); }
-#line 2666 "src/parse-gram.c" /* yacc.c:1648 */
+#line 490 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_77) = symbol_list_sym_new ((yyvsp[0].token_decl),
(yylsp[0])); }
+#line 2656 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 68:
-#line 496 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_76) = symbol_list_append ((yyvsp[-1].yytype_76),
symbol_list_sym_new ((yyvsp[0].token_decl), (yylsp[0]))); }
-#line 2672 "src/parse-gram.c" /* yacc.c:1648 */
+#line 491 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_77) = symbol_list_append ((yyvsp[-1].yytype_77),
symbol_list_sym_new ((yyvsp[0].token_decl), (yylsp[0]))); }
+#line 2662 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 69:
-#line 501 "src/parse-gram.y" /* yacc.c:1648 */
+#line 496 "src/parse-gram.y" /* yacc.c:1628 */
{
(yyval.token_decl) = (yyvsp[-2].id);
symbol_class_set ((yyvsp[-2].id), current_class, (yylsp[-2]), true);
- if (0 <= (yyvsp[-1].yytype_78))
- symbol_user_token_number_set ((yyvsp[-2].id), (yyvsp[-1].yytype_78),
(yylsp[-1]));
- if ((yyvsp[0].yytype_97))
- symbol_make_alias ((yyvsp[-2].id), (yyvsp[0].yytype_97), (yylsp[0]));
+ if (0 <= (yyvsp[-1].yytype_79))
+ symbol_user_token_number_set ((yyvsp[-2].id), (yyvsp[-1].yytype_79),
(yylsp[-1]));
+ if ((yyvsp[0].alias))
+ symbol_make_alias ((yyvsp[-2].id), (yyvsp[0].alias), (yylsp[0]));
}
-#line 2685 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2675 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 70:
-#line 513 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_78) = -1; }
-#line 2691 "src/parse-gram.c" /* yacc.c:1648 */
+#line 508 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_79) = -1; }
+#line 2681 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 72:
-#line 527 "src/parse-gram.y" /* yacc.c:1648 */
- {
- (yyval.token_decls_for_prec) = (yyvsp[0].yytype_80);
- }
-#line 2699 "src/parse-gram.c" /* yacc.c:1648 */
+#line 514 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.alias) = NULL; }
+#line 2687 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 73:
-#line 531 "src/parse-gram.y" /* yacc.c:1648 */
- {
- (yyval.token_decls_for_prec) = symbol_list_type_set
((yyvsp[0].yytype_80), (yyvsp[-1].TAG), (yylsp[-1]));
- }
-#line 2707 "src/parse-gram.c" /* yacc.c:1648 */
+#line 515 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.alias) = (yyvsp[0].string_as_id); }
+#line 2693 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 74:
-#line 535 "src/parse-gram.y" /* yacc.c:1648 */
+#line 517 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.token_decls_for_prec) = symbol_list_append
((yyvsp[-2].token_decls_for_prec), symbol_list_type_set ((yyvsp[0].yytype_80),
(yyvsp[-1].TAG), (yylsp[-1])));
+ (yyval.alias) = symbol_get (quotearg_style (c_quoting_style,
(yyvsp[0].TSTRING)), (yylsp[0]));
+ symbol_class_set ((yyval.alias), token_sym, (yylsp[0]), false);
+ (yyval.alias)->translatable = true;
}
-#line 2715 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2703 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 75:
-#line 543 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_80) = symbol_list_sym_new ((yyvsp[0].token_decl_for_prec),
(yylsp[0])); }
-#line 2721 "src/parse-gram.c" /* yacc.c:1648 */
+#line 535 "src/parse-gram.y" /* yacc.c:1628 */
+ {
+ (yyval.token_decls_for_prec) = (yyvsp[0].yytype_82);
+ }
+#line 2711 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 76:
-#line 545 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_80) = symbol_list_append ((yyvsp[-1].yytype_80),
symbol_list_sym_new ((yyvsp[0].token_decl_for_prec), (yylsp[0]))); }
-#line 2727 "src/parse-gram.c" /* yacc.c:1648 */
+#line 539 "src/parse-gram.y" /* yacc.c:1628 */
+ {
+ (yyval.token_decls_for_prec) = symbol_list_type_set
((yyvsp[0].yytype_82), (yyvsp[-1].TAG), (yylsp[-1]));
+ }
+#line 2719 "src/parse-gram.c" /* yacc.c:1628 */
break;
case 77:
-#line 550 "src/parse-gram.y" /* yacc.c:1648 */
+#line 543 "src/parse-gram.y" /* yacc.c:1628 */
+ {
+ (yyval.token_decls_for_prec) = symbol_list_append
((yyvsp[-2].token_decls_for_prec), symbol_list_type_set ((yyvsp[0].yytype_82),
(yyvsp[-1].TAG), (yylsp[-1])));
+ }
+#line 2727 "src/parse-gram.c" /* yacc.c:1628 */
+ break;
+
+ case 78:
+#line 551 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_82) = symbol_list_sym_new ((yyvsp[0].token_decl_for_prec),
(yylsp[0])); }
+#line 2733 "src/parse-gram.c" /* yacc.c:1628 */
+ break;
+
+ case 79:
+#line 553 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_82) = symbol_list_append ((yyvsp[-1].yytype_82),
symbol_list_sym_new ((yyvsp[0].token_decl_for_prec), (yylsp[0]))); }
+#line 2739 "src/parse-gram.c" /* yacc.c:1628 */
+ break;
+
+ case 80:
+#line 558 "src/parse-gram.y" /* yacc.c:1628 */
{
(yyval.token_decl_for_prec) = (yyvsp[-1].id);
symbol_class_set ((yyvsp[-1].id), token_sym, (yylsp[-1]), false);
- if (0 <= (yyvsp[0].yytype_78))
- symbol_user_token_number_set ((yyvsp[-1].id), (yyvsp[0].yytype_78),
(yylsp[0]));
+ if (0 <= (yyvsp[0].yytype_79))
+ symbol_user_token_number_set ((yyvsp[-1].id), (yyvsp[0].yytype_79),
(yylsp[0]));
}
-#line 2738 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2750 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 79:
-#line 567 "src/parse-gram.y" /* yacc.c:1648 */
+ case 82:
+#line 575 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.symbol_decls) = (yyvsp[0].yytype_83);
+ (yyval.symbol_decls) = (yyvsp[0].yytype_85);
}
-#line 2746 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2758 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 80:
-#line 571 "src/parse-gram.y" /* yacc.c:1648 */
+ case 83:
+#line 579 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.symbol_decls) = symbol_list_type_set ((yyvsp[0].yytype_83),
(yyvsp[-1].TAG), (yylsp[-1]));
+ (yyval.symbol_decls) = symbol_list_type_set ((yyvsp[0].yytype_85),
(yyvsp[-1].TAG), (yylsp[-1]));
}
-#line 2754 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2766 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 81:
-#line 575 "src/parse-gram.y" /* yacc.c:1648 */
+ case 84:
+#line 583 "src/parse-gram.y" /* yacc.c:1628 */
{
- (yyval.symbol_decls) = symbol_list_append ((yyvsp[-2].symbol_decls),
symbol_list_type_set ((yyvsp[0].yytype_83), (yyvsp[-1].TAG), (yylsp[-1])));
+ (yyval.symbol_decls) = symbol_list_append ((yyvsp[-2].symbol_decls),
symbol_list_type_set ((yyvsp[0].yytype_85), (yyvsp[-1].TAG), (yylsp[-1])));
}
-#line 2762 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2774 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 82:
-#line 582 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_83) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]));
}
-#line 2768 "src/parse-gram.c" /* yacc.c:1648 */
+ case 85:
+#line 590 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_85) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]));
}
+#line 2780 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 83:
-#line 583 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_83) = symbol_list_append ((yyvsp[-1].yytype_83),
symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
-#line 2774 "src/parse-gram.c" /* yacc.c:1648 */
+ case 86:
+#line 591 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_85) = symbol_list_append ((yyvsp[-1].yytype_85),
symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
+#line 2786 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 88:
-#line 601 "src/parse-gram.y" /* yacc.c:1648 */
+ case 91:
+#line 609 "src/parse-gram.y" /* yacc.c:1628 */
{
yyerrok;
}
-#line 2782 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2794 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 89:
-#line 607 "src/parse-gram.y" /* yacc.c:1648 */
- { current_lhs ((yyvsp[-1].id_colon), (yylsp[-1]), (yyvsp[0].yytype_90)); }
-#line 2788 "src/parse-gram.c" /* yacc.c:1648 */
+ case 92:
+#line 615 "src/parse-gram.y" /* yacc.c:1628 */
+ { current_lhs ((yyvsp[-1].id_colon), (yylsp[-1]), (yyvsp[0].yytype_92)); }
+#line 2800 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 90:
-#line 608 "src/parse-gram.y" /* yacc.c:1648 */
+ case 93:
+#line 616 "src/parse-gram.y" /* yacc.c:1628 */
{
/* Free the current lhs. */
current_lhs (0, (yylsp[-3]), 0);
}
-#line 2797 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2809 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 91:
-#line 615 "src/parse-gram.y" /* yacc.c:1648 */
+ case 94:
+#line 623 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_end ((yylsp[0])); }
-#line 2803 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2815 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 92:
-#line 616 "src/parse-gram.y" /* yacc.c:1648 */
+ case 95:
+#line 624 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_end ((yylsp[0])); }
-#line 2809 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2821 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 94:
-#line 623 "src/parse-gram.y" /* yacc.c:1648 */
+ case 97:
+#line 631 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
current_lhs_named_ref); }
-#line 2816 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2828 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 95:
-#line 626 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]),
(yyvsp[0].yytype_90)); }
-#line 2822 "src/parse-gram.c" /* yacc.c:1648 */
+ case 98:
+#line 634 "src/parse-gram.y" /* yacc.c:1628 */
+ { grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]),
(yyvsp[0].yytype_92)); }
+#line 2834 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 96:
-#line 628 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_action_append ((yyvsp[-1].BRACED_CODE),
(yylsp[-1]), (yyvsp[0].yytype_90), (yyvsp[-2].yytype_70)); }
-#line 2828 "src/parse-gram.c" /* yacc.c:1648 */
+ case 99:
+#line 636 "src/parse-gram.y" /* yacc.c:1628 */
+ { grammar_current_rule_action_append ((yyvsp[-1].BRACED_CODE),
(yylsp[-1]), (yyvsp[0].yytype_92), (yyvsp[-2].yytype_71)); }
+#line 2840 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 97:
-#line 630 "src/parse-gram.y" /* yacc.c:1648 */
+ case 100:
+#line 638 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_predicate_append ((yyvsp[0].BRACED_PREDICATE),
(yylsp[0])); }
-#line 2834 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2846 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 98:
-#line 632 "src/parse-gram.y" /* yacc.c:1648 */
+ case 101:
+#line 640 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_empty_set ((yylsp[0])); }
-#line 2840 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2852 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 99:
-#line 634 "src/parse-gram.y" /* yacc.c:1648 */
+ case 102:
+#line 642 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2846 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2858 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 100:
-#line 636 "src/parse-gram.y" /* yacc.c:1648 */
+ case 103:
+#line 644 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_dprec_set ((yyvsp[0].INT), (yylsp[0])); }
-#line 2852 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2864 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 101:
-#line 638 "src/parse-gram.y" /* yacc.c:1648 */
+ case 104:
+#line 646 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_merge_set ((yyvsp[0].TAG), (yylsp[0])); }
-#line 2858 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2870 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 102:
-#line 640 "src/parse-gram.y" /* yacc.c:1648 */
+ case 105:
+#line 648 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_expect_sr ((yyvsp[0].INT), (yylsp[0])); }
-#line 2864 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2876 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 103:
-#line 642 "src/parse-gram.y" /* yacc.c:1648 */
+ case 106:
+#line 650 "src/parse-gram.y" /* yacc.c:1628 */
{ grammar_current_rule_expect_rr ((yyvsp[0].INT), (yylsp[0])); }
-#line 2870 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2882 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 104:
-#line 646 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_90) = 0; }
-#line 2876 "src/parse-gram.c" /* yacc.c:1648 */
+ case 107:
+#line 654 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_92) = 0; }
+#line 2888 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 105:
-#line 647 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_90) = named_ref_new ((yyvsp[0].BRACKETED_ID), (yylsp[0]));
}
-#line 2882 "src/parse-gram.c" /* yacc.c:1648 */
+ case 108:
+#line 655 "src/parse-gram.y" /* yacc.c:1628 */
+ { (yyval.yytype_92) = named_ref_new ((yyvsp[0].BRACKETED_ID), (yylsp[0]));
}
+#line 2894 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 107:
-#line 680 "src/parse-gram.y" /* yacc.c:1648 */
+ case 110:
+#line 688 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; }
-#line 2888 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2900 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 108:
-#line 681 "src/parse-gram.y" /* yacc.c:1648 */
+ case 111:
+#line 689 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars =
(yyvsp[0].ID); }
-#line 2894 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2906 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 109:
-#line 682 "src/parse-gram.y" /* yacc.c:1648 */
+ case 112:
+#line 690 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.value).kind = muscle_string; (yyval.value).chars =
(yyvsp[0].STRING); }
-#line 2900 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2912 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 110:
-#line 683 "src/parse-gram.y" /* yacc.c:1648 */
+ case 113:
+#line 691 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.value).kind = muscle_code; (yyval.value).chars = strip_braces
((yyvsp[0].BRACED_CODE)); }
-#line 2906 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2918 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 111:
-#line 696 "src/parse-gram.y" /* yacc.c:1648 */
+ case 114:
+#line 704 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.id) = symbol_from_uniqstr ((yyvsp[0].ID), (yylsp[0])); }
-#line 2912 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2924 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 112:
-#line 698 "src/parse-gram.y" /* yacc.c:1648 */
+ case 115:
+#line 706 "src/parse-gram.y" /* yacc.c:1628 */
{
if (current_class == nterm_sym)
{
@@ -2925,41 +2936,35 @@ yyreduce:
symbol_class_set ((yyval.id), token_sym, (yylsp[0]), false);
symbol_user_token_number_set ((yyval.id), (yyvsp[0].CHAR), (yylsp[0]));
}
-#line 2928 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2940 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 113:
-#line 712 "src/parse-gram.y" /* yacc.c:1648 */
+ case 116:
+#line 720 "src/parse-gram.y" /* yacc.c:1628 */
{ (yyval.id_colon) = symbol_from_uniqstr ((yyvsp[0].ID_COLON),
(yylsp[0])); }
-#line 2934 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2946 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 116:
-#line 724 "src/parse-gram.y" /* yacc.c:1648 */
+ case 119:
+#line 732 "src/parse-gram.y" /* yacc.c:1628 */
{
(yyval.string_as_id) = symbol_get (quotearg_style (c_quoting_style,
(yyvsp[0].STRING)), (yylsp[0]));
symbol_class_set ((yyval.string_as_id), token_sym, (yylsp[0]), false);
}
-#line 2943 "src/parse-gram.c" /* yacc.c:1648 */
- break;
-
- case 117:
-#line 732 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.yytype_97) = NULL; }
-#line 2949 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2955 "src/parse-gram.c" /* yacc.c:1628 */
break;
- case 120:
-#line 739 "src/parse-gram.y" /* yacc.c:1648 */
+ case 121:
+#line 741 "src/parse-gram.y" /* yacc.c:1628 */
{
muscle_code_grow ("epilogue", translate_code ((yyvsp[0].EPILOGUE),
(yylsp[0]), true), (yylsp[0]));
code_scanner_last_string_free ();
}
-#line 2958 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2964 "src/parse-gram.c" /* yacc.c:1628 */
break;
-#line 2962 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2968 "src/parse-gram.c" /* yacc.c:1628 */
default: break;
}
if (yychar_backup != yychar)
@@ -3208,7 +3213,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 745 "src/parse-gram.y" /* yacc.c:1914 */
+#line 747 "src/parse-gram.y" /* yacc.c:1894 */
/* Return the location of the left-hand side of a rule whose
diff --git a/src/parse-gram.h b/src/parse-gram.h
index e73b18f1..fd740a7a 100644
--- a/src/parse-gram.h
+++ b/src/parse-gram.h
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.2.1.108-19b4e. */
+/* A Bison parser, made by GNU Bison 3.2.1.140-ce94f. */
/* Bison interface for Yacc-like parsers in C
@@ -51,11 +51,11 @@
extern int gram_debug;
#endif
/* "%code requires" blocks. */
-#line 21 "src/parse-gram.y" /* yacc.c:1917 */
+#line 21 "src/parse-gram.y" /* yacc.c:1897 */
#include "symlist.h"
#include "symtab.h"
-#line 218 "src/parse-gram.y" /* yacc.c:1917 */
+#line 213 "src/parse-gram.y" /* yacc.c:1897 */
typedef enum
{
@@ -64,7 +64,7 @@ extern int gram_debug;
param_parse = 1 << 1,
param_both = param_lex | param_parse
} param_type;
-#line 660 "src/parse-gram.y" /* yacc.c:1917 */
+#line 668 "src/parse-gram.y" /* yacc.c:1897 */
#include "muscle-tab.h"
typedef struct
@@ -73,7 +73,7 @@ extern int gram_debug;
muscle_kind kind;
} value_type;
-#line 77 "src/parse-gram.h" /* yacc.c:1917 */
+#line 77 "src/parse-gram.h" /* yacc.c:1897 */
/* Token type. */
#ifndef GRAM_TOKENTYPE
@@ -82,59 +82,60 @@ extern int gram_debug;
{
GRAM_EOF = 0,
STRING = 258,
- PERCENT_TOKEN = 259,
- PERCENT_NTERM = 260,
- PERCENT_TYPE = 261,
- PERCENT_DESTRUCTOR = 262,
- PERCENT_PRINTER = 263,
- PERCENT_LEFT = 264,
- PERCENT_RIGHT = 265,
- PERCENT_NONASSOC = 266,
- PERCENT_PRECEDENCE = 267,
- PERCENT_PREC = 268,
- PERCENT_DPREC = 269,
- PERCENT_MERGE = 270,
- PERCENT_CODE = 271,
- PERCENT_DEFAULT_PREC = 272,
- PERCENT_DEFINE = 273,
- PERCENT_DEFINES = 274,
- PERCENT_EXPECT = 275,
- PERCENT_EXPECT_RR = 276,
- PERCENT_FLAG = 277,
- PERCENT_FILE_PREFIX = 278,
- PERCENT_GLR_PARSER = 279,
- PERCENT_INITIAL_ACTION = 280,
- PERCENT_LANGUAGE = 281,
- PERCENT_NAME_PREFIX = 282,
- PERCENT_NO_DEFAULT_PREC = 283,
- PERCENT_NO_LINES = 284,
- PERCENT_NONDETERMINISTIC_PARSER = 285,
- PERCENT_OUTPUT = 286,
- PERCENT_REQUIRE = 287,
- PERCENT_SKELETON = 288,
- PERCENT_START = 289,
- PERCENT_TOKEN_TABLE = 290,
- PERCENT_VERBOSE = 291,
- PERCENT_YACC = 292,
- BRACED_CODE = 293,
- BRACED_PREDICATE = 294,
- BRACKETED_ID = 295,
- CHAR = 296,
- EPILOGUE = 297,
- EQUAL = 298,
- ID = 299,
- ID_COLON = 300,
- PERCENT_PERCENT = 301,
- PIPE = 302,
- PROLOGUE = 303,
- SEMICOLON = 304,
- TAG = 305,
- TAG_ANY = 306,
- TAG_NONE = 307,
- INT = 308,
- PERCENT_PARAM = 309,
- PERCENT_UNION = 310,
- PERCENT_EMPTY = 311
+ TSTRING = 259,
+ PERCENT_TOKEN = 260,
+ PERCENT_NTERM = 261,
+ PERCENT_TYPE = 262,
+ PERCENT_DESTRUCTOR = 263,
+ PERCENT_PRINTER = 264,
+ PERCENT_LEFT = 265,
+ PERCENT_RIGHT = 266,
+ PERCENT_NONASSOC = 267,
+ PERCENT_PRECEDENCE = 268,
+ PERCENT_PREC = 269,
+ PERCENT_DPREC = 270,
+ PERCENT_MERGE = 271,
+ PERCENT_CODE = 272,
+ PERCENT_DEFAULT_PREC = 273,
+ PERCENT_DEFINE = 274,
+ PERCENT_DEFINES = 275,
+ PERCENT_EXPECT = 276,
+ PERCENT_EXPECT_RR = 277,
+ PERCENT_FLAG = 278,
+ PERCENT_FILE_PREFIX = 279,
+ PERCENT_GLR_PARSER = 280,
+ PERCENT_INITIAL_ACTION = 281,
+ PERCENT_LANGUAGE = 282,
+ PERCENT_NAME_PREFIX = 283,
+ PERCENT_NO_DEFAULT_PREC = 284,
+ PERCENT_NO_LINES = 285,
+ PERCENT_NONDETERMINISTIC_PARSER = 286,
+ PERCENT_OUTPUT = 287,
+ PERCENT_REQUIRE = 288,
+ PERCENT_SKELETON = 289,
+ PERCENT_START = 290,
+ PERCENT_TOKEN_TABLE = 291,
+ PERCENT_VERBOSE = 292,
+ PERCENT_YACC = 293,
+ BRACED_CODE = 294,
+ BRACED_PREDICATE = 295,
+ BRACKETED_ID = 296,
+ CHAR = 297,
+ EPILOGUE = 298,
+ EQUAL = 299,
+ ID = 300,
+ ID_COLON = 301,
+ PERCENT_PERCENT = 302,
+ PIPE = 303,
+ PROLOGUE = 304,
+ SEMICOLON = 305,
+ TAG = 306,
+ TAG_ANY = 307,
+ TAG_NONE = 308,
+ INT = 309,
+ PERCENT_PARAM = 310,
+ PERCENT_UNION = 311,
+ PERCENT_EMPTY = 312
};
#endif
@@ -148,6 +149,8 @@ union GRAM_STYPE
assoc precedence_declarator;
/* "string" */
char* STRING;
+ /* "translatable string" */
+ char* TSTRING;
/* "{...}" */
char* BRACED_CODE;
/* "%?{...}" */
@@ -158,16 +161,18 @@ union GRAM_STYPE
char* PROLOGUE;
/* code_props_type */
code_props_type code_props_type;
- /* "integer" */
+ /* "integer literal" */
int INT;
/* int.opt */
- int yytype_78;
+ int yytype_79;
/* named_ref.opt */
- named_ref* yytype_90;
+ named_ref* yytype_92;
/* "%param" */
param_type PERCENT_PARAM;
/* token_decl */
symbol* token_decl;
+ /* alias */
+ symbol* alias;
/* token_decl_for_prec */
symbol* token_decl_for_prec;
/* id */
@@ -178,8 +183,6 @@ union GRAM_STYPE
symbol* symbol;
/* string_as_id */
symbol* string_as_id;
- /* string_as_id.opt */
- symbol* yytype_97;
/* generic_symlist */
symbol_list* generic_symlist;
/* generic_symlist_item */
@@ -189,15 +192,15 @@ union GRAM_STYPE
/* token_decls */
symbol_list* token_decls;
/* token_decl.1 */
- symbol_list* yytype_76;
+ symbol_list* yytype_77;
/* token_decls_for_prec */
symbol_list* token_decls_for_prec;
/* token_decl_for_prec.1 */
- symbol_list* yytype_80;
+ symbol_list* yytype_82;
/* symbol_decls */
symbol_list* symbol_decls;
/* symbol_decl.1 */
- symbol_list* yytype_83;
+ symbol_list* yytype_85;
/* "%<flag>" */
uniqstr PERCENT_FLAG;
/* "[identifier]" */
@@ -209,16 +212,16 @@ union GRAM_STYPE
/* "<tag>" */
uniqstr TAG;
/* tag.opt */
- uniqstr yytype_70;
+ uniqstr yytype_71;
/* tag */
uniqstr tag;
/* variable */
uniqstr variable;
- /* "char" */
+ /* "character literal" */
unsigned char CHAR;
/* value */
value_type value;
-#line 222 "src/parse-gram.h" /* yacc.c:1917 */
+#line 225 "src/parse-gram.h" /* yacc.c:1897 */
};
typedef union GRAM_STYPE GRAM_STYPE;
--
2.20.0
- [PATCH 0/8] Revamp the handling token string aliases in error messages, Akim Demaille, 2018/12/29
- [PATCH 6/8] tests: check that internationalization of token works, Akim Demaille, 2018/12/29
- [PATCH 7/8] translate bison's own tokens, Akim Demaille, 2018/12/29
- [PATCH 4/8] parsers: don't double escape tnames, Akim Demaille, 2018/12/29
- [PATCH 2/8] parsers: revamp the interface of yytnamerr, Akim Demaille, 2018/12/29
- [PATCH 1/8] yacc.c: avoid negated if, Akim Demaille, 2018/12/29
- [PATCH 3/8] tests: no longer play with trigraphs, Akim Demaille, 2018/12/29
- [PATCH 5/8] parsers: support translatable token aliases, Akim Demaille, 2018/12/29
- [PATCH 8/8] regen,
Akim Demaille <=