From 1db962716a4047a001f8d87e03039a046721ded7 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sat, 18 Jan 2020 14:30:31 +0100 Subject: [PATCH] regen --- src/parse-gram.c | 607 ++++++++++++++++++++++++----------------------- src/parse-gram.h | 131 +++++----- 2 files changed, 379 insertions(+), 359 deletions(-) diff --git a/src/parse-gram.c b/src/parse-gram.c index 37960d24..9cf5e68e 100644 --- a/src/parse-gram.c +++ b/src/parse-gram.c @@ -485,16 +485,16 @@ union yyalloc #define YYLAST 234 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 60 +#define YYNTOKENS 61 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 42 /* YYNRULES -- Number of rules. */ -#define YYNRULES 122 +#define YYNRULES 123 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 166 +#define YYNSTATES 167 #define YYUNDEFTOK 2 -#define YYMAXUTOK 314 +#define YYMAXUTOK 315 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -505,19 +505,19 @@ union yyalloc /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 293, 293, 302, 303, 307, 308, 314, 318, 323, - 324, 329, 330, 331, 332, 333, 338, 343, 344, 345, - 346, 347, 348, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 360, 361, 370, 371, 375, 386, 390, 394, - 402, 412, 413, 423, 424, 430, 443, 443, 448, 448, - 453, 457, 467, 468, 469, 470, 474, 475, 480, 481, - 485, 486, 490, 491, 492, 505, 514, 518, 522, 530, - 531, 535, 548, 549, 561, 565, 569, 577, 579, 584, - 591, 601, 605, 609, 617, 622, 634, 635, 641, 642, - 643, 650, 650, 658, 659, 660, 665, 668, 670, 672, - 674, 676, 678, 680, 682, 684, 689, 690, 699, 723, - 724, 725, 726, 738, 740, 767, 772, 773, 778, 787, - 788, 792, 793 + 0, 294, 294, 303, 304, 308, 309, 315, 319, 324, + 325, 330, 331, 332, 333, 334, 339, 344, 345, 346, + 347, 348, 349, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 361, 362, 371, 372, 376, 387, 391, 395, + 403, 413, 414, 424, 425, 431, 444, 444, 449, 449, + 454, 458, 468, 469, 470, 471, 475, 476, 481, 482, + 486, 487, 491, 492, 493, 506, 515, 519, 523, 531, + 532, 536, 549, 550, 555, 556, 557, 575, 579, 583, + 591, 593, 598, 605, 615, 619, 623, 631, 636, 648, + 649, 655, 656, 657, 664, 664, 672, 673, 674, 679, + 682, 684, 686, 688, 690, 692, 694, 696, 698, 703, + 704, 713, 737, 738, 739, 740, 752, 754, 781, 786, + 787, 792, 800, 801 }; #endif @@ -535,27 +535,27 @@ yysymbol_name (int yysymbol) { static const char *const yy_sname[] = { - "end of file", "error", "$undefined", "string", "%token", "%nterm", - "%type", "%destructor", "%printer", "%left", "%right", "%nonassoc", - "%precedence", "%prec", "%dprec", "%merge", "%code", "%default-prec", - "%define", "%defines", "%error-verbose", "%expect", "%expect-rr", - "%", "%file-prefix", "%glr-parser", "%initial-action", "%language", - "%name-prefix", "%no-default-prec", "%no-lines", - "%nondeterministic-parser", "%output", "%pure-parser", "%require", - "%skeleton", "%start", "%token-table", "%verbose", "%yacc", "{...}", - "%?{...}", "[identifier]", "character literal", ":", "epilogue", "=", - "identifier", "identifier:", "%%", "|", "%{...%}", ";", "", "<*>", - "<>", "integer", "%param", "%union", "%empty", "$accept", "input", + "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", "%error-verbose", + "%expect", "%expect-rr", "%", "%file-prefix", "%glr-parser", + "%initial-action", "%language", "%name-prefix", "%no-default-prec", + "%no-lines", "%nondeterministic-parser", "%output", "%pure-parser", + "%require", "%skeleton", "%start", "%token-table", "%verbose", "%yacc", + "{...}", "%?{...}", "[identifier]", "character literal", ":", "epilogue", + "=", "identifier", "identifier:", "%%", "|", "%{...%}", ";", "", + "<*>", "<>", "integer", "%param", "%union", "%empty", "$accept", "input", "prologue_declarations", "prologue_declaration", "$@1", "params", "grammar_declaration", "code_props_type", "union_name", "symbol_declaration", "$@2", "$@3", "precedence_declarator", "tag.opt", "generic_symlist", "generic_symlist_item", "tag", "nterm_decls", - "token_decls", "token_decl.1", "token_decl", "int.opt", + "token_decls", "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", "$@4", "rhses.1", "rhs", "named_ref.opt", "variable", "value", "id", "id_colon", "symbol", - "string_as_id", "string_as_id.opt", "epilogue.opt", YY_NULLPTR + "string_as_id", "epilogue.opt", YY_NULLPTR }; return yy_sname[yysymbol]; } @@ -571,16 +571,17 @@ static const yytype_int16 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, 312, 313, 314 + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315 }; # endif -#define YYPACT_NINF (-130) +#define YYPACT_NINF (-80) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-122) +#define YYTABLE_NINF (-123) #define yytable_value_is_error(Yyn) \ 0 @@ -589,23 +590,23 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -130, 36, 110, -130, -22, -130, -130, 2, -130, -130, - -130, -130, -130, -130, -19, -130, -9, 40, -130, -17, - -2, -130, 57, -130, 21, 66, 77, -130, -130, -130, - 78, -130, 87, 92, 44, -130, -130, -130, 165, -130, - -130, -130, 50, -130, -130, 58, -130, 29, -130, 15, - 15, -130, -130, -130, 44, 47, 44, -130, -130, -130, - -130, 61, -130, 30, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, 51, -130, 53, 8, -130, - -130, 64, 67, -130, 68, 20, 44, 56, 44, -130, - 69, -130, -37, 59, -37, -130, 69, -130, 59, 44, - 44, -130, -130, -130, -130, -130, -130, -130, -130, 79, - -130, -130, -130, -130, -130, 111, -130, -130, -130, -130, - 20, -130, -130, -130, 44, 44, -130, -130, -130, -37, - -37, -130, 147, 44, -130, 108, -130, -130, 44, -37, - -130, -130, -130, -21, 175, -130, -130, 44, 97, 101, - 99, 100, -130, -130, -130, 117, 64, 175, -130, -130, - -130, -130, -130, 64, -130, -130 + -80, 5, 120, -80, -17, -80, -80, 23, -80, -80, + -80, -80, -80, -80, -7, -80, 10, 58, -80, 6, + 34, -80, 82, -80, 54, 95, 101, -80, -80, -80, + 103, -80, 105, 107, 24, -80, -80, -80, 175, -80, + -80, -80, 64, -80, -80, 75, -80, 61, -80, -15, + -15, -80, -80, -80, 24, 63, 24, -80, -80, -80, + -80, 77, -80, 46, -80, -80, -80, -80, -80, -80, + -80, -80, -80, -80, -80, 67, -80, 69, 7, -80, + -80, 80, 93, -80, 94, -1, 24, 108, 24, -80, + 79, -80, -38, 109, -38, -80, 79, -80, 109, 24, + 24, -80, -80, -80, -80, -80, -80, -80, -80, 115, + -80, -80, -80, -80, -80, 123, -80, -80, -80, -80, + -1, -80, -80, -80, 24, 24, -80, -80, -80, -38, + -38, -80, 28, 24, -80, 121, -80, -80, 24, -38, + -80, -80, -80, -80, -23, 59, -80, -80, 24, 110, + 111, 112, 114, -80, -80, -80, 127, 80, 59, -80, + -80, -80, -80, -80, 80, -80, -80 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -618,38 +619,38 @@ static const yytype_int8 yydefact[] = 0, 7, 0, 15, 0, 0, 0, 38, 19, 20, 0, 24, 0, 0, 0, 27, 28, 29, 0, 6, 31, 22, 43, 4, 5, 0, 34, 0, 30, 0, - 0, 118, 114, 113, 0, 50, 81, 116, 84, 117, - 39, 0, 108, 109, 10, 12, 13, 14, 16, 17, - 18, 21, 25, 26, 35, 0, 115, 0, 0, 86, - 88, 106, 0, 44, 0, 0, 0, 51, 74, 77, - 72, 80, 0, 49, 66, 69, 72, 47, 65, 82, - 0, 85, 40, 111, 112, 110, 8, 90, 89, 0, - 87, 2, 107, 91, 33, 23, 45, 62, 63, 64, - 36, 58, 61, 60, 75, 0, 78, 73, 79, 67, - 0, 70, 119, 83, 122, 0, 32, 59, 76, 68, - 120, 71, 96, 92, 93, 96, 95, 0, 0, 0, - 0, 0, 99, 57, 100, 0, 106, 94, 101, 102, - 103, 104, 105, 106, 97, 98 + 0, 121, 117, 116, 0, 50, 84, 119, 87, 120, + 39, 0, 111, 112, 10, 12, 13, 14, 16, 17, + 18, 21, 25, 26, 35, 0, 118, 0, 0, 89, + 91, 109, 0, 44, 0, 0, 0, 51, 77, 80, + 72, 83, 0, 49, 66, 69, 72, 47, 65, 85, + 0, 88, 40, 114, 115, 113, 8, 93, 92, 0, + 90, 2, 110, 94, 33, 23, 45, 62, 63, 64, + 36, 58, 61, 60, 78, 0, 81, 73, 82, 67, + 0, 70, 74, 86, 123, 0, 32, 59, 79, 68, + 76, 71, 75, 99, 95, 96, 99, 98, 0, 0, + 0, 0, 0, 102, 57, 103, 0, 109, 97, 104, + 105, 106, 107, 108, 109, 100, 101 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -130, -130, -130, -130, -130, -130, 156, -130, -130, -130, - -130, -130, -130, -130, -130, 43, -130, -130, 114, -66, - -35, 83, -130, -84, -53, -130, -47, -130, 82, -130, - -130, -130, 35, -129, -130, -130, -46, -130, -34, -36, - -130, -130 + -80, -80, -80, -80, -80, -80, 172, -80, -80, -80, + -80, -80, -80, -80, -80, 55, -80, -80, 139, -54, + -59, 81, -80, -80, -65, -79, -80, -31, -80, 113, + -80, -80, -80, 44, -67, -80, -80, -46, -80, -34, + -36, -80 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 2, 43, 82, 115, 77, 45, 84, 46, - 50, 49, 47, 155, 120, 121, 122, 97, 93, 94, - 95, 128, 87, 88, 89, 55, 56, 78, 79, 80, - 135, 143, 144, 113, 63, 106, 57, 81, 58, 59, - 141, 111 + 50, 49, 47, 156, 120, 121, 122, 97, 93, 94, + 95, 128, 141, 87, 88, 89, 55, 56, 78, 79, + 80, 135, 144, 145, 113, 63, 106, 57, 81, 58, + 59, 111 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -657,57 +658,57 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 74, 90, 124, 96, 96, 51, 52, 99, -121, 75, + 74, 90, 51, 96, 96, 3, 52, -122, 75, 126, 53, 91, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 60, 101, 51, 14, 15, 129, 164, 61, 145, - 48, 146, 51, 103, 165, 126, 3, 27, 62, 65, - 90, 138, 90, 64, 34, 52, 96, 51, 96, 53, - 91, 123, 91, 133, 66, 54, 76, 109, 52, 131, - 67, 68, 53, 52, 139, 101, 42, 53, 92, 69, - 104, 126, 52, 117, 118, 119, 53, 105, 90, 90, - 70, 71, 86, 96, 96, 126, 123, 52, 91, 91, - 72, 53, 90, 96, 131, 73, 140, 83, 85, 101, - 100, 102, 91, 107, 131, 108, 112, 114, 116, 125, - 156, 4, 130, 158, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 156, 134, 127, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 51, 136, 142, 159, 160, 161, 162, 163, 44, 38, - 110, 39, 40, 137, 98, 0, 75, 41, 42, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 51, 132, - 157, 14, 15, 0, 0, 0, 0, 0, 147, 148, - 149, 0, 0, 0, 27, 0, 150, 151, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 76, 0, -56, 152, 0, 52, 0, - 0, 0, 53, 42, 0, 0, 0, 0, 153, 0, - 0, 0, 0, 0, 154 + 13, 124, 101, 99, 14, 15, 51, 51, 146, 52, + 147, 51, 140, 53, 60, 131, 48, 27, 129, 92, + 90, 61, 90, 52, 34, 126, 96, 53, 96, 103, + 91, 123, 91, 117, 118, 119, 76, 109, 62, 126, + 138, 64, 51, 65, 51, 101, 42, 52, 52, 133, + 131, 53, 53, 148, 149, 150, 139, 54, 90, 90, + 131, 151, 152, 96, 96, 67, 123, 104, 91, 91, + 165, 66, 90, 96, 105, 68, 142, 166, 69, 101, + -56, 153, 91, 52, 70, 52, 71, 53, 72, 53, + 73, 157, 83, 154, 159, 86, 85, 100, 102, 155, + 107, 4, 108, 112, 157, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 114, 116, 127, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 134, 125, 130, 136, 161, 143, 160, 164, 162, + 38, 163, 39, 40, 44, 137, 75, 132, 41, 42, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 98, + 158, 110, 14, 15, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 42 }; static const yytype_int16 yycheck[] = { - 34, 47, 86, 49, 50, 3, 43, 54, 0, 1, - 47, 47, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 40, 56, 3, 16, 17, 92, 156, 47, 50, - 52, 52, 3, 3, 163, 88, 0, 29, 47, 56, - 86, 125, 88, 3, 36, 43, 92, 3, 94, 47, - 86, 85, 88, 100, 56, 53, 48, 49, 43, 94, - 3, 40, 47, 43, 130, 99, 58, 47, 53, 3, - 40, 124, 43, 53, 54, 55, 47, 47, 124, 125, - 3, 3, 53, 129, 130, 138, 120, 43, 124, 125, - 3, 47, 138, 139, 129, 3, 132, 47, 40, 133, - 53, 40, 138, 52, 139, 52, 42, 40, 40, 53, - 144, 1, 53, 147, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 157, 45, 56, 16, 17, 18, 19, + 34, 47, 3, 49, 50, 0, 44, 0, 1, 88, + 48, 47, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 86, 56, 54, 17, 18, 3, 3, 51, 44, + 53, 3, 4, 48, 41, 94, 53, 30, 92, 54, + 86, 48, 88, 44, 37, 124, 92, 48, 94, 3, + 86, 85, 88, 54, 55, 56, 49, 50, 48, 138, + 125, 3, 3, 57, 3, 99, 59, 44, 44, 100, + 129, 48, 48, 14, 15, 16, 130, 54, 124, 125, + 139, 22, 23, 129, 130, 3, 120, 41, 124, 125, + 157, 57, 138, 139, 48, 41, 132, 164, 3, 133, + 41, 42, 138, 44, 3, 44, 3, 48, 3, 48, + 3, 145, 48, 54, 148, 54, 41, 54, 41, 60, + 53, 1, 53, 43, 158, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 41, 41, 57, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 3, 40, 44, 56, 53, 56, 56, 40, 2, 49, - 78, 51, 52, 120, 50, -1, 1, 57, 58, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 3, 96, - 145, 16, 17, -1, -1, -1, -1, -1, 13, 14, - 15, -1, -1, -1, 29, -1, 21, 22, -1, -1, - -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 48, -1, 40, 41, -1, 43, -1, - -1, -1, 47, 58, -1, -1, -1, -1, 53, -1, + 40, 46, 54, 54, 41, 54, 45, 57, 41, 57, + 50, 57, 52, 53, 2, 120, 1, 96, 58, 59, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 50, + 146, 78, 17, 18, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59 }; @@ -715,41 +716,41 @@ static const yytype_int16 yycheck[] = symbol of state STATE-NUM. */ static const yytype_int8 yystos[] = { - 0, 61, 62, 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, 38, 39, 49, 51, - 52, 57, 58, 63, 66, 67, 69, 72, 52, 71, - 70, 3, 43, 47, 53, 85, 86, 96, 98, 99, - 40, 47, 47, 94, 3, 56, 56, 3, 40, 3, - 3, 3, 3, 3, 98, 1, 48, 66, 87, 88, - 89, 97, 64, 47, 68, 40, 53, 82, 83, 84, - 96, 99, 53, 78, 79, 80, 96, 77, 78, 86, - 53, 98, 40, 3, 40, 47, 95, 52, 52, 49, - 88, 101, 42, 93, 40, 65, 40, 53, 54, 55, - 74, 75, 76, 98, 83, 53, 84, 56, 81, 79, - 53, 80, 81, 86, 45, 90, 40, 75, 83, 79, - 99, 100, 44, 91, 92, 50, 52, 13, 14, 15, - 21, 22, 41, 53, 59, 73, 98, 92, 98, 56, - 53, 56, 56, 40, 93, 93 + 0, 62, 63, 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, 39, 40, 50, 52, + 53, 58, 59, 64, 67, 68, 70, 73, 53, 72, + 71, 3, 44, 48, 54, 87, 88, 98, 100, 101, + 41, 48, 48, 96, 3, 57, 57, 3, 41, 3, + 3, 3, 3, 3, 100, 1, 49, 67, 89, 90, + 91, 99, 65, 48, 69, 41, 54, 84, 85, 86, + 98, 101, 54, 79, 80, 81, 98, 78, 79, 88, + 54, 100, 41, 3, 41, 48, 97, 53, 53, 50, + 90, 102, 43, 95, 41, 66, 41, 54, 55, 56, + 75, 76, 77, 100, 85, 54, 86, 57, 82, 80, + 54, 81, 82, 88, 46, 92, 41, 76, 85, 80, + 4, 83, 101, 45, 93, 94, 51, 53, 14, 15, + 16, 22, 23, 42, 54, 60, 74, 100, 94, 100, + 57, 54, 57, 57, 41, 95, 95 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_int8 yyr1[] = { - 0, 60, 61, 62, 62, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 64, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 65, 65, 66, 66, 66, 66, 66, 66, - 66, 67, 67, 68, 68, 66, 70, 69, 71, 69, - 69, 69, 72, 72, 72, 72, 73, 73, 74, 74, - 75, 75, 76, 76, 76, 77, 78, 78, 78, 79, - 79, 80, 81, 81, 82, 82, 82, 83, 83, 84, - 84, 85, 85, 85, 86, 86, 87, 87, 88, 88, - 88, 90, 89, 91, 91, 91, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 93, 93, 94, 95, - 95, 95, 95, 96, 96, 97, 98, 98, 99, 100, - 100, 101, 101 + 0, 61, 62, 63, 63, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 65, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 66, 66, 67, 67, 67, 67, 67, 67, + 67, 68, 68, 69, 69, 67, 71, 70, 72, 70, + 70, 70, 73, 73, 73, 73, 74, 74, 75, 75, + 76, 76, 77, 77, 77, 78, 79, 79, 79, 80, + 80, 81, 82, 82, 83, 83, 83, 84, 84, 84, + 85, 85, 86, 86, 87, 87, 87, 88, 88, 89, + 89, 90, 90, 90, 92, 91, 93, 93, 93, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, + 95, 96, 97, 97, 97, 97, 98, 98, 99, 100, + 100, 101, 102, 102 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -762,12 +763,12 @@ static const yytype_int8 yyr2[] = 3, 1, 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, 5, 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 + 2, 3, 0, 1, 0, 1, 1, 1, 2, 3, + 1, 2, 2, 1, 1, 2, 3, 1, 2, 1, + 2, 1, 2, 2, 0, 5, 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 }; @@ -931,67 +932,71 @@ tron (yyo); { fputs (((*yyvaluep).STRING), yyo); } break; - case 20: /* "%error-verbose" */ + case 4: /* "translatable string" */ + { fputs (((*yyvaluep).TSTRING), yyo); } + break; + + case 21: /* "%error-verbose" */ { fputs (((*yyvaluep).PERCENT_ERROR_VERBOSE), yyo); } break; - case 23: /* "%" */ + case 24: /* "%" */ { fprintf (yyo, "%%%s", ((*yyvaluep).PERCENT_FLAG)); } break; - case 24: /* "%file-prefix" */ + case 25: /* "%file-prefix" */ { fputs (((*yyvaluep).PERCENT_FILE_PREFIX), yyo); } break; - case 28: /* "%name-prefix" */ + case 29: /* "%name-prefix" */ { fputs (((*yyvaluep).PERCENT_NAME_PREFIX), yyo); } break; - case 33: /* "%pure-parser" */ + case 34: /* "%pure-parser" */ { fputs (((*yyvaluep).PERCENT_PURE_PARSER), yyo); } break; - case 40: /* "{...}" */ + case 41: /* "{...}" */ { fputs (((*yyvaluep).BRACED_CODE), yyo); } break; - case 41: /* "%?{...}" */ + case 42: /* "%?{...}" */ { fputs (((*yyvaluep).BRACED_PREDICATE), yyo); } break; - case 42: /* "[identifier]" */ + case 43: /* "[identifier]" */ { fprintf (yyo, "[%s]", ((*yyvaluep).BRACKETED_ID)); } break; - case 43: /* "character literal" */ + case 44: /* "character literal" */ { fputs (char_name (((*yyvaluep).CHAR)), yyo); } break; - case 45: /* "epilogue" */ + case 46: /* "epilogue" */ { fputs (((*yyvaluep).EPILOGUE), yyo); } break; - case 47: /* "identifier" */ + case 48: /* "identifier" */ { fputs (((*yyvaluep).ID), yyo); } break; - case 48: /* "identifier:" */ + case 49: /* "identifier:" */ { fprintf (yyo, "%s:", ((*yyvaluep).ID_COLON)); } break; - case 51: /* "%{...%}" */ + case 52: /* "%{...%}" */ { fputs (((*yyvaluep).PROLOGUE), yyo); } break; - case 53: /* "" */ + case 54: /* "" */ { fprintf (yyo, "<%s>", ((*yyvaluep).TAG)); } break; - case 56: /* "integer" */ + case 57: /* "integer" */ { fprintf (yyo, "%d", ((*yyvaluep).INT)); } break; - case 57: /* "%param" */ + case 58: /* "%param" */ { switch (((*yyvaluep).PERCENT_PARAM)) { @@ -1006,71 +1011,75 @@ tron (yyo); } break; - case 67: /* code_props_type */ + case 68: /* code_props_type */ { fprintf (yyo, "%s", code_props_type_string (((*yyvaluep).code_props_type))); } break; - case 73: /* tag.opt */ - { fputs (((*yyvaluep).yytype_73), yyo); } + case 74: /* tag.opt */ + { fputs (((*yyvaluep).yytype_74), yyo); } break; - case 74: /* generic_symlist */ + case 75: /* generic_symlist */ { symbol_list_syms_print (((*yyvaluep).generic_symlist), yyo); } break; - case 75: /* generic_symlist_item */ + case 76: /* generic_symlist_item */ { symbol_list_syms_print (((*yyvaluep).generic_symlist_item), yyo); } break; - case 76: /* tag */ + case 77: /* tag */ { fprintf (yyo, "<%s>", ((*yyvaluep).tag)); } break; - case 77: /* nterm_decls */ + case 78: /* nterm_decls */ { symbol_list_syms_print (((*yyvaluep).nterm_decls), yyo); } break; - case 78: /* token_decls */ + case 79: /* token_decls */ { symbol_list_syms_print (((*yyvaluep).token_decls), yyo); } break; - case 79: /* token_decl.1 */ - { symbol_list_syms_print (((*yyvaluep).yytype_79), yyo); } + case 80: /* token_decl.1 */ + { symbol_list_syms_print (((*yyvaluep).yytype_80), yyo); } break; - case 80: /* token_decl */ + case 81: /* token_decl */ { fprintf (yyo, "%s", ((*yyvaluep).token_decl) ? ((*yyvaluep).token_decl)->tag : ""); } break; - case 81: /* int.opt */ - { fprintf (yyo, "%d", ((*yyvaluep).yytype_81)); } + case 82: /* int.opt */ + { fprintf (yyo, "%d", ((*yyvaluep).yytype_82)); } break; - case 82: /* token_decls_for_prec */ + case 83: /* alias */ + { fprintf (yyo, "%s", ((*yyvaluep).alias) ? ((*yyvaluep).alias)->tag : ""); } + break; + + case 84: /* token_decls_for_prec */ { symbol_list_syms_print (((*yyvaluep).token_decls_for_prec), yyo); } break; - case 83: /* token_decl_for_prec.1 */ - { symbol_list_syms_print (((*yyvaluep).yytype_83), yyo); } + case 85: /* token_decl_for_prec.1 */ + { symbol_list_syms_print (((*yyvaluep).yytype_85), yyo); } break; - case 84: /* token_decl_for_prec */ + case 86: /* token_decl_for_prec */ { fprintf (yyo, "%s", ((*yyvaluep).token_decl_for_prec) ? ((*yyvaluep).token_decl_for_prec)->tag : ""); } break; - case 85: /* symbol_decls */ + case 87: /* symbol_decls */ { symbol_list_syms_print (((*yyvaluep).symbol_decls), yyo); } break; - case 86: /* symbol_decl.1 */ - { symbol_list_syms_print (((*yyvaluep).yytype_86), yyo); } + case 88: /* symbol_decl.1 */ + { symbol_list_syms_print (((*yyvaluep).yytype_88), yyo); } break; - case 94: /* variable */ + case 96: /* variable */ { fputs (((*yyvaluep).variable), yyo); } break; - case 95: /* value */ + case 97: /* value */ { switch (((*yyvaluep).value).kind) { @@ -1081,26 +1090,22 @@ tron (yyo); } break; - case 96: /* id */ + case 98: /* id */ { fprintf (yyo, "%s", ((*yyvaluep).id) ? ((*yyvaluep).id)->tag : ""); } break; - case 97: /* id_colon */ + case 99: /* id_colon */ { fprintf (yyo, "%s:", ((*yyvaluep).id_colon)->tag); } break; - case 98: /* symbol */ + case 100: /* symbol */ { fprintf (yyo, "%s", ((*yyvaluep).symbol) ? ((*yyvaluep).symbol)->tag : ""); } break; - case 99: /* string_as_id */ + case 101: /* string_as_id */ { fprintf (yyo, "%s", ((*yyvaluep).string_as_id) ? ((*yyvaluep).string_as_id)->tag : ""); } break; - case 100: /* string_as_id.opt */ - { fprintf (yyo, "%s", ((*yyvaluep).yytype_100) ? ((*yyvaluep).yytype_100)->tag : ""); } - break; - default: break; } @@ -1684,40 +1689,40 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN switch (yytype) { - case 74: /* generic_symlist */ + case 75: /* generic_symlist */ { symbol_list_free (((*yyvaluep).generic_symlist)); } break; - case 75: /* generic_symlist_item */ + case 76: /* generic_symlist_item */ { symbol_list_free (((*yyvaluep).generic_symlist_item)); } break; - case 77: /* nterm_decls */ + case 78: /* nterm_decls */ { symbol_list_free (((*yyvaluep).nterm_decls)); } break; - case 78: /* token_decls */ + case 79: /* token_decls */ { symbol_list_free (((*yyvaluep).token_decls)); } break; - case 79: /* token_decl.1 */ - { symbol_list_free (((*yyvaluep).yytype_79)); } + case 80: /* token_decl.1 */ + { symbol_list_free (((*yyvaluep).yytype_80)); } break; - case 82: /* token_decls_for_prec */ + case 84: /* token_decls_for_prec */ { symbol_list_free (((*yyvaluep).token_decls_for_prec)); } break; - case 83: /* token_decl_for_prec.1 */ - { symbol_list_free (((*yyvaluep).yytype_83)); } + case 85: /* token_decl_for_prec.1 */ + { symbol_list_free (((*yyvaluep).yytype_85)); } break; - case 85: /* symbol_decls */ + case 87: /* symbol_decls */ { symbol_list_free (((*yyvaluep).symbol_decls)); } break; - case 86: /* symbol_decl.1 */ - { symbol_list_free (((*yyvaluep).yytype_86)); } + case 88: /* symbol_decl.1 */ + { symbol_list_free (((*yyvaluep).yytype_88)); } break; default: @@ -2297,11 +2302,11 @@ yyreduce: break; case 56: - { (yyval.yytype_73) = NULL; } + { (yyval.yytype_74) = NULL; } break; case 57: - { (yyval.yytype_73) = (yyvsp[0].TAG); } + { (yyval.yytype_74) = (yyvsp[0].TAG); } break; case 59: @@ -2326,207 +2331,223 @@ yyreduce: case 66: { - (yyval.token_decls) = (yyvsp[0].yytype_79); + (yyval.token_decls) = (yyvsp[0].yytype_80); } break; case 67: { - (yyval.token_decls) = symbol_list_type_set ((yyvsp[0].yytype_79), (yyvsp[-1].TAG), (yylsp[-1])); + (yyval.token_decls) = symbol_list_type_set ((yyvsp[0].yytype_80), (yyvsp[-1].TAG), (yylsp[-1])); } break; case 68: { - (yyval.token_decls) = symbol_list_append ((yyvsp[-2].token_decls), symbol_list_type_set ((yyvsp[0].yytype_79), (yyvsp[-1].TAG), (yylsp[-1]))); + (yyval.token_decls) = symbol_list_append ((yyvsp[-2].token_decls), symbol_list_type_set ((yyvsp[0].yytype_80), (yyvsp[-1].TAG), (yylsp[-1]))); } break; case 69: - { (yyval.yytype_79) = symbol_list_sym_new ((yyvsp[0].token_decl), (yylsp[0])); } + { (yyval.yytype_80) = symbol_list_sym_new ((yyvsp[0].token_decl), (yylsp[0])); } break; case 70: - { (yyval.yytype_79) = symbol_list_append ((yyvsp[-1].yytype_79), symbol_list_sym_new ((yyvsp[0].token_decl), (yylsp[0]))); } + { (yyval.yytype_80) = symbol_list_append ((yyvsp[-1].yytype_80), symbol_list_sym_new ((yyvsp[0].token_decl), (yylsp[0]))); } break; case 71: { (yyval.token_decl) = (yyvsp[-2].id); symbol_class_set ((yyvsp[-2].id), current_class, (yylsp[-2]), true); - if (0 <= (yyvsp[-1].yytype_81)) - symbol_user_token_number_set ((yyvsp[-2].id), (yyvsp[-1].yytype_81), (yylsp[-1])); - if ((yyvsp[0].yytype_100)) - symbol_make_alias ((yyvsp[-2].id), (yyvsp[0].yytype_100), (yylsp[0])); + if (0 <= (yyvsp[-1].yytype_82)) + symbol_user_token_number_set ((yyvsp[-2].id), (yyvsp[-1].yytype_82), (yylsp[-1])); + if ((yyvsp[0].alias)) + symbol_make_alias ((yyvsp[-2].id), (yyvsp[0].alias), (yylsp[0])); } break; case 72: - { (yyval.yytype_81) = -1; } + { (yyval.yytype_82) = -1; } break; case 74: - { - (yyval.token_decls_for_prec) = (yyvsp[0].yytype_83); - } + { (yyval.alias) = NULL; } break; case 75: - { - (yyval.token_decls_for_prec) = symbol_list_type_set ((yyvsp[0].yytype_83), (yyvsp[-1].TAG), (yylsp[-1])); - } + { (yyval.alias) = (yyvsp[0].string_as_id); } break; case 76: { - (yyval.token_decls_for_prec) = symbol_list_append ((yyvsp[-2].token_decls_for_prec), symbol_list_type_set ((yyvsp[0].yytype_83), (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; } break; case 77: - { (yyval.yytype_83) = symbol_list_sym_new ((yyvsp[0].token_decl_for_prec), (yylsp[0])); } + { + (yyval.token_decls_for_prec) = (yyvsp[0].yytype_85); + } break; case 78: - { (yyval.yytype_83) = symbol_list_append ((yyvsp[-1].yytype_83), symbol_list_sym_new ((yyvsp[0].token_decl_for_prec), (yylsp[0]))); } + { + (yyval.token_decls_for_prec) = symbol_list_type_set ((yyvsp[0].yytype_85), (yyvsp[-1].TAG), (yylsp[-1])); + } break; case 79: { - (yyval.token_decl_for_prec) = (yyvsp[-1].id); - symbol_class_set ((yyvsp[-1].id), token_sym, (yylsp[-1]), false); - if (0 <= (yyvsp[0].yytype_81)) - symbol_user_token_number_set ((yyvsp[-1].id), (yyvsp[0].yytype_81), (yylsp[0])); + (yyval.token_decls_for_prec) = symbol_list_append ((yyvsp[-2].token_decls_for_prec), symbol_list_type_set ((yyvsp[0].yytype_85), (yyvsp[-1].TAG), (yylsp[-1]))); } break; + case 80: + { (yyval.yytype_85) = symbol_list_sym_new ((yyvsp[0].token_decl_for_prec), (yylsp[0])); } + break; + case 81: - { - (yyval.symbol_decls) = (yyvsp[0].yytype_86); - } + { (yyval.yytype_85) = symbol_list_append ((yyvsp[-1].yytype_85), symbol_list_sym_new ((yyvsp[0].token_decl_for_prec), (yylsp[0]))); } break; case 82: { - (yyval.symbol_decls) = symbol_list_type_set ((yyvsp[0].yytype_86), (yyvsp[-1].TAG), (yylsp[-1])); - } - break; - - case 83: - { - (yyval.symbol_decls) = symbol_list_append ((yyvsp[-2].symbol_decls), symbol_list_type_set ((yyvsp[0].yytype_86), (yyvsp[-1].TAG), (yylsp[-1]))); + (yyval.token_decl_for_prec) = (yyvsp[-1].id); + symbol_class_set ((yyvsp[-1].id), token_sym, (yylsp[-1]), false); + if (0 <= (yyvsp[0].yytype_82)) + symbol_user_token_number_set ((yyvsp[-1].id), (yyvsp[0].yytype_82), (yylsp[0])); } break; case 84: { - symbol_class_set ((yyvsp[0].symbol), pct_type_sym, (yylsp[0]), false); - (yyval.yytype_86) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); + (yyval.symbol_decls) = (yyvsp[0].yytype_88); } break; case 85: { - symbol_class_set ((yyvsp[0].symbol), pct_type_sym, (yylsp[0]), false); - (yyval.yytype_86) = symbol_list_append ((yyvsp[-1].yytype_86), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); + (yyval.symbol_decls) = symbol_list_type_set ((yyvsp[0].yytype_88), (yyvsp[-1].TAG), (yylsp[-1])); } break; - case 90: + case 86: + { + (yyval.symbol_decls) = symbol_list_append ((yyvsp[-2].symbol_decls), symbol_list_type_set ((yyvsp[0].yytype_88), (yyvsp[-1].TAG), (yylsp[-1]))); + } + break; + + case 87: + { + symbol_class_set ((yyvsp[0].symbol), pct_type_sym, (yylsp[0]), false); + (yyval.yytype_88) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); + } + break; + + case 88: + { + symbol_class_set ((yyvsp[0].symbol), pct_type_sym, (yylsp[0]), false); + (yyval.yytype_88) = symbol_list_append ((yyvsp[-1].yytype_88), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); + } + break; + + case 93: { yyerrok; } break; - case 91: - { current_lhs ((yyvsp[-1].id_colon), (yylsp[-1]), (yyvsp[0].yytype_93)); } + case 94: + { current_lhs ((yyvsp[-1].id_colon), (yylsp[-1]), (yyvsp[0].yytype_95)); } break; - case 92: + case 95: { /* Free the current lhs. */ current_lhs (0, (yylsp[-4]), 0); } break; - case 93: - { grammar_current_rule_end ((yylsp[0])); } - break; - - case 94: - { grammar_current_rule_end ((yylsp[0])); } - break; - case 96: + { grammar_current_rule_end ((yylsp[0])); } + break; + + case 97: + { grammar_current_rule_end ((yylsp[0])); } + break; + + case 99: { grammar_current_rule_begin (current_lhs_symbol, current_lhs_loc, current_lhs_named_ref); } break; - case 97: - { grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].yytype_93)); } - break; - - case 98: - { grammar_current_rule_action_append ((yyvsp[-1].BRACED_CODE), (yylsp[-1]), (yyvsp[0].yytype_93), (yyvsp[-2].yytype_73)); } - break; - - case 99: - { grammar_current_rule_predicate_append ((yyvsp[0].BRACED_PREDICATE), (yylsp[0])); } - break; - case 100: - { grammar_current_rule_empty_set ((yylsp[0])); } + { grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].yytype_95)); } break; case 101: - { grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); } + { grammar_current_rule_action_append ((yyvsp[-1].BRACED_CODE), (yylsp[-1]), (yyvsp[0].yytype_95), (yyvsp[-2].yytype_74)); } break; case 102: - { grammar_current_rule_dprec_set ((yyvsp[0].INT), (yylsp[0])); } + { grammar_current_rule_predicate_append ((yyvsp[0].BRACED_PREDICATE), (yylsp[0])); } break; case 103: - { grammar_current_rule_merge_set ((yyvsp[0].TAG), (yylsp[0])); } + { grammar_current_rule_empty_set ((yylsp[0])); } break; case 104: - { grammar_current_rule_expect_sr ((yyvsp[0].INT), (yylsp[0])); } + { grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); } break; case 105: - { grammar_current_rule_expect_rr ((yyvsp[0].INT), (yylsp[0])); } + { grammar_current_rule_dprec_set ((yyvsp[0].INT), (yylsp[0])); } break; case 106: - { (yyval.yytype_93) = NULL; } + { grammar_current_rule_merge_set ((yyvsp[0].TAG), (yylsp[0])); } break; case 107: - { (yyval.yytype_93) = named_ref_new ((yyvsp[0].BRACKETED_ID), (yylsp[0])); } + { grammar_current_rule_expect_sr ((yyvsp[0].INT), (yylsp[0])); } + break; + + case 108: + { grammar_current_rule_expect_rr ((yyvsp[0].INT), (yylsp[0])); } break; case 109: - { (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; } + { (yyval.yytype_95) = NULL; } break; case 110: - { (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].ID); } - break; - - case 111: - { (yyval.value).kind = muscle_string; (yyval.value).chars = (yyvsp[0].STRING); } + { (yyval.yytype_95) = named_ref_new ((yyvsp[0].BRACKETED_ID), (yylsp[0])); } break; case 112: - { (yyval.value).kind = muscle_code; (yyval.value).chars = strip_braces ((yyvsp[0].BRACED_CODE)); } + { (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; } break; case 113: - { (yyval.id) = symbol_from_uniqstr ((yyvsp[0].ID), (yylsp[0])); } + { (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].ID); } break; case 114: + { (yyval.value).kind = muscle_string; (yyval.value).chars = (yyvsp[0].STRING); } + break; + + case 115: + { (yyval.value).kind = muscle_code; (yyval.value).chars = strip_braces ((yyvsp[0].BRACED_CODE)); } + break; + + case 116: + { (yyval.id) = symbol_from_uniqstr ((yyvsp[0].ID), (yylsp[0])); } + break; + + case 117: { const char *var = "api.token.raw"; if (current_class == nterm_sym) @@ -2552,22 +2573,18 @@ yyreduce: } break; - case 115: + case 118: { (yyval.id_colon) = symbol_from_uniqstr ((yyvsp[0].ID_COLON), (yylsp[0])); } break; - case 118: + case 121: { (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); } break; - case 119: - { (yyval.yytype_100) = NULL; } - break; - - case 122: + case 123: { muscle_code_grow ("epilogue", translate_code ((yyvsp[0].EPILOGUE), (yylsp[0]), true), (yylsp[0])); code_scanner_last_string_free (); diff --git a/src/parse-gram.h b/src/parse-gram.h index 77c63d35..b976dc23 100644 --- a/src/parse-gram.h +++ b/src/parse-gram.h @@ -79,62 +79,63 @@ extern int gram_debug; { GRAM_EOF = 0, STRING = 3, - PERCENT_TOKEN = 4, - PERCENT_NTERM = 5, - PERCENT_TYPE = 6, - PERCENT_DESTRUCTOR = 7, - PERCENT_PRINTER = 8, - PERCENT_LEFT = 9, - PERCENT_RIGHT = 10, - PERCENT_NONASSOC = 11, - PERCENT_PRECEDENCE = 12, - PERCENT_PREC = 13, - PERCENT_DPREC = 14, - PERCENT_MERGE = 15, - PERCENT_CODE = 16, - PERCENT_DEFAULT_PREC = 17, - PERCENT_DEFINE = 18, - PERCENT_DEFINES = 19, - PERCENT_ERROR_VERBOSE = 20, - PERCENT_EXPECT = 21, - PERCENT_EXPECT_RR = 22, - PERCENT_FLAG = 23, - PERCENT_FILE_PREFIX = 24, - PERCENT_GLR_PARSER = 25, - PERCENT_INITIAL_ACTION = 26, - PERCENT_LANGUAGE = 27, - PERCENT_NAME_PREFIX = 28, - PERCENT_NO_DEFAULT_PREC = 29, - PERCENT_NO_LINES = 30, - PERCENT_NONDETERMINISTIC_PARSER = 31, - PERCENT_OUTPUT = 32, - PERCENT_PURE_PARSER = 33, - PERCENT_REQUIRE = 34, - PERCENT_SKELETON = 35, - PERCENT_START = 36, - PERCENT_TOKEN_TABLE = 37, - PERCENT_VERBOSE = 38, - PERCENT_YACC = 39, - BRACED_CODE = 40, - BRACED_PREDICATE = 41, - BRACKETED_ID = 42, - CHAR = 43, - COLON = 44, - EPILOGUE = 45, - EQUAL = 46, - ID = 47, - ID_COLON = 48, - PERCENT_PERCENT = 49, - PIPE = 50, - PROLOGUE = 51, - SEMICOLON = 52, - TAG = 53, - TAG_ANY = 54, - TAG_NONE = 55, - INT = 56, - PERCENT_PARAM = 57, - PERCENT_UNION = 58, - PERCENT_EMPTY = 59 + TSTRING = 4, + PERCENT_TOKEN = 5, + PERCENT_NTERM = 6, + PERCENT_TYPE = 7, + PERCENT_DESTRUCTOR = 8, + PERCENT_PRINTER = 9, + PERCENT_LEFT = 10, + PERCENT_RIGHT = 11, + PERCENT_NONASSOC = 12, + PERCENT_PRECEDENCE = 13, + PERCENT_PREC = 14, + PERCENT_DPREC = 15, + PERCENT_MERGE = 16, + PERCENT_CODE = 17, + PERCENT_DEFAULT_PREC = 18, + PERCENT_DEFINE = 19, + PERCENT_DEFINES = 20, + PERCENT_ERROR_VERBOSE = 21, + PERCENT_EXPECT = 22, + PERCENT_EXPECT_RR = 23, + PERCENT_FLAG = 24, + PERCENT_FILE_PREFIX = 25, + PERCENT_GLR_PARSER = 26, + PERCENT_INITIAL_ACTION = 27, + PERCENT_LANGUAGE = 28, + PERCENT_NAME_PREFIX = 29, + PERCENT_NO_DEFAULT_PREC = 30, + PERCENT_NO_LINES = 31, + PERCENT_NONDETERMINISTIC_PARSER = 32, + PERCENT_OUTPUT = 33, + PERCENT_PURE_PARSER = 34, + PERCENT_REQUIRE = 35, + PERCENT_SKELETON = 36, + PERCENT_START = 37, + PERCENT_TOKEN_TABLE = 38, + PERCENT_VERBOSE = 39, + PERCENT_YACC = 40, + BRACED_CODE = 41, + BRACED_PREDICATE = 42, + BRACKETED_ID = 43, + CHAR = 44, + COLON = 45, + EPILOGUE = 46, + EQUAL = 47, + ID = 48, + ID_COLON = 49, + PERCENT_PERCENT = 50, + PIPE = 51, + PROLOGUE = 52, + SEMICOLON = 53, + TAG = 54, + TAG_ANY = 55, + TAG_NONE = 56, + INT = 57, + PERCENT_PARAM = 58, + PERCENT_UNION = 59, + PERCENT_EMPTY = 60 }; #endif @@ -147,6 +148,8 @@ union GRAM_STYPE assoc precedence_declarator; /* "string" */ char* STRING; + /* "translatable string" */ + char* TSTRING; /* "{...}" */ char* BRACED_CODE; /* "%?{...}" */ @@ -160,13 +163,15 @@ union GRAM_STYPE /* "integer" */ int INT; /* int.opt */ - int yytype_81; + int yytype_82; /* named_ref.opt */ - named_ref* yytype_93; + named_ref* yytype_95; /* "%param" */ param_type PERCENT_PARAM; /* token_decl */ symbol* token_decl; + /* alias */ + symbol* alias; /* token_decl_for_prec */ symbol* token_decl_for_prec; /* id */ @@ -177,8 +182,6 @@ union GRAM_STYPE symbol* symbol; /* string_as_id */ symbol* string_as_id; - /* string_as_id.opt */ - symbol* yytype_100; /* generic_symlist */ symbol_list* generic_symlist; /* generic_symlist_item */ @@ -188,15 +191,15 @@ union GRAM_STYPE /* token_decls */ symbol_list* token_decls; /* token_decl.1 */ - symbol_list* yytype_79; + symbol_list* yytype_80; /* token_decls_for_prec */ symbol_list* token_decls_for_prec; /* token_decl_for_prec.1 */ - symbol_list* yytype_83; + symbol_list* yytype_85; /* symbol_decls */ symbol_list* symbol_decls; /* symbol_decl.1 */ - symbol_list* yytype_86; + symbol_list* yytype_88; /* "%error-verbose" */ uniqstr PERCENT_ERROR_VERBOSE; /* "%" */ @@ -216,7 +219,7 @@ union GRAM_STYPE /* "" */ uniqstr TAG; /* tag.opt */ - uniqstr yytype_73; + uniqstr yytype_74; /* tag */ uniqstr tag; /* variable */