#include "symlist.h"
#include "symtab.h"
-#line 246 "src/parse-gram.y" /* yacc.c:355 */
+#line 248 "src/parse-gram.y" /* yacc.c:355 */
typedef enum
{
param_parse = 1 << 1,
param_both = param_lex | param_parse
} param_type;
-#line 887 "src/parse-gram.y" /* yacc.c:355 */
+#line 899 "src/parse-gram.y" /* yacc.c:355 */
#include "muscle-tab.h"
#line 136 "src/parse-gram.c" /* yacc.c:355 */
union GRAM_STYPE
{
-#line 207 "src/parse-gram.y" /* yacc.c:355 */
+#line 209 "src/parse-gram.y" /* yacc.c:355 */
unsigned char character;
-#line 211 "src/parse-gram.y" /* yacc.c:355 */
+#line 213 "src/parse-gram.y" /* yacc.c:355 */
char *code;
-#line 216 "src/parse-gram.y" /* yacc.c:355 */
+#line 218 "src/parse-gram.y" /* yacc.c:355 */
uniqstr uniqstr;
-#line 224 "src/parse-gram.y" /* yacc.c:355 */
+#line 226 "src/parse-gram.y" /* yacc.c:355 */
int integer;
-#line 228 "src/parse-gram.y" /* yacc.c:355 */
+#line 230 "src/parse-gram.y" /* yacc.c:355 */
symbol *symbol;
-#line 233 "src/parse-gram.y" /* yacc.c:355 */
+#line 235 "src/parse-gram.y" /* yacc.c:355 */
assoc assoc;
-#line 236 "src/parse-gram.y" /* yacc.c:355 */
+#line 238 "src/parse-gram.y" /* yacc.c:355 */
symbol_list *list;
-#line 239 "src/parse-gram.y" /* yacc.c:355 */
+#line 241 "src/parse-gram.y" /* yacc.c:355 */
named_ref *named_ref;
-#line 266 "src/parse-gram.y" /* yacc.c:355 */
+#line 268 "src/parse-gram.y" /* yacc.c:355 */
param_type param;
-#line 563 "src/parse-gram.y" /* yacc.c:355 */
+#line 565 "src/parse-gram.y" /* yacc.c:355 */
code_props_type code_type;
-#line 889 "src/parse-gram.y" /* yacc.c:355 */
+#line 901 "src/parse-gram.y" /* yacc.c:355 */
struct
{
++gram_piece3; \
} while (0)
-#line 256 "src/parse-gram.y" /* yacc.c:359 */
+ /* Nick extra rules for element groups */
+ int nested_rhs = 0;
+#line 258 "src/parse-gram.y" /* yacc.c:359 */
/** Add a lex-param and/or a parse-param.
*
static void add_param (param_type type, char *decl, location loc);
static param_type current_param = param_none;
-#line 366 "src/parse-gram.c" /* yacc.c:359 */
+#line 368 "src/parse-gram.c" /* yacc.c:359 */
#ifdef short
# undef short
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 164
+#define YYLAST 183
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 58
+#define YYNTOKENS 60
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 37
+#define YYNNTS 38
/* YYNRULES -- Number of rules. */
-#define YYNRULES 110
+#define YYNRULES 112
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 144
+#define YYNSTATES 148
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 58, 59, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 289, 289, 304, 315, 319, 320, 332, 350, 357,
- 361, 368, 376, 381, 386, 390, 397, 410, 414, 418,
- 422, 426, 430, 430, 434, 438, 464, 468, 472, 476,
- 480, 481, 490, 491, 492, 500, 521, 527, 533, 548,
- 566, 567, 577, 578, 584, 603, 603, 610, 610, 617,
- 630, 648, 649, 650, 651, 655, 656, 661, 663, 668,
- 675, 688, 693, 701, 702, 706, 710, 714, 715, 716,
- 721, 726, 733, 742, 750, 764, 765, 774, 775, 781,
- 782, 783, 790, 790, 803, 807, 811, 816, 828, 834,
- 843, 845, 850, 857, 863, 871, 872, 882, 883, 908,
- 909, 910, 911, 923, 925, 934, 939, 940, 945, 953,
- 954
+ 0, 291, 291, 306, 317, 321, 322, 334, 352, 359,
+ 363, 370, 378, 383, 388, 392, 399, 412, 416, 420,
+ 424, 428, 432, 432, 436, 440, 466, 470, 474, 478,
+ 482, 483, 492, 493, 494, 502, 523, 529, 535, 550,
+ 568, 569, 579, 580, 586, 605, 605, 612, 612, 619,
+ 632, 650, 651, 652, 653, 657, 658, 663, 665, 670,
+ 677, 690, 695, 703, 704, 708, 712, 716, 717, 718,
+ 723, 728, 735, 744, 752, 766, 767, 776, 777, 783,
+ 784, 785, 792, 792, 805, 809, 813, 818, 835, 841,
+ 850, 852, 857, 864, 870, 876, 876, 883, 884, 894,
+ 895, 920, 921, 922, 923, 935, 937, 946, 951, 952,
+ 957, 965, 966
};
#endif
"\"%yacc\"", "\"{...}\"", "\"%?{...}\"", "\"[identifier]\"", "\"char\"",
"\"epilogue\"", "\"=\"", "\"identifier\"", "\"identifier:\"", "\"%%\"",
"\"|\"", "\"%{...%}\"", "\";\"", "\"<tag>\"", "\"<*>\"", "\"<>\"",
- "\"integer\"", "\"%param\"", "\"%union\"", "\"%empty\"", "$accept",
- "input", "prologue_declarations", "prologue_declaration", "$@1",
- "params", "grammar_declaration", "code_props_type", "union_name",
+ "\"integer\"", "\"%param\"", "\"%union\"", "\"%empty\"", "'('", "')'",
+ "$accept", "input", "prologue_declarations", "prologue_declaration",
+ "$@1", "params", "grammar_declaration", "code_props_type", "union_name",
"symbol_declaration", "$@2", "$@3", "precedence_declaration",
"precedence_declarator", "tag.opt", "symbols.prec", "symbol.prec",
"symbols.1", "generic_symlist", "generic_symlist_item", "tag",
"symbol_def", "symbol_defs.1", "grammar", "rules_or_grammar_declaration",
- "rules", "$@4", "rhses.1", "rhs", "named_ref.opt", "variable", "value",
- "id", "id_colon", "symbol", "string_as_id", "epilogue.opt", YY_NULLPTR
+ "rules", "$@4", "rhses.1", "rhs", "$@5", "named_ref.opt", "variable",
+ "value", "id", "id_colon", "symbol", "string_as_id", "epilogue.opt", YY_NULLPTR
};
#endif
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
+ 305, 306, 307, 308, 309, 310, 311, 312, 40, 41
};
# endif
-#define YYPACT_NINF -113
+#define YYPACT_NINF -127
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-113)))
+ (!!((Yystate) == (-127)))
-#define YYTABLE_NINF -110
+#define YYTABLE_NINF -112
#define yytable_value_is_error(Yytable_value) \
0
STATE-NUM. */
static const yytype_int8 yypact[] =
{
- -113, 16, 108, -113, -113, -113, -27, -113, -113, -113,
- -113, -113, -113, -24, -113, 23, 24, -113, -21, -15,
- -113, 29, -113, 3, 38, 42, -113, -113, -113, 44,
- 47, 71, 31, -113, -113, -113, 55, -113, -113, -113,
- 30, -113, -113, 39, -113, -113, 26, -22, -22, 31,
- -113, 48, -113, -113, 1, -113, -113, -113, -113, -113,
- -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
- -113, 45, -113, 50, 2, -113, -113, 57, 49, -113,
- 52, 41, -113, 31, -113, -113, -22, -2, -22, 31,
- -113, -113, -113, -113, -113, -113, -113, -113, 46, -113,
- -113, -113, -113, -113, 63, -113, -113, -113, -113, 41,
- -113, -113, -113, 31, -113, 51, -113, 100, -113, -113,
- -113, -113, -113, -113, -113, -113, -113, -20, 40, -113,
- -113, 31, 53, 58, 57, -113, -113, 57, 40, -113,
- -113, -113, -113, -113
+ -127, 14, 127, -127, -127, -127, -22, -127, -127, -127,
+ -127, -127, -127, -37, -127, 8, 27, -127, -19, -18,
+ -127, 39, -127, 19, 56, 63, -127, -127, -127, 73,
+ 83, 94, 1, -127, -127, -127, 84, -127, -127, -127,
+ 42, -127, -127, 59, -127, -127, 51, 18, 18, 1,
+ -127, 64, -127, -127, 2, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, 58, -127, 61, 15, -127, -127, 68, 67, -127,
+ 75, 3, -127, 1, -127, -127, 18, -2, 18, 1,
+ -127, -127, -127, -127, -127, -127, -127, -127, 69, -127,
+ -127, -127, -127, -127, 76, -127, -127, -127, -127, 3,
+ -127, -127, -127, 1, -127, 62, -127, 114, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -38, 65, -127,
+ -127, 1, 66, 70, 68, -127, -127, -127, 68, 65,
+ -127, -127, -127, -127, -127, -127, 25, -127
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
7, 0, 15, 0, 0, 0, 37, 19, 20, 0,
0, 0, 0, 26, 27, 28, 0, 6, 29, 22,
42, 4, 5, 0, 33, 32, 55, 0, 0, 0,
- 38, 0, 98, 97, 99, 10, 12, 13, 14, 16,
- 17, 18, 21, 24, 25, 108, 104, 103, 106, 34,
- 107, 0, 105, 0, 0, 77, 79, 95, 0, 43,
+ 38, 0, 100, 99, 101, 10, 12, 13, 14, 16,
+ 17, 18, 21, 24, 25, 110, 106, 105, 108, 34,
+ 109, 0, 107, 0, 0, 77, 79, 97, 0, 43,
0, 0, 56, 0, 70, 75, 48, 71, 46, 49,
- 61, 39, 101, 102, 100, 8, 81, 80, 0, 78,
- 2, 96, 82, 31, 23, 44, 67, 68, 69, 35,
+ 61, 39, 103, 104, 102, 8, 81, 80, 0, 78,
+ 2, 98, 82, 31, 23, 44, 67, 68, 69, 35,
63, 66, 65, 50, 57, 59, 76, 72, 73, 62,
- 110, 87, 30, 64, 58, 60, 74, 83, 84, 87,
- 86, 0, 0, 0, 95, 90, 91, 95, 85, 92,
- 93, 94, 89, 88
+ 112, 87, 30, 64, 58, 60, 74, 83, 84, 87,
+ 86, 0, 0, 0, 97, 90, 91, 95, 97, 85,
+ 92, 93, 94, 89, 87, 88, 0, 96
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
- -113, -113, -113, -113, -113, -113, 102, -113, -113, -113,
- -113, -113, -113, -113, -113, -113, 8, -113, -113, 13,
- -113, -50, 75, -113, 73, -113, -113, -113, 19, -112,
- -113, -113, 22, -113, -32, -82, -113
+ -127, -127, -127, -127, -127, -127, 116, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, 11, -127, -127, 16,
+ -127, -13, 78, -127, 53, -127, -127, -127, -126, -127,
+ -125, -127, -127, -14, -127, -32, -80, -127
};
/* YYDEFGOTO[NTERM-NUM]. */
{
-1, 1, 2, 41, 78, 104, 73, 43, 80, 44,
48, 47, 45, 46, 83, 113, 114, 89, 109, 110,
- 111, 85, 86, 74, 75, 76, 121, 127, 128, 102,
- 54, 95, 68, 77, 112, 70, 100
+ 111, 85, 86, 74, 75, 76, 121, 127, 128, 144,
+ 102, 54, 95, 68, 77, 138, 70, 100
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 69, 65, -109, 71, 92, 118, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 50, 3, 90, 13, 14,
- 66, 51, 142, 67, 49, 143, 52, 55, 129, 84,
- 130, 26, 58, 56, 65, 126, 116, 32, 116, 57,
- 93, 60, 59, 65, 65, 61, 94, 62, 72, 98,
- 63, 115, 117, 131, 132, 133, 71, 119, 40, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 53, 87,
- 87, 13, 14, 66, 64, 79, 67, 82, 81, 134,
- 135, 115, 66, 66, 26, 67, 67, 91, 103, 120,
- 32, 105, 106, 107, 108, 96, 137, 136, 101, 139,
- 97, 72, 122, 65, 42, 125, 137, 140, 87, 141,
- 87, 40, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 124, 123, 88, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 99, 138, 0,
- 0, 0, 0, 0, 0, 36, 0, 37, 38, 0,
- 0, 0, 0, 39, 40
+ 69, 65, 50, 139, 65, 92, 65, 118, 51, 143,
+ 129, 52, 130, 145, 3, -111, 71, 90, 146, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 65, 49,
+ 55, 13, 14, 87, 87, 56, 57, 126, 131, 132,
+ 133, 93, 58, 66, 26, 66, 67, 94, 67, 112,
+ 32, 115, 117, 53, 106, 107, 108, 119, 59, 60,
+ 66, 72, 98, 67, 134, 135, 61, 66, 65, 84,
+ 67, 40, 87, 116, 87, 116, 62, 112, 131, 132,
+ 133, 115, 136, 137, 147, 71, 63, 79, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 64, 81, 140,
+ 13, 14, 82, 91, 134, 135, 103, 66, 96, 101,
+ 67, 97, 120, 26, 105, 122, 125, 65, 42, 32,
+ 141, 142, 136, 137, 124, 123, 88, 99, 0, 0,
+ 72, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 40, 0, 0, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 37, 38, 0, 0,
+ 0, 0, 39, 40
};
static const yytype_int16 yycheck[] =
{
- 32, 3, 0, 1, 3, 87, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 39, 0, 49, 16, 17,
- 42, 45, 134, 45, 51, 137, 3, 3, 48, 51,
- 50, 29, 3, 54, 3, 117, 86, 35, 88, 54,
- 39, 3, 39, 3, 3, 3, 45, 3, 46, 47,
- 3, 83, 54, 13, 14, 15, 1, 89, 56, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 45, 47,
- 48, 16, 17, 42, 3, 45, 45, 51, 39, 39,
- 40, 113, 42, 42, 29, 45, 45, 39, 39, 43,
- 35, 39, 51, 52, 53, 50, 128, 57, 41, 131,
- 50, 46, 39, 3, 2, 54, 138, 54, 86, 51,
- 88, 56, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 113, 109, 48, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 74, 129, -1,
- -1, -1, -1, -1, -1, 47, -1, 49, 50, -1,
- -1, -1, -1, 55, 56
+ 32, 3, 39, 129, 3, 3, 3, 87, 45, 134,
+ 48, 3, 50, 138, 0, 0, 1, 49, 144, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 3, 51,
+ 3, 16, 17, 47, 48, 54, 54, 117, 13, 14,
+ 15, 39, 3, 42, 29, 42, 45, 45, 45, 81,
+ 35, 83, 54, 45, 51, 52, 53, 89, 39, 3,
+ 42, 46, 47, 45, 39, 40, 3, 42, 3, 51,
+ 45, 56, 86, 86, 88, 88, 3, 109, 13, 14,
+ 15, 113, 57, 58, 59, 1, 3, 45, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 3, 39, 131,
+ 16, 17, 51, 39, 39, 40, 39, 42, 50, 41,
+ 45, 50, 43, 29, 39, 39, 54, 3, 2, 35,
+ 54, 51, 57, 58, 113, 109, 48, 74, -1, -1,
+ 46, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 56, -1, -1, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, -1, -1, -1, -1,
+ -1, -1, -1, -1, 47, -1, 49, 50, -1, -1,
+ -1, -1, 55, 56
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 59, 60, 0, 4, 5, 6, 7, 8, 9,
+ 0, 61, 62, 0, 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, 47, 49, 50, 55,
- 56, 61, 64, 65, 67, 70, 71, 69, 68, 51,
- 39, 45, 3, 45, 88, 3, 54, 54, 3, 39,
- 3, 3, 3, 3, 3, 3, 42, 45, 90, 92,
- 93, 1, 46, 64, 81, 82, 83, 91, 62, 45,
- 66, 39, 51, 72, 51, 79, 80, 90, 80, 75,
- 92, 39, 3, 39, 45, 89, 50, 50, 47, 82,
- 94, 41, 87, 39, 63, 39, 51, 52, 53, 76,
- 77, 78, 92, 73, 74, 92, 79, 54, 93, 92,
- 43, 84, 39, 77, 74, 54, 93, 85, 86, 48,
- 50, 13, 14, 15, 39, 40, 57, 92, 86, 92,
- 54, 51, 87, 87
+ 56, 63, 66, 67, 69, 72, 73, 71, 70, 51,
+ 39, 45, 3, 45, 91, 3, 54, 54, 3, 39,
+ 3, 3, 3, 3, 3, 3, 42, 45, 93, 95,
+ 96, 1, 46, 66, 83, 84, 85, 94, 64, 45,
+ 68, 39, 51, 74, 51, 81, 82, 93, 82, 77,
+ 95, 39, 3, 39, 45, 92, 50, 50, 47, 84,
+ 97, 41, 90, 39, 65, 39, 51, 52, 53, 78,
+ 79, 80, 95, 75, 76, 95, 81, 54, 96, 95,
+ 43, 86, 39, 79, 76, 54, 96, 87, 88, 48,
+ 50, 13, 14, 15, 39, 40, 57, 58, 95, 88,
+ 95, 54, 51, 90, 89, 90, 88, 59
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 58, 59, 60, 60, 61, 61, 61, 61, 61,
- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- 61, 61, 62, 61, 61, 61, 61, 61, 61, 61,
- 63, 63, 64, 64, 64, 64, 64, 64, 64, 64,
- 65, 65, 66, 66, 64, 68, 67, 69, 67, 67,
- 70, 71, 71, 71, 71, 72, 72, 73, 73, 74,
- 74, 75, 75, 76, 76, 77, 77, 78, 78, 78,
- 79, 79, 79, 79, 79, 80, 80, 81, 81, 82,
- 82, 82, 84, 83, 85, 85, 85, 86, 86, 86,
- 86, 86, 86, 86, 86, 87, 87, 88, 88, 89,
- 89, 89, 89, 90, 90, 91, 92, 92, 93, 94,
- 94
+ 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,
+ 65, 65, 66, 66, 66, 66, 66, 66, 66, 66,
+ 67, 67, 68, 68, 66, 70, 69, 71, 69, 69,
+ 72, 73, 73, 73, 73, 74, 74, 75, 75, 76,
+ 76, 77, 77, 78, 78, 79, 79, 80, 80, 80,
+ 81, 81, 81, 81, 81, 82, 82, 83, 83, 84,
+ 84, 84, 86, 85, 87, 87, 87, 88, 88, 88,
+ 88, 88, 88, 88, 88, 89, 88, 90, 90, 91,
+ 91, 92, 92, 92, 92, 93, 93, 94, 95, 95,
+ 96, 97, 97
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2, 1, 2, 1, 2, 1, 1, 1, 1, 1,
1, 1, 2, 2, 3, 1, 2, 1, 2, 1,
2, 2, 0, 4, 1, 3, 2, 0, 3, 3,
- 2, 2, 3, 3, 3, 0, 1, 1, 1, 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 2
+ 2, 2, 3, 3, 3, 0, 5, 0, 1, 1,
+ 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 0, 2
};
switch (yytype)
{
case 3: /* "string" */
-#line 213 "src/parse-gram.y" /* yacc.c:684 */
+#line 215 "src/parse-gram.y" /* yacc.c:684 */
{ fputs (quotearg_style (c_quoting_style, ((*yyvaluep).code)), yyo); }
-#line 1033 "src/parse-gram.c" /* yacc.c:684 */
+#line 1039 "src/parse-gram.c" /* yacc.c:684 */
break;
case 23: /* "%<flag>" */
-#line 221 "src/parse-gram.y" /* yacc.c:684 */
+#line 223 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%%%s", ((*yyvaluep).uniqstr)); }
-#line 1039 "src/parse-gram.c" /* yacc.c:684 */
+#line 1045 "src/parse-gram.c" /* yacc.c:684 */
break;
case 39: /* "{...}" */
-#line 214 "src/parse-gram.y" /* yacc.c:684 */
+#line 216 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "{\n%s\n}", ((*yyvaluep).code)); }
-#line 1045 "src/parse-gram.c" /* yacc.c:684 */
+#line 1051 "src/parse-gram.c" /* yacc.c:684 */
break;
case 40: /* "%?{...}" */
-#line 214 "src/parse-gram.y" /* yacc.c:684 */
+#line 216 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "{\n%s\n}", ((*yyvaluep).code)); }
-#line 1051 "src/parse-gram.c" /* yacc.c:684 */
+#line 1057 "src/parse-gram.c" /* yacc.c:684 */
break;
case 41: /* "[identifier]" */
-#line 219 "src/parse-gram.y" /* yacc.c:684 */
+#line 221 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "[%s]", ((*yyvaluep).uniqstr)); }
-#line 1057 "src/parse-gram.c" /* yacc.c:684 */
+#line 1063 "src/parse-gram.c" /* yacc.c:684 */
break;
case 42: /* "char" */
-#line 209 "src/parse-gram.y" /* yacc.c:684 */
+#line 211 "src/parse-gram.y" /* yacc.c:684 */
{ fputs (char_name (((*yyvaluep).character)), yyo); }
-#line 1063 "src/parse-gram.c" /* yacc.c:684 */
+#line 1069 "src/parse-gram.c" /* yacc.c:684 */
break;
case 43: /* "epilogue" */
-#line 214 "src/parse-gram.y" /* yacc.c:684 */
+#line 216 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "{\n%s\n}", ((*yyvaluep).code)); }
-#line 1069 "src/parse-gram.c" /* yacc.c:684 */
+#line 1075 "src/parse-gram.c" /* yacc.c:684 */
break;
case 45: /* "identifier" */
-#line 218 "src/parse-gram.y" /* yacc.c:684 */
+#line 220 "src/parse-gram.y" /* yacc.c:684 */
{ fputs (((*yyvaluep).uniqstr), yyo); }
-#line 1075 "src/parse-gram.c" /* yacc.c:684 */
+#line 1081 "src/parse-gram.c" /* yacc.c:684 */
break;
case 46: /* "identifier:" */
-#line 220 "src/parse-gram.y" /* yacc.c:684 */
+#line 222 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s:", ((*yyvaluep).uniqstr)); }
-#line 1081 "src/parse-gram.c" /* yacc.c:684 */
+#line 1087 "src/parse-gram.c" /* yacc.c:684 */
break;
case 49: /* "%{...%}" */
-#line 214 "src/parse-gram.y" /* yacc.c:684 */
+#line 216 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "{\n%s\n}", ((*yyvaluep).code)); }
-#line 1087 "src/parse-gram.c" /* yacc.c:684 */
+#line 1093 "src/parse-gram.c" /* yacc.c:684 */
break;
case 51: /* "<tag>" */
-#line 222 "src/parse-gram.y" /* yacc.c:684 */
+#line 224 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "<%s>", ((*yyvaluep).uniqstr)); }
-#line 1093 "src/parse-gram.c" /* yacc.c:684 */
+#line 1099 "src/parse-gram.c" /* yacc.c:684 */
break;
case 54: /* "integer" */
-#line 226 "src/parse-gram.y" /* yacc.c:684 */
+#line 228 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%d", ((*yyvaluep).integer)); }
-#line 1099 "src/parse-gram.c" /* yacc.c:684 */
+#line 1105 "src/parse-gram.c" /* yacc.c:684 */
break;
case 55: /* "%param" */
-#line 269 "src/parse-gram.y" /* yacc.c:684 */
+#line 271 "src/parse-gram.y" /* yacc.c:684 */
{
switch (((*yyvaluep).param))
{
case param_none: aver (false); break;
}
}
-#line 1116 "src/parse-gram.c" /* yacc.c:684 */
+#line 1122 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 65: /* code_props_type */
-#line 564 "src/parse-gram.y" /* yacc.c:684 */
+ case 67: /* code_props_type */
+#line 566 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s", code_props_type_string (((*yyvaluep).code_type))); }
-#line 1122 "src/parse-gram.c" /* yacc.c:684 */
+#line 1128 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 74: /* symbol.prec */
-#line 230 "src/parse-gram.y" /* yacc.c:684 */
+ case 76: /* symbol.prec */
+#line 232 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s", ((*yyvaluep).symbol)->tag); }
-#line 1128 "src/parse-gram.c" /* yacc.c:684 */
+#line 1134 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 78: /* tag */
-#line 222 "src/parse-gram.y" /* yacc.c:684 */
+ case 80: /* tag */
+#line 224 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "<%s>", ((*yyvaluep).uniqstr)); }
-#line 1134 "src/parse-gram.c" /* yacc.c:684 */
+#line 1140 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 88: /* variable */
-#line 218 "src/parse-gram.y" /* yacc.c:684 */
+ case 91: /* variable */
+#line 220 "src/parse-gram.y" /* yacc.c:684 */
{ fputs (((*yyvaluep).uniqstr), yyo); }
-#line 1140 "src/parse-gram.c" /* yacc.c:684 */
+#line 1146 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 89: /* value */
-#line 898 "src/parse-gram.y" /* yacc.c:684 */
+ case 92: /* value */
+#line 910 "src/parse-gram.y" /* yacc.c:684 */
{
switch (((*yyvaluep).value).kind)
{
case muscle_string: fprintf (yyo, "\"%s\"", ((*yyvaluep).value).chars); break;
}
}
-#line 1153 "src/parse-gram.c" /* yacc.c:684 */
+#line 1159 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 90: /* id */
-#line 230 "src/parse-gram.y" /* yacc.c:684 */
+ case 93: /* id */
+#line 232 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s", ((*yyvaluep).symbol)->tag); }
-#line 1159 "src/parse-gram.c" /* yacc.c:684 */
+#line 1165 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 91: /* id_colon */
-#line 231 "src/parse-gram.y" /* yacc.c:684 */
+ case 94: /* id_colon */
+#line 233 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s:", ((*yyvaluep).symbol)->tag); }
-#line 1165 "src/parse-gram.c" /* yacc.c:684 */
+#line 1171 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 92: /* symbol */
-#line 230 "src/parse-gram.y" /* yacc.c:684 */
+ case 95: /* symbol */
+#line 232 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s", ((*yyvaluep).symbol)->tag); }
-#line 1171 "src/parse-gram.c" /* yacc.c:684 */
+#line 1177 "src/parse-gram.c" /* yacc.c:684 */
break;
- case 93: /* string_as_id */
-#line 230 "src/parse-gram.y" /* yacc.c:684 */
+ case 96: /* string_as_id */
+#line 232 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s", ((*yyvaluep).symbol)->tag); }
-#line 1177 "src/parse-gram.c" /* yacc.c:684 */
+#line 1183 "src/parse-gram.c" /* yacc.c:684 */
break;
yychar = YYEMPTY; /* Cause a token to be read. */
/* User initialization code. */
-#line 133 "src/parse-gram.y" /* yacc.c:1430 */
+#line 135 "src/parse-gram.y" /* yacc.c:1430 */
{
/* Bison's grammar can initial empty locations, hence a default
location is needed. */
boundary_set (&yylloc.end, current_file, 1, 1);
}
-#line 1880 "src/parse-gram.c" /* yacc.c:1430 */
+#line 1886 "src/parse-gram.c" /* yacc.c:1430 */
yylsp[0] = yylloc;
goto yysetstate;
switch (yyn)
{
case 2:
-#line 290 "src/parse-gram.y" /* yacc.c:1648 */
+#line 292 "src/parse-gram.y" /* yacc.c:1648 */
{
insert_after(2, "</AST_Section2>");
insert_before(2, "<AST_Section2>");
insert_after(0, "</AST_Section1>");
insert_before(0, "<AST_Section1>");
}
-#line 2082 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2088 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 3:
-#line 305 "src/parse-gram.y" /* yacc.c:1648 */
+#line 307 "src/parse-gram.y" /* yacc.c:1648 */
{
/* in this case, want empty rule associated with stuff on the right of us */
/* therefore, move inter-token text from the right of us over to the left */
gram_piece[gram_piece2] = gram_piece[gram_piece2 - 1]; /* empty */
gram_piece[gram_piece2 - 1] = temp;
}
-#line 2097 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2103 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 6:
-#line 321 "src/parse-gram.y" /* yacc.c:1648 */
+#line 323 "src/parse-gram.y" /* yacc.c:1648 */
{
/* inserting %{...%} below is a hack as we may lose some whitespace near it */
code_piece_append("<AST_Section1_Prologue>%{<AST_Text>");
free(gram_piece[gram_piece2]);
gram_piece[gram_piece2] = strdup(code_piece[code_piece0 - 1]);
}
-#line 2113 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2119 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 7:
-#line 333 "src/parse-gram.y" /* yacc.c:1648 */
+#line 335 "src/parse-gram.y" /* yacc.c:1648 */
{
muscle_percent_define_ensure ((yyvsp[0].uniqstr), (yylsp[0]), true);
if (strcmp((yyvsp[0].uniqstr), "api.pure") == 0) {
else
abort();
}
-#line 2135 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2141 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 8:
-#line 351 "src/parse-gram.y" /* yacc.c:1648 */
+#line 353 "src/parse-gram.y" /* yacc.c:1648 */
{
muscle_percent_define_insert ((yyvsp[-1].uniqstr), (yylsp[-1]), (yyvsp[0].value).kind, (yyvsp[0].value).chars,
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
insert_after(2, "</AST_Section1_Define>");
insert_before(0, "<AST_Section1_Define>");
}
-#line 2146 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2152 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 9:
-#line 357 "src/parse-gram.y" /* yacc.c:1648 */
+#line 359 "src/parse-gram.y" /* yacc.c:1648 */
{ defines_flag = true; /*}*/
insert_after(0, "</AST_Section1_Defines>");
insert_before(0, "<AST_Section1_Defines>");
}
-#line 2155 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2161 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 10:
-#line 362 "src/parse-gram.y" /* yacc.c:1648 */
+#line 364 "src/parse-gram.y" /* yacc.c:1648 */
{
defines_flag = true;
spec_defines_file = xstrdup ((yyvsp[0].code));
insert_after(1, "</AST_Section1_Defines>");
insert_before(0, "<AST_Section1_Defines>");
}
-#line 2166 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2172 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 11:
-#line 369 "src/parse-gram.y" /* yacc.c:1648 */
+#line 371 "src/parse-gram.y" /* yacc.c:1648 */
{
muscle_percent_define_insert ("parse.error", (yylsp[0]), muscle_keyword,
"verbose",
insert_after(0, "</AST_Section1_ErrorVerbose>");
insert_before(0, "<AST_Section1_ErrorVerbose>");
}
-#line 2178 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2184 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 12:
-#line 376 "src/parse-gram.y" /* yacc.c:1648 */
+#line 378 "src/parse-gram.y" /* yacc.c:1648 */
{ expected_sr_conflicts = (yyvsp[0].integer); /*}*/
insert_after(1, "</AST_Section1_Expect>");
sprintf(gram_piece_temp, "<AST_Section1_Expect value=\"%d\">", (yyvsp[0].integer));
insert_before(0, gram_piece_temp);
}
-#line 2188 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2194 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 13:
-#line 381 "src/parse-gram.y" /* yacc.c:1648 */
+#line 383 "src/parse-gram.y" /* yacc.c:1648 */
{ expected_rr_conflicts = (yyvsp[0].integer); /*}*/
insert_after(1, "</AST_Section1_ExpectRR>");
sprintf(gram_piece_temp, "<AST_Section1_ExpectRR value=\"%d\">", (yyvsp[0].integer));
insert_before(0, gram_piece_temp);
}
-#line 2198 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2204 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 14:
-#line 386 "src/parse-gram.y" /* yacc.c:1648 */
+#line 388 "src/parse-gram.y" /* yacc.c:1648 */
{ spec_file_prefix = (yyvsp[0].code); /*}*/
insert_after(1, "</AST_Section1_FilePrefix>");
insert_before(0, "<AST_Section1_FilePrefix>");
}
-#line 2207 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2213 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 15:
-#line 391 "src/parse-gram.y" /* yacc.c:1648 */
+#line 393 "src/parse-gram.y" /* yacc.c:1648 */
{
nondeterministic_parser = true;
glr_parser = true;
insert_after(0, "</AST_Section1_GLRParser>");
insert_before(0, "<AST_Section1_GLRParser>");
}
-#line 2218 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2224 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 16:
-#line 398 "src/parse-gram.y" /* yacc.c:1648 */
+#line 400 "src/parse-gram.y" /* yacc.c:1648 */
{
/* should be BracedCode, but too hard to put AST_Text inside braces */
code_piece_append("<AST_Text>");
insert_after(1, "</AST_Section1_InitialAction>");
insert_before(0, "<AST_Section1_InitialAction>");
}
-#line 2235 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2241 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 17:
-#line 410 "src/parse-gram.y" /* yacc.c:1648 */
+#line 412 "src/parse-gram.y" /* yacc.c:1648 */
{ language_argmatch ((yyvsp[0].code), grammar_prio, (yylsp[-1])); /*}*/
insert_after(1, "</AST_Section1_Language>");
insert_before(0, "<AST_Section1_Language>");
}
-#line 2244 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2250 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 18:
-#line 414 "src/parse-gram.y" /* yacc.c:1648 */
+#line 416 "src/parse-gram.y" /* yacc.c:1648 */
{ spec_name_prefix = (yyvsp[0].code); /*}*/
insert_after(1, "</AST_Section1_NamePrefix>");
insert_before(0, "<AST_Section1_NamePrefix>");
}
-#line 2253 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2259 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 19:
-#line 418 "src/parse-gram.y" /* yacc.c:1648 */
+#line 420 "src/parse-gram.y" /* yacc.c:1648 */
{ no_lines_flag = true; /*}*/
insert_after(0, "</AST_Section1_Lines>");
insert_before(0, "<AST_Section1_Lines value=\"false\">");
}
-#line 2262 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2268 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 20:
-#line 422 "src/parse-gram.y" /* yacc.c:1648 */
+#line 424 "src/parse-gram.y" /* yacc.c:1648 */
{ nondeterministic_parser = true; /*}*/
insert_after(0, "</AST_Section1_NonDeterministicParser>");
insert_before(0, "<AST_Section1_NonDeterministicParser>");
}
-#line 2271 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2277 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 21:
-#line 426 "src/parse-gram.y" /* yacc.c:1648 */
+#line 428 "src/parse-gram.y" /* yacc.c:1648 */
{ spec_outfile = (yyvsp[0].code); /*}*/
insert_after(1, "</AST_Section1_Output>");
insert_before(0, "<AST_Section1_Output>");
}
-#line 2280 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2286 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 22:
-#line 430 "src/parse-gram.y" /* yacc.c:1648 */
+#line 432 "src/parse-gram.y" /* yacc.c:1648 */
{ current_param = (yyvsp[0].param); }
-#line 2286 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2292 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 23:
-#line 430 "src/parse-gram.y" /* yacc.c:1648 */
+#line 432 "src/parse-gram.y" /* yacc.c:1648 */
{ current_param = param_none; /*}*/
insert_after(2, "</AST_Section1_Param>");
insert_before(0, "<AST_Section1_Param>");
}
-#line 2295 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2301 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 24:
-#line 434 "src/parse-gram.y" /* yacc.c:1648 */
+#line 436 "src/parse-gram.y" /* yacc.c:1648 */
{ version_check (&(yylsp[0]), (yyvsp[0].code)); /*}*/
insert_after(1, "</AST_Section1_Require>");
insert_before(0, "<AST_Section1_Require>");
}
-#line 2304 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2310 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 25:
-#line 439 "src/parse-gram.y" /* yacc.c:1648 */
+#line 441 "src/parse-gram.y" /* yacc.c:1648 */
{
char const *skeleton_user = (yyvsp[0].code);
if (strchr (skeleton_user, '/'))
insert_after(1, "</AST_Section1_Skeleton>");
insert_before(0, "<AST_Section1_Skeleton>");
}
-#line 2334 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2340 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 26:
-#line 464 "src/parse-gram.y" /* yacc.c:1648 */
+#line 466 "src/parse-gram.y" /* yacc.c:1648 */
{ token_table_flag = true; /*}*/
insert_after(0, "</AST_Section1_TokenTable>");
insert_before(0, "<AST_Section1_TokenTable>");
}
-#line 2343 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2349 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 27:
-#line 468 "src/parse-gram.y" /* yacc.c:1648 */
+#line 470 "src/parse-gram.y" /* yacc.c:1648 */
{ report_flag |= report_states; /*}*/
insert_after(0, "</AST_Section1_Verbose>");
insert_before(0, "<AST_Section1_Verbose>");
}
-#line 2352 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2358 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 28:
-#line 472 "src/parse-gram.y" /* yacc.c:1648 */
+#line 474 "src/parse-gram.y" /* yacc.c:1648 */
{ yacc_flag = true; /*}*/
insert_after(0, "</AST_Section1_YACC>");
insert_before(0, "<AST_Section1_YACC>");
}
-#line 2361 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2367 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 30:
-#line 480 "src/parse-gram.y" /* yacc.c:1648 */
+#line 482 "src/parse-gram.y" /* yacc.c:1648 */
{ add_param (current_param, (yyvsp[0].code), (yylsp[0])); }
-#line 2367 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2373 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 31:
-#line 481 "src/parse-gram.y" /* yacc.c:1648 */
+#line 483 "src/parse-gram.y" /* yacc.c:1648 */
{ add_param (current_param, (yyvsp[0].code), (yylsp[0])); }
-#line 2373 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2379 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 34:
-#line 493 "src/parse-gram.y" /* yacc.c:1648 */
+#line 495 "src/parse-gram.y" /* yacc.c:1648 */
{
grammar_start_symbol_set ((yyvsp[0].symbol), (yylsp[0]));
insert_after(1, "</AST_Section1Or2_Start>");
insert_before(1, "<AST_SymbolRef>");
insert_before(0, "<AST_Section1Or2_Start>");
}
-#line 2385 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2391 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 35:
-#line 501 "src/parse-gram.y" /* yacc.c:1648 */
+#line 503 "src/parse-gram.y" /* yacc.c:1648 */
{
code_props code;
code_props_symbol_action_init (&code, (yyvsp[-1].code), (yylsp[-1]));
sprintf(gram_piece_temp, "<AST_Section1Or2_CodeProps _type=\"%d\">", (yyvsp[-2].code_type));
insert_before(0, gram_piece_temp);
}
-#line 2410 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2416 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 36:
-#line 522 "src/parse-gram.y" /* yacc.c:1648 */
+#line 524 "src/parse-gram.y" /* yacc.c:1648 */
{
default_prec = true;
insert_after(0, "</AST_Section1Or2_DefaultPrec>");
insert_before(0, "<AST_Section1Or2_DefaultPrec value=\"true\">");
}
-#line 2420 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2426 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 37:
-#line 528 "src/parse-gram.y" /* yacc.c:1648 */
+#line 530 "src/parse-gram.y" /* yacc.c:1648 */
{
default_prec = false;
insert_after(0, "</AST_Section1Or2_DefaultPrec>");
insert_before(0, "<AST_Section1Or2_DefaultPrec>");
}
-#line 2430 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2436 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 38:
-#line 534 "src/parse-gram.y" /* yacc.c:1648 */
+#line 536 "src/parse-gram.y" /* yacc.c:1648 */
{
/* Do not invoke muscle_percent_code_grow here since it invokes
muscle_user_name_list_grow. */
insert_after(1, "</AST_Section1Or2_Code>");
insert_before(0, "<AST_Section1Or2_Code><AST_ID />");
}
-#line 2449 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2455 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 39:
-#line 549 "src/parse-gram.y" /* yacc.c:1648 */
+#line 551 "src/parse-gram.y" /* yacc.c:1648 */
{
code_piece_append("<AST_BracedCode>{<AST_Text>");
muscle_percent_code_grow ((yyvsp[-1].uniqstr), (yylsp[-1]), translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
insert_after(2, "</AST_Section1Or2_Code>");
insert_before(0, "<AST_Section1Or2_Code>");
}
-#line 2465 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2471 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 40:
-#line 566 "src/parse-gram.y" /* yacc.c:1648 */
+#line 568 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.code_type) = destructor; }
-#line 2471 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2477 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 41:
-#line 567 "src/parse-gram.y" /* yacc.c:1648 */
+#line 569 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.code_type) = printer; }
-#line 2477 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2483 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 42:
-#line 577 "src/parse-gram.y" /* yacc.c:1648 */
+#line 579 "src/parse-gram.y" /* yacc.c:1648 */
{ insert_before(0, "<AST_ID />"); }
-#line 2483 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2489 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 43:
-#line 578 "src/parse-gram.y" /* yacc.c:1648 */
+#line 580 "src/parse-gram.y" /* yacc.c:1648 */
{ muscle_percent_define_insert ("api.value.union.name",
(yylsp[0]), muscle_keyword, (yyvsp[0].uniqstr),
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); }
-#line 2491 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2497 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 44:
-#line 585 "src/parse-gram.y" /* yacc.c:1648 */
+#line 587 "src/parse-gram.y" /* yacc.c:1648 */
{
union_seen = true;
code_piece_append("<AST_BracedCode>{<AST_Text>");
insert_after(2, "</AST_Section1Or2_Union>");
insert_before(0, "<AST_Section1Or2_Union>");
}
-#line 2508 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2514 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 45:
-#line 603 "src/parse-gram.y" /* yacc.c:1648 */
+#line 605 "src/parse-gram.y" /* yacc.c:1648 */
{ current_class = nterm_sym; }
-#line 2514 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2520 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 46:
-#line 604 "src/parse-gram.y" /* yacc.c:1648 */
+#line 606 "src/parse-gram.y" /* yacc.c:1648 */
{
current_class = unknown_sym;
current_type = NULL;
insert_after(2, "</AST_Section1Or2_NTerm>");
insert_before(0, "<AST_Section1Or2_NTerm>");
}
-#line 2525 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2531 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 47:
-#line 610 "src/parse-gram.y" /* yacc.c:1648 */
+#line 612 "src/parse-gram.y" /* yacc.c:1648 */
{ current_class = token_sym; }
-#line 2531 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2537 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 48:
-#line 611 "src/parse-gram.y" /* yacc.c:1648 */
+#line 613 "src/parse-gram.y" /* yacc.c:1648 */
{
current_class = unknown_sym;
current_type = NULL;
insert_after(2, "</AST_Section1Or2_Token>");
insert_before(0, "<AST_Section1Or2_Token>");
}
-#line 2542 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2548 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 49:
-#line 618 "src/parse-gram.y" /* yacc.c:1648 */
+#line 620 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_list *list;
tag_seen = true;
insert_after(2, "</AST_Section1Or2_Type>");
insert_before(0, "<AST_Section1Or2_Type>");
}
-#line 2556 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2562 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 50:
-#line 631 "src/parse-gram.y" /* yacc.c:1648 */
+#line 633 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_list *list;
++current_prec;
sprintf(gram_piece_temp, "<AST_Section1Or2_Precedence _type=\"%d\">", ((yyvsp[-2].assoc) & 3) - 1); /* -1 precedence, 0 right, 1 left, 2 nonassoc */
insert_before(0, gram_piece_temp);
}
-#line 2575 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2581 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 51:
-#line 648 "src/parse-gram.y" /* yacc.c:1648 */
+#line 650 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = left_assoc; }
-#line 2581 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2587 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 52:
-#line 649 "src/parse-gram.y" /* yacc.c:1648 */
+#line 651 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = right_assoc; }
-#line 2587 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2593 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 53:
-#line 650 "src/parse-gram.y" /* yacc.c:1648 */
+#line 652 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = non_assoc; }
-#line 2593 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2599 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 54:
-#line 651 "src/parse-gram.y" /* yacc.c:1648 */
+#line 653 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = precedence_assoc; }
-#line 2599 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2605 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 55:
-#line 655 "src/parse-gram.y" /* yacc.c:1648 */
+#line 657 "src/parse-gram.y" /* yacc.c:1648 */
{ current_type = NULL; }
-#line 2605 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2611 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 56:
-#line 656 "src/parse-gram.y" /* yacc.c:1648 */
+#line 658 "src/parse-gram.y" /* yacc.c:1648 */
{ current_type = (yyvsp[0].uniqstr); tag_seen = true; }
-#line 2611 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2617 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 57:
-#line 662 "src/parse-gram.y" /* yacc.c:1648 */
+#line 664 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2617 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2623 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 58:
-#line 664 "src/parse-gram.y" /* yacc.c:1648 */
+#line 666 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
-#line 2623 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2629 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 59:
-#line 669 "src/parse-gram.y" /* yacc.c:1648 */
+#line 671 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = (yyvsp[0].symbol);
symbol_class_set ((yyvsp[0].symbol), token_sym, (yylsp[0]), false);
insert_after(0, "</AST_SymbolRef>");
insert_before(0, "<AST_SymbolRef>");
}
-#line 2634 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2640 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 60:
-#line 676 "src/parse-gram.y" /* yacc.c:1648 */
+#line 678 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
symbol_user_token_number_set ((yyvsp[-1].symbol), (yyvsp[0].integer), (yylsp[0]));
sprintf(gram_piece_temp, "<AST_SymbolRef user_token=\"%d\">", (yyvsp[0].integer));
insert_before(0, gram_piece_temp);
}
-#line 2647 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2653 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 61:
-#line 689 "src/parse-gram.y" /* yacc.c:1648 */
+#line 691 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); /*}*/
insert_after(0, "</AST_SymbolRef>");
insert_before(0, "<AST_SymbolRef>");
}
-#line 2656 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2662 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 62:
-#line 694 "src/parse-gram.y" /* yacc.c:1648 */
+#line 696 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); /*}*/
insert_after(1, "</AST_SymbolRef>");
insert_before(1, "<AST_SymbolRef>");
}
-#line 2665 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2671 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 63:
-#line 701 "src/parse-gram.y" /* yacc.c:1648 */
+#line 703 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = (yyvsp[0].list); }
-#line 2671 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2677 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 64:
-#line 702 "src/parse-gram.y" /* yacc.c:1648 */
+#line 704 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), (yyvsp[0].list)); }
-#line 2677 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2683 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 65:
-#line 706 "src/parse-gram.y" /* yacc.c:1648 */
+#line 708 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); /*}*/
insert_after(0, "</AST_SymbolRef>");
insert_before(0, "<AST_SymbolRef>");
}
-#line 2686 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2692 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 66:
-#line 710 "src/parse-gram.y" /* yacc.c:1648 */
+#line 712 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_type_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2692 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2698 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 68:
-#line 715 "src/parse-gram.y" /* yacc.c:1648 */
+#line 717 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new ("*"); }
-#line 2698 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2704 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 69:
-#line 716 "src/parse-gram.y" /* yacc.c:1648 */
+#line 718 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new (""); }
-#line 2704 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2710 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 70:
-#line 722 "src/parse-gram.y" /* yacc.c:1648 */
+#line 724 "src/parse-gram.y" /* yacc.c:1648 */
{
current_type = (yyvsp[0].uniqstr);
tag_seen = true;
}
-#line 2713 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2719 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 71:
-#line 727 "src/parse-gram.y" /* yacc.c:1648 */
+#line 729 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[0].symbol), current_class, (yylsp[0]), true);
symbol_type_set ((yyvsp[0].symbol), current_type, (yylsp[0]));
insert_after(0, "</AST_SymbolRef>");
insert_before(0, "<AST_SymbolRef>");
}
-#line 2724 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2730 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 72:
-#line 734 "src/parse-gram.y" /* yacc.c:1648 */
+#line 736 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[-1].symbol), current_class, (yylsp[-1]), true);
symbol_type_set ((yyvsp[-1].symbol), current_type, (yylsp[-1]));
sprintf(gram_piece_temp, "<AST_SymbolRef user_token=\"%d\">", (yyvsp[0].integer));
insert_before(0, gram_piece_temp);
}
-#line 2737 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2743 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 73:
-#line 743 "src/parse-gram.y" /* yacc.c:1648 */
+#line 745 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[-1].symbol), current_class, (yylsp[-1]), true);
symbol_type_set ((yyvsp[-1].symbol), current_type, (yylsp[-1]));
insert_after(1, "</AST_SymbolRef>");
insert_before(0, "<AST_SymbolRef>");
}
-#line 2749 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2755 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 74:
-#line 751 "src/parse-gram.y" /* yacc.c:1648 */
+#line 753 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[-2].symbol), current_class, (yylsp[-2]), true);
symbol_type_set ((yyvsp[-2].symbol), current_type, (yylsp[-2]));
sprintf(gram_piece_temp, "<AST_SymbolRef user_token=\"%d\">", (yyvsp[-1].integer));
insert_before(0, gram_piece_temp);
}
-#line 2763 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2769 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 81:
-#line 784 "src/parse-gram.y" /* yacc.c:1648 */
+#line 786 "src/parse-gram.y" /* yacc.c:1648 */
{
yyerrok;
}
-#line 2771 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2777 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 82:
-#line 790 "src/parse-gram.y" /* yacc.c:1648 */
+#line 792 "src/parse-gram.y" /* yacc.c:1648 */
{ current_lhs ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); }
-#line 2777 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2783 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 83:
-#line 791 "src/parse-gram.y" /* yacc.c:1648 */
+#line 793 "src/parse-gram.y" /* yacc.c:1648 */
{
/* Free the current lhs. */
current_lhs (0, (yylsp[-3]), 0);
insert_before(0, "<AST_SymbolRef>");
insert_before(0, "<AST_Section2_Rules>");
}
-#line 2791 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2797 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 84:
-#line 803 "src/parse-gram.y" /* yacc.c:1648 */
+#line 805 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_end ((yylsp[0])); /*}*/
insert_after(0, "</AST_Production>");
insert_before(0, "<AST_Production>");
}
-#line 2800 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2806 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 85:
-#line 807 "src/parse-gram.y" /* yacc.c:1648 */
+#line 809 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_end ((yylsp[0])); /*}*/
insert_after(2, "</AST_Production>");
insert_before(2, "<AST_Production>");
}
-#line 2809 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2815 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 87:
-#line 817 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
+#line 819 "src/parse-gram.y" /* yacc.c:1648 */
+ {
+ /* Nick extra rules for element groups */
+ if (nested_rhs)
+ --nested_rhs;
+ else
+ grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
current_lhs_named_ref); /*}*/
/* in this case, want empty rule associated with stuff on the right of us */
/* therefore, move inter-token text from the right of us over to the left */
gram_piece[gram_piece2] = gram_piece[gram_piece2 - 1]; /* empty */
gram_piece[gram_piece2 - 1] = temp;
}
-#line 2825 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2836 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 88:
-#line 829 "src/parse-gram.y" /* yacc.c:1648 */
+#line 836 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); /*}*/
insert_after(2, "</AST_Production_SymbolRef>");
insert_after(1, "</AST_SymbolRef>");
insert_before(1, "<AST_Production_SymbolRef><AST_SymbolRef>");
}
-#line 2835 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2846 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 89:
-#line 835 "src/parse-gram.y" /* yacc.c:1648 */
+#line 842 "src/parse-gram.y" /* yacc.c:1648 */
{ /* should be BracedCode, but too hard to put AST_Text inside braces */ code_piece_append("<AST_Text>"); grammar_current_rule_action_append ((yyvsp[-1].code), (yylsp[-1]), (yyvsp[0].named_ref), false); /*}*/
code_piece_append("</AST_Text>");
code_piece_pack();
insert_after(2, "</AST_Production_Action>");
insert_before(1, "<AST_Production_Action>");
}
-#line 2848 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2859 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 90:
-#line 844 "src/parse-gram.y" /* yacc.c:1648 */
+#line 851 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_action_append ((yyvsp[0].code), (yylsp[0]), NULL, true); }
-#line 2854 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2865 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 91:
-#line 846 "src/parse-gram.y" /* yacc.c:1648 */
+#line 853 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_empty_set ((yylsp[0])); /*}*/
insert_after(1, "</AST_Production_Empty>");
insert_before(1, "<AST_Production_Empty>");
}
-#line 2863 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2874 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 92:
-#line 851 "src/parse-gram.y" /* yacc.c:1648 */
+#line 858 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); /*}*/
insert_after(2, "</AST_Production_Prec>");
insert_after(2, "</AST_SymbolRef>");
insert_before(2, "<AST_SymbolRef>");
insert_before(1, "<AST_Production_Prec>");
}
-#line 2874 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2885 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 93:
-#line 858 "src/parse-gram.y" /* yacc.c:1648 */
+#line 865 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_dprec_set ((yyvsp[0].integer), (yylsp[0])); /*}*/
insert_after(2, "</AST_Production_DPrec>");
sprintf(gram_piece_temp, "<AST_Production_DPrec value=\"%d\">", (yyvsp[0].integer));
insert_before(1, gram_piece_temp);
}
-#line 2884 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2895 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 94:
-#line 864 "src/parse-gram.y" /* yacc.c:1648 */
+#line 871 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_merge_set ((yyvsp[0].uniqstr), (yylsp[0])); /*}*/
insert_after(2, "</AST_Production_Merge>");
insert_before(1, "<AST_Production_Merge>");
}
-#line 2893 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2904 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 95:
-#line 871 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.named_ref) = 0; }
-#line 2899 "src/parse-gram.c" /* yacc.c:1648 */
+#line 876 "src/parse-gram.y" /* yacc.c:1648 */
+ { ++nested_rhs; }
+#line 2910 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 96:
-#line 872 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.named_ref) = named_ref_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2905 "src/parse-gram.c" /* yacc.c:1648 */
+#line 876 "src/parse-gram.y" /* yacc.c:1648 */
+ {
+ insert_after(3, "</AST_Production_GroupElement>");
+ insert_before(1, "<AST_Production_GroupElement>");
+ }
+#line 2919 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 98:
+ case 97:
#line 883 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.named_ref) = 0; }
+#line 2925 "src/parse-gram.c" /* yacc.c:1648 */
+ break;
+
+ case 98:
+#line 884 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.named_ref) = named_ref_new ((yyvsp[0].uniqstr), (yylsp[0])); }
+#line 2931 "src/parse-gram.c" /* yacc.c:1648 */
+ break;
+
+ case 100:
+#line 895 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new ((yyvsp[0].code)); }
-#line 2911 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2937 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 99:
-#line 908 "src/parse-gram.y" /* yacc.c:1648 */
+ case 101:
+#line 920 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; }
-#line 2917 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2943 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 100:
-#line 909 "src/parse-gram.y" /* yacc.c:1648 */
+ case 102:
+#line 921 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].uniqstr); }
-#line 2923 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2949 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 101:
-#line 910 "src/parse-gram.y" /* yacc.c:1648 */
+ case 103:
+#line 922 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_string; (yyval.value).chars = (yyvsp[0].code); }
-#line 2929 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2955 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 102:
-#line 911 "src/parse-gram.y" /* yacc.c:1648 */
+ case 104:
+#line 923 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_code; (yyval.value).chars = strip_braces ((yyvsp[0].code)); }
-#line 2935 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2961 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 103:
-#line 924 "src/parse-gram.y" /* yacc.c:1648 */
+ case 105:
+#line 936 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2941 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2967 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 104:
-#line 926 "src/parse-gram.y" /* yacc.c:1648 */
+ case 106:
+#line 938 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = symbol_get (char_name ((yyvsp[0].character)), (yylsp[0]));
symbol_class_set ((yyval.symbol), token_sym, (yylsp[0]), false);
symbol_user_token_number_set ((yyval.symbol), (yyvsp[0].character), (yylsp[0]));
}
-#line 2951 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2977 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 105:
-#line 934 "src/parse-gram.y" /* yacc.c:1648 */
+ case 107:
+#line 946 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2957 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2983 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 108:
-#line 946 "src/parse-gram.y" /* yacc.c:1648 */
+ case 110:
+#line 958 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = symbol_get (quotearg_style (c_quoting_style, (yyvsp[0].code)), (yylsp[0]));
symbol_class_set ((yyval.symbol), token_sym, (yylsp[0]), false);
}
-#line 2966 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2992 "src/parse-gram.c" /* yacc.c:1648 */
break;
- case 110:
-#line 955 "src/parse-gram.y" /* yacc.c:1648 */
+ case 112:
+#line 967 "src/parse-gram.y" /* yacc.c:1648 */
{
#if 0
int gram_piece0_save = gram_piece0, gram_piece1_save = gram_piece1;
insert_after(1, "</AST_Section3>");
insert_after(0, "<AST_Section3>");
}
-#line 2991 "src/parse-gram.c" /* yacc.c:1648 */
+#line 3017 "src/parse-gram.c" /* yacc.c:1648 */
break;
-#line 2995 "src/parse-gram.c" /* yacc.c:1648 */
+#line 3021 "src/parse-gram.c" /* yacc.c:1648 */
default: break;
}
if (yychar_backup != yychar)
#endif
return yyresult;
}
-#line 977 "src/parse-gram.y" /* yacc.c:1907 */
+#line 989 "src/parse-gram.y" /* yacc.c:1907 */
/* Return the location of the left-hand side of a rule whose
(yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 130
-#define YY_END_OF_BUFFER 131
+#define YY_NUM_RULES 133
+#define YY_END_OF_BUFFER 134
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[579] =
+static yyconst flex_int16_t yy_accept[587] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 93, 93, 113, 113, 113, 113, 0, 0,
- 0, 0, 131, 80, 2, 2, 71, 80, 70, 80,
- 1, 66, 80, 67, 67, 65, 77, 63, 66, 79,
- 73, 64, 80, 90, 90, 128, 95, 94, 128, 81,
- 97, 96, 84, 2, 1, 84, 83, 82, 84, 99,
- 99, 100, 98, 81, 129, 119, 128, 118, 128, 128,
- 128, 122, 125, 126, 128, 92, 128, 117, 116, 128,
- 115, 114, 87, 2, 1, 85, 87, 87, 86, 87,
-
- 88, 2, 1, 88, 88, 80, 78, 62, 0, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 72, 66, 66,
- 4, 3, 69, 67, 69, 0, 76, 0, 89, 112,
- 110, 101, 112, 103, 104, 105, 106, 107, 108, 112,
- 109, 112, 99, 99, 100, 127, 120, 121, 0, 123,
- 0, 122, 124, 0, 91, 0, 0, 93, 113, 113,
- 113, 113, 87, 85, 62, 0, 74, 62, 62, 62,
+ 0, 0, 95, 95, 115, 115, 115, 115, 0, 0,
+ 0, 0, 0, 0, 134, 82, 2, 2, 71, 82,
+ 70, 82, 76, 82, 1, 66, 82, 67, 67, 65,
+ 79, 63, 66, 81, 73, 64, 82, 92, 92, 131,
+ 97, 96, 131, 83, 99, 98, 86, 2, 1, 86,
+ 85, 84, 86, 101, 101, 102, 100, 83, 132, 121,
+ 131, 120, 131, 131, 131, 124, 127, 128, 131, 94,
+ 131, 119, 118, 131, 117, 116, 89, 2, 1, 87,
+
+ 89, 89, 88, 89, 90, 2, 1, 90, 90, 129,
+ 82, 80, 62, 0, 62, 62, 62, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 72, 82, 66, 66, 4, 3, 69, 67,
+ 69, 0, 78, 0, 91, 114, 112, 103, 114, 105,
+ 106, 107, 108, 109, 110, 114, 111, 114, 101, 101,
+ 102, 130, 122, 123, 0, 125, 0, 124, 126, 0,
+ 93, 0, 0, 95, 115, 115, 115, 115, 89, 87,
+ 62, 0, 74, 62, 62, 62, 62, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 3, 69,
- 68, 75, 0, 101, 0, 0, 102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 0, 3, 69, 68, 77, 0,
+ 103, 0, 0, 104, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 0, 101,
- 0, 0, 62, 7, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 23, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 75, 0, 103, 0, 0,
+ 62, 7, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 23, 62, 62, 62, 62,
- 62, 62, 36, 62, 62, 62, 62, 62, 62, 44,
- 62, 47, 62, 62, 50, 0, 0, 0, 62, 8,
- 62, 62, 62, 13, 14, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 26, 62, 62, 62, 62, 62,
- 62, 62, 62, 32, 62, 34, 62, 62, 62, 62,
- 62, 62, 41, 62, 43, 45, 48, 62, 0, 0,
- 111, 6, 62, 10, 62, 62, 62, 16, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 33, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 0, 62, 11, 62, 62,
+ 36, 62, 62, 62, 62, 62, 62, 44, 62, 47,
+ 62, 62, 50, 0, 0, 0, 62, 8, 62, 62,
+ 62, 13, 14, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 26, 62, 62, 62, 62, 62, 62, 62,
+ 62, 32, 62, 34, 62, 62, 62, 62, 62, 62,
+ 41, 62, 43, 45, 48, 62, 0, 0, 113, 6,
+ 62, 10, 62, 62, 62, 16, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 33, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 0, 62, 11, 62, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 0,
- 59, 62, 62, 38, 62, 62, 40, 62, 62, 62,
- 49, 5, 0, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 22, 62, 62, 62, 62,
- 62, 29, 62, 58, 30, 62, 62, 62, 62, 62,
- 42, 62, 62, 0, 62, 62, 62, 62, 62, 17,
- 53, 62, 62, 62, 62, 62, 24, 25, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 0,
- 0, 62, 62, 12, 62, 62, 62, 62, 62, 21,
-
- 62, 62, 62, 62, 62, 62, 62, 37, 62, 62,
- 62, 62, 62, 62, 62, 62, 18, 62, 62, 62,
- 27, 56, 62, 62, 62, 35, 39, 60, 46, 61,
- 9, 51, 62, 62, 0, 54, 62, 62, 62, 0,
- 56, 62, 62, 62, 15, 52, 62, 62, 62, 62,
- 62, 62, 62, 62, 20, 62, 62, 62, 62, 62,
- 28, 57, 62, 62, 62, 62, 62, 62, 62, 19,
- 55, 62, 62, 62, 62, 62, 31, 0
+ 62, 62, 62, 62, 62, 62, 62, 0, 59, 62,
+ 62, 38, 62, 62, 40, 62, 62, 62, 49, 5,
+ 0, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 22, 62, 62, 62, 62, 62, 29,
+ 62, 58, 30, 62, 62, 62, 62, 62, 42, 62,
+ 62, 0, 62, 62, 62, 62, 62, 17, 53, 62,
+ 62, 62, 62, 62, 24, 25, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 0, 0, 62,
+
+ 62, 12, 62, 62, 62, 62, 62, 21, 62, 62,
+ 62, 62, 62, 62, 62, 37, 62, 62, 62, 62,
+ 62, 62, 62, 62, 18, 62, 62, 62, 27, 56,
+ 62, 62, 62, 35, 39, 60, 46, 61, 9, 51,
+ 62, 62, 0, 54, 62, 62, 62, 0, 56, 62,
+ 62, 62, 15, 52, 62, 62, 62, 62, 62, 62,
+ 62, 62, 20, 62, 62, 62, 62, 62, 28, 57,
+ 62, 62, 62, 62, 62, 62, 62, 19, 55, 62,
+ 62, 62, 62, 62, 31, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
2, 2, 4, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 5, 1, 6, 7, 1, 8, 1, 9, 1,
- 1, 10, 1, 11, 12, 13, 14, 15, 16, 16,
- 16, 16, 16, 16, 16, 17, 17, 18, 19, 20,
- 21, 22, 23, 1, 24, 24, 24, 24, 24, 24,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 26, 25, 25, 27, 25, 25,
- 28, 29, 30, 1, 31, 1, 32, 33, 34, 35,
-
- 36, 37, 38, 39, 40, 25, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 25, 53,
- 54, 25, 55, 56, 57, 1, 1, 1, 1, 1,
+ 1, 5, 1, 6, 7, 1, 8, 1, 9, 10,
+ 11, 12, 1, 13, 14, 15, 16, 17, 18, 18,
+ 18, 18, 18, 18, 18, 19, 19, 20, 21, 22,
+ 23, 24, 25, 1, 26, 26, 26, 26, 27, 26,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 29, 28, 28, 30, 28, 28,
+ 31, 32, 33, 1, 34, 1, 35, 36, 37, 38,
+
+ 39, 40, 41, 42, 43, 28, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 28, 56,
+ 57, 28, 58, 59, 60, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[59] =
+static yyconst flex_int32_t yy_meta[62] =
{ 0,
- 1, 2, 3, 1, 2, 4, 1, 4, 4, 4,
- 4, 5, 6, 2, 7, 7, 7, 1, 4, 8,
- 4, 8, 1, 7, 9, 9, 9, 10, 1, 11,
- 9, 7, 7, 7, 7, 7, 7, 9, 9, 9,
+ 1, 2, 3, 1, 2, 4, 1, 4, 4, 1,
+ 1, 4, 4, 5, 6, 2, 7, 7, 7, 1,
+ 4, 8, 4, 8, 1, 7, 7, 9, 9, 9,
+ 10, 1, 11, 9, 7, 7, 7, 7, 7, 7,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 4, 4, 4, 1
+ 9, 9, 9, 9, 9, 9, 9, 4, 4, 4,
+ 1
} ;
-static yyconst flex_int16_t yy_base[605] =
+static yyconst flex_int16_t yy_base[613] =
{ 0,
- 0, 1001, 997, 996, 56, 57, 58, 61, 63, 90,
- 76, 87, 70, 97, 117, 121, 66, 130, 140, 144,
- 79, 107, 99, 109, 153, 159, 148, 152, 201, 998,
- 182, 258, 1004, 0, 1009, 1009, 1009, 265, 1009, 1009,
- 1009, 320, 153, 313, 153, 1009, 61, 1009, 330, 1009,
- 1009, 1009, 961, 1009, 988, 1009, 1009, 1009, 383, 1009,
- 1009, 1009, 1009, 1009, 1009, 161, 1009, 1009, 959, 988,
- 110, 979, 1009, 986, 1009, 1009, 940, 1009, 169, 144,
- 254, 1009, 1009, 1009, 250, 1009, 187, 1009, 1009, 265,
- 1009, 1009, 0, 1009, 0, 0, 261, 1009, 1009, 954,
-
- 1009, 1009, 1009, 266, 953, 0, 1009, 0, 320, 954,
- 948, 241, 293, 952, 949, 946, 250, 953, 294, 937,
- 303, 245, 150, 311, 943, 950, 953, 1009, 436, 0,
- 1009, 0, 0, 346, 480, 962, 1009, 943, 1009, 1009,
- 1009, 342, 0, 1009, 1009, 1009, 1009, 1009, 1009, 0,
- 1009, 0, 970, 330, 961, 1009, 1009, 1009, 365, 1009,
- 369, 1009, 1009, 374, 1009, 378, 382, 951, 1009, 388,
- 950, 392, 0, 0, 0, 398, 1009, 934, 942, 374,
- 928, 929, 926, 927, 360, 924, 931, 926, 368, 935,
- 920, 924, 398, 930, 915, 916, 333, 915, 915, 923,
-
- 924, 927, 910, 916, 910, 915, 906, 919, 0, 0,
- 0, 1009, 908, 402, 0, 0, 0, 423, 431, 453,
- 410, 459, 443, 465, 390, 471, 475, 479, 483, 379,
- 919, 914, 898, 81, 898, 911, 896, 900, 908, 907,
- 906, 929, 890, 901, 888, 925, 904, 897, 898, 415,
- 448, 412, 885, 886, 420, 897, 886, 893, 877, 888,
- 884, 877, 881, 887, 886, 876, 887, 885, 882, 1009,
- 0, 0, 869, 0, 878, 864, 870, 865, 878, 857,
- 862, 875, 896, 872, 860, 865, 853, 0, 857, 852,
- 865, 333, 864, 859, 862, 857, 847, 859, 851, 842,
-
- 849, 855, 854, 839, 467, 848, 837, 850, 835, 0,
- 840, 0, 839, 837, 0, 876, 0, 0, 826, 0,
- 837, 842, 826, 0, 0, 475, 826, 829, 477, 842,
- 841, 840, 839, 830, 0, 823, 822, 830, 822, 828,
- 820, 814, 812, 0, 811, 0, 848, 824, 822, 811,
- 810, 807, 0, 804, 0, 479, 0, 804, 484, 0,
- 1009, 0, 802, 802, 816, 797, 796, 480, 799, 801,
- 800, 796, 801, 804, 793, 795, 791, 790, 805, 800,
- 803, 798, 788, 796, 516, 785, 794, 781, 796, 795,
- 790, 780, 774, 773, 786, 519, 495, 0, 771, 784,
-
- 783, 770, 769, 780, 764, 763, 764, 800, 775, 778,
- 765, 772, 771, 755, 756, 753, 754, 768, 753, 525,
- 1009, 768, 755, 0, 750, 749, 0, 752, 763, 762,
- 0, 1009, 787, 746, 745, 745, 741, 740, 739, 738,
- 748, 734, 733, 746, 749, 0, 737, 730, 741, 740,
- 734, 0, 733, 0, 0, 731, 725, 738, 722, 721,
- 0, 736, 735, 761, 718, 717, 716, 730, 729, 0,
- 0, 721, 714, 713, 710, 723, 0, 0, 716, 715,
- 704, 703, 712, 719, 714, 705, 701, 683, 679, 710,
- 499, 675, 673, 0, 663, 660, 651, 639, 619, 0,
-
- 616, 611, 607, 511, 513, 615, 615, 0, 607, 606,
- 617, 616, 615, 614, 598, 540, 536, 538, 537, 546,
- 545, 549, 539, 538, 543, 0, 0, 0, 0, 0,
- 0, 0, 546, 545, 556, 1009, 531, 533, 535, 569,
- 1009, 531, 530, 527, 0, 0, 538, 532, 524, 531,
- 529, 513, 516, 515, 0, 499, 498, 491, 467, 461,
- 0, 0, 459, 439, 435, 434, 389, 381, 378, 0,
- 0, 390, 366, 347, 350, 307, 0, 1009, 590, 601,
- 612, 623, 634, 645, 656, 662, 671, 682, 693, 702,
- 708, 713, 722, 729, 286, 277, 259, 187, 179, 173,
-
- 135, 133, 87, 738
+ 0, 1034, 1028, 1027, 59, 60, 61, 64, 66, 82,
+ 66, 85, 102, 120, 129, 141, 149, 150, 161, 170,
+ 69, 71, 72, 74, 109, 111, 130, 139, 230, 1031,
+ 191, 195, 289, 293, 1037, 0, 1042, 1042, 1042, 346,
+ 1042, 1011, 0, 1042, 1042, 404, 118, 289, 163, 1042,
+ 107, 1042, 465, 1042, 1042, 1042, 990, 1042, 1018, 1042,
+ 1042, 1042, 521, 1042, 1042, 1042, 1042, 1042, 1042, 156,
+ 1042, 1042, 988, 1018, 160, 1009, 1042, 1016, 1042, 1042,
+ 969, 1042, 193, 92, 153, 1042, 1042, 1042, 62, 1042,
+ 98, 1042, 1042, 311, 1042, 1042, 0, 1042, 0, 0,
+
+ 179, 1042, 1042, 983, 1042, 1042, 1042, 194, 982, 1042,
+ 0, 1042, 0, 319, 983, 977, 164, 166, 981, 978,
+ 975, 179, 982, 275, 966, 282, 177, 171, 255, 972,
+ 979, 982, 1042, 989, 577, 0, 1042, 0, 0, 308,
+ 622, 991, 1042, 971, 1042, 1042, 1042, 312, 0, 1042,
+ 1042, 1042, 1042, 1042, 1042, 0, 1042, 0, 999, 317,
+ 990, 1042, 1042, 1042, 332, 1042, 337, 1042, 1042, 353,
+ 1042, 357, 361, 979, 1042, 365, 978, 404, 0, 0,
+ 0, 420, 1042, 962, 970, 376, 956, 957, 954, 955,
+ 248, 952, 959, 954, 292, 963, 948, 952, 396, 958,
+
+ 943, 944, 307, 943, 943, 951, 952, 955, 938, 944,
+ 938, 943, 934, 947, 925, 0, 0, 0, 1042, 935,
+ 361, 0, 0, 0, 429, 401, 436, 320, 442, 418,
+ 446, 426, 450, 454, 458, 465, 432, 946, 941, 925,
+ 322, 925, 938, 923, 927, 935, 934, 933, 957, 917,
+ 928, 915, 953, 931, 924, 925, 382, 435, 188, 912,
+ 913, 419, 924, 913, 920, 904, 915, 911, 904, 908,
+ 914, 913, 903, 914, 912, 1042, 909, 1042, 0, 0,
+ 896, 0, 905, 891, 897, 892, 905, 884, 889, 902,
+ 924, 899, 887, 892, 880, 0, 884, 879, 892, 126,
+
+ 891, 886, 889, 884, 874, 886, 878, 869, 876, 882,
+ 881, 866, 286, 875, 864, 877, 862, 0, 867, 0,
+ 866, 864, 0, 906, 0, 0, 853, 0, 864, 869,
+ 853, 0, 0, 304, 853, 856, 448, 869, 868, 867,
+ 866, 857, 0, 850, 849, 857, 849, 855, 847, 841,
+ 839, 0, 838, 0, 876, 851, 849, 838, 837, 834,
+ 0, 831, 0, 460, 0, 831, 469, 0, 1042, 0,
+ 829, 829, 843, 824, 823, 465, 826, 828, 827, 823,
+ 828, 831, 820, 822, 818, 817, 832, 827, 830, 825,
+ 815, 823, 498, 812, 821, 808, 823, 822, 817, 807,
+
+ 801, 800, 813, 488, 470, 0, 798, 811, 810, 797,
+ 796, 807, 791, 790, 791, 828, 802, 805, 792, 799,
+ 798, 782, 783, 780, 781, 795, 780, 506, 1042, 795,
+ 782, 0, 777, 776, 0, 779, 790, 789, 0, 1042,
+ 817, 773, 764, 761, 746, 742, 737, 732, 741, 727,
+ 724, 737, 727, 0, 696, 686, 696, 692, 686, 0,
+ 685, 0, 0, 681, 675, 688, 672, 669, 0, 684,
+ 683, 650, 604, 603, 602, 616, 615, 0, 0, 607,
+ 598, 597, 594, 607, 0, 0, 600, 599, 584, 583,
+ 592, 599, 594, 593, 592, 585, 584, 622, 486, 588,
+
+ 587, 0, 577, 576, 567, 568, 567, 0, 567, 562,
+ 561, 481, 482, 569, 569, 0, 562, 561, 572, 569,
+ 570, 569, 553, 552, 520, 550, 537, 546, 529, 560,
+ 537, 536, 539, 0, 0, 0, 0, 0, 0, 0,
+ 541, 540, 591, 1042, 503, 506, 525, 596, 1042, 520,
+ 519, 517, 0, 0, 527, 526, 513, 520, 519, 502,
+ 511, 508, 0, 512, 511, 504, 500, 499, 0, 0,
+ 505, 502, 497, 521, 476, 467, 469, 0, 0, 479,
+ 462, 460, 444, 430, 0, 1042, 662, 673, 684, 695,
+ 706, 717, 728, 734, 743, 754, 765, 774, 780, 785,
+
+ 794, 801, 470, 439, 414, 362, 222, 183, 181, 147,
+ 69, 810
} ;
-static yyconst flex_int16_t yy_def[605] =
+static yyconst flex_int16_t yy_def[613] =
{ 0,
- 578, 1, 579, 579, 580, 580, 580, 580, 581, 581,
- 582, 582, 580, 580, 580, 580, 580, 580, 580, 580,
- 580, 580, 580, 580, 580, 580, 580, 580, 578, 29,
- 583, 583, 578, 584, 578, 578, 578, 578, 578, 578,
- 578, 585, 578, 586, 586, 578, 578, 578, 585, 578,
- 578, 578, 584, 578, 578, 578, 578, 578, 587, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 588,
- 588, 578, 578, 588, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 589,
- 578, 578, 590, 578, 590, 591, 578, 578, 578, 590,
-
- 578, 578, 578, 578, 578, 584, 578, 592, 578, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 578, 585, 49,
- 578, 593, 594, 586, 594, 578, 578, 578, 578, 578,
- 578, 578, 595, 578, 578, 578, 578, 578, 578, 596,
- 578, 597, 588, 588, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 590, 591, 592, 578, 578, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
-
- 592, 592, 592, 592, 592, 592, 592, 592, 593, 594,
- 135, 578, 578, 578, 598, 599, 597, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 589,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 578, 578,
- 600, 601, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
-
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 578, 602, 603, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 578, 596,
- 578, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 578, 592, 592, 592, 592,
-
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 578,
- 578, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 578, 578, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 604, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 604,
- 604, 592, 592, 592, 592, 592, 592, 592, 592, 592,
-
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 578, 578, 592, 592, 592, 578,
- 578, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 592, 592, 0, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
-
- 578, 578, 578, 578
+ 586, 1, 587, 587, 588, 588, 588, 588, 589, 589,
+ 590, 590, 588, 588, 588, 588, 588, 588, 588, 588,
+ 588, 588, 588, 588, 588, 588, 588, 588, 586, 29,
+ 591, 591, 588, 588, 586, 592, 586, 586, 586, 586,
+ 586, 592, 592, 586, 586, 593, 586, 594, 594, 586,
+ 586, 586, 593, 586, 586, 586, 592, 586, 586, 586,
+ 586, 586, 595, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 596, 596, 586, 586, 596, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 597, 586, 586, 598, 586, 598, 599,
+
+ 586, 586, 586, 598, 586, 586, 586, 586, 586, 586,
+ 592, 586, 600, 586, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 586, 592, 593, 53, 586, 601, 602, 594,
+ 602, 586, 586, 586, 586, 586, 586, 586, 603, 586,
+ 586, 586, 586, 586, 586, 604, 586, 605, 596, 596,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 598, 599,
+ 600, 586, 586, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 586, 601, 602, 141, 586, 586,
+ 586, 606, 607, 605, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 597, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 586, 586, 586, 608, 609,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 586, 610, 611, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 586, 604, 586, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+
+ 600, 600, 600, 586, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 586, 586, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 586,
+ 586, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 612, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 612, 612, 600,
+
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 586, 586, 600, 600, 600, 586, 586, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600, 600, 0, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586
} ;
-static yyconst flex_int16_t yy_nxt[1068] =
+static yyconst flex_int16_t yy_nxt[1104] =
{ 0,
- 34, 35, 36, 34, 35, 37, 34, 38, 39, 40,
- 41, 34, 42, 43, 44, 45, 45, 34, 46, 47,
- 48, 40, 34, 49, 49, 49, 49, 50, 34, 34,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 51, 52, 40, 34, 57, 57,
- 61, 58, 58, 61, 64, 36, 62, 64, 75, 62,
- 136, 76, 75, 65, 78, 76, 66, 77, 78, 79,
- 67, 75, 137, 79, 59, 59, 59, 71, 85, 59,
- 68, 64, 36, 361, 64, 72, 69, 73, 71, 75,
-
- 65, 86, 76, 66, 77, 78, 72, 67, 73, 75,
- 79, 86, 276, 60, 60, 60, 85, 68, 60, 75,
- 277, 154, 76, 75, 80, 78, 76, 87, 80, 78,
- 79, 153, 75, 74, 79, 76, 81, 87, 78, 360,
- 81, 318, 75, 79, 74, 76, 75, 80, 78, 76,
- 91, 80, 78, 79, 91, 88, 92, 79, 89, 81,
- 92, 88, 131, 81, 89, 160, 132, 134, 134, 134,
- 131, 82, 161, 83, 132, 82, 90, 83, 157, 317,
- 90, 90, 158, 102, 36, 272, 102, 90, 167, 168,
- 201, 167, 103, 271, 82, 104, 84, 159, 82, 202,
-
- 84, 93, 94, 36, 93, 94, 93, 93, 93, 93,
- 93, 95, 93, 96, 97, 98, 98, 98, 93, 93,
- 93, 93, 93, 93, 96, 96, 96, 96, 93, 93,
- 99, 96, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 93, 93, 93, 93, 102,
- 36, 162, 102, 165, 105, 217, 170, 171, 103, 170,
- 131, 104, 107, 163, 132, 131, 180, 108, 166, 132,
- 199, 188, 164, 216, 200, 189, 181, 109, 108, 108,
- 108, 108, 215, 172, 190, 108, 108, 110, 111, 112,
-
- 113, 114, 115, 108, 116, 108, 117, 118, 119, 120,
- 121, 108, 122, 123, 124, 125, 126, 108, 127, 128,
- 106, 176, 176, 106, 176, 192, 106, 134, 134, 134,
- 578, 129, 129, 578, 196, 182, 578, 106, 193, 135,
- 183, 154, 106, 194, 336, 184, 203, 578, 106, 106,
- 197, 153, 578, 198, 577, 204, 214, 214, 578, 578,
- 134, 134, 134, 337, 205, 135, 218, 219, 256, 218,
- 220, 221, 257, 220, 177, 222, 223, 106, 222, 224,
- 225, 578, 224, 167, 168, 576, 167, 578, 141, 227,
- 171, 141, 227, 229, 230, 575, 229, 142, 142, 176,
-
- 176, 240, 176, 165, 245, 141, 233, 172, 143, 250,
- 234, 141, 241, 574, 144, 145, 270, 270, 166, 146,
- 246, 573, 235, 572, 218, 219, 147, 218, 251, 571,
- 148, 160, 149, 150, 151, 152, 106, 570, 161, 106,
- 157, 252, 106, 297, 158, 569, 298, 129, 129, 293,
- 162, 301, 177, 106, 220, 221, 294, 220, 106, 159,
- 222, 223, 163, 222, 106, 106, 224, 225, 302, 224,
- 568, 164, 167, 168, 567, 167, 227, 171, 350, 227,
- 227, 171, 295, 227, 229, 230, 366, 229, 370, 296,
- 393, 402, 566, 106, 211, 211, 211, 351, 396, 396,
-
- 396, 432, 565, 211, 491, 367, 434, 371, 564, 394,
- 403, 211, 211, 211, 211, 211, 211, 420, 420, 420,
- 420, 432, 523, 433, 524, 435, 420, 420, 420, 420,
- 563, 562, 561, 396, 396, 396, 421, 535, 535, 535,
- 535, 524, 547, 524, 548, 421, 540, 540, 540, 540,
- 540, 540, 540, 540, 560, 559, 536, 535, 535, 535,
- 535, 548, 558, 548, 557, 541, 556, 555, 554, 541,
- 540, 540, 540, 540, 553, 552, 536, 551, 550, 549,
- 546, 545, 544, 543, 542, 539, 538, 537, 534, 541,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
-
- 54, 56, 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 101, 101, 101, 101, 101, 101,
- 101, 101, 101, 101, 101, 106, 533, 532, 531, 106,
- 106, 530, 529, 528, 527, 106, 130, 526, 525, 522,
- 130, 130, 130, 521, 130, 520, 130, 133, 133, 519,
- 133, 140, 140, 140, 140, 140, 140, 140, 140, 140,
- 140, 140, 153, 153, 153, 153, 153, 153, 153, 518,
- 153, 153, 153, 169, 169, 169, 169, 169, 169, 169,
-
- 169, 169, 173, 517, 516, 173, 173, 515, 514, 173,
- 513, 173, 174, 174, 174, 491, 174, 175, 175, 175,
- 512, 175, 209, 209, 511, 209, 209, 209, 209, 209,
- 209, 209, 209, 210, 210, 210, 510, 210, 490, 490,
- 509, 490, 490, 490, 490, 490, 490, 490, 490, 508,
- 507, 506, 505, 504, 503, 502, 501, 500, 499, 498,
- 497, 496, 495, 494, 493, 492, 491, 489, 488, 487,
- 486, 485, 484, 483, 482, 481, 480, 479, 478, 477,
- 476, 475, 474, 473, 472, 471, 470, 469, 468, 467,
- 466, 465, 464, 463, 462, 461, 460, 459, 458, 457,
-
- 456, 455, 454, 453, 452, 451, 450, 449, 448, 447,
- 446, 445, 444, 443, 442, 441, 440, 439, 438, 437,
- 436, 431, 430, 429, 428, 427, 426, 425, 424, 423,
- 422, 419, 418, 417, 416, 415, 414, 413, 412, 411,
- 410, 409, 408, 407, 406, 405, 404, 401, 400, 399,
- 398, 397, 395, 392, 391, 390, 389, 388, 387, 386,
- 385, 384, 383, 382, 381, 380, 379, 378, 377, 376,
- 375, 374, 373, 372, 369, 368, 365, 364, 363, 362,
- 359, 358, 357, 356, 355, 354, 353, 352, 349, 348,
- 347, 346, 345, 344, 343, 342, 341, 340, 339, 338,
-
- 335, 334, 333, 332, 331, 330, 329, 328, 327, 326,
- 325, 324, 323, 322, 321, 320, 319, 316, 315, 314,
- 313, 312, 311, 310, 309, 308, 307, 306, 305, 304,
- 303, 300, 299, 292, 291, 290, 289, 288, 287, 286,
- 285, 284, 283, 282, 281, 280, 279, 278, 275, 274,
- 273, 269, 268, 267, 266, 265, 264, 263, 262, 261,
- 260, 259, 258, 255, 254, 253, 249, 248, 247, 244,
- 243, 242, 239, 238, 237, 236, 232, 231, 228, 226,
- 155, 154, 213, 212, 208, 207, 206, 195, 191, 187,
- 186, 185, 179, 178, 138, 138, 156, 154, 155, 154,
-
- 138, 139, 138, 578, 100, 55, 55, 53, 33, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578
+ 36, 37, 38, 36, 37, 39, 36, 40, 41, 42,
+ 43, 44, 45, 36, 46, 47, 48, 49, 49, 36,
+ 50, 51, 52, 44, 36, 53, 53, 53, 53, 53,
+ 54, 36, 36, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 55, 56, 44,
+ 36, 61, 61, 65, 62, 62, 65, 68, 38, 66,
+ 68, 79, 66, 79, 90, 369, 90, 171, 69, 75,
+ 89, 70, 89, 68, 38, 71, 68, 76, 73, 77,
+ 63, 63, 63, 172, 69, 63, 72, 70, 75, 173,
+
+ 174, 71, 173, 91, 79, 91, 76, 80, 77, 81,
+ 82, 92, 72, 92, 93, 166, 93, 83, 142, 64,
+ 64, 64, 79, 167, 64, 80, 78, 81, 82, 137,
+ 143, 79, 95, 138, 80, 83, 84, 82, 96, 344,
+ 94, 95, 94, 79, 83, 78, 80, 96, 84, 82,
+ 85, 79, 79, 368, 80, 80, 83, 82, 82, 345,
+ 168, 94, 85, 79, 83, 83, 80, 137, 84, 82,
+ 94, 138, 79, 160, 169, 80, 83, 84, 82, 140,
+ 140, 140, 85, 159, 170, 83, 86, 326, 87, 325,
+ 137, 85, 106, 38, 138, 106, 106, 38, 86, 106,
+
+ 87, 109, 186, 107, 163, 137, 108, 107, 164, 138,
+ 108, 188, 187, 194, 207, 205, 189, 195, 86, 206,
+ 88, 190, 305, 208, 165, 306, 196, 86, 280, 88,
+ 97, 98, 38, 97, 98, 97, 97, 97, 97, 97,
+ 97, 97, 99, 97, 100, 101, 102, 102, 102, 97,
+ 97, 97, 97, 97, 97, 100, 100, 100, 100, 100,
+ 97, 97, 103, 100, 100, 100, 100, 100, 100, 100,
+ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
+ 100, 100, 100, 100, 100, 100, 100, 97, 97, 97,
+ 97, 79, 247, 209, 80, 79, 84, 82, 80, 358,
+
+ 84, 82, 210, 248, 83, 140, 140, 140, 83, 198,
+ 85, 211, 176, 177, 85, 176, 202, 374, 141, 359,
+ 182, 182, 199, 182, 140, 140, 140, 200, 221, 221,
+ 160, 252, 203, 225, 226, 204, 225, 375, 227, 228,
+ 159, 227, 178, 166, 141, 263, 86, 253, 110, 264,
+ 86, 167, 110, 112, 229, 230, 284, 229, 231, 232,
+ 113, 231, 173, 174, 285, 173, 234, 177, 279, 234,
+ 114, 113, 113, 113, 113, 113, 183, 278, 278, 113,
+ 113, 115, 116, 117, 118, 119, 120, 113, 121, 113,
+ 122, 123, 124, 125, 126, 113, 127, 128, 129, 130,
+
+ 131, 113, 132, 133, 111, 236, 237, 111, 236, 257,
+ 111, 240, 163, 111, 111, 241, 164, 135, 135, 301,
+ 224, 182, 182, 111, 182, 168, 302, 242, 111, 258,
+ 225, 226, 165, 225, 586, 111, 111, 227, 228, 169,
+ 227, 171, 259, 229, 230, 223, 229, 231, 232, 170,
+ 231, 173, 174, 309, 173, 234, 177, 172, 234, 234,
+ 177, 378, 234, 178, 111, 586, 236, 237, 586, 236,
+ 310, 586, 303, 401, 586, 586, 222, 183, 410, 304,
+ 585, 379, 584, 442, 586, 404, 404, 404, 440, 586,
+ 440, 499, 441, 402, 531, 532, 586, 586, 411, 428,
+
+ 428, 428, 428, 443, 404, 404, 404, 428, 428, 428,
+ 428, 583, 582, 581, 532, 532, 555, 580, 579, 556,
+ 429, 543, 543, 543, 543, 586, 147, 578, 429, 147,
+ 548, 548, 548, 548, 577, 576, 556, 148, 148, 556,
+ 575, 574, 544, 573, 572, 147, 571, 570, 569, 149,
+ 568, 549, 147, 567, 566, 150, 151, 565, 564, 563,
+ 152, 548, 548, 548, 548, 562, 561, 153, 560, 559,
+ 558, 154, 557, 155, 156, 157, 158, 111, 554, 553,
+ 111, 552, 549, 111, 551, 550, 111, 111, 547, 546,
+ 135, 135, 543, 543, 543, 543, 111, 548, 548, 548,
+
+ 548, 111, 545, 542, 541, 540, 539, 538, 111, 111,
+ 537, 536, 535, 544, 534, 533, 530, 529, 549, 528,
+ 527, 526, 525, 524, 523, 522, 521, 499, 520, 519,
+ 518, 517, 516, 515, 514, 513, 512, 111, 218, 218,
+ 218, 511, 510, 509, 508, 507, 506, 218, 218, 505,
+ 504, 503, 502, 501, 500, 499, 218, 218, 218, 218,
+ 218, 218, 58, 58, 58, 58, 58, 58, 58, 58,
+ 58, 58, 58, 60, 60, 60, 60, 60, 60, 60,
+ 60, 60, 60, 60, 67, 67, 67, 67, 67, 67,
+ 67, 67, 67, 67, 67, 74, 74, 74, 74, 74,
+
+ 74, 74, 74, 74, 74, 74, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 111, 497, 496,
+ 495, 111, 111, 494, 493, 492, 491, 111, 136, 490,
+ 489, 488, 136, 136, 136, 487, 136, 486, 136, 139,
+ 139, 485, 139, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 159, 159, 159, 159, 159, 159,
+ 159, 484, 159, 159, 159, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 179, 483, 482, 179, 179, 481,
+ 480, 179, 479, 179, 180, 180, 180, 478, 180, 181,
+ 181, 181, 477, 181, 216, 216, 476, 216, 216, 216,
+
+ 216, 216, 216, 216, 216, 217, 217, 217, 475, 217,
+ 498, 498, 474, 498, 498, 498, 498, 498, 498, 498,
+ 498, 473, 472, 471, 470, 469, 468, 467, 466, 465,
+ 464, 463, 462, 461, 460, 459, 458, 457, 456, 455,
+ 454, 453, 452, 451, 450, 449, 448, 447, 446, 445,
+ 444, 439, 438, 437, 436, 435, 434, 433, 432, 431,
+ 430, 427, 426, 425, 424, 423, 422, 421, 420, 419,
+ 418, 417, 416, 415, 414, 413, 412, 409, 408, 407,
+ 406, 405, 403, 400, 399, 398, 397, 396, 395, 394,
+ 393, 392, 391, 390, 389, 388, 387, 386, 385, 384,
+
+ 383, 382, 381, 380, 377, 376, 373, 372, 371, 370,
+ 367, 366, 365, 364, 363, 362, 361, 360, 357, 356,
+ 355, 354, 353, 352, 351, 350, 349, 348, 347, 346,
+ 343, 342, 341, 340, 339, 338, 337, 336, 335, 334,
+ 333, 332, 331, 330, 329, 328, 327, 324, 323, 322,
+ 321, 320, 319, 318, 317, 316, 315, 314, 313, 312,
+ 311, 308, 307, 300, 299, 298, 297, 296, 295, 294,
+ 293, 292, 291, 290, 289, 288, 287, 286, 283, 282,
+ 281, 277, 276, 275, 274, 273, 272, 271, 270, 269,
+ 268, 267, 266, 265, 262, 261, 260, 256, 255, 254,
+
+ 251, 250, 249, 246, 245, 244, 243, 239, 238, 235,
+ 233, 161, 160, 220, 219, 215, 214, 213, 212, 201,
+ 197, 193, 192, 191, 185, 184, 144, 144, 162, 160,
+ 161, 160, 144, 145, 144, 134, 586, 104, 59, 59,
+ 57, 35, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+
+ 586, 586, 586
} ;
-static yyconst flex_int16_t yy_chk[1068] =
+static yyconst flex_int16_t yy_chk[1104] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 5, 6,
- 7, 5, 6, 8, 9, 9, 7, 9, 17, 8,
- 47, 17, 13, 9, 17, 13, 9, 13, 13, 17,
- 9, 21, 47, 13, 5, 6, 7, 11, 21, 8,
- 9, 10, 10, 603, 10, 11, 10, 11, 12, 14,
-
- 10, 23, 14, 10, 14, 14, 12, 10, 12, 22,
- 14, 24, 234, 5, 6, 7, 22, 10, 8, 15,
- 234, 71, 15, 16, 15, 15, 16, 23, 16, 16,
- 15, 71, 18, 11, 16, 18, 15, 24, 18, 602,
- 16, 601, 19, 18, 12, 19, 20, 19, 19, 20,
- 27, 20, 20, 19, 28, 25, 27, 20, 25, 19,
- 28, 26, 43, 20, 26, 80, 43, 45, 45, 45,
- 66, 15, 80, 15, 66, 16, 27, 16, 79, 600,
- 28, 25, 79, 31, 31, 599, 31, 26, 87, 87,
- 123, 87, 31, 598, 19, 31, 19, 79, 20, 123,
-
- 20, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 5, 6, 7, 5, 6, 8, 9, 9, 7,
+ 9, 21, 8, 22, 23, 611, 24, 89, 9, 11,
+ 21, 9, 22, 10, 10, 9, 10, 11, 10, 11,
+ 5, 6, 7, 89, 10, 8, 9, 10, 12, 91,
+
+ 91, 10, 91, 23, 13, 24, 12, 13, 12, 13,
+ 13, 25, 10, 26, 25, 84, 26, 13, 51, 5,
+ 6, 7, 14, 84, 8, 14, 11, 14, 14, 47,
+ 51, 15, 27, 47, 15, 14, 15, 15, 27, 300,
+ 25, 28, 26, 16, 15, 12, 16, 28, 16, 16,
+ 15, 17, 18, 610, 17, 18, 16, 17, 18, 300,
+ 85, 27, 16, 19, 17, 18, 19, 70, 19, 19,
+ 28, 70, 20, 75, 85, 20, 19, 20, 20, 49,
+ 49, 49, 19, 75, 85, 20, 15, 609, 15, 608,
+ 101, 20, 31, 31, 101, 31, 32, 32, 16, 32,
+
+ 16, 32, 117, 31, 83, 108, 31, 32, 83, 108,
+ 32, 118, 117, 122, 128, 127, 118, 122, 19, 127,
+ 19, 118, 259, 128, 83, 259, 122, 20, 607, 20,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 32,
- 32, 81, 32, 85, 32, 597, 90, 90, 32, 90,
- 97, 32, 38, 81, 97, 104, 112, 38, 85, 104,
- 122, 117, 81, 596, 122, 117, 112, 38, 38, 38,
- 38, 38, 595, 90, 117, 38, 38, 38, 38, 38,
-
- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
- 42, 109, 109, 42, 109, 119, 42, 44, 44, 44,
- 49, 42, 42, 49, 121, 113, 49, 42, 119, 44,
- 113, 154, 42, 119, 292, 113, 124, 49, 42, 42,
- 121, 154, 49, 121, 576, 124, 142, 142, 49, 49,
- 134, 134, 134, 292, 124, 44, 159, 159, 197, 159,
- 161, 161, 197, 161, 109, 164, 164, 42, 164, 166,
- 166, 230, 166, 167, 167, 575, 167, 49, 59, 170,
- 170, 59, 170, 172, 172, 574, 172, 59, 59, 176,
-
- 176, 185, 176, 225, 189, 59, 180, 230, 59, 193,
- 180, 59, 185, 573, 59, 59, 214, 214, 225, 59,
- 189, 572, 180, 569, 218, 218, 59, 218, 193, 568,
- 59, 221, 59, 59, 59, 59, 129, 567, 221, 129,
- 219, 193, 129, 252, 219, 566, 252, 129, 129, 250,
- 223, 255, 176, 129, 220, 220, 250, 220, 129, 219,
- 222, 222, 223, 222, 129, 129, 224, 224, 255, 224,
- 565, 223, 226, 226, 564, 226, 227, 227, 305, 227,
- 228, 228, 251, 228, 229, 229, 326, 229, 329, 251,
- 356, 368, 563, 129, 135, 135, 135, 305, 359, 359,
-
- 359, 491, 560, 135, 491, 326, 397, 329, 559, 356,
- 368, 135, 135, 135, 135, 135, 135, 385, 385, 385,
- 385, 396, 504, 396, 505, 397, 420, 420, 420, 420,
- 558, 557, 556, 396, 396, 396, 385, 517, 517, 517,
- 517, 504, 537, 505, 538, 420, 521, 521, 521, 521,
- 522, 522, 522, 522, 554, 553, 517, 535, 535, 535,
- 535, 537, 552, 538, 551, 521, 550, 549, 548, 522,
- 540, 540, 540, 540, 547, 544, 535, 543, 542, 539,
- 534, 533, 525, 524, 523, 520, 519, 518, 516, 540,
- 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
-
- 579, 580, 580, 580, 580, 580, 580, 580, 580, 580,
- 580, 580, 581, 581, 581, 581, 581, 581, 581, 581,
- 581, 581, 581, 582, 582, 582, 582, 582, 582, 582,
- 582, 582, 582, 582, 583, 583, 583, 583, 583, 583,
- 583, 583, 583, 583, 583, 584, 515, 514, 513, 584,
- 584, 512, 511, 510, 509, 584, 585, 507, 506, 503,
- 585, 585, 585, 502, 585, 501, 585, 586, 586, 499,
- 586, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 588, 588, 588, 588, 588, 588, 588, 498,
- 588, 588, 588, 589, 589, 589, 589, 589, 589, 589,
-
- 589, 589, 590, 497, 496, 590, 590, 495, 493, 590,
- 492, 590, 591, 591, 591, 490, 591, 592, 592, 592,
- 489, 592, 593, 593, 488, 593, 593, 593, 593, 593,
- 593, 593, 593, 594, 594, 594, 487, 594, 604, 604,
- 486, 604, 604, 604, 604, 604, 604, 604, 604, 485,
- 484, 483, 482, 481, 480, 479, 476, 475, 474, 473,
- 472, 469, 468, 467, 466, 465, 464, 463, 462, 460,
- 459, 458, 457, 456, 453, 451, 450, 449, 448, 447,
- 445, 444, 443, 442, 441, 440, 439, 438, 437, 436,
- 435, 434, 433, 430, 429, 428, 426, 425, 423, 422,
-
- 419, 418, 417, 416, 415, 414, 413, 412, 411, 410,
- 409, 408, 407, 406, 405, 404, 403, 402, 401, 400,
- 399, 395, 394, 393, 392, 391, 390, 389, 388, 387,
- 386, 384, 383, 382, 381, 380, 379, 378, 377, 376,
- 375, 374, 373, 372, 371, 370, 369, 367, 366, 365,
- 364, 363, 358, 354, 352, 351, 350, 349, 348, 347,
- 345, 343, 342, 341, 340, 339, 338, 337, 336, 334,
- 333, 332, 331, 330, 328, 327, 323, 322, 321, 319,
- 316, 314, 313, 311, 309, 308, 307, 306, 304, 303,
- 302, 301, 300, 299, 298, 297, 296, 295, 294, 293,
-
- 291, 290, 289, 287, 286, 285, 284, 283, 282, 281,
- 280, 279, 278, 277, 276, 275, 273, 269, 268, 267,
- 266, 265, 264, 263, 262, 261, 260, 259, 258, 257,
- 256, 254, 253, 249, 248, 247, 246, 245, 244, 243,
- 242, 241, 240, 239, 238, 237, 236, 235, 233, 232,
- 231, 213, 208, 207, 206, 205, 204, 203, 202, 201,
- 200, 199, 198, 196, 195, 194, 192, 191, 190, 188,
- 187, 186, 184, 183, 182, 181, 179, 178, 171, 168,
- 155, 153, 138, 136, 127, 126, 125, 120, 118, 116,
- 115, 114, 111, 110, 105, 100, 77, 74, 72, 70,
-
- 69, 55, 53, 33, 30, 4, 3, 2, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 578, 578, 578, 578, 578, 578, 578
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 33, 191, 129, 33, 34, 33, 33, 34, 313,
+
+ 34, 34, 129, 191, 33, 48, 48, 48, 34, 124,
+ 33, 129, 94, 94, 34, 94, 126, 334, 48, 313,
+ 114, 114, 124, 114, 140, 140, 140, 124, 148, 148,
+ 160, 195, 126, 165, 165, 126, 165, 334, 167, 167,
+ 160, 167, 94, 228, 48, 203, 33, 195, 33, 203,
+ 34, 228, 34, 40, 170, 170, 241, 170, 172, 172,
+ 40, 172, 173, 173, 241, 173, 176, 176, 606, 176,
+ 40, 40, 40, 40, 40, 40, 114, 221, 221, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+
+ 40, 40, 40, 40, 46, 178, 178, 46, 178, 199,
+ 46, 186, 226, 46, 46, 186, 226, 46, 46, 257,
+ 605, 182, 182, 46, 182, 230, 257, 186, 46, 199,
+ 225, 225, 226, 225, 237, 46, 46, 227, 227, 230,
+ 227, 232, 199, 229, 229, 604, 229, 231, 231, 230,
+ 231, 233, 233, 262, 233, 234, 234, 232, 234, 235,
+ 235, 337, 235, 237, 46, 53, 236, 236, 53, 236,
+ 262, 53, 258, 364, 53, 53, 603, 182, 376, 258,
+ 584, 337, 583, 405, 53, 367, 367, 367, 499, 53,
+ 404, 499, 404, 364, 512, 513, 53, 53, 376, 393,
+
+ 393, 393, 393, 405, 404, 404, 404, 428, 428, 428,
+ 428, 582, 581, 580, 512, 513, 545, 577, 576, 546,
+ 393, 525, 525, 525, 525, 53, 63, 575, 428, 63,
+ 529, 529, 529, 529, 574, 573, 545, 63, 63, 546,
+ 572, 571, 525, 568, 567, 63, 566, 565, 564, 63,
+ 562, 529, 63, 561, 560, 63, 63, 559, 558, 557,
+ 63, 530, 530, 530, 530, 556, 555, 63, 552, 551,
+ 550, 63, 547, 63, 63, 63, 63, 135, 542, 541,
+ 135, 533, 530, 135, 532, 531, 135, 135, 528, 527,
+ 135, 135, 543, 543, 543, 543, 135, 548, 548, 548,
+
+ 548, 135, 526, 524, 523, 522, 521, 520, 135, 135,
+ 519, 518, 517, 543, 515, 514, 511, 510, 548, 509,
+ 507, 506, 505, 504, 503, 501, 500, 498, 497, 496,
+ 495, 494, 493, 492, 491, 490, 489, 135, 141, 141,
+ 141, 488, 487, 484, 483, 482, 481, 141, 141, 480,
+ 477, 476, 475, 474, 473, 472, 141, 141, 141, 141,
+ 141, 141, 587, 587, 587, 587, 587, 587, 587, 587,
+ 587, 587, 587, 588, 588, 588, 588, 588, 588, 588,
+ 588, 588, 588, 588, 589, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 589, 590, 590, 590, 590, 590,
+
+ 590, 590, 590, 590, 590, 590, 591, 591, 591, 591,
+ 591, 591, 591, 591, 591, 591, 591, 592, 471, 470,
+ 468, 592, 592, 467, 466, 465, 464, 592, 593, 461,
+ 459, 458, 593, 593, 593, 457, 593, 456, 593, 594,
+ 594, 455, 594, 595, 595, 595, 595, 595, 595, 595,
+ 595, 595, 595, 595, 596, 596, 596, 596, 596, 596,
+ 596, 453, 596, 596, 596, 597, 597, 597, 597, 597,
+ 597, 597, 597, 597, 598, 452, 451, 598, 598, 450,
+ 449, 598, 448, 598, 599, 599, 599, 447, 599, 600,
+ 600, 600, 446, 600, 601, 601, 445, 601, 601, 601,
+
+ 601, 601, 601, 601, 601, 602, 602, 602, 444, 602,
+ 612, 612, 443, 612, 612, 612, 612, 612, 612, 612,
+ 612, 442, 441, 438, 437, 436, 434, 433, 431, 430,
+ 427, 426, 425, 424, 423, 422, 421, 420, 419, 418,
+ 417, 416, 415, 414, 413, 412, 411, 410, 409, 408,
+ 407, 403, 402, 401, 400, 399, 398, 397, 396, 395,
+ 394, 392, 391, 390, 389, 388, 387, 386, 385, 384,
+ 383, 382, 381, 380, 379, 378, 377, 375, 374, 373,
+ 372, 371, 366, 362, 360, 359, 358, 357, 356, 355,
+ 353, 351, 350, 349, 348, 347, 346, 345, 344, 342,
+
+ 341, 340, 339, 338, 336, 335, 331, 330, 329, 327,
+ 324, 322, 321, 319, 317, 316, 315, 314, 312, 311,
+ 310, 309, 308, 307, 306, 305, 304, 303, 302, 301,
+ 299, 298, 297, 295, 294, 293, 292, 291, 290, 289,
+ 288, 287, 286, 285, 284, 283, 281, 277, 275, 274,
+ 273, 272, 271, 270, 269, 268, 267, 266, 265, 264,
+ 263, 261, 260, 256, 255, 254, 253, 252, 251, 250,
+ 249, 248, 247, 246, 245, 244, 243, 242, 240, 239,
+ 238, 220, 215, 214, 213, 212, 211, 210, 209, 208,
+ 207, 206, 205, 204, 202, 201, 200, 198, 197, 196,
+
+ 194, 193, 192, 190, 189, 188, 187, 185, 184, 177,
+ 174, 161, 159, 144, 142, 134, 132, 131, 130, 125,
+ 123, 121, 120, 119, 116, 115, 109, 104, 81, 78,
+ 76, 74, 73, 59, 57, 42, 35, 30, 4, 3,
+ 2, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+
+ 586, 586, 586
} ;
static yy_state_type yy_last_accepting_state;
extern int gram__flex_debug;
int gram__flex_debug = 1;
-static yyconst flex_int16_t yy_rule_linenum[130] =
+static yyconst flex_int16_t yy_rule_linenum[133] =
{ 0,
- 199, 202, 203, 204, 212, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 289, 293, 294, 295, 297, 309, 323, 340, 345,
- 348, 351, 354, 366, 377, 378, 379, 389, 403, 410,
- 430, 440, 455, 465, 492, 505, 521, 536, 553, 554,
- 565, 576, 577, 589, 605, 615, 642, 654, 676, 677,
-
- 688, 703, 719, 720, 721, 722, 723, 724, 725, 728,
- 730, 744, 762, 767, 768, 774, 775, 786, 792, 798,
- 804, 820, 821, 825, 832, 857, 886, 932, 933
+ 201, 204, 205, 206, 214, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 291, 295, 296, 297, 299, 311, 325, 342, 347,
+ 350, 353, 356, 368, 379, 388, 393, 394, 395, 405,
+ 419, 426, 446, 456, 471, 481, 508, 521, 537, 552,
+ 569, 570, 581, 592, 593, 605, 621, 631, 658, 670,
+
+ 692, 693, 704, 719, 735, 736, 737, 738, 739, 740,
+ 741, 744, 746, 760, 778, 783, 784, 790, 791, 803,
+ 809, 815, 821, 838, 839, 843, 850, 875, 901, 929,
+ 976, 978
} ;
/* The intent behind this definition is that it'll catch
/* Bracketed identifiers support. */
+/* Nick extra rules for element groups */
+
/* Zero or more instances of backslash-newline. Following GCC, allow
white space between the backslash and the newline. */
/* An equal sign, with optional leading whitespaces. This is used in some
deprecated constructs. */
-#line 1155 "src/scan-gram.c"
+#line 1172 "src/scan-gram.c"
#define INITIAL 0
#define SC_YACC_COMMENT 1
#define SC_CHARACTER 13
#define SC_BRACKETED_ID 14
#define SC_RETURN_BRACKETED_ID 15
+#define SC_ELEMENT_GROUP 16
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
register int yy_act;
/* %% [7.0] user's declarations go here */
-#line 160 "src/scan-gram.l"
+#line 162 "src/scan-gram.l"
/* Nesting level. Either for nested braces, or nested angle brackets
| Scanning white space. |
`-----------------------*/
-#line 1457 "src/scan-gram.c"
+#line 1475 "src/scan-gram.c"
if ( !(yy_init) )
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 579 )
+ if ( yy_current_state >= 587 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 578 );
+ while ( yy_current_state != 586 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 130 )
+ else if ( yy_act < 133 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], gram_text );
- else if ( yy_act == 130 )
+ else if ( yy_act == 133 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
gram_text );
- else if ( yy_act == 131 )
+ else if ( yy_act == 134 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
/* Comments and white space. */
case 1:
YY_RULE_SETUP
-#line 199 "src/scan-gram.l"
+#line 201 "src/scan-gram.l"
{
complain (loc, Wother, _("stray ',' treated as white space"));
}
YY_BREAK
case 2:
/* rule 2 can match eol */
-#line 203 "src/scan-gram.l"
+#line 205 "src/scan-gram.l"
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-#line 203 "src/scan-gram.l"
+#line 205 "src/scan-gram.l"
continue;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 204 "src/scan-gram.l"
+#line 206 "src/scan-gram.l"
{
token_start = loc->start;
context_state = YY_START;
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 212 "src/scan-gram.l"
+#line 214 "src/scan-gram.l"
{
handle_syncline (gram_text + sizeof "#line " - 1, *loc);
}
case 6:
YY_RULE_SETUP
-#line 230 "src/scan-gram.l"
+#line 232 "src/scan-gram.l"
return PERCENT_NONASSOC;
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 231 "src/scan-gram.l"
+#line 233 "src/scan-gram.l"
return PERCENT_CODE;
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 232 "src/scan-gram.l"
+#line 234 "src/scan-gram.l"
RETURN_PERCENT_FLAG("parse.trace");
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 233 "src/scan-gram.l"
+#line 235 "src/scan-gram.l"
return PERCENT_DEFAULT_PREC;
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 234 "src/scan-gram.l"
+#line 236 "src/scan-gram.l"
return PERCENT_DEFINE;
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 235 "src/scan-gram.l"
+#line 237 "src/scan-gram.l"
return PERCENT_DEFINES;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 236 "src/scan-gram.l"
+#line 238 "src/scan-gram.l"
return PERCENT_DESTRUCTOR;
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 237 "src/scan-gram.l"
+#line 239 "src/scan-gram.l"
return PERCENT_DPREC;
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 238 "src/scan-gram.l"
+#line 240 "src/scan-gram.l"
return PERCENT_EMPTY;
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 239 "src/scan-gram.l"
+#line 241 "src/scan-gram.l"
return PERCENT_ERROR_VERBOSE;
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 240 "src/scan-gram.l"
+#line 242 "src/scan-gram.l"
return PERCENT_EXPECT;
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 241 "src/scan-gram.l"
+#line 243 "src/scan-gram.l"
return PERCENT_EXPECT_RR;
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 242 "src/scan-gram.l"
+#line 244 "src/scan-gram.l"
return PERCENT_FILE_PREFIX;
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 243 "src/scan-gram.l"
+#line 245 "src/scan-gram.l"
return PERCENT_YACC;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 244 "src/scan-gram.l"
+#line 246 "src/scan-gram.l"
return PERCENT_INITIAL_ACTION;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 245 "src/scan-gram.l"
+#line 247 "src/scan-gram.l"
return PERCENT_GLR_PARSER;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 246 "src/scan-gram.l"
+#line 248 "src/scan-gram.l"
return PERCENT_LANGUAGE;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 247 "src/scan-gram.l"
+#line 249 "src/scan-gram.l"
return PERCENT_LEFT;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 248 "src/scan-gram.l"
+#line 250 "src/scan-gram.l"
RETURN_PERCENT_PARAM(lex);
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 249 "src/scan-gram.l"
+#line 251 "src/scan-gram.l"
RETURN_PERCENT_FLAG("locations");
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 250 "src/scan-gram.l"
+#line 252 "src/scan-gram.l"
return PERCENT_MERGE;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 251 "src/scan-gram.l"
+#line 253 "src/scan-gram.l"
return PERCENT_NAME_PREFIX;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 252 "src/scan-gram.l"
+#line 254 "src/scan-gram.l"
return PERCENT_NO_DEFAULT_PREC;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 253 "src/scan-gram.l"
+#line 255 "src/scan-gram.l"
return PERCENT_NO_LINES;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 254 "src/scan-gram.l"
+#line 256 "src/scan-gram.l"
return PERCENT_NONASSOC;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 255 "src/scan-gram.l"
+#line 257 "src/scan-gram.l"
return PERCENT_NONDETERMINISTIC_PARSER;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 256 "src/scan-gram.l"
+#line 258 "src/scan-gram.l"
return PERCENT_NTERM;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 257 "src/scan-gram.l"
+#line 259 "src/scan-gram.l"
return PERCENT_OUTPUT;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 258 "src/scan-gram.l"
+#line 260 "src/scan-gram.l"
RETURN_PERCENT_PARAM(both);
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 259 "src/scan-gram.l"
+#line 261 "src/scan-gram.l"
RETURN_PERCENT_PARAM(parse);
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 260 "src/scan-gram.l"
+#line 262 "src/scan-gram.l"
return PERCENT_PREC;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 261 "src/scan-gram.l"
+#line 263 "src/scan-gram.l"
return PERCENT_PRECEDENCE;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 262 "src/scan-gram.l"
+#line 264 "src/scan-gram.l"
return PERCENT_PRINTER;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 263 "src/scan-gram.l"
+#line 265 "src/scan-gram.l"
RETURN_PERCENT_FLAG("api.pure");
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 264 "src/scan-gram.l"
+#line 266 "src/scan-gram.l"
return PERCENT_REQUIRE;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 265 "src/scan-gram.l"
+#line 267 "src/scan-gram.l"
return PERCENT_RIGHT;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 266 "src/scan-gram.l"
+#line 268 "src/scan-gram.l"
return PERCENT_SKELETON;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 267 "src/scan-gram.l"
+#line 269 "src/scan-gram.l"
return PERCENT_START;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 268 "src/scan-gram.l"
+#line 270 "src/scan-gram.l"
return PERCENT_TOKEN;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 269 "src/scan-gram.l"
+#line 271 "src/scan-gram.l"
return PERCENT_TOKEN;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 270 "src/scan-gram.l"
+#line 272 "src/scan-gram.l"
return PERCENT_TOKEN_TABLE;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 271 "src/scan-gram.l"
+#line 273 "src/scan-gram.l"
return PERCENT_TYPE;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 272 "src/scan-gram.l"
+#line 274 "src/scan-gram.l"
return PERCENT_UNION;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 273 "src/scan-gram.l"
+#line 275 "src/scan-gram.l"
return PERCENT_VERBOSE;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 274 "src/scan-gram.l"
+#line 276 "src/scan-gram.l"
return PERCENT_YACC;
YY_BREAK
/* deprecated */
case 51:
YY_RULE_SETUP
-#line 277 "src/scan-gram.l"
+#line 279 "src/scan-gram.l"
DEPRECATED("%default-prec");
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 278 "src/scan-gram.l"
+#line 280 "src/scan-gram.l"
DEPRECATED("%define parse.error verbose");
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 279 "src/scan-gram.l"
+#line 281 "src/scan-gram.l"
DEPRECATED("%expect-rr");
YY_BREAK
case 54:
/* rule 54 can match eol */
YY_RULE_SETUP
-#line 280 "src/scan-gram.l"
+#line 282 "src/scan-gram.l"
DEPRECATED("%file-prefix");
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 281 "src/scan-gram.l"
+#line 283 "src/scan-gram.l"
DEPRECATED("%fixed-output-files");
YY_BREAK
case 56:
/* rule 56 can match eol */
YY_RULE_SETUP
-#line 282 "src/scan-gram.l"
+#line 284 "src/scan-gram.l"
DEPRECATED("%name-prefix");
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 283 "src/scan-gram.l"
+#line 285 "src/scan-gram.l"
DEPRECATED("%no-default-prec");
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 284 "src/scan-gram.l"
+#line 286 "src/scan-gram.l"
DEPRECATED("%no-lines");
YY_BREAK
case 59:
/* rule 59 can match eol */
YY_RULE_SETUP
-#line 285 "src/scan-gram.l"
+#line 287 "src/scan-gram.l"
DEPRECATED("%output");
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 286 "src/scan-gram.l"
+#line 288 "src/scan-gram.l"
DEPRECATED("%pure-parser");
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 287 "src/scan-gram.l"
+#line 289 "src/scan-gram.l"
DEPRECATED("%token-table");
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 289 "src/scan-gram.l"
+#line 291 "src/scan-gram.l"
{
complain (loc, complaint, _("invalid directive: %s"), quote (gram_text));
}
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 293 "src/scan-gram.l"
+#line 295 "src/scan-gram.l"
return EQUAL;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 294 "src/scan-gram.l"
+#line 296 "src/scan-gram.l"
return PIPE;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 295 "src/scan-gram.l"
+#line 297 "src/scan-gram.l"
return SEMICOLON;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 297 "src/scan-gram.l"
+#line 299 "src/scan-gram.l"
{
val->uniqstr = uniqstr_new (gram_text);
id_loc = *loc;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 309 "src/scan-gram.l"
+#line 311 "src/scan-gram.l"
{
val->integer = scan_integer (gram_text, 10, *loc);
#if 0
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 323 "src/scan-gram.l"
+#line 325 "src/scan-gram.l"
{
val->integer = scan_integer (gram_text, 16, *loc);
#if 0
accept "1FOO" as "1 FOO". */
case 69:
YY_RULE_SETUP
-#line 340 "src/scan-gram.l"
+#line 342 "src/scan-gram.l"
{
complain (loc, complaint, _("invalid identifier: %s"), quote (gram_text));
}
/* Characters. */
case 70:
YY_RULE_SETUP
-#line 345 "src/scan-gram.l"
+#line 347 "src/scan-gram.l"
token_start = loc->start; BEGIN SC_ESCAPED_CHARACTER; gram_piece_pack(); gram_piece_append("<AST_Char>"); gram_piece_flush(strlen(gram_text)); gram_piece_append("<AST_Text>");
YY_BREAK
/* Strings. */
case 71:
YY_RULE_SETUP
-#line 348 "src/scan-gram.l"
+#line 350 "src/scan-gram.l"
token_start = loc->start; BEGIN SC_ESCAPED_STRING; gram_piece_pack(); gram_piece_append("<AST_String>"); gram_piece_flush(strlen(gram_text)); gram_piece_append("<AST_Text>");
YY_BREAK
/* Prologue. */
case 72:
YY_RULE_SETUP
-#line 351 "src/scan-gram.l"
+#line 353 "src/scan-gram.l"
code_start = loc->start; BEGIN SC_PROLOGUE; gram_piece_pack(); gram_piece_append("<AST_Section1_Prologue>"); gram_piece_flush(strlen(gram_text)); gram_piece_append("<AST_Text>");
YY_BREAK
/* Code in between braces. */
case 73:
YY_RULE_SETUP
-#line 354 "src/scan-gram.l"
+#line 356 "src/scan-gram.l"
{
STRING_GROW;
nesting = 0;
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
-#line 366 "src/scan-gram.l"
+#line 368 "src/scan-gram.l"
{
nesting = 0;
code_start = loc->start;
BEGIN SC_PREDICATE;
}
YY_BREAK
-/* A type. */
+/* Nick extra rules for element groups */
case 75:
YY_RULE_SETUP
-#line 377 "src/scan-gram.l"
-gram_piece_pack(); gram_piece_append("<AST_TagRef><<AST_Text>*</AST_Text>></AST_TagRef>"); return ~TAG_ANY; /*return TAG_ANY;*/
+#line 379 "src/scan-gram.l"
+{
+ STRING_GROW;
+ nesting = 0;
+ code_start = loc->start;
+ BEGIN SC_ELEMENT_GROUP;
+ gram_piece_pack();
+ gram_piece_flush(strlen(gram_text));
+ gram_piece_append("<AST_Text>");
+ }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 378 "src/scan-gram.l"
-gram_piece_pack(); gram_piece_append("<AST_TagRef><<AST_Text />></AST_TagRef>"); return ~TAG_NONE; /*return TAG_NONE;*/
+#line 388 "src/scan-gram.l"
+{
+ return ')';
+ }
YY_BREAK
+/* A type. */
case 77:
YY_RULE_SETUP
-#line 379 "src/scan-gram.l"
+#line 393 "src/scan-gram.l"
+gram_piece_pack(); gram_piece_append("<AST_TagRef><<AST_Text>*</AST_Text>></AST_TagRef>"); return ~TAG_ANY; /*return TAG_ANY;*/
+ YY_BREAK
+case 78:
+YY_RULE_SETUP
+#line 394 "src/scan-gram.l"
+gram_piece_pack(); gram_piece_append("<AST_TagRef><<AST_Text />></AST_TagRef>"); return ~TAG_NONE; /*return TAG_NONE;*/
+ YY_BREAK
+case 79:
+YY_RULE_SETUP
+#line 395 "src/scan-gram.l"
{
nesting = 0;
token_start = loc->start;
gram_piece_append("<AST_Text>");
}
YY_BREAK
-case 78:
+case 80:
YY_RULE_SETUP
-#line 389 "src/scan-gram.l"
+#line 405 "src/scan-gram.l"
{
static int percent_percent_count;
if (++percent_percent_count == 2)
return PERCENT_PERCENT;
}
YY_BREAK
-case 79:
+case 81:
YY_RULE_SETUP
-#line 403 "src/scan-gram.l"
+#line 419 "src/scan-gram.l"
{
bracketed_id_str = NULL;
bracketed_id_start = loc->start;
BEGIN SC_BRACKETED_ID;
}
YY_BREAK
-case 80:
+case 82:
YY_RULE_SETUP
-#line 410 "src/scan-gram.l"
+#line 426 "src/scan-gram.l"
{
complain (loc, complaint, "%s: %s",
ngettext ("invalid character", "invalid characters", gram_leng),
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 416 "src/scan-gram.l"
+#line 432 "src/scan-gram.l"
{
loc->start = loc->end = scanner_cursor;
yyterminate ();
`--------------------------------------------------------------*/
-case 81:
+case 83:
YY_RULE_SETUP
-#line 430 "src/scan-gram.l"
+#line 446 "src/scan-gram.l"
complain (loc, complaint, _("invalid null character"));
YY_BREAK
`-----------------------------------------------------------------*/
-case 82:
+case 84:
YY_RULE_SETUP
-#line 440 "src/scan-gram.l"
+#line 456 "src/scan-gram.l"
{
if (bracketed_id_str)
{
}
}
YY_BREAK
-case 83:
+case 85:
YY_RULE_SETUP
-#line 455 "src/scan-gram.l"
+#line 471 "src/scan-gram.l"
{
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#endif
}
YY_BREAK
-case 84:
+case 86:
YY_RULE_SETUP
-#line 465 "src/scan-gram.l"
+#line 481 "src/scan-gram.l"
{
ROLLBACK_CURRENT_TOKEN;
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
}
YY_BREAK
case YY_STATE_EOF(SC_AFTER_IDENTIFIER):
-#line 475 "src/scan-gram.l"
+#line 491 "src/scan-gram.l"
{
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
`--------------------------------*/
-case 85:
+case 87:
YY_RULE_SETUP
-#line 492 "src/scan-gram.l"
+#line 508 "src/scan-gram.l"
{
if (bracketed_id_str)
{
}
}
YY_BREAK
-case 86:
+case 88:
YY_RULE_SETUP
-#line 505 "src/scan-gram.l"
+#line 521 "src/scan-gram.l"
{
BEGIN bracketed_id_context_state;
if (bracketed_id_str)
complain (loc, complaint, _("an identifier expected"));
}
YY_BREAK
-case 87:
+case 89:
YY_RULE_SETUP
-#line 521 "src/scan-gram.l"
+#line 537 "src/scan-gram.l"
{
complain (loc, complaint, "%s: %s",
ngettext ("invalid character in bracketed name",
}
YY_BREAK
case YY_STATE_EOF(SC_BRACKETED_ID):
-#line 528 "src/scan-gram.l"
+#line 544 "src/scan-gram.l"
{
BEGIN bracketed_id_context_state;
unexpected_eof (bracketed_id_start, "]");
-case 88:
+case 90:
YY_RULE_SETUP
-#line 536 "src/scan-gram.l"
+#line 552 "src/scan-gram.l"
{
ROLLBACK_CURRENT_TOKEN;
val->uniqstr = bracketed_id_str;
`---------------------------------------------------------------*/
-case 89:
+case 91:
YY_RULE_SETUP
-#line 553 "src/scan-gram.l"
+#line 569 "src/scan-gram.l"
BEGIN context_state;
YY_BREAK
-case 90:
-/* rule 90 can match eol */
+case 92:
+/* rule 92 can match eol */
YY_RULE_SETUP
-#line 554 "src/scan-gram.l"
+#line 570 "src/scan-gram.l"
continue;
YY_BREAK
case YY_STATE_EOF(SC_YACC_COMMENT):
-#line 555 "src/scan-gram.l"
+#line 571 "src/scan-gram.l"
unexpected_eof (token_start, "*/"); BEGIN context_state;
YY_BREAK
`------------------------------------------------------------*/
-case 91:
-/* rule 91 can match eol */
+case 93:
+/* rule 93 can match eol */
YY_RULE_SETUP
-#line 565 "src/scan-gram.l"
+#line 581 "src/scan-gram.l"
STRING_GROW; BEGIN context_state;
YY_BREAK
case YY_STATE_EOF(SC_COMMENT):
-#line 566 "src/scan-gram.l"
+#line 582 "src/scan-gram.l"
unexpected_eof (token_start, "*/"); BEGIN context_state;
YY_BREAK
`--------------------------------------------------------------*/
-case 92:
-/* rule 92 can match eol */
+case 94:
+/* rule 94 can match eol */
YY_RULE_SETUP
-#line 576 "src/scan-gram.l"
+#line 592 "src/scan-gram.l"
STRING_GROW; BEGIN context_state;
YY_BREAK
-case 93:
-/* rule 93 can match eol */
+case 95:
+/* rule 95 can match eol */
YY_RULE_SETUP
-#line 577 "src/scan-gram.l"
+#line 593 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case YY_STATE_EOF(SC_LINE_COMMENT):
-#line 578 "src/scan-gram.l"
+#line 594 "src/scan-gram.l"
BEGIN context_state;
YY_BREAK
`------------------------------------------------*/
-case 94:
+case 96:
YY_RULE_SETUP
-#line 589 "src/scan-gram.l"
+#line 605 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = token_start;
}
YY_BREAK
case YY_STATE_EOF(SC_ESCAPED_STRING):
-#line 604 "src/scan-gram.l"
+#line 620 "src/scan-gram.l"
unexpected_eof (token_start, "\"");
YY_BREAK
-case 95:
-/* rule 95 can match eol */
+case 97:
+/* rule 97 can match eol */
YY_RULE_SETUP
-#line 605 "src/scan-gram.l"
+#line 621 "src/scan-gram.l"
unexpected_newline (token_start, "\"");
YY_BREAK
`----------------------------------------------------------*/
-case 96:
+case 98:
YY_RULE_SETUP
-#line 615 "src/scan-gram.l"
+#line 631 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = token_start;
#endif
}
YY_BREAK
-case 97:
-/* rule 97 can match eol */
+case 99:
+/* rule 99 can match eol */
YY_RULE_SETUP
-#line 642 "src/scan-gram.l"
+#line 658 "src/scan-gram.l"
unexpected_newline (token_start, "'");
YY_BREAK
case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
-#line 643 "src/scan-gram.l"
+#line 659 "src/scan-gram.l"
unexpected_eof (token_start, "'");
YY_BREAK
`--------------------------------------------------------------*/
-case 98:
+case 100:
YY_RULE_SETUP
-#line 654 "src/scan-gram.l"
+#line 670 "src/scan-gram.l"
{
--nesting;
if (nesting < 0)
STRING_GROW;
}
YY_BREAK
-case 99:
-/* rule 99 can match eol */
+case 101:
+/* rule 101 can match eol */
YY_RULE_SETUP
-#line 676 "src/scan-gram.l"
+#line 692 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
-case 100:
+case 102:
YY_RULE_SETUP
-#line 677 "src/scan-gram.l"
+#line 693 "src/scan-gram.l"
STRING_GROW; nesting += gram_leng;
YY_BREAK
case YY_STATE_EOF(SC_TAG):
-#line 679 "src/scan-gram.l"
+#line 695 "src/scan-gram.l"
unexpected_eof (token_start, ">");
YY_BREAK
`----------------------------*/
-case 101:
+case 103:
YY_RULE_SETUP
-#line 688 "src/scan-gram.l"
+#line 704 "src/scan-gram.l"
{
unsigned long int c = strtoul (gram_text + 1, NULL, 8);
if (!c || UCHAR_MAX < c)
}
}
YY_BREAK
-case 102:
+case 104:
YY_RULE_SETUP
-#line 703 "src/scan-gram.l"
+#line 719 "src/scan-gram.l"
{
verify (UCHAR_MAX < ULONG_MAX);
unsigned long int c = strtoul (gram_text + 2, NULL, 16);
}
}
YY_BREAK
-case 103:
+case 105:
YY_RULE_SETUP
-#line 719 "src/scan-gram.l"
+#line 735 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\a'); gram_piece_append("<AST_Text_Escape character=\"7\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 104:
+case 106:
YY_RULE_SETUP
-#line 720 "src/scan-gram.l"
+#line 736 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\b'); gram_piece_append("<AST_Text_Escape character=\"8\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 105:
+case 107:
YY_RULE_SETUP
-#line 721 "src/scan-gram.l"
+#line 737 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\f'); gram_piece_append("<AST_Text_Escape character=\"12\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 106:
+case 108:
YY_RULE_SETUP
-#line 722 "src/scan-gram.l"
+#line 738 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\n'); gram_piece_append("<AST_Text_Escape character=\"10\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 107:
+case 109:
YY_RULE_SETUP
-#line 723 "src/scan-gram.l"
+#line 739 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\r'); gram_piece_append("<AST_Text_Escape character=\"13\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 108:
+case 110:
YY_RULE_SETUP
-#line 724 "src/scan-gram.l"
+#line 740 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\t'); gram_piece_append("<AST_Text_Escape character=\"9\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 109:
+case 111:
YY_RULE_SETUP
-#line 725 "src/scan-gram.l"
+#line 741 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\v'); gram_piece_append("<AST_Text_Escape character=\"11\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
/* \\[\"\'?\\] would be shorter, but it confuses xgettext. */
-case 110:
+case 112:
YY_RULE_SETUP
-#line 728 "src/scan-gram.l"
+#line 744 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, gram_text[1]); sprintf(gram_piece_temp, "<AST_Text_Escape character=\"%d\">", gram_text[1]); gram_piece_append(gram_piece_temp); gram_piece_flush(strlen(gram_text)); gram_piece_append("</AST_Text_Escape>");
YY_BREAK
-case 111:
+case 113:
YY_RULE_SETUP
-#line 730 "src/scan-gram.l"
+#line 746 "src/scan-gram.l"
{
int c = convert_ucn_to_byte (gram_text);
if (c <= 0)
}
}
YY_BREAK
-case 112:
-/* rule 112 can match eol */
+case 114:
+/* rule 114 can match eol */
YY_RULE_SETUP
-#line 744 "src/scan-gram.l"
+#line 760 "src/scan-gram.l"
{
char const *p = gram_text + 1;
/* Quote only if escaping won't make the character visible. */
`--------------------------------------------*/
-case 113:
-/* rule 113 can match eol */
+case 115:
+/* rule 115 can match eol */
YY_RULE_SETUP
-#line 762 "src/scan-gram.l"
+#line 778 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
-case 114:
+case 116:
YY_RULE_SETUP
-#line 767 "src/scan-gram.l"
+#line 783 "src/scan-gram.l"
STRING_GROW; BEGIN context_state;
YY_BREAK
-case 115:
-/* rule 115 can match eol */
+case 117:
+/* rule 117 can match eol */
YY_RULE_SETUP
-#line 768 "src/scan-gram.l"
+#line 784 "src/scan-gram.l"
unexpected_newline (token_start, "'");
YY_BREAK
case YY_STATE_EOF(SC_CHARACTER):
-#line 769 "src/scan-gram.l"
+#line 785 "src/scan-gram.l"
unexpected_eof (token_start, "'");
YY_BREAK
-case 116:
+case 118:
YY_RULE_SETUP
-#line 774 "src/scan-gram.l"
+#line 790 "src/scan-gram.l"
STRING_GROW; BEGIN context_state;
YY_BREAK
-case 117:
-/* rule 117 can match eol */
+case 119:
+/* rule 119 can match eol */
YY_RULE_SETUP
-#line 775 "src/scan-gram.l"
+#line 791 "src/scan-gram.l"
unexpected_newline (token_start, "\"");
YY_BREAK
case YY_STATE_EOF(SC_STRING):
-#line 776 "src/scan-gram.l"
+#line 792 "src/scan-gram.l"
unexpected_eof (token_start, "\"");
YY_BREAK
/*---------------------------------------------------.
| Strings, comments etc. can be found in user code. |
`---------------------------------------------------*/
+/* Nick added: SC_ELEMENT_GROUP */
-case 118:
+case 120:
YY_RULE_SETUP
-#line 786 "src/scan-gram.l"
+#line 803 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
BEGIN SC_CHARACTER;
}
YY_BREAK
-case 119:
+case 121:
YY_RULE_SETUP
-#line 792 "src/scan-gram.l"
+#line 809 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
BEGIN SC_STRING;
}
YY_BREAK
-case 120:
-/* rule 120 can match eol */
+case 122:
+/* rule 122 can match eol */
YY_RULE_SETUP
-#line 798 "src/scan-gram.l"
+#line 815 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
BEGIN SC_COMMENT;
}
YY_BREAK
-case 121:
-/* rule 121 can match eol */
+case 123:
+/* rule 123 can match eol */
YY_RULE_SETUP
-#line 804 "src/scan-gram.l"
+#line 821 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
| Scanning some code in braces (actions, predicates). The |
| initial "{" is already eaten. |
`-----------------------------------------------------------*/
+/* Nick added: SC_ELEMENT_GROUP */
-case 122:
-/* rule 122 can match eol */
+case 124:
+/* rule 124 can match eol */
YY_RULE_SETUP
-#line 820 "src/scan-gram.l"
+#line 838 "src/scan-gram.l"
STRING_GROW; nesting++;
YY_BREAK
-case 123:
-/* rule 123 can match eol */
+case 125:
+/* rule 125 can match eol */
YY_RULE_SETUP
-#line 821 "src/scan-gram.l"
+#line 839 "src/scan-gram.l"
STRING_GROW; nesting--;
YY_BREAK
/* Tokenize '<<%' correctly (as '<<' '%') rather than incorrrectly
(as '<' '<%'). */
-case 124:
-/* rule 124 can match eol */
+case 126:
+/* rule 126 can match eol */
YY_RULE_SETUP
-#line 825 "src/scan-gram.l"
+#line 843 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case YY_STATE_EOF(SC_BRACED_CODE):
case YY_STATE_EOF(SC_PREDICATE):
-#line 827 "src/scan-gram.l"
+case YY_STATE_EOF(SC_ELEMENT_GROUP):
+#line 845 "src/scan-gram.l"
unexpected_eof (code_start, "}");
YY_BREAK
-case 125:
+case 127:
YY_RULE_SETUP
-#line 832 "src/scan-gram.l"
+#line 850 "src/scan-gram.l"
{
obstack_1grow (&obstack_for_string, '}');
-case 126:
+case 128:
YY_RULE_SETUP
-#line 857 "src/scan-gram.l"
+#line 875 "src/scan-gram.l"
{
--nesting;
if (nesting < 0)
}
YY_BREAK
+/* Nick extra rules for element groups */
+
+
+case 129:
+YY_RULE_SETUP
+#line 901 "src/scan-gram.l"
+{
+ obstack_1grow (&obstack_for_string, '}');
+
+ --nesting;
+ if (nesting < 0)
+ {
+ STRING_FINISH;
+ loc->start = code_start;
+ STRING_FREE; //val->code = last_string;
+ BEGIN INITIAL;
+#if 1
+ gram_piece_append("</AST_Text>");
+ gram_piece_escape(gram_text, strlen(gram_text));
+ gram_piece_pack();
+ return ~'(';
+#else
+ return '(';
+#endif
+ }
+ }
+ YY_BREAK
+
/*--------------------------------------------------------------.
| Scanning some prologue: from "%{" (already scanned) to "%}". |
`--------------------------------------------------------------*/
-case 127:
+case 130:
YY_RULE_SETUP
-#line 886 "src/scan-gram.l"
+#line 929 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = code_start;
}
YY_BREAK
case YY_STATE_EOF(SC_PROLOGUE):
-#line 902 "src/scan-gram.l"
+#line 945 "src/scan-gram.l"
unexpected_eof (code_start, "%}");
YY_BREAK
case YY_STATE_EOF(SC_EPILOGUE):
-#line 913 "src/scan-gram.l"
+#line 956 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = code_start;
/*-----------------------------------------------------.
| By default, grow the string obstack with the input. |
`-----------------------------------------------------*/
-case 128:
-#line 933 "src/scan-gram.l"
-case 129:
-/* rule 129 can match eol */
-YY_RULE_SETUP
-#line 933 "src/scan-gram.l"
+/* Nick added: SC_ELEMENT_GROUP */
+case 131:
+#line 977 "src/scan-gram.l"
+/* Nick added: SC_ELEMENT_GROUP */
+case 132:
+/* rule 132 can match eol */
+YY_RULE_SETUP
+#line 978 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
-case 130:
+case 133:
YY_RULE_SETUP
-#line 936 "src/scan-gram.l"
+#line 981 "src/scan-gram.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2804 "src/scan-gram.c"
+#line 2876 "src/scan-gram.c"
case YY_STATE_EOF(SC_RETURN_BRACKETED_ID):
yyterminate();
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
/* %% [16.0] code to find the next state goes here */
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 58);
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 61);
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 579 )
+ if ( yy_current_state >= 587 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
/* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
register char *yy_cp = (yy_c_buf_p);
- register YY_CHAR yy_c = 58;
+ register YY_CHAR yy_c = 61;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 579 )
+ if ( yy_current_state >= 587 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 578);
+ yy_is_jam = (yy_current_state == 586);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 936 "src/scan-gram.l"
+#line 981 "src/scan-gram.l"