aboutsummaryrefslogtreecommitdiff
path: root/src/gen_parser.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-03-25 21:14:13 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2023-03-25 21:14:35 +0200
commit542be69b2a89eb35f87e208018a7c0cc4c2aac04 (patch)
tree4dd510c5020c963e1be460be65c8c53104dcf49d /src/gen_parser.c
parenteaf2d360120a4cab12c27ed51961cd5d224042ff (diff)
downloadek-542be69b2a89eb35f87e208018a7c0cc4c2aac04.tar.gz
ek-542be69b2a89eb35f87e208018a7c0cc4c2aac04.zip
add union to parser
Diffstat (limited to 'src/gen_parser.c')
-rw-r--r--src/gen_parser.c1899
1 files changed, 934 insertions, 965 deletions
diff --git a/src/gen_parser.c b/src/gen_parser.c
index a14081c..ac53567 100644
--- a/src/gen_parser.c
+++ b/src/gen_parser.c
@@ -235,25 +235,24 @@ enum yysymbol_kind_t
YYSYMBOL_var_init = 123, /* var_init */
YYSYMBOL_proc = 124, /* proc */
YYSYMBOL_lambda = 125, /* lambda */
- YYSYMBOL_union_elem = 126, /* union_elem */
- YYSYMBOL_union_list = 127, /* union_list */
+ YYSYMBOL_struct_elem = 126, /* struct_elem */
+ YYSYMBOL_struct_list = 127, /* struct_list */
YYSYMBOL_union = 128, /* union */
- YYSYMBOL_struct_list = 129, /* struct_list */
- YYSYMBOL_generic = 130, /* generic */
- YYSYMBOL_generic_list = 131, /* generic_list */
- YYSYMBOL_struct = 132, /* struct */
- YYSYMBOL_template_elem = 133, /* template_elem */
- YYSYMBOL_template_list = 134, /* template_list */
- YYSYMBOL_type_list = 135, /* type_list */
- YYSYMBOL_type_alias = 136, /* type_alias */
- YYSYMBOL_type_template = 137, /* type_template */
- YYSYMBOL_enum_val = 138, /* enum_val */
- YYSYMBOL_enum_list = 139, /* enum_list */
- YYSYMBOL_enum = 140, /* enum */
- YYSYMBOL_top_if = 141, /* top_if */
- YYSYMBOL_top = 142, /* top */
- YYSYMBOL_unit = 143, /* unit */
- YYSYMBOL_input = 144 /* input */
+ YYSYMBOL_generic = 129, /* generic */
+ YYSYMBOL_generic_list = 130, /* generic_list */
+ YYSYMBOL_struct = 131, /* struct */
+ YYSYMBOL_template_elem = 132, /* template_elem */
+ YYSYMBOL_template_list = 133, /* template_list */
+ YYSYMBOL_type_list = 134, /* type_list */
+ YYSYMBOL_type_alias = 135, /* type_alias */
+ YYSYMBOL_type_template = 136, /* type_template */
+ YYSYMBOL_enum_val = 137, /* enum_val */
+ YYSYMBOL_enum_list = 138, /* enum_list */
+ YYSYMBOL_enum = 139, /* enum */
+ YYSYMBOL_top_if = 140, /* top_if */
+ YYSYMBOL_top = 141, /* top */
+ YYSYMBOL_unit = 142, /* unit */
+ YYSYMBOL_input = 143 /* input */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -584,16 +583,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 57
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2040
+#define YYLAST 1987
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 81
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 64
+#define YYNNTS 63
/* YYNRULES -- Number of rules. */
-#define YYNRULES 218
+#define YYNRULES 216
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 433
+#define YYNSTATES 434
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 335
@@ -666,12 +665,12 @@ static const yytype_int16 yyrline[] =
381, 384, 385, 388, 391, 398, 402, 407, 415, 417,
421, 424, 426, 428, 430, 434, 435, 442, 443, 447,
450, 454, 458, 462, 467, 471, 472, 475, 476, 480,
- 486, 490, 496, 500, 501, 504, 505, 508, 511, 516,
- 519, 520, 521, 524, 527, 534, 535, 536, 537, 540,
- 541, 544, 545, 548, 553, 556, 562, 563, 566, 567,
- 568, 571, 572, 578, 582, 586, 594, 595, 596, 597,
- 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
- 608, 609, 610, 611, 612, 627, 628, 631, 632
+ 486, 490, 496, 499, 502, 503, 506, 509, 514, 515,
+ 516, 519, 522, 529, 530, 531, 532, 535, 536, 539,
+ 540, 543, 548, 551, 557, 558, 561, 562, 563, 566,
+ 567, 573, 577, 581, 589, 590, 591, 592, 593, 594,
+ 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
+ 605, 606, 607, 622, 623, 626, 627
};
#endif
@@ -706,9 +705,9 @@ static const char *const yytname[] =
"expr_list", "struct_init", "struct_inits", "struct_construct",
"init_expr", "cond", "expr_if", "if", "for", "case", "case_list",
"switch", "const_for", "const_if", "const", "func_sign", "variadic_sign",
- "type", "var_decl", "var_init", "proc", "lambda", "union_elem",
- "union_list", "union", "struct_list", "generic", "generic_list",
- "struct", "template_elem", "template_list", "type_list", "type_alias",
+ "type", "var_decl", "var_init", "proc", "lambda", "struct_elem",
+ "struct_list", "union", "generic", "generic_list", "struct",
+ "template_elem", "template_list", "type_list", "type_alias",
"type_template", "enum_val", "enum_list", "enum", "top_if", "top",
"unit", "input", YY_NULLPTR
};
@@ -720,12 +719,12 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-227)
+#define YYPACT_NINF (-255)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-219)
+#define YYTABLE_NINF (-217)
#define yytable_value_is_error(Yyn) \
0
@@ -734,50 +733,50 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 478, -227, -227, -227, 249, 18, 18, 35, -7, 18,
- 18, 18, 182, 49, 72, -227, 67, -227, -227, -227,
- 96, -227, -227, 424, -227, 114, 120, 138, -227, -227,
- -227, 146, -227, -227, 85, 59, -227, 1167, -227, 66,
- 65, 88, 64, 1167, 26, 136, 15, 270, 92, -227,
- 97, -227, -227, -227, 1003, -227, -227, -227, -227, -227,
- -227, 18, 46, 90, -227, -227, -227, -227, 1167, 18,
- 1167, 1167, 1167, 1167, 1167, -227, 100, 103, 1167, 18,
- 61, 36, -227, -227, -227, -227, -227, -227, 1256, -227,
- 15, -227, 61, 18, 32, -227, -227, 87, 1003, -227,
- 1003, -227, -227, 61, 566, 130, 27, -227, 131, 61,
- 1320, 61, 769, -227, 1193, 921, 1961, 102, -227, -227,
- 61, 133, 109, 25, 51, -227, 173, -227, -227, 112,
- -227, 148, 183, -227, 46, 117, 87, -227, 87, 87,
- 68, 1545, 87, 1167, 189, 553, 1384, 67, 123, 156,
- 132, -227, 18, 947, 1085, 1167, 1167, 1167, 1167, 1167,
- 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
- 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
- 1167, 1167, 1167, 1167, 335, 61, 18, -32, 134, 205,
- 169, 144, 97, 40, -227, -227, 149, 61, 61, 61,
- 18, -227, 163, 61, -227, 61, 175, 152, -227, -227,
- 18, 1193, 217, 219, 1167, 1029, 1167, 97, 603, -10,
- -227, 528, 220, 223, 1448, -227, -227, 224, 688, 160,
- -227, -227, -227, -227, -227, -227, -227, 234, -227, -227,
- 1111, 1961, 97, 18, 197, 171, -227, 61, -227, 18,
- 185, 46, 186, 46, -227, -227, 246, -227, -227, -227,
- 1512, 184, -227, -227, 18, 66, -227, 1167, -227, 577,
- 213, 190, -227, -227, 1961, -227, -24, -24, -24, 68,
- 68, 1289, 1489, 1545, 1481, 1417, 1353, 859, 859, 859,
- 859, 783, 783, 287, 287, 1961, 1961, 1961, 1961, 1961,
- 1961, 1961, 1961, 1961, 1961, 191, -227, -227, 18, 1167,
- 18, -227, -227, 18, 97, -227, -227, 188, -227, 192,
- -227, -227, 61, -227, -227, 97, -227, -227, 1576, 260,
- 1640, 207, -227, 262, 1167, 18, -227, -227, -227, -227,
- -227, -227, -227, -227, -227, -227, 210, 222, 277, 921,
- -227, -227, -227, 46, 203, 46, -227, -227, -227, -227,
- -227, 97, -227, 1029, -227, 228, 212, 1961, -227, 215,
- -227, 61, -227, -227, 232, 229, 1167, -227, 1167, -227,
- 1640, 281, -227, -14, 1003, -227, 221, -227, 225, -227,
- -227, -1, -227, 97, 236, 93, 1167, 229, 237, 1705,
- 1769, 240, 1167, -227, -227, -227, -227, -227, 335, -227,
- -227, -227, -227, -227, 1833, -227, -227, 1167, -227, 94,
- 1897, 97, 239, 845, 1640, -227, -227, 1167, -227, -227,
- -227, -227, -227
+ 210, -255, -255, -255, 341, 44, 44, 24, 1, 44,
+ 44, 44, 411, 46, 54, -255, 64, -255, -255, -255,
+ 67, -255, -255, 95, -255, 84, 76, 77, -255, -255,
+ -255, 81, -255, -255, -7, 172, -255, 1110, -255, 27,
+ 23, 36, 42, 1110, 181, 296, 100, 494, 47, -255,
+ 59, -255, -255, -255, 976, -255, -255, -255, -255, -255,
+ -255, 44, 44, 25, -255, -255, -255, -255, 1110, 44,
+ 1110, 1110, 1110, 1110, 1110, -255, 66, 68, 1110, 44,
+ 305, 17, -255, -255, -255, -255, -255, -255, 1203, -255,
+ 100, -255, 305, 44, 15, -255, -255, 57, 976, -255,
+ 976, -255, -255, 305, 615, 93, 51, -255, 94, 305,
+ 1267, 305, 746, -255, 1140, 573, 1908, 71, -255, -255,
+ 305, 98, 80, 527, -255, 144, 82, 44, -255, 332,
+ 145, -255, 30, 83, 57, -255, 57, 57, 207, 1492,
+ 57, 1110, 154, 522, 1331, 64, 89, 124, 113, -255,
+ 44, 898, 1054, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
+ 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
+ 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
+ 1110, 1110, 221, 305, 44, -21, 103, 183, 157, 117,
+ 59, 29, -255, -255, 120, 305, 305, 305, 44, -255,
+ 161, 305, -255, 305, 159, 129, -255, -255, 44, 1140,
+ 199, 202, 1110, 1008, 1110, 59, 930, -16, -255, 320,
+ 204, 205, 1395, -255, -255, 208, 670, 153, -255, -255,
+ -255, -255, -255, -255, -255, 222, -255, -255, 1084, 1908,
+ 59, 44, 195, 169, -255, 305, -255, 44, 182, 44,
+ -255, -1, -255, 255, -255, -255, -255, 1459, 194, -255,
+ -255, 44, 27, -255, 1110, -255, 539, 220, 203, -255,
+ -255, 1908, -255, -4, -4, -4, 207, 207, 1236, 1436,
+ 1492, 1428, 1364, 1300, 836, 836, 836, 836, 760, 760,
+ 235, 235, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908,
+ 1908, 1908, 197, -255, -255, 44, 1110, 44, -255, -255,
+ 44, 59, -255, -255, 214, -255, 209, -255, -255, 305,
+ -255, -255, 59, -255, -255, 1523, 265, 1587, 219, -255,
+ 277, 1110, 44, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, 223, 237, 289, 573, -255, -255, -255,
+ 44, -255, 44, 44, -255, -255, -255, -255, 59, -255,
+ 1008, -255, 240, 224, 1908, -255, 227, -255, 305, -255,
+ -255, 243, 244, 1110, -255, 1110, -255, 1587, 297, -255,
+ -35, 976, -255, 242, 247, 246, -255, -255, -31, -255,
+ 59, 249, -20, 1110, 244, 248, 1652, 1716, 257, 1110,
+ -255, -255, -255, -255, 251, -255, 221, -255, -255, -255,
+ -255, -255, 1780, -255, -255, 1110, -255, -17, 1844, 59,
+ 44, 253, 822, 1587, -255, -255, 1110, -255, 254, -255,
+ -255, -255, -255, -255
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -785,74 +784,74 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 214, 2, 196, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 3, 4, 198, 199,
- 0, 204, 197, 0, 217, 0, 0, 0, 208, 207,
- 206, 0, 211, 205, 0, 0, 6, 0, 201, 0,
+ 0, 212, 2, 194, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 3, 4, 196, 197,
+ 0, 202, 195, 0, 215, 0, 0, 0, 206, 205,
+ 204, 0, 209, 203, 0, 0, 6, 0, 199, 0,
0, 0, 0, 0, 0, 0, 0, 0, 147, 145,
- 0, 156, 212, 202, 0, 203, 216, 1, 213, 209,
- 210, 0, 0, 0, 183, 61, 62, 63, 0, 0,
+ 0, 156, 210, 200, 0, 201, 214, 1, 211, 207,
+ 208, 0, 0, 0, 181, 61, 62, 63, 0, 0,
0, 0, 0, 0, 0, 60, 0, 0, 0, 0,
0, 56, 74, 65, 68, 69, 66, 67, 0, 75,
0, 161, 0, 0, 0, 148, 150, 153, 0, 154,
0, 155, 144, 0, 147, 52, 0, 48, 51, 0,
0, 0, 0, 160, 0, 0, 118, 120, 157, 119,
- 0, 172, 0, 0, 0, 164, 0, 169, 163, 0,
- 185, 0, 0, 178, 180, 0, 41, 59, 39, 71,
- 38, 40, 42, 0, 0, 56, 0, 0, 0, 107,
- 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 170, 0, 0, 163, 0, 0, 0, 183, 0,
+ 0, 176, 178, 0, 41, 59, 39, 71, 38, 40,
+ 42, 0, 0, 56, 0, 0, 0, 107, 0, 73,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 186,
- 190, 0, 0, 0, 158, 159, 0, 0, 0, 0,
- 0, 141, 0, 0, 151, 0, 182, 0, 101, 100,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 105, 56, 0, 0, 0, 91, 92, 0, 0, 0,
- 99, 94, 86, 89, 93, 90, 95, 0, 97, 98,
- 0, 122, 0, 0, 116, 0, 113, 0, 170, 0,
- 0, 0, 0, 166, 173, 175, 0, 177, 179, 184,
- 0, 0, 64, 70, 0, 0, 58, 0, 54, 56,
- 47, 0, 45, 44, 7, 8, 11, 12, 13, 10,
- 9, 15, 14, 16, 18, 17, 19, 32, 33, 34,
- 35, 36, 37, 20, 21, 22, 23, 24, 25, 26,
- 29, 27, 28, 30, 31, 0, 72, 57, 0, 0,
- 189, 192, 110, 0, 0, 143, 50, 0, 142, 0,
- 49, 152, 0, 149, 78, 0, 82, 83, 0, 0,
- 0, 0, 81, 0, 0, 0, 139, 138, 88, 85,
- 84, 79, 87, 102, 104, 96, 0, 0, 0, 0,
- 117, 121, 171, 0, 0, 0, 165, 176, 55, 5,
- 106, 0, 43, 0, 53, 193, 0, 187, 188, 0,
- 108, 0, 140, 181, 126, 0, 0, 76, 0, 80,
- 0, 0, 123, 0, 0, 115, 0, 168, 0, 162,
- 46, 0, 191, 0, 0, 0, 0, 132, 0, 0,
- 0, 135, 0, 124, 125, 114, 174, 167, 0, 195,
- 109, 146, 127, 128, 0, 131, 133, 0, 77, 0,
- 112, 0, 0, 0, 0, 136, 137, 0, 134, 194,
- 130, 129, 111
+ 0, 0, 0, 0, 0, 0, 0, 184, 188, 0,
+ 0, 0, 158, 159, 0, 0, 0, 0, 0, 141,
+ 0, 0, 151, 0, 180, 0, 101, 100, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 105, 56,
+ 0, 0, 0, 91, 92, 0, 0, 0, 99, 94,
+ 86, 89, 93, 90, 95, 0, 97, 98, 0, 122,
+ 0, 0, 116, 0, 113, 0, 168, 0, 0, 165,
+ 171, 0, 173, 0, 175, 177, 182, 0, 0, 64,
+ 70, 0, 0, 58, 0, 54, 56, 47, 0, 45,
+ 44, 7, 8, 11, 12, 13, 10, 9, 15, 14,
+ 16, 18, 17, 19, 32, 33, 34, 35, 36, 37,
+ 20, 21, 22, 23, 24, 25, 26, 29, 27, 28,
+ 30, 31, 0, 72, 57, 0, 0, 187, 190, 110,
+ 0, 0, 143, 50, 0, 142, 0, 49, 152, 0,
+ 149, 78, 0, 82, 83, 0, 0, 0, 0, 81,
+ 0, 0, 0, 139, 138, 88, 85, 84, 79, 87,
+ 102, 104, 96, 0, 0, 0, 0, 117, 121, 169,
+ 0, 164, 0, 0, 174, 55, 5, 106, 0, 43,
+ 0, 53, 191, 0, 185, 186, 0, 108, 0, 140,
+ 179, 126, 0, 0, 76, 0, 80, 0, 0, 123,
+ 0, 0, 115, 0, 0, 0, 162, 46, 0, 189,
+ 0, 0, 0, 0, 132, 0, 0, 0, 135, 0,
+ 124, 125, 114, 172, 0, 166, 0, 193, 109, 146,
+ 127, 128, 0, 131, 133, 0, 77, 0, 112, 0,
+ 0, 0, 0, 0, 136, 137, 0, 134, 0, 192,
+ 130, 129, 111, 167
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -227, 0, -2, -227, 3, -227, -227, -227, 79, -68,
- -227, -71, -227, -227, 286, -227, -227, -227, -227, -212,
- 157, -91, 4, -116, -227, -34, 162, -17, 110, -220,
- -70, -227, -227, -69, -227, -227, -89, -227, -13, -227,
- 471, 128, -63, 330, -227, -227, -226, -33, -16, -227,
- 89, 9, -227, 206, 17, 10, 13, -227, -221, 14,
- -47, -227, -22, -227
+ -255, 0, 3, -255, 4, -255, -255, -255, 121, -23,
+ -255, -62, -255, -255, 293, -255, -255, -255, -255, -223,
+ -34, -92, 9, -85, -255, -2, 196, -30, 140, -219,
+ -38, -255, -255, -39, -255, -255, -60, -255, -12, -255,
+ 440, 20, -63, 355, -255, -255, -216, -255, -255, -222,
+ 10, -255, 230, 50, 13, 14, -255, -254, 16, -14,
+ -255, -22, -255
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- 0, 81, 13, 82, 14, 83, 84, 85, 270, 271,
- 105, 106, 86, 87, 116, 225, 226, 227, 228, 229,
- 230, 150, 15, 421, 244, 245, 117, 272, 242, 119,
- 232, 233, 397, 398, 234, 336, 337, 235, 49, 50,
- 51, 16, 17, 18, 89, 126, 127, 128, 129, 121,
- 122, 19, 134, 135, 207, 20, 21, 190, 191, 22,
- 38, 23, 24, 25
+ 0, 81, 13, 82, 14, 83, 84, 85, 267, 268,
+ 105, 106, 86, 87, 116, 223, 224, 225, 226, 227,
+ 228, 148, 15, 419, 242, 243, 117, 269, 240, 119,
+ 230, 231, 394, 395, 232, 333, 334, 233, 49, 50,
+ 51, 16, 17, 18, 89, 125, 126, 131, 121, 122,
+ 19, 132, 133, 205, 20, 21, 188, 189, 22, 38,
+ 23, 24, 25
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -860,420 +859,408 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 12, 56, 26, 193, 12, 34, 35, 27, 28, 39,
- 40, 41, 48, 30, 31, 148, 343, 32, 33, 187,
- 346, 2, 42, 12, 2, 354, 91, 356, 43, 95,
- 133, 2, 2, 42, 98, 48, 200, 118, 2, 43,
- 36, 201, 48, 114, 48, 48, 104, 334, 202, 313,
- 37, 152, 2, 335, 185, 186, 37, 2, 42, 52,
- 112, 120, 124, 131, 43, 2, 42, 2, 42, 137,
- 2, 42, 43, 408, 43, 54, 92, 43, 145, 149,
- 48, 194, 53, 195, 155, 156, 157, 366, 102, 368,
- 104, 47, 48, 189, 149, 103, 2, 123, 246, 251,
- 201, 133, 47, 48, 48, 192, 55, 202, 153, 48,
- 222, 48, 221, 314, 57, 223, 231, 197, 256, 198,
- 48, 236, 237, 252, 48, 238, 239, 47, 316, 388,
- 58, 48, 320, 63, 131, 47, 90, 47, 90, 93,
- 47, 123, 2, 42, 100, 48, 185, 186, 59, 43,
- 211, 334, 266, 269, 2, 42, 60, 61, 255, 62,
- 94, 43, 305, 404, 111, 130, 186, 112, 112, 2,
- 42, 112, 143, 360, 108, 144, 43, 148, 199, 203,
- 247, 249, 250, 253, 12, 48, 307, 254, 2, 42,
- 125, 132, 259, 257, 261, 43, 263, 48, 48, 104,
- 317, 333, 48, 104, 264, 48, 147, 113, 308, 265,
- 324, 430, 47, 309, 197, 269, 198, 310, 108, 311,
- 90, 48, 315, 322, 47, 323, 222, 326, 221, 327,
- 339, 223, 231, 340, 342, 344, 318, 236, 237, 47,
- 145, 238, 239, 348, 345, 349, 350, 48, 44, 120,
- 45, 124, 361, 124, 46, 2, 357, 359, 47, 353,
- 355, 363, 132, 364, 149, 372, 365, 269, 371, 48,
- 376, 378, 379, 65, 66, 67, 2, 68, 387, 69,
- 383, 273, 70, 382, 71, 384, 391, 392, 393, 72,
- 395, 396, 402, 73, 329, 390, 406, 74, 419, 5,
- 407, 6, 7, 155, 156, 157, 158, 159, 189, 411,
- 189, 432, 416, 369, 429, 385, 275, 75, 9, 10,
- 11, 325, 48, 88, 76, 413, 77, 108, 415, 97,
- 426, 108, 246, 110, 29, 381, 1, 386, 352, 373,
- 258, 2, 78, 273, 409, 3, 79, 109, 80, 312,
- 0, 0, 0, 124, 136, 124, 138, 139, 140, 141,
- 142, 0, 0, 269, 146, 185, 186, 405, 147, 0,
- 0, 48, 0, 0, 331, 0, 0, 0, 0, 125,
- 0, 125, 0, 0, 4, 5, 422, 6, 7, 0,
- 0, 0, 0, 0, 0, 362, 0, 0, 224, 347,
- 241, 0, 0, 8, 9, 10, 11, 0, 12, 0,
+ 12, 56, 191, 340, 12, 34, 35, 26, 27, 39,
+ 40, 41, 48, 28, 30, 146, 113, 31, 32, 343,
+ 33, 2, 114, 12, 118, 349, 37, 91, 185, 36,
+ 95, 2, 150, 351, 92, 48, 2, 209, 310, 112,
+ 331, 331, 48, 406, 48, 48, 104, 332, 2, 42,
+ 2, 363, 199, 365, 112, 43, 52, 112, 37, 200,
+ 198, 120, 123, 129, 53, 61, 108, 62, 192, 135,
+ 193, 352, 54, 353, 183, 184, 127, 55, 143, 147,
+ 48, 127, 124, 130, 57, 244, 58, 59, 190, 151,
+ 104, 60, 48, 187, 147, -213, 1, 93, 145, 90,
+ 128, 2, 311, 48, 48, 3, 2, 42, 94, 48,
+ 108, 48, 219, 43, 90, 220, 221, 253, 47, 111,
+ 48, 229, 234, 48, 199, 235, 236, 251, 237, 48,
+ 384, 200, 129, 112, 383, 313, 184, 385, 141, 317,
+ 142, 197, 201, 48, 4, 5, 247, 6, 7, 245,
+ 263, 266, 130, 248, 249, 254, 309, 250, 256, 258,
+ 302, 401, 260, 8, 9, 10, 11, 2, 42, 357,
+ -213, 270, 261, 102, 43, 146, 47, 305, 2, 42,
+ 103, 328, 12, 48, 304, 43, 330, 2, 42, 98,
+ 262, 306, 308, 312, 43, 48, 48, 104, 314, 430,
+ 48, 104, 320, 48, 428, 307, 344, 319, 321, 323,
+ -216, 1, 324, 266, 336, 337, 2, 108, 339, 48,
+ 3, 108, 1, 153, 154, 155, 219, 2, 341, 220,
+ 221, 3, 342, 270, 315, 229, 234, 47, 143, 235,
+ 236, 345, 237, 346, 347, 48, 63, 120, 47, 123,
+ 358, 153, 154, 155, 156, 157, 350, 47, 145, 4,
+ 5, 147, 6, 7, 266, 354, 48, 356, 360, 124,
+ 4, 5, 362, 6, 7, 373, 361, 367, 8, 9,
+ 10, 11, 369, 375, 359, 183, 184, 376, 371, 8,
+ 9, 10, 11, 374, 368, 380, 379, 381, 388, 389,
+ 390, 392, 2, 42, 100, 187, 393, 187, 399, 43,
+ 366, 2, 42, 183, 184, 417, 244, 403, 43, 48,
+ 404, 405, 409, 414, 386, 420, 2, 42, 429, 433,
+ 88, 335, 378, 43, 326, 150, 97, 387, 2, 42,
+ 110, 432, 252, 398, 382, 43, 400, 2, 272, 322,
+ 123, 402, 120, 123, 411, 413, 408, 425, 410, 29,
+ 266, 134, 255, 136, 137, 138, 139, 140, 48, 370,
+ 124, 144, 47, 124, 407, 0, 0, 0, 0, 0,
+ 270, 47, 0, 424, 421, 427, 44, 0, 45, 431,
+ 0, 5, 151, 6, 7, 0, 47, 0, 195, 0,
+ 196, 0, 0, 0, 90, 222, 12, 239, 47, 0,
+ 9, 10, 11, 0, 0, 0, 0, 2, 42, 0,
+ 123, 0, 219, 0, 43, 220, 221, 0, 0, 0,
+ 0, 229, 234, 0, 257, 235, 236, 0, 237, 0,
+ 124, 0, 0, 0, 0, 271, 273, 274, 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, 64, 0, 44, 0, 45,
+ 0, 0, 96, 46, 99, 101, 107, 47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 65, 66, 67,
+ 2, 68, 239, 69, 0, 325, 70, 327, 71, 0,
+ 0, 0, 0, 72, 0, 0, 0, 73, 0, 222,
+ 149, 74, 0, 0, 0, 0, 0, 0, 2, 42,
+ 107, 144, 186, 2, 42, 43, 0, 150, 0, 0,
+ 43, 75, 0, 194, 0, 2, 42, 0, 76, 202,
+ 77, 204, 43, 0, 150, 0, 0, 139, 0, 0,
+ 246, 0, 0, 0, 0, 0, 78, 0, 0, 0,
+ 79, 109, 80, 0, 0, 0, 65, 66, 67, 2,
+ 68, 0, 69, 0, 0, 70, 0, 71, 44, 0,
+ 45, 0, 72, 195, 151, 196, 73, 0, 47, 364,
+ 74, 0, 0, 47, 0, 195, 0, 196, 0, 0,
+ 0, 151, 0, 0, 0, 47, 0, 0, 0, 0,
+ 75, 2, 42, 303, 377, 0, 0, 76, 43, 77,
+ 114, 0, 0, 0, 0, 99, 101, 107, 0, 0,
+ 316, 107, 0, 318, 0, 78, 0, 115, 0, 79,
+ 0, 80, 241, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 396, 0, 397, 0,
+ 0, 206, 0, 65, 66, 67, 2, 68, 0, 69,
+ 207, 195, 70, 196, 71, 348, 412, 111, 0, 72,
+ 0, 47, 418, 73, 0, 0, 0, 74, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 423, 0,
+ 0, 0, 0, 0, 0, 222, 0, 75, 0, 418,
+ 5, 0, 6, 7, 76, 208, 77, 209, 0, 210,
+ 211, 212, -103, 213, 214, 215, 0, 216, 217, 0,
+ 10, 11, 78, 0, 112, -103, 79, 206, 80, 65,
+ 66, 67, 2, 68, 0, 69, 207, 0, 70, 204,
+ 71, 0, 0, 0, 0, 72, 0, 0, 0, 73,
+ 0, 0, 0, 74, 0, 0, 153, 154, 155, 156,
+ 157, 0, 159, 160, 161, 0, 0, 0, 164, 165,
+ 166, 167, 0, 75, 170, 171, 5, 0, 6, 7,
+ 76, 208, 77, 209, 0, 210, 211, 212, 391, 213,
+ 214, 215, 0, 216, 217, 0, 10, 11, 78, 0,
+ 112, 218, 79, 206, 80, 65, 66, 67, 2, 68,
+ 0, 69, 207, 0, 70, 0, 71, 0, 183, 184,
+ 0, 72, 0, 0, 0, 73, 0, 0, 0, 74,
+ 0, 0, 153, 154, 155, 156, 157, 0, 159, 160,
+ 161, 0, 0, 0, 0, 0, 0, 0, 0, 75,
+ 170, 171, 5, 0, 6, 7, 76, 208, 77, 209,
+ 0, 210, 211, 212, 0, 213, 214, 215, 0, 216,
+ 217, 0, 10, 11, 78, 0, 112, 0, 79, 0,
+ 80, 65, 66, 67, 2, 68, 0, 69, 0, 0,
+ 70, 0, 71, 0, 183, 184, 0, 72, 0, 0,
+ 0, 264, 0, 0, 0, 74, 0, 0, 0, 0,
+ 0, 0, 0, 65, 66, 67, 2, 68, 0, 69,
+ 329, 0, 70, 0, 71, 75, 0, 0, 0, 72,
+ 0, 0, 76, 73, 77, 114, 0, 74, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 222, 0, 221, -215, 1, 223, 231, 0, 260,
- 2, 0, 236, 237, 3, 0, 238, 239, 0, 0,
- 274, 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,
- 0, 370, 0, 4, 5, 0, 6, 7, -218, 1,
- 0, 125, 374, 125, 2, 0, 0, 377, 3, 0,
- 0, 273, 8, 9, 10, 11, 0, 241, 0, -215,
- 328, 0, 330, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 0, 96, 224, 99, 101, 107, 389, 0,
- 0, 0, 0, 0, 0, 0, 146, 4, 5, 0,
- 6, 7, 0, 0, 2, 42, 0, 401, 0, 338,
- 403, 43, 0, 152, 0, 0, 8, 9, 10, 11,
- 410, 151, 412, 141, 0, 0, 0, 0, 0, 2,
- 42, 107, 0, 188, 0, 0, 43, 0, 152, 0,
- 0, 0, 2, 42, 196, 0, 425, 0, 428, 43,
- 204, 431, 206, 2, 42, 0, 0, 0, 0, 0,
- 43, 248, 152, 0, 44, 367, 45, 0, 0, 0,
- 153, 0, 0, 0, 47, 0, 65, 66, 67, 2,
- 68, 0, 69, 332, 0, 70, 0, 71, 0, 44,
- 380, 45, 72, 0, 0, 153, 73, 0, 0, 47,
- 74, 0, 197, 0, 198, 0, 0, 0, 111, 0,
- 0, 0, 47, 197, 0, 198, 0, 0, 0, 153,
- 75, 0, 0, 47, 0, 0, 306, 76, 0, 77,
- 114, 0, 399, 0, 400, 0, 0, 0, 99, 101,
- 107, 0, 0, 319, 107, 78, 321, 115, 0, 79,
- 0, 80, 414, 0, 0, 0, 0, 0, 420, 208,
- 0, 65, 66, 67, 2, 68, 0, 69, 209, 0,
- 70, 0, 71, 424, 0, 0, 0, 72, 0, 224,
- 0, 73, 0, 420, 0, 74, 0, 0, 351, 0,
+ 78, 265, 115, 0, 79, 0, 80, 75, 0, 65,
+ 66, 67, 2, 68, 76, 69, 77, 114, 70, 0,
+ 71, 0, 0, 0, 0, 72, 0, 0, 0, 73,
+ 0, 0, 78, 74, 115, 0, 79, 0, 80, 0,
+ 0, 65, 66, 67, 2, 68, 0, 69, 0, 0,
+ 70, 0, 71, 75, 0, 0, 0, 72, 0, 0,
+ 76, 264, 77, 114, 0, 74, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
+ 115, 0, 79, 0, 80, 75, 0, 65, 66, 67,
+ 2, 68, 76, 69, 77, 114, 70, 0, 71, 0,
+ 0, 0, 0, 72, 0, 0, 0, 73, 0, 0,
+ 78, 74, 115, 0, 79, 0, 80, 65, 66, 67,
+ 2, 68, 0, 69, 0, 0, 70, 0, 71, 0,
+ 0, 75, 0, 72, 0, 0, 0, 73, 76, 0,
+ 77, 74, 0, 65, 66, 67, 2, 68, 0, 69,
+ 0, 0, 70, 0, 71, 0, 78, 0, 115, 72,
+ 79, 75, 80, 73, 0, 0, 0, 74, 76, 0,
+ 77, 114, 0, 65, 66, 67, 2, 68, 0, 69,
+ 0, 0, 70, 0, 71, 0, 78, 75, 0, 72,
+ 79, 0, 80, 73, 76, 0, 77, 74, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 75, 0, 0, 5, 0,
- 6, 7, 76, 210, 77, 211, 0, 212, 213, 214,
- -103, 215, 216, 217, 0, 218, 219, 0, 10, 11,
- 78, 0, 112, -103, 79, 0, 80, 0, 0, 0,
- 208, 0, 65, 66, 67, 2, 68, 0, 69, 209,
- 0, 70, 0, 71, 0, 0, 0, 0, 72, 0,
- 0, 0, 73, 206, 0, 0, 74, 0, 0, 155,
- 156, 157, 158, 159, 0, 161, 162, 163, 0, 0,
- 0, 166, 167, 168, 169, 0, 75, 172, 173, 5,
- 0, 6, 7, 76, 210, 77, 211, 0, 212, 213,
- 214, 0, 215, 216, 217, 0, 218, 219, 0, 10,
- 11, 78, 394, 112, 220, 79, 208, 80, 65, 66,
- 67, 2, 68, 0, 69, 209, 0, 70, 0, 71,
- 0, 185, 186, 0, 72, 0, 0, 0, 73, 0,
- 0, 0, 74, 0, 0, 155, 156, 157, 158, 159,
- 0, 161, 162, 163, 0, 0, 0, 0, 0, 0,
- 0, 0, 75, 172, 173, 5, 0, 6, 7, 76,
- 210, 77, 211, 0, 212, 213, 214, 0, 215, 216,
- 217, 0, 218, 219, 0, 10, 11, 78, 0, 112,
- 0, 79, 0, 80, 65, 66, 67, 2, 68, 0,
- 69, 0, 0, 70, 0, 71, 0, 185, 186, 0,
- 72, 0, 0, 0, 73, 0, 0, 0, 74, 0,
- 65, 66, 67, 2, 68, 0, 69, 0, 0, 70,
- 0, 71, 0, 0, 0, 0, 72, 0, 75, 0,
- 267, 0, 0, 0, 74, 76, 0, 77, 114, 0,
+ 0, 0, 78, 0, 0, 0, 79, 75, 80, 0,
+ 0, 0, 0, 0, 76, 0, 77, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 78, 75, 115, 0, 79, 0, 80,
- 243, 76, 0, 77, 114, 0, 65, 66, 67, 2,
- 68, 0, 69, 0, 0, 70, 0, 71, 0, 78,
- 268, 115, 72, 79, 0, 80, 73, 0, 0, 0,
- 74, 0, 65, 66, 67, 2, 68, 0, 69, 0,
- 0, 70, 0, 71, 0, 0, 0, 0, 72, 0,
- 75, 0, 267, 0, 0, 0, 74, 76, 0, 77,
- 114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 78, 75, 115, 0, 79,
- 0, 80, 0, 76, 0, 77, 114, 0, 65, 66,
- 67, 2, 68, 0, 69, 0, 0, 70, 0, 71,
- 0, 78, 0, 115, 72, 79, 0, 80, 73, 0,
- 0, 0, 74, 0, 65, 66, 67, 2, 68, 0,
- 69, 0, 0, 70, 0, 71, 0, 0, 0, 0,
- 72, 0, 75, 0, 73, 0, 0, 0, 74, 76,
- 0, 77, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 78, 75, 115,
- 0, 79, 0, 80, 0, 76, 0, 77, 114, 0,
- 65, 66, 67, 2, 68, 0, 69, 0, 0, 70,
- 0, 71, 0, 78, 0, 0, 72, 79, 0, 80,
- 73, 0, 0, 0, 74, 0, 65, 66, 67, 2,
- 68, 0, 69, 0, 0, 70, 0, 71, 0, 0,
- 0, 0, 72, 0, 75, 0, 73, 0, 0, 0,
- 74, 76, 0, 77, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
- 75, 0, 0, 79, 0, 80, 0, 76, 0, 77,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 154, 240, 0, 0, 0, 79,
- 0, 80, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 0, 166, 167, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 178, 179, 0, 180,
- 181, 182, 183, 0, 0, 155, 156, 157, 158, 159,
- 0, 161, 162, 163, 164, 165, 0, 166, 167, 168,
- 169, 170, 171, 172, 173, 0, 0, 0, 154, 0,
- 184, 0, 0, 0, 185, 186, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 0, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 0, 180, 181, 182, 183, 185, 186, 155,
- 156, 157, 158, 159, 0, 161, 162, 163, 164, 0,
- 0, 166, 167, 168, 169, 170, 171, 172, 173, 0,
- 0, 0, 154, 0, 0, 0, 0, 205, 185, 186,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 0, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 0, 180, 181, 182,
- 183, 185, 186, 155, 156, 157, 158, 159, 0, 161,
- 162, 163, 0, 0, 0, 166, 167, 168, 169, 170,
- 171, 172, 173, 0, 0, 0, 154, 262, 341, 0,
- 0, 0, 185, 186, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 0, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 0, 180, 181, 182, 183, 185, 186, 155, 156, 157,
- 158, 159, 0, 161, 162, 155, 156, 157, 158, 159,
- 0, 0, 162, 0, 0, 172, 173, 0, 0, 0,
- 154, 0, 0, 172, 173, 0, 185, 186, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 0,
- 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 0, 180, 181, 182, 183, 185,
- 186, 155, 156, 157, 158, 159, 0, 185, 186, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 172,
- 173, 0, 0, 0, 154, 358, 0, 0, 0, 0,
- 185, 186, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 0, 166, 167, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 178, 179, 0, 180,
- 181, 182, 183, 185, 186, 0, 0, 0, 0, 0,
+ 0, 152, 238, 0, 0, 0, 79, 0, 80, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 0, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 0, 178, 179, 180, 181,
+ 0, 0, 153, 154, 155, 156, 157, 0, 159, 160,
+ 161, 162, 163, 0, 164, 165, 166, 167, 168, 169,
+ 170, 171, 0, 0, 0, 152, 0, 182, 0, 0,
+ 0, 183, 184, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 0, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 0,
+ 178, 179, 180, 181, 183, 184, 153, 154, 155, 156,
+ 157, 0, 159, 160, 161, 162, 0, 0, 164, 165,
+ 166, 167, 168, 169, 170, 171, 0, 0, 0, 152,
+ 0, 0, 0, 0, 203, 183, 184, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 0, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 0, 178, 179, 180, 181, 183, 184,
+ 153, 154, 155, 156, 157, 0, 159, 160, 161, 0,
+ 0, 0, 164, 165, 166, 167, 168, 169, 170, 171,
+ 0, 0, 0, 152, 259, 338, 0, 0, 0, 183,
+ 184, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 0, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 0, 178, 179,
+ 180, 181, 183, 184, 153, 154, 155, 156, 157, 0,
+ 159, 160, 153, 154, 155, 156, 157, 0, 0, 160,
+ 0, 0, 170, 171, 0, 0, 0, 152, 0, 0,
+ 170, 171, 0, 183, 184, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 0, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 0, 178, 179, 180, 181, 183, 184, 153, 154,
+ 155, 156, 157, 0, 183, 184, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 170, 171, 0, 0,
+ 0, 152, 355, 0, 0, 0, 0, 183, 184, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 0, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 0, 178, 179, 180, 181,
+ 183, 184, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 154, 0,
- 375, 0, 0, 0, 185, 186, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 0, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 0, 180, 181, 182, 183, 0, 0, 0,
+ 0, 0, 0, 0, 0, 152, 0, 372, 0, 0,
+ 0, 183, 184, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 0, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 0,
+ 178, 179, 180, 181, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 154, 112, 417, 0, 0, 185, 186,
- 0, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 0, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 0, 180, 181,
- 182, 183, 0, 0, 0, 0, 0, 0, 0, 0,
+ 152, 112, 415, 0, 0, 183, 184, 0, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 0,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 0, 178, 179, 180, 181, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 154, 0, 418,
- 0, 0, 0, 185, 186, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 0, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 0, 180, 181, 182, 183, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 152, 0, 416, 0, 0, 0,
+ 183, 184, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 0, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 0, 178,
+ 179, 180, 181, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 154, 0, 0, 423, 0, 0, 185, 186, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 0, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 0, 180, 181, 182, 183,
+ 0, 0, 0, 0, 0, 0, 0, 0, 152, 0,
+ 0, 422, 0, 0, 183, 184, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 0, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 0, 178, 179, 180, 181, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 154, 0, 0, 0, 0,
- 0, 185, 186, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, 165, 0, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 0,
- 180, 181, 182, 183, 0, 427, 0, 0, 0, 0,
+ 0, 0, 152, 0, 0, 0, 0, 0, 183, 184,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 0, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 0, 178, 179, 180,
+ 181, 0, 426, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
- 0, 0, 0, 0, 0, 185, 186, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 0, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 0, 180, 181, 182, 183, 0, 0,
+ 0, 0, 0, 0, 0, 0, 152, 0, 0, 0,
+ 0, 0, 183, 184, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, 162, 163, 0, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 0, 178, 179, 180, 181, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
- 186
+ 0, 0, 0, 0, 0, 0, 183, 184
};
static const yytype_int16 yycheck[] =
{
- 0, 23, 4, 94, 4, 5, 6, 4, 4, 9,
- 10, 11, 12, 4, 4, 78, 228, 4, 4, 90,
- 240, 6, 7, 23, 6, 251, 39, 253, 13, 42,
- 63, 6, 6, 7, 8, 35, 9, 54, 6, 13,
- 5, 73, 42, 57, 44, 45, 46, 57, 80, 9,
- 57, 15, 6, 63, 78, 79, 57, 6, 7, 10,
- 74, 61, 62, 63, 13, 6, 7, 6, 7, 69,
- 6, 7, 13, 74, 13, 8, 11, 13, 78, 79,
- 80, 98, 10, 100, 16, 17, 18, 308, 73, 310,
- 90, 76, 92, 93, 94, 80, 6, 51, 115, 74,
- 73, 134, 76, 103, 104, 73, 10, 80, 72, 109,
- 112, 111, 112, 73, 0, 112, 112, 66, 131, 68,
- 120, 112, 112, 123, 124, 112, 112, 76, 199, 355,
- 10, 131, 203, 74, 134, 76, 72, 76, 72, 74,
- 76, 51, 6, 7, 8, 145, 78, 79, 10, 13,
- 57, 57, 152, 153, 6, 7, 10, 72, 10, 74,
- 72, 13, 184, 383, 72, 75, 79, 74, 74, 6,
- 7, 74, 72, 264, 46, 72, 13, 240, 48, 48,
- 78, 48, 73, 10, 184, 185, 186, 75, 6, 7,
- 62, 63, 75, 10, 5, 13, 73, 197, 198, 199,
- 200, 218, 202, 203, 48, 205, 78, 50, 74, 77,
- 210, 423, 76, 8, 66, 215, 68, 48, 90, 75,
- 72, 221, 73, 48, 76, 73, 228, 10, 228, 10,
- 10, 228, 228, 10, 10, 75, 73, 228, 228, 76,
- 240, 228, 228, 243, 10, 48, 75, 247, 66, 249,
- 68, 251, 265, 253, 72, 6, 10, 73, 76, 74,
- 74, 48, 134, 73, 264, 73, 75, 267, 80, 269,
- 10, 64, 10, 3, 4, 5, 6, 7, 75, 9,
- 58, 153, 12, 73, 14, 8, 58, 75, 73, 19,
- 58, 62, 11, 23, 215, 363, 75, 27, 58, 50,
- 75, 52, 53, 16, 17, 18, 19, 20, 308, 73,
- 310, 427, 75, 313, 75, 349, 154, 47, 69, 70,
- 71, 211, 322, 37, 54, 395, 56, 199, 397, 43,
- 419, 203, 349, 47, 4, 335, 1, 353, 249, 322,
- 134, 6, 72, 215, 391, 10, 76, 77, 78, 192,
- -1, -1, -1, 353, 68, 355, 70, 71, 72, 73,
- 74, -1, -1, 363, 78, 78, 79, 384, 240, -1,
- -1, 371, -1, -1, 217, -1, -1, -1, -1, 251,
- -1, 253, -1, -1, 49, 50, 408, 52, 53, -1,
- -1, -1, -1, -1, -1, 267, -1, -1, 112, 242,
- 114, -1, -1, 68, 69, 70, 71, -1, 408, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 423, -1, 423, 0, 1, 423, 423, -1, 143,
- 6, -1, 423, 423, 10, -1, 423, 423, -1, -1,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
- -1, 314, -1, 49, 50, -1, 52, 53, 0, 1,
- -1, 353, 325, 355, 6, -1, -1, 330, 10, -1,
- -1, 363, 68, 69, 70, 71, -1, 211, -1, 75,
- 214, -1, 216, -1, -1, -1, 35, -1, -1, -1,
- -1, -1, -1, 42, 228, 44, 45, 46, 361, -1,
- -1, -1, -1, -1, -1, -1, 240, 49, 50, -1,
- 52, 53, -1, -1, 6, 7, -1, 380, -1, 11,
- 383, 13, -1, 15, -1, -1, 68, 69, 70, 71,
- 393, 80, 395, 267, -1, -1, -1, -1, -1, 6,
- 7, 90, -1, 92, -1, -1, 13, -1, 15, -1,
- -1, -1, 6, 7, 103, -1, 419, -1, 421, 13,
- 109, 424, 111, 6, 7, -1, -1, -1, -1, -1,
- 13, 120, 15, -1, 66, 309, 68, -1, -1, -1,
- 72, -1, -1, -1, 76, -1, 3, 4, 5, 6,
- 7, -1, 9, 10, -1, 12, -1, 14, -1, 66,
- 334, 68, 19, -1, -1, 72, 23, -1, -1, 76,
- 27, -1, 66, -1, 68, -1, -1, -1, 72, -1,
- -1, -1, 76, 66, -1, 68, -1, -1, -1, 72,
- 47, -1, -1, 76, -1, -1, 185, 54, -1, 56,
- 57, -1, 376, -1, 378, -1, -1, -1, 197, 198,
- 199, -1, -1, 202, 203, 72, 205, 74, -1, 76,
- -1, 78, 396, -1, -1, -1, -1, -1, 402, 1,
- -1, 3, 4, 5, 6, 7, -1, 9, 10, -1,
- 12, -1, 14, 417, -1, -1, -1, 19, -1, 423,
- -1, 23, -1, 427, -1, 27, -1, -1, 247, -1,
+ 0, 23, 94, 226, 4, 5, 6, 4, 4, 9,
+ 10, 11, 12, 4, 4, 78, 50, 4, 4, 238,
+ 4, 6, 57, 23, 54, 247, 57, 39, 90, 5,
+ 42, 6, 15, 249, 11, 35, 6, 57, 9, 74,
+ 57, 57, 42, 74, 44, 45, 46, 63, 6, 7,
+ 6, 305, 73, 307, 74, 13, 10, 74, 57, 80,
+ 9, 61, 62, 63, 10, 72, 46, 74, 98, 69,
+ 100, 72, 8, 74, 78, 79, 51, 10, 78, 79,
+ 80, 51, 62, 63, 0, 115, 10, 10, 73, 72,
+ 90, 10, 92, 93, 94, 0, 1, 74, 78, 72,
+ 75, 6, 73, 103, 104, 10, 6, 7, 72, 109,
+ 90, 111, 112, 13, 72, 112, 112, 129, 76, 72,
+ 120, 112, 112, 123, 73, 112, 112, 127, 112, 129,
+ 352, 80, 132, 74, 350, 197, 79, 353, 72, 201,
+ 72, 48, 48, 143, 49, 50, 48, 52, 53, 78,
+ 150, 151, 132, 73, 10, 10, 190, 75, 75, 5,
+ 182, 380, 73, 68, 69, 70, 71, 6, 7, 261,
+ 75, 151, 48, 73, 13, 238, 76, 74, 6, 7,
+ 80, 215, 182, 183, 184, 13, 216, 6, 7, 8,
+ 77, 8, 75, 73, 13, 195, 196, 197, 198, 422,
+ 200, 201, 73, 203, 420, 48, 240, 48, 208, 10,
+ 0, 1, 10, 213, 10, 10, 6, 197, 10, 219,
+ 10, 201, 1, 16, 17, 18, 226, 6, 75, 226,
+ 226, 10, 10, 213, 73, 226, 226, 76, 238, 226,
+ 226, 241, 226, 48, 75, 245, 74, 247, 76, 249,
+ 262, 16, 17, 18, 19, 20, 74, 76, 238, 49,
+ 50, 261, 52, 53, 264, 10, 266, 73, 48, 249,
+ 49, 50, 75, 52, 53, 10, 73, 311, 68, 69,
+ 70, 71, 73, 64, 264, 78, 79, 10, 322, 68,
+ 69, 70, 71, 327, 80, 58, 73, 8, 58, 75,
+ 73, 58, 6, 7, 8, 305, 62, 307, 11, 13,
+ 310, 6, 7, 78, 79, 58, 346, 75, 13, 319,
+ 73, 75, 73, 75, 358, 74, 6, 7, 75, 75,
+ 37, 11, 332, 13, 213, 15, 43, 360, 6, 7,
+ 47, 426, 10, 377, 346, 13, 380, 6, 152, 209,
+ 350, 381, 352, 353, 392, 394, 390, 417, 392, 4,
+ 360, 68, 132, 70, 71, 72, 73, 74, 368, 319,
+ 350, 78, 76, 353, 388, -1, -1, -1, -1, -1,
+ 360, 76, -1, 417, 406, 419, 66, -1, 68, 423,
+ -1, 50, 72, 52, 53, -1, 76, -1, 66, -1,
+ 68, -1, -1, -1, 72, 112, 406, 114, 76, -1,
+ 69, 70, 71, -1, -1, -1, -1, 6, 7, -1,
+ 420, -1, 422, -1, 13, 422, 422, -1, -1, -1,
+ -1, 422, 422, -1, 141, 422, 422, -1, 422, -1,
+ 420, -1, -1, -1, -1, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 35, -1, 66, -1, 68,
+ -1, -1, 42, 72, 44, 45, 46, 76, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
+ 6, 7, 209, 9, -1, 212, 12, 214, 14, -1,
+ -1, -1, -1, 19, -1, -1, -1, 23, -1, 226,
+ 80, 27, -1, -1, -1, -1, -1, -1, 6, 7,
+ 90, 238, 92, 6, 7, 13, -1, 15, -1, -1,
+ 13, 47, -1, 103, -1, 6, 7, -1, 54, 109,
+ 56, 111, 13, -1, 15, -1, -1, 264, -1, -1,
+ 120, -1, -1, -1, -1, -1, 72, -1, -1, -1,
+ 76, 77, 78, -1, -1, -1, 3, 4, 5, 6,
+ 7, -1, 9, -1, -1, 12, -1, 14, 66, -1,
+ 68, -1, 19, 66, 72, 68, 23, -1, 76, 306,
+ 27, -1, -1, 76, -1, 66, -1, 68, -1, -1,
+ -1, 72, -1, -1, -1, 76, -1, -1, -1, -1,
+ 47, 6, 7, 183, 331, -1, -1, 54, 13, 56,
+ 57, -1, -1, -1, -1, 195, 196, 197, -1, -1,
+ 200, 201, -1, 203, -1, 72, -1, 74, -1, 76,
+ -1, 78, 79, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 373, -1, 375, -1,
+ -1, 1, -1, 3, 4, 5, 6, 7, -1, 9,
+ 10, 66, 12, 68, 14, 245, 393, 72, -1, 19,
+ -1, 76, 399, 23, -1, -1, -1, 27, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 415, -1,
+ -1, -1, -1, -1, -1, 422, -1, 47, -1, 426,
+ 50, -1, 52, 53, 54, 55, 56, 57, -1, 59,
+ 60, 61, 62, 63, 64, 65, -1, 67, 68, -1,
+ 70, 71, 72, -1, 74, 75, 76, 1, 78, 3,
+ 4, 5, 6, 7, -1, 9, 10, -1, 12, 319,
+ 14, -1, -1, -1, -1, 19, -1, -1, -1, 23,
+ -1, -1, -1, 27, -1, -1, 16, 17, 18, 19,
+ 20, -1, 22, 23, 24, -1, -1, -1, 28, 29,
+ 30, 31, -1, 47, 34, 35, 50, -1, 52, 53,
+ 54, 55, 56, 57, -1, 59, 60, 61, 368, 63,
+ 64, 65, -1, 67, 68, -1, 70, 71, 72, -1,
+ 74, 75, 76, 1, 78, 3, 4, 5, 6, 7,
+ -1, 9, 10, -1, 12, -1, 14, -1, 78, 79,
+ -1, 19, -1, -1, -1, 23, -1, -1, -1, 27,
+ -1, -1, 16, 17, 18, 19, 20, -1, 22, 23,
+ 24, -1, -1, -1, -1, -1, -1, -1, -1, 47,
+ 34, 35, 50, -1, 52, 53, 54, 55, 56, 57,
+ -1, 59, 60, 61, -1, 63, 64, 65, -1, 67,
+ 68, -1, 70, 71, 72, -1, 74, -1, 76, -1,
+ 78, 3, 4, 5, 6, 7, -1, 9, -1, -1,
+ 12, -1, 14, -1, 78, 79, -1, 19, -1, -1,
+ -1, 23, -1, -1, -1, 27, -1, -1, -1, -1,
+ -1, -1, -1, 3, 4, 5, 6, 7, -1, 9,
+ 10, -1, 12, -1, 14, 47, -1, -1, -1, 19,
+ -1, -1, 54, 23, 56, 57, -1, 27, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 47, -1, -1, 50, -1,
- 52, 53, 54, 55, 56, 57, -1, 59, 60, 61,
- 62, 63, 64, 65, -1, 67, 68, -1, 70, 71,
- 72, -1, 74, 75, 76, -1, 78, -1, -1, -1,
- 1, -1, 3, 4, 5, 6, 7, -1, 9, 10,
- -1, 12, -1, 14, -1, -1, -1, -1, 19, -1,
- -1, -1, 23, 322, -1, -1, 27, -1, -1, 16,
- 17, 18, 19, 20, -1, 22, 23, 24, -1, -1,
- -1, 28, 29, 30, 31, -1, 47, 34, 35, 50,
- -1, 52, 53, 54, 55, 56, 57, -1, 59, 60,
- 61, -1, 63, 64, 65, -1, 67, 68, -1, 70,
- 71, 72, 371, 74, 75, 76, 1, 78, 3, 4,
- 5, 6, 7, -1, 9, 10, -1, 12, -1, 14,
- -1, 78, 79, -1, 19, -1, -1, -1, 23, -1,
- -1, -1, 27, -1, -1, 16, 17, 18, 19, 20,
- -1, 22, 23, 24, -1, -1, -1, -1, -1, -1,
- -1, -1, 47, 34, 35, 50, -1, 52, 53, 54,
- 55, 56, 57, -1, 59, 60, 61, -1, 63, 64,
- 65, -1, 67, 68, -1, 70, 71, 72, -1, 74,
- -1, 76, -1, 78, 3, 4, 5, 6, 7, -1,
- 9, -1, -1, 12, -1, 14, -1, 78, 79, -1,
- 19, -1, -1, -1, 23, -1, -1, -1, 27, -1,
- 3, 4, 5, 6, 7, -1, 9, -1, -1, 12,
- -1, 14, -1, -1, -1, -1, 19, -1, 47, -1,
- 23, -1, -1, -1, 27, 54, -1, 56, 57, -1,
+ 72, 73, 74, -1, 76, -1, 78, 47, -1, 3,
+ 4, 5, 6, 7, 54, 9, 56, 57, 12, -1,
+ 14, -1, -1, -1, -1, 19, -1, -1, -1, 23,
+ -1, -1, 72, 27, 74, -1, 76, -1, 78, -1,
+ -1, 3, 4, 5, 6, 7, -1, 9, -1, -1,
+ 12, -1, 14, 47, -1, -1, -1, 19, -1, -1,
+ 54, 23, 56, 57, -1, 27, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
+ 74, -1, 76, -1, 78, 47, -1, 3, 4, 5,
+ 6, 7, 54, 9, 56, 57, 12, -1, 14, -1,
+ -1, -1, -1, 19, -1, -1, -1, 23, -1, -1,
+ 72, 27, 74, -1, 76, -1, 78, 3, 4, 5,
+ 6, 7, -1, 9, -1, -1, 12, -1, 14, -1,
+ -1, 47, -1, 19, -1, -1, -1, 23, 54, -1,
+ 56, 27, -1, 3, 4, 5, 6, 7, -1, 9,
+ -1, -1, 12, -1, 14, -1, 72, -1, 74, 19,
+ 76, 47, 78, 23, -1, -1, -1, 27, 54, -1,
+ 56, 57, -1, 3, 4, 5, 6, 7, -1, 9,
+ -1, -1, 12, -1, 14, -1, 72, 47, -1, 19,
+ 76, -1, 78, 23, 54, -1, 56, 27, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 72, 47, 74, -1, 76, -1, 78,
- 79, 54, -1, 56, 57, -1, 3, 4, 5, 6,
- 7, -1, 9, -1, -1, 12, -1, 14, -1, 72,
- 73, 74, 19, 76, -1, 78, 23, -1, -1, -1,
- 27, -1, 3, 4, 5, 6, 7, -1, 9, -1,
- -1, 12, -1, 14, -1, -1, -1, -1, 19, -1,
- 47, -1, 23, -1, -1, -1, 27, 54, -1, 56,
- 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 72, 47, 74, -1, 76,
- -1, 78, -1, 54, -1, 56, 57, -1, 3, 4,
- 5, 6, 7, -1, 9, -1, -1, 12, -1, 14,
- -1, 72, -1, 74, 19, 76, -1, 78, 23, -1,
- -1, -1, 27, -1, 3, 4, 5, 6, 7, -1,
- 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
- 19, -1, 47, -1, 23, -1, -1, -1, 27, 54,
- -1, 56, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 72, 47, 74,
- -1, 76, -1, 78, -1, 54, -1, 56, 57, -1,
- 3, 4, 5, 6, 7, -1, 9, -1, -1, 12,
- -1, 14, -1, 72, -1, -1, 19, 76, -1, 78,
- 23, -1, -1, -1, 27, -1, 3, 4, 5, 6,
- 7, -1, 9, -1, -1, 12, -1, 14, -1, -1,
- -1, -1, 19, -1, 47, -1, 23, -1, -1, -1,
- 27, 54, -1, 56, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
- 47, -1, -1, 76, -1, 78, -1, 54, -1, 56,
+ -1, -1, 72, -1, -1, -1, 76, 47, 78, -1,
+ -1, -1, -1, -1, 54, -1, 56, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 8, 72, -1, -1, -1, 76,
- -1, 78, 16, 17, 18, 19, 20, 21, 22, 23,
+ -1, 8, 72, -1, -1, -1, 76, -1, 78, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
+ -1, -1, 16, 17, 18, 19, 20, -1, 22, 23,
24, 25, 26, -1, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, -1, 43,
- 44, 45, 46, -1, -1, 16, 17, 18, 19, 20,
- -1, 22, 23, 24, 25, 26, -1, 28, 29, 30,
- 31, 32, 33, 34, 35, -1, -1, -1, 8, -1,
- 74, -1, -1, -1, 78, 79, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, -1, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, -1, 43, 44, 45, 46, 78, 79, 16,
- 17, 18, 19, 20, -1, 22, 23, 24, 25, -1,
- -1, 28, 29, 30, 31, 32, 33, 34, 35, -1,
- -1, -1, 8, -1, -1, -1, -1, 77, 78, 79,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
- 46, 78, 79, 16, 17, 18, 19, 20, -1, 22,
- 23, 24, -1, -1, -1, 28, 29, 30, 31, 32,
- 33, 34, 35, -1, -1, -1, 8, 73, 10, -1,
- -1, -1, 78, 79, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, -1, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- -1, 43, 44, 45, 46, 78, 79, 16, 17, 18,
- 19, 20, -1, 22, 23, 16, 17, 18, 19, 20,
- -1, -1, 23, -1, -1, 34, 35, -1, -1, -1,
- 8, -1, -1, 34, 35, -1, 78, 79, 16, 17,
+ 34, 35, -1, -1, -1, 8, -1, 74, -1, -1,
+ -1, 78, 79, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, -1, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
+ 43, 44, 45, 46, 78, 79, 16, 17, 18, 19,
+ 20, -1, 22, 23, 24, 25, -1, -1, 28, 29,
+ 30, 31, 32, 33, 34, 35, -1, -1, -1, 8,
+ -1, -1, -1, -1, 77, 78, 79, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, -1, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, -1, 43, 44, 45, 46, 78, 79,
+ 16, 17, 18, 19, 20, -1, 22, 23, 24, -1,
+ -1, -1, 28, 29, 30, 31, 32, 33, 34, 35,
+ -1, -1, -1, 8, 73, 10, -1, -1, -1, 78,
+ 79, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, -1, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
+ 45, 46, 78, 79, 16, 17, 18, 19, 20, -1,
+ 22, 23, 16, 17, 18, 19, 20, -1, -1, 23,
+ -1, -1, 34, 35, -1, -1, -1, 8, -1, -1,
+ 34, 35, -1, 78, 79, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, -1, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, -1, 43, 44, 45, 46, 78, 79, 16, 17,
+ 18, 19, 20, -1, 78, 79, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 34, 35, -1, -1,
+ -1, 8, 73, -1, -1, -1, -1, 78, 79, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
+ 78, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 8, -1, 74, -1, -1,
+ -1, 78, 79, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, -1, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
+ 43, 44, 45, 46, -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,
+ 8, 74, 10, -1, -1, 78, 79, -1, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, -1,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, -1, 43, 44, 45, 46, 78,
- 79, 16, 17, 18, 19, 20, -1, 78, 79, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 34,
- 35, -1, -1, -1, 8, 73, -1, -1, -1, -1,
+ 38, 39, 40, 41, -1, 43, 44, 45, 46, -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, 8, -1, 10, -1, -1, -1,
78, 79, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, -1, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, -1, 43,
- 44, 45, 46, 78, 79, -1, -1, -1, -1, -1,
+ 44, 45, 46, -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, 8, -1,
- 74, -1, -1, -1, 78, 79, 16, 17, 18, 19,
+ -1, 11, -1, -1, 78, 79, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, -1, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, -1, 43, 44, 45, 46, -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, 8, 74, 10, -1, -1, 78, 79,
- -1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, -1, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
- 45, 46, -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, 8, -1, 10,
- -1, -1, -1, 78, 79, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, -1, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, -1, 43, 44, 45, 46, -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, 8, -1, -1, 11, -1, -1, 78, 79, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
- -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, 8, -1, -1, -1, -1,
- -1, 78, 79, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, -1, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, -1, 48, -1, -1, -1, -1,
+ -1, -1, 8, -1, -1, -1, -1, -1, 78, 79,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
+ 46, -1, 48, -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, 8,
- -1, -1, -1, -1, -1, 78, 79, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, -1, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, 46, -1, -1,
+ -1, -1, -1, -1, -1, -1, 8, -1, -1, -1,
+ -1, -1, 78, 79, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, -1, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ -1, 43, 44, 45, 46, -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, 78,
- 79
+ -1, -1, -1, -1, -1, -1, 78, 79
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
@@ -1281,49 +1268,49 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 1, 6, 10, 49, 50, 52, 53, 68, 69,
- 70, 71, 82, 83, 85, 103, 122, 123, 124, 132,
- 136, 137, 140, 142, 143, 144, 83, 85, 103, 124,
- 132, 136, 137, 140, 82, 82, 5, 57, 141, 82,
+ 70, 71, 82, 83, 85, 103, 122, 123, 124, 131,
+ 135, 136, 139, 141, 142, 143, 83, 85, 103, 124,
+ 131, 135, 136, 139, 82, 82, 5, 57, 140, 82,
82, 82, 7, 13, 66, 68, 72, 76, 82, 119,
- 120, 121, 10, 10, 8, 10, 143, 0, 10, 10,
+ 120, 121, 10, 10, 8, 10, 142, 0, 10, 10,
10, 72, 74, 74, 121, 3, 4, 5, 7, 9,
12, 14, 19, 23, 27, 47, 54, 56, 72, 76,
78, 82, 84, 86, 87, 88, 93, 94, 95, 125,
72, 119, 11, 74, 72, 119, 121, 95, 8, 121,
8, 121, 73, 80, 82, 91, 92, 121, 122, 77,
95, 72, 74, 101, 57, 74, 95, 107, 108, 110,
- 82, 130, 131, 51, 82, 122, 126, 127, 128, 129,
- 75, 82, 122, 128, 133, 134, 95, 82, 95, 95,
- 95, 95, 95, 72, 72, 82, 95, 122, 123, 82,
- 102, 121, 15, 72, 8, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 43, 44, 45, 46, 74, 78, 79, 92, 121, 82,
- 138, 139, 73, 102, 108, 108, 121, 66, 68, 48,
- 9, 73, 80, 48, 121, 77, 121, 135, 1, 10,
- 55, 57, 59, 60, 61, 63, 64, 65, 67, 68,
- 75, 82, 83, 85, 95, 96, 97, 98, 99, 100,
- 101, 103, 111, 112, 115, 118, 132, 136, 137, 140,
- 72, 95, 109, 79, 105, 106, 108, 78, 121, 48,
- 73, 74, 82, 10, 75, 10, 119, 10, 134, 75,
- 95, 5, 73, 73, 48, 77, 82, 23, 73, 82,
- 89, 90, 108, 122, 95, 107, 95, 95, 95, 95,
+ 82, 129, 130, 82, 122, 126, 127, 51, 75, 82,
+ 122, 128, 132, 133, 95, 82, 95, 95, 95, 95,
+ 95, 72, 72, 82, 95, 122, 123, 82, 102, 121,
+ 15, 72, 8, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 43, 44,
+ 45, 46, 74, 78, 79, 92, 121, 82, 137, 138,
+ 73, 102, 108, 108, 121, 66, 68, 48, 9, 73,
+ 80, 48, 121, 77, 121, 134, 1, 10, 55, 57,
+ 59, 60, 61, 63, 64, 65, 67, 68, 75, 82,
+ 83, 85, 95, 96, 97, 98, 99, 100, 101, 103,
+ 111, 112, 115, 118, 131, 135, 136, 139, 72, 95,
+ 109, 79, 105, 106, 108, 78, 121, 48, 73, 10,
+ 75, 82, 10, 119, 10, 133, 75, 95, 5, 73,
+ 73, 48, 77, 82, 23, 73, 82, 89, 90, 108,
+ 122, 95, 107, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 143, 121, 82, 74, 8,
- 48, 75, 101, 9, 73, 73, 92, 82, 73, 121,
- 92, 121, 48, 73, 82, 109, 10, 10, 95, 89,
- 95, 101, 10, 108, 57, 63, 116, 117, 11, 10,
- 10, 10, 10, 100, 75, 10, 110, 101, 82, 48,
- 75, 121, 131, 74, 127, 74, 127, 10, 73, 73,
- 102, 119, 122, 48, 73, 75, 139, 95, 139, 82,
- 101, 80, 73, 135, 101, 74, 10, 101, 64, 10,
- 95, 82, 73, 58, 8, 106, 129, 75, 127, 101,
- 90, 58, 75, 73, 121, 58, 62, 113, 114, 95,
- 95, 101, 11, 101, 110, 108, 75, 75, 74, 141,
- 101, 73, 101, 111, 95, 114, 75, 10, 10, 58,
- 95, 104, 143, 11, 95, 101, 117, 48, 101, 75,
- 100, 101, 104
+ 95, 95, 142, 121, 82, 74, 8, 48, 75, 101,
+ 9, 73, 73, 92, 82, 73, 121, 92, 121, 48,
+ 73, 82, 109, 10, 10, 95, 89, 95, 101, 10,
+ 108, 57, 63, 116, 117, 11, 10, 10, 10, 10,
+ 100, 75, 10, 110, 101, 82, 48, 75, 121, 130,
+ 74, 127, 72, 74, 10, 73, 73, 102, 119, 122,
+ 48, 73, 75, 138, 95, 138, 82, 101, 80, 73,
+ 134, 101, 74, 10, 101, 64, 10, 95, 82, 73,
+ 58, 8, 106, 127, 130, 127, 101, 90, 58, 75,
+ 73, 121, 58, 62, 113, 114, 95, 95, 101, 11,
+ 101, 110, 108, 75, 73, 75, 74, 140, 101, 73,
+ 101, 111, 95, 114, 75, 10, 10, 58, 95, 104,
+ 74, 142, 11, 95, 101, 117, 48, 101, 127, 75,
+ 100, 101, 104, 75
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
@@ -1345,12 +1332,12 @@ static const yytype_uint8 yyr1[] =
113, 114, 114, 115, 116, 117, 117, 117, 118, 118,
119, 119, 119, 119, 119, 120, 120, 121, 121, 121,
121, 121, 121, 121, 122, 122, 122, 123, 123, 123,
- 124, 124, 125, 126, 126, 127, 127, 128, 128, 129,
- 130, 131, 131, 132, 132, 133, 133, 133, 133, 134,
- 134, 135, 135, 136, 137, 137, 138, 138, 139, 139,
- 139, 140, 140, 141, 141, 141, 142, 142, 142, 142,
- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
- 142, 142, 142, 142, 142, 143, 143, 144, 144
+ 124, 124, 125, 126, 127, 127, 128, 128, 129, 130,
+ 130, 131, 131, 132, 132, 132, 132, 133, 133, 134,
+ 134, 135, 136, 136, 137, 137, 138, 138, 138, 139,
+ 139, 140, 140, 140, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 142, 142, 143, 143
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
@@ -1372,12 +1359,12 @@ static const yytype_int8 yyr2[] =
4, 2, 1, 5, 5, 3, 5, 5, 2, 2,
5, 3, 4, 4, 2, 1, 7, 1, 2, 4,
2, 3, 4, 2, 3, 3, 2, 3, 4, 4,
- 3, 3, 5, 1, 1, 3, 2, 5, 4, 1,
- 2, 3, 1, 5, 8, 2, 3, 2, 1, 2,
- 1, 3, 1, 3, 5, 4, 1, 3, 3, 2,
- 1, 7, 5, 5, 9, 7, 1, 1, 1, 1,
- 1, 2, 2, 2, 1, 2, 2, 2, 2, 3,
- 3, 2, 2, 3, 1, 1, 2, 1, 0
+ 3, 3, 5, 1, 3, 2, 5, 8, 2, 3,
+ 1, 5, 8, 2, 3, 2, 1, 2, 1, 3,
+ 1, 3, 5, 4, 1, 3, 3, 2, 1, 7,
+ 5, 5, 9, 7, 1, 1, 1, 1, 1, 2,
+ 2, 2, 1, 2, 2, 2, 2, 3, 3, 2,
+ 2, 3, 1, 1, 2, 1, 0
};
@@ -1943,397 +1930,391 @@ yydestruct (const char *yymsg,
case YYSYMBOL_INT: /* INT */
#line 143 "src/parser.y"
{}
-#line 1947 "src/gen_parser.c"
+#line 1934 "src/gen_parser.c"
break;
case YYSYMBOL_FLOAT: /* FLOAT */
#line 143 "src/parser.y"
{}
-#line 1953 "src/gen_parser.c"
+#line 1940 "src/gen_parser.c"
break;
case YYSYMBOL_STRING: /* STRING */
#line 143 "src/parser.y"
{}
-#line 1959 "src/gen_parser.c"
+#line 1946 "src/gen_parser.c"
break;
case YYSYMBOL_ID: /* ID */
#line 143 "src/parser.y"
{}
-#line 1965 "src/gen_parser.c"
+#line 1952 "src/gen_parser.c"
break;
case YYSYMBOL_id: /* id */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1971 "src/gen_parser.c"
+#line 1958 "src/gen_parser.c"
break;
case YYSYMBOL_var: /* var */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1977 "src/gen_parser.c"
+#line 1964 "src/gen_parser.c"
break;
case YYSYMBOL_embed: /* embed */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1983 "src/gen_parser.c"
+#line 1970 "src/gen_parser.c"
break;
case YYSYMBOL_import: /* import */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1989 "src/gen_parser.c"
+#line 1976 "src/gen_parser.c"
break;
case YYSYMBOL_assign: /* assign */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1995 "src/gen_parser.c"
+#line 1982 "src/gen_parser.c"
break;
case YYSYMBOL_binary_op: /* binary_op */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2001 "src/gen_parser.c"
+#line 1988 "src/gen_parser.c"
break;
case YYSYMBOL_unary_op: /* unary_op */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2007 "src/gen_parser.c"
+#line 1994 "src/gen_parser.c"
break;
case YYSYMBOL_arg: /* arg */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2013 "src/gen_parser.c"
+#line 2000 "src/gen_parser.c"
break;
case YYSYMBOL_arg_list: /* arg_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2019 "src/gen_parser.c"
+#line 2006 "src/gen_parser.c"
break;
case YYSYMBOL_param_decl: /* param_decl */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2025 "src/gen_parser.c"
+#line 2012 "src/gen_parser.c"
break;
case YYSYMBOL_decl_list: /* decl_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2031 "src/gen_parser.c"
+#line 2018 "src/gen_parser.c"
break;
case YYSYMBOL_call: /* call */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2037 "src/gen_parser.c"
+#line 2024 "src/gen_parser.c"
break;
case YYSYMBOL_defer: /* defer */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2043 "src/gen_parser.c"
+#line 2030 "src/gen_parser.c"
break;
case YYSYMBOL_expr: /* expr */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2049 "src/gen_parser.c"
+#line 2036 "src/gen_parser.c"
break;
case YYSYMBOL_while: /* while */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2055 "src/gen_parser.c"
+#line 2042 "src/gen_parser.c"
break;
case YYSYMBOL_do_while: /* do_while */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2061 "src/gen_parser.c"
+#line 2048 "src/gen_parser.c"
break;
case YYSYMBOL_goto: /* goto */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2067 "src/gen_parser.c"
+#line 2054 "src/gen_parser.c"
break;
case YYSYMBOL_statement: /* statement */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2073 "src/gen_parser.c"
+#line 2060 "src/gen_parser.c"
break;
case YYSYMBOL_statement_list: /* statement_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2079 "src/gen_parser.c"
+#line 2066 "src/gen_parser.c"
break;
case YYSYMBOL_body: /* body */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2085 "src/gen_parser.c"
+#line 2072 "src/gen_parser.c"
break;
case YYSYMBOL_macro_list: /* macro_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2091 "src/gen_parser.c"
+#line 2078 "src/gen_parser.c"
break;
case YYSYMBOL_macro: /* macro */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2097 "src/gen_parser.c"
+#line 2084 "src/gen_parser.c"
break;
case YYSYMBOL_expr_list: /* expr_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2103 "src/gen_parser.c"
+#line 2090 "src/gen_parser.c"
break;
case YYSYMBOL_struct_init: /* struct_init */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2109 "src/gen_parser.c"
+#line 2096 "src/gen_parser.c"
break;
case YYSYMBOL_struct_inits: /* struct_inits */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2115 "src/gen_parser.c"
+#line 2102 "src/gen_parser.c"
break;
case YYSYMBOL_struct_construct: /* struct_construct */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2121 "src/gen_parser.c"
+#line 2108 "src/gen_parser.c"
break;
case YYSYMBOL_init_expr: /* init_expr */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2127 "src/gen_parser.c"
+#line 2114 "src/gen_parser.c"
break;
case YYSYMBOL_cond: /* cond */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2133 "src/gen_parser.c"
+#line 2120 "src/gen_parser.c"
break;
case YYSYMBOL_expr_if: /* expr_if */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2139 "src/gen_parser.c"
+#line 2126 "src/gen_parser.c"
break;
case YYSYMBOL_if: /* if */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2145 "src/gen_parser.c"
+#line 2132 "src/gen_parser.c"
break;
case YYSYMBOL_for: /* for */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2151 "src/gen_parser.c"
+#line 2138 "src/gen_parser.c"
break;
case YYSYMBOL_case: /* case */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2157 "src/gen_parser.c"
+#line 2144 "src/gen_parser.c"
break;
case YYSYMBOL_case_list: /* case_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2163 "src/gen_parser.c"
+#line 2150 "src/gen_parser.c"
break;
case YYSYMBOL_switch: /* switch */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2169 "src/gen_parser.c"
+#line 2156 "src/gen_parser.c"
break;
case YYSYMBOL_const_for: /* const_for */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2175 "src/gen_parser.c"
+#line 2162 "src/gen_parser.c"
break;
case YYSYMBOL_const_if: /* const_if */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2181 "src/gen_parser.c"
+#line 2168 "src/gen_parser.c"
break;
case YYSYMBOL_const: /* const */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2187 "src/gen_parser.c"
+#line 2174 "src/gen_parser.c"
break;
case YYSYMBOL_func_sign: /* func_sign */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2193 "src/gen_parser.c"
+#line 2180 "src/gen_parser.c"
break;
case YYSYMBOL_variadic_sign: /* variadic_sign */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2199 "src/gen_parser.c"
+#line 2186 "src/gen_parser.c"
break;
case YYSYMBOL_type: /* type */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2205 "src/gen_parser.c"
+#line 2192 "src/gen_parser.c"
break;
case YYSYMBOL_var_decl: /* var_decl */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2211 "src/gen_parser.c"
+#line 2198 "src/gen_parser.c"
break;
case YYSYMBOL_var_init: /* var_init */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2217 "src/gen_parser.c"
+#line 2204 "src/gen_parser.c"
break;
case YYSYMBOL_proc: /* proc */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2223 "src/gen_parser.c"
+#line 2210 "src/gen_parser.c"
break;
case YYSYMBOL_lambda: /* lambda */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2229 "src/gen_parser.c"
+#line 2216 "src/gen_parser.c"
break;
- case YYSYMBOL_union_elem: /* union_elem */
+ case YYSYMBOL_struct_elem: /* struct_elem */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2235 "src/gen_parser.c"
+#line 2222 "src/gen_parser.c"
break;
- case YYSYMBOL_union_list: /* union_list */
+ case YYSYMBOL_struct_list: /* struct_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2241 "src/gen_parser.c"
+#line 2228 "src/gen_parser.c"
break;
case YYSYMBOL_union: /* union */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2247 "src/gen_parser.c"
- break;
-
- case YYSYMBOL_struct_list: /* struct_list */
-#line 144 "src/parser.y"
- { destroy_ast_tree(((*yyvaluep).node)); }
-#line 2253 "src/gen_parser.c"
+#line 2234 "src/gen_parser.c"
break;
case YYSYMBOL_generic: /* generic */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2259 "src/gen_parser.c"
+#line 2240 "src/gen_parser.c"
break;
case YYSYMBOL_generic_list: /* generic_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2265 "src/gen_parser.c"
+#line 2246 "src/gen_parser.c"
break;
case YYSYMBOL_struct: /* struct */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2271 "src/gen_parser.c"
+#line 2252 "src/gen_parser.c"
break;
case YYSYMBOL_template_elem: /* template_elem */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2277 "src/gen_parser.c"
+#line 2258 "src/gen_parser.c"
break;
case YYSYMBOL_template_list: /* template_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2283 "src/gen_parser.c"
+#line 2264 "src/gen_parser.c"
break;
case YYSYMBOL_type_list: /* type_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2289 "src/gen_parser.c"
+#line 2270 "src/gen_parser.c"
break;
case YYSYMBOL_type_alias: /* type_alias */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2295 "src/gen_parser.c"
+#line 2276 "src/gen_parser.c"
break;
case YYSYMBOL_type_template: /* type_template */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2301 "src/gen_parser.c"
+#line 2282 "src/gen_parser.c"
break;
case YYSYMBOL_enum_val: /* enum_val */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2307 "src/gen_parser.c"
+#line 2288 "src/gen_parser.c"
break;
case YYSYMBOL_enum_list: /* enum_list */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2313 "src/gen_parser.c"
+#line 2294 "src/gen_parser.c"
break;
case YYSYMBOL_enum: /* enum */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2319 "src/gen_parser.c"
+#line 2300 "src/gen_parser.c"
break;
case YYSYMBOL_top_if: /* top_if */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2325 "src/gen_parser.c"
+#line 2306 "src/gen_parser.c"
break;
case YYSYMBOL_top: /* top */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2331 "src/gen_parser.c"
+#line 2312 "src/gen_parser.c"
break;
case YYSYMBOL_unit: /* unit */
#line 144 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2337 "src/gen_parser.c"
+#line 2318 "src/gen_parser.c"
break;
default:
@@ -2642,169 +2623,169 @@ yyreduce:
(yyval.node) = gen_id(strdup((yyvsp[0].str)));
(yyval.node)->loc = to_src_loc(&yylloc);
}
-#line 2646 "src/gen_parser.c"
+#line 2627 "src/gen_parser.c"
break;
case 3: /* var: var_decl */
#line 154 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2652 "src/gen_parser.c"
+#line 2633 "src/gen_parser.c"
break;
case 4: /* var: var_init */
#line 155 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2658 "src/gen_parser.c"
+#line 2639 "src/gen_parser.c"
break;
case 5: /* embed: "embed" "(" STRING ")" */
#line 158 "src/parser.y"
{ (yyval.node) = gen_embed(clone_string((yyvsp[-1].str))); }
-#line 2664 "src/gen_parser.c"
+#line 2645 "src/gen_parser.c"
break;
case 6: /* import: "import" STRING */
#line 161 "src/parser.y"
{ (yyval.node) = gen_import(clone_string((yyvsp[0].str))); }
-#line 2670 "src/gen_parser.c"
+#line 2651 "src/gen_parser.c"
break;
case 7: /* assign: expr "=" expr */
#line 164 "src/parser.y"
{ (yyval.node) = gen_assign((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2676 "src/gen_parser.c"
+#line 2657 "src/gen_parser.c"
break;
case 8: /* assign: expr "=" struct_construct */
#line 165 "src/parser.y"
{ (yyval.node) = gen_assign((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2682 "src/gen_parser.c"
+#line 2663 "src/gen_parser.c"
break;
case 9: /* binary_op: expr "+" expr */
#line 168 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ADD, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2688 "src/gen_parser.c"
+#line 2669 "src/gen_parser.c"
break;
case 10: /* binary_op: expr "-" expr */
#line 169 "src/parser.y"
{ (yyval.node) = gen_binop(AST_SUB, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2694 "src/gen_parser.c"
+#line 2675 "src/gen_parser.c"
break;
case 11: /* binary_op: expr "*" expr */
#line 170 "src/parser.y"
{ (yyval.node) = gen_binop(AST_MUL, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2700 "src/gen_parser.c"
+#line 2681 "src/gen_parser.c"
break;
case 12: /* binary_op: expr "/" expr */
#line 171 "src/parser.y"
{ (yyval.node) = gen_binop(AST_DIV, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2706 "src/gen_parser.c"
+#line 2687 "src/gen_parser.c"
break;
case 13: /* binary_op: expr "%" expr */
#line 172 "src/parser.y"
{ (yyval.node) = gen_binop(AST_REM, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2712 "src/gen_parser.c"
+#line 2693 "src/gen_parser.c"
break;
case 14: /* binary_op: expr "^" expr */
#line 173 "src/parser.y"
{ (yyval.node) = gen_binop(AST_XOR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2718 "src/gen_parser.c"
+#line 2699 "src/gen_parser.c"
break;
case 15: /* binary_op: expr "^^" expr */
#line 174 "src/parser.y"
{ (yyval.node) = gen_binop(AST_POW, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2724 "src/gen_parser.c"
+#line 2705 "src/gen_parser.c"
break;
case 16: /* binary_op: expr "&" expr */
#line 175 "src/parser.y"
{ (yyval.node) = gen_binop(AST_AND, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2730 "src/gen_parser.c"
+#line 2711 "src/gen_parser.c"
break;
case 17: /* binary_op: expr "&&" expr */
#line 176 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LAND, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2736 "src/gen_parser.c"
+#line 2717 "src/gen_parser.c"
break;
case 18: /* binary_op: expr "|" expr */
#line 177 "src/parser.y"
{ (yyval.node) = gen_binop(AST_OR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2742 "src/gen_parser.c"
+#line 2723 "src/gen_parser.c"
break;
case 19: /* binary_op: expr "||" expr */
#line 178 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LOR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2748 "src/gen_parser.c"
+#line 2729 "src/gen_parser.c"
break;
case 20: /* binary_op: expr "<<" expr */
#line 179 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LSHIFT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2754 "src/gen_parser.c"
+#line 2735 "src/gen_parser.c"
break;
case 21: /* binary_op: expr ">>" expr */
#line 180 "src/parser.y"
{ (yyval.node) = gen_binop(AST_RSHIFT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2760 "src/gen_parser.c"
+#line 2741 "src/gen_parser.c"
break;
case 22: /* binary_op: expr "+=" expr */
#line 181 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_ADD, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2766 "src/gen_parser.c"
+#line 2747 "src/gen_parser.c"
break;
case 23: /* binary_op: expr "-=" expr */
#line 182 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_SUB, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2772 "src/gen_parser.c"
+#line 2753 "src/gen_parser.c"
break;
case 24: /* binary_op: expr "*=" expr */
#line 183 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_MUL, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2778 "src/gen_parser.c"
+#line 2759 "src/gen_parser.c"
break;
case 25: /* binary_op: expr "/=" expr */
#line 184 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_DIV, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2784 "src/gen_parser.c"
+#line 2765 "src/gen_parser.c"
break;
case 26: /* binary_op: expr "%=" expr */
#line 185 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_REM, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2790 "src/gen_parser.c"
+#line 2771 "src/gen_parser.c"
break;
case 27: /* binary_op: expr "&=" expr */
#line 186 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_AND, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2796 "src/gen_parser.c"
+#line 2777 "src/gen_parser.c"
break;
case 28: /* binary_op: expr "|=" expr */
#line 187 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_OR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2802 "src/gen_parser.c"
+#line 2783 "src/gen_parser.c"
break;
case 29: /* binary_op: expr "^=" expr */
#line 188 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_XOR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2808 "src/gen_parser.c"
+#line 2789 "src/gen_parser.c"
break;
case 30: /* binary_op: expr "<<=" expr */
@@ -2812,7 +2793,7 @@ yyreduce:
{
(yyval.node) = gen_binop(AST_ASSIGN_LSHIFT, (yyvsp[-2].node), (yyvsp[0].node));
}
-#line 2816 "src/gen_parser.c"
+#line 2797 "src/gen_parser.c"
break;
case 31: /* binary_op: expr ">>=" expr */
@@ -2820,193 +2801,193 @@ yyreduce:
{
(yyval.node) = gen_binop(AST_ASSIGN_RSHIFT, (yyvsp[-2].node), (yyvsp[0].node));
}
-#line 2824 "src/gen_parser.c"
+#line 2805 "src/gen_parser.c"
break;
case 32: /* binary_op: expr "<" expr */
#line 195 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2830 "src/gen_parser.c"
+#line 2811 "src/gen_parser.c"
break;
case 33: /* binary_op: expr ">" expr */
#line 196 "src/parser.y"
{ (yyval.node) = gen_binop(AST_GT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2836 "src/gen_parser.c"
+#line 2817 "src/gen_parser.c"
break;
case 34: /* binary_op: expr "<=" expr */
#line 197 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LE, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2842 "src/gen_parser.c"
+#line 2823 "src/gen_parser.c"
break;
case 35: /* binary_op: expr ">=" expr */
#line 198 "src/parser.y"
{ (yyval.node) = gen_binop(AST_GE, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2848 "src/gen_parser.c"
+#line 2829 "src/gen_parser.c"
break;
case 36: /* binary_op: expr "!=" expr */
#line 199 "src/parser.y"
{ (yyval.node) = gen_binop(AST_NE, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2854 "src/gen_parser.c"
+#line 2835 "src/gen_parser.c"
break;
case 37: /* binary_op: expr "==" expr */
#line 200 "src/parser.y"
{ (yyval.node) = gen_binop(AST_EQ, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2860 "src/gen_parser.c"
+#line 2841 "src/gen_parser.c"
break;
case 38: /* unary_op: "-" expr */
#line 203 "src/parser.y"
{ (yyval.node) = gen_unop(AST_NEG, (yyvsp[0].node)); }
-#line 2866 "src/gen_parser.c"
+#line 2847 "src/gen_parser.c"
break;
case 39: /* unary_op: "!" expr */
#line 204 "src/parser.y"
{ (yyval.node) = gen_unop(AST_LNOT, (yyvsp[0].node)); }
-#line 2872 "src/gen_parser.c"
+#line 2853 "src/gen_parser.c"
break;
case 40: /* unary_op: "&" expr */
#line 205 "src/parser.y"
{ (yyval.node) = gen_unop(AST_REF, (yyvsp[0].node)); }
-#line 2878 "src/gen_parser.c"
+#line 2859 "src/gen_parser.c"
break;
case 41: /* unary_op: "'" expr */
#line 206 "src/parser.y"
{ (yyval.node) = gen_unop(AST_DEREF, (yyvsp[0].node)); }
-#line 2884 "src/gen_parser.c"
+#line 2865 "src/gen_parser.c"
break;
case 42: /* unary_op: "~" expr */
#line 207 "src/parser.y"
{ (yyval.node) = gen_unop(AST_NOT, (yyvsp[0].node)); }
-#line 2890 "src/gen_parser.c"
+#line 2871 "src/gen_parser.c"
break;
case 43: /* arg: "&" var_decl */
#line 210 "src/parser.y"
{ (yyval.node) = gen_unop(AST_REF, (yyvsp[0].node)); }
-#line 2896 "src/gen_parser.c"
+#line 2877 "src/gen_parser.c"
break;
case 44: /* arg: var_decl */
#line 211 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2902 "src/gen_parser.c"
+#line 2883 "src/gen_parser.c"
break;
case 45: /* arg: init_expr */
#line 212 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2908 "src/gen_parser.c"
+#line 2889 "src/gen_parser.c"
break;
case 46: /* arg_list: arg "," arg_list */
#line 215 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 2914 "src/gen_parser.c"
+#line 2895 "src/gen_parser.c"
break;
case 47: /* arg_list: arg */
#line 216 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2920 "src/gen_parser.c"
+#line 2901 "src/gen_parser.c"
break;
case 48: /* param_decl: type */
#line 219 "src/parser.y"
{ (yyval.node) = gen_var(NULL, (yyvsp[0].node), NULL); }
-#line 2926 "src/gen_parser.c"
+#line 2907 "src/gen_parser.c"
break;
case 49: /* decl_list: var_decl "," decl_list */
#line 221 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 2932 "src/gen_parser.c"
+#line 2913 "src/gen_parser.c"
break;
case 50: /* decl_list: param_decl "," decl_list */
#line 222 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 2938 "src/gen_parser.c"
+#line 2919 "src/gen_parser.c"
break;
case 51: /* decl_list: var_decl */
#line 223 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2944 "src/gen_parser.c"
+#line 2925 "src/gen_parser.c"
break;
case 52: /* decl_list: param_decl */
#line 224 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2950 "src/gen_parser.c"
+#line 2931 "src/gen_parser.c"
break;
case 53: /* call: id "(" arg_list ")" */
#line 228 "src/parser.y"
{ (yyval.node) = gen_call((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 2956 "src/gen_parser.c"
+#line 2937 "src/gen_parser.c"
break;
case 54: /* call: id "(" ")" */
#line 229 "src/parser.y"
{ (yyval.node) = gen_call((yyvsp[-2].node), NULL); }
-#line 2962 "src/gen_parser.c"
+#line 2943 "src/gen_parser.c"
break;
case 55: /* defer: "defer" "(" expr ")" */
#line 232 "src/parser.y"
{ (yyval.node) = gen_defer((yyvsp[-1].node)); }
-#line 2968 "src/gen_parser.c"
+#line 2949 "src/gen_parser.c"
break;
case 56: /* expr: id */
#line 236 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2974 "src/gen_parser.c"
+#line 2955 "src/gen_parser.c"
break;
case 57: /* expr: expr "." id */
#line 237 "src/parser.y"
{ (yyval.node) = gen_dot((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2980 "src/gen_parser.c"
+#line 2961 "src/gen_parser.c"
break;
case 58: /* expr: id "##" id */
#line 238 "src/parser.y"
{ (yyval.node) = gen_paste((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2986 "src/gen_parser.c"
+#line 2967 "src/gen_parser.c"
break;
case 59: /* expr: "..." id */
#line 239 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2992 "src/gen_parser.c"
+#line 2973 "src/gen_parser.c"
break;
case 60: /* expr: "@" */
#line 240 "src/parser.y"
{ (yyval.node) = gen_last(); }
-#line 2998 "src/gen_parser.c"
+#line 2979 "src/gen_parser.c"
break;
case 61: /* expr: INT */
#line 241 "src/parser.y"
{ (yyval.node) = gen_int((yyvsp[0].integer)); (yyval.node)->loc = to_src_loc(&yylloc); }
-#line 3004 "src/gen_parser.c"
+#line 2985 "src/gen_parser.c"
break;
case 62: /* expr: FLOAT */
#line 242 "src/parser.y"
{ (yyval.node) = gen_float((yyvsp[0].dbl)); (yyval.node)->loc = to_src_loc(&yylloc); }
-#line 3010 "src/gen_parser.c"
+#line 2991 "src/gen_parser.c"
break;
case 63: /* expr: STRING */
@@ -3015,85 +2996,85 @@ yyreduce:
(yyval.node) = gen_string(clone_string((yyvsp[0].str)));
(yyval.node)->loc = to_src_loc(&yylloc);
}
-#line 3019 "src/gen_parser.c"
+#line 3000 "src/gen_parser.c"
break;
case 64: /* expr: "(" expr ")" */
#line 247 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3025 "src/gen_parser.c"
+#line 3006 "src/gen_parser.c"
break;
case 65: /* expr: assign */
#line 248 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3031 "src/gen_parser.c"
+#line 3012 "src/gen_parser.c"
break;
case 66: /* expr: call */
#line 249 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3037 "src/gen_parser.c"
+#line 3018 "src/gen_parser.c"
break;
case 67: /* expr: defer */
#line 250 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3043 "src/gen_parser.c"
+#line 3024 "src/gen_parser.c"
break;
case 68: /* expr: binary_op */
#line 251 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3049 "src/gen_parser.c"
+#line 3030 "src/gen_parser.c"
break;
case 69: /* expr: unary_op */
#line 252 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3055 "src/gen_parser.c"
+#line 3036 "src/gen_parser.c"
break;
case 70: /* expr: "(" var_init ")" */
#line 253 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3061 "src/gen_parser.c"
+#line 3042 "src/gen_parser.c"
break;
case 71: /* expr: "sizeof" expr */
#line 254 "src/parser.y"
{ (yyval.node) = gen_sizeof((yyvsp[0].node)); }
-#line 3067 "src/gen_parser.c"
+#line 3048 "src/gen_parser.c"
break;
case 72: /* expr: expr "as" type */
#line 255 "src/parser.y"
{ (yyval.node) = gen_cast((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3073 "src/gen_parser.c"
+#line 3054 "src/gen_parser.c"
break;
case 73: /* expr: "as" type */
#line 256 "src/parser.y"
{ (yyval.node) = gen_as((yyvsp[0].node)); }
-#line 3079 "src/gen_parser.c"
+#line 3060 "src/gen_parser.c"
break;
case 74: /* expr: embed */
#line 257 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3085 "src/gen_parser.c"
+#line 3066 "src/gen_parser.c"
break;
case 75: /* expr: lambda */
#line 258 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3091 "src/gen_parser.c"
+#line 3072 "src/gen_parser.c"
break;
case 76: /* while: "while" expr body */
#line 261 "src/parser.y"
{ (yyval.node) = gen_while((yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3097 "src/gen_parser.c"
+#line 3078 "src/gen_parser.c"
break;
case 77: /* do_while: "do" body "while" expr ";" */
@@ -3102,146 +3083,146 @@ yyreduce:
(yyval.node) = gen_while((yyvsp[-3].node), (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_DELAYED);
}
-#line 3106 "src/gen_parser.c"
+#line 3087 "src/gen_parser.c"
break;
case 78: /* goto: "goto" id */
#line 270 "src/parser.y"
{ (yyval.node) = gen_goto(gen_label((yyvsp[0].node))); }
-#line 3112 "src/gen_parser.c"
+#line 3093 "src/gen_parser.c"
break;
case 79: /* statement: expr ";" */
#line 272 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3118 "src/gen_parser.c"
+#line 3099 "src/gen_parser.c"
break;
case 80: /* statement: "return" init_expr ";" */
#line 273 "src/parser.y"
{ (yyval.node) = gen_return((yyvsp[-1].node)); }
-#line 3124 "src/gen_parser.c"
+#line 3105 "src/gen_parser.c"
break;
case 81: /* statement: "return" ";" */
#line 274 "src/parser.y"
{ (yyval.node) = gen_return(NULL); }
-#line 3130 "src/gen_parser.c"
+#line 3111 "src/gen_parser.c"
break;
case 82: /* statement: "break" ";" */
#line 275 "src/parser.y"
{ (yyval.node) = gen_ctrl(AST_CTRL_BREAK, to_src_loc(&yylloc)); }
-#line 3136 "src/gen_parser.c"
+#line 3117 "src/gen_parser.c"
break;
case 83: /* statement: "continue" ";" */
#line 276 "src/parser.y"
{ (yyval.node) = gen_ctrl(AST_CTRL_CONTINUE,
to_src_loc(&yylloc)); }
-#line 3143 "src/gen_parser.c"
+#line 3124 "src/gen_parser.c"
break;
case 84: /* statement: import ";" */
#line 278 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3149 "src/gen_parser.c"
+#line 3130 "src/gen_parser.c"
break;
case 85: /* statement: var ";" */
#line 279 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3155 "src/gen_parser.c"
+#line 3136 "src/gen_parser.c"
break;
case 86: /* statement: if */
#line 280 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3161 "src/gen_parser.c"
+#line 3142 "src/gen_parser.c"
break;
case 87: /* statement: goto ";" */
#line 281 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3167 "src/gen_parser.c"
+#line 3148 "src/gen_parser.c"
break;
case 88: /* statement: id ":" */
#line 282 "src/parser.y"
{ (yyval.node) = gen_label((yyvsp[-1].node)); }
-#line 3173 "src/gen_parser.c"
+#line 3154 "src/gen_parser.c"
break;
case 89: /* statement: for */
#line 283 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3179 "src/gen_parser.c"
+#line 3160 "src/gen_parser.c"
break;
case 90: /* statement: const */
#line 284 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3185 "src/gen_parser.c"
+#line 3166 "src/gen_parser.c"
break;
case 91: /* statement: while */
#line 285 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3191 "src/gen_parser.c"
+#line 3172 "src/gen_parser.c"
break;
case 92: /* statement: do_while */
#line 286 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3197 "src/gen_parser.c"
+#line 3178 "src/gen_parser.c"
break;
case 93: /* statement: switch */
#line 287 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3203 "src/gen_parser.c"
+#line 3184 "src/gen_parser.c"
break;
case 94: /* statement: macro */
#line 288 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3209 "src/gen_parser.c"
+#line 3190 "src/gen_parser.c"
break;
case 95: /* statement: struct */
#line 289 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3215 "src/gen_parser.c"
+#line 3196 "src/gen_parser.c"
break;
case 96: /* statement: type_alias ";" */
#line 290 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3221 "src/gen_parser.c"
+#line 3202 "src/gen_parser.c"
break;
case 97: /* statement: type_template */
#line 291 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3227 "src/gen_parser.c"
+#line 3208 "src/gen_parser.c"
break;
case 98: /* statement: enum */
#line 292 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3233 "src/gen_parser.c"
+#line 3214 "src/gen_parser.c"
break;
case 99: /* statement: body */
#line 293 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3239 "src/gen_parser.c"
+#line 3220 "src/gen_parser.c"
break;
case 100: /* statement: ";" */
#line 294 "src/parser.y"
{ (yyval.node) = gen_empty(); }
-#line 3245 "src/gen_parser.c"
+#line 3226 "src/gen_parser.c"
break;
case 101: /* statement: error */
@@ -3260,43 +3241,43 @@ yyreduce:
yyclearin;
yyerrok;
}
-#line 3264 "src/gen_parser.c"
+#line 3245 "src/gen_parser.c"
break;
case 102: /* statement_list: statement statement_list */
#line 311 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 3270 "src/gen_parser.c"
+#line 3251 "src/gen_parser.c"
break;
case 103: /* statement_list: statement */
#line 312 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3276 "src/gen_parser.c"
+#line 3257 "src/gen_parser.c"
break;
case 104: /* body: "{" statement_list "}" */
#line 315 "src/parser.y"
{ (yyval.node) = gen_block((yyvsp[-1].node)); }
-#line 3282 "src/gen_parser.c"
+#line 3263 "src/gen_parser.c"
break;
case 105: /* body: "{" "}" */
#line 316 "src/parser.y"
{ (yyval.node) = gen_block(gen_empty()); }
-#line 3288 "src/gen_parser.c"
+#line 3269 "src/gen_parser.c"
break;
case 106: /* macro_list: id "," macro_list */
#line 319 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyval.node)->next = (yyvsp[0].node); }
-#line 3294 "src/gen_parser.c"
+#line 3275 "src/gen_parser.c"
break;
case 107: /* macro_list: id */
#line 320 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3300 "src/gen_parser.c"
+#line 3281 "src/gen_parser.c"
break;
case 108: /* macro: "define" id "(" macro_list ")" body */
@@ -3305,7 +3286,7 @@ yyreduce:
(yyval.node) = gen_macro((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3309 "src/gen_parser.c"
+#line 3290 "src/gen_parser.c"
break;
case 109: /* macro: "define" id "(" macro_list "..." id ")" body */
@@ -3317,7 +3298,7 @@ yyreduce:
ast_set_flags((yyval.node), AST_FLAG_VARIADIC);
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3321 "src/gen_parser.c"
+#line 3302 "src/gen_parser.c"
break;
case 110: /* macro: "define" id "(" ")" body */
@@ -3326,25 +3307,25 @@ yyreduce:
(yyval.node) = gen_macro((yyvsp[-3].node), NULL, (yyvsp[0].node));
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3330 "src/gen_parser.c"
+#line 3311 "src/gen_parser.c"
break;
case 111: /* expr_list: expr "," expr_list */
#line 340 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3336 "src/gen_parser.c"
+#line 3317 "src/gen_parser.c"
break;
case 112: /* expr_list: expr */
#line 341 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3342 "src/gen_parser.c"
+#line 3323 "src/gen_parser.c"
break;
case 113: /* struct_init: init_expr */
#line 344 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3348 "src/gen_parser.c"
+#line 3329 "src/gen_parser.c"
break;
case 114: /* struct_init: "." id "=" init_expr */
@@ -3353,121 +3334,121 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-2].node), NULL, (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_MEMBER);
}
-#line 3357 "src/gen_parser.c"
+#line 3338 "src/gen_parser.c"
break;
case 115: /* struct_inits: struct_init "," struct_inits */
#line 351 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3363 "src/gen_parser.c"
+#line 3344 "src/gen_parser.c"
break;
case 116: /* struct_inits: struct_init */
#line 352 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3369 "src/gen_parser.c"
+#line 3350 "src/gen_parser.c"
break;
case 117: /* struct_construct: "{" struct_inits "}" */
#line 355 "src/parser.y"
{ (yyval.node) = gen_init((yyvsp[-1].node)); }
-#line 3375 "src/gen_parser.c"
+#line 3356 "src/gen_parser.c"
break;
case 118: /* init_expr: expr */
#line 358 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3381 "src/gen_parser.c"
+#line 3362 "src/gen_parser.c"
break;
case 119: /* init_expr: expr_if */
#line 359 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3387 "src/gen_parser.c"
+#line 3368 "src/gen_parser.c"
break;
case 120: /* init_expr: struct_construct */
#line 360 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3393 "src/gen_parser.c"
+#line 3374 "src/gen_parser.c"
break;
case 121: /* init_expr: struct_construct "as" type */
#line 361 "src/parser.y"
{ (yyval.node) = gen_cast((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3399 "src/gen_parser.c"
+#line 3380 "src/gen_parser.c"
break;
case 122: /* cond: expr */
#line 364 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3405 "src/gen_parser.c"
+#line 3386 "src/gen_parser.c"
break;
case 123: /* cond: "(" expr_if ")" */
#line 365 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3411 "src/gen_parser.c"
+#line 3392 "src/gen_parser.c"
break;
case 124: /* expr_if: "if" cond body "else" body */
#line 369 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3417 "src/gen_parser.c"
+#line 3398 "src/gen_parser.c"
break;
case 125: /* expr_if: "if" cond body "else" expr_if */
#line 370 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3423 "src/gen_parser.c"
+#line 3404 "src/gen_parser.c"
break;
case 126: /* if: "if" cond body */
#line 373 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-1].node), (yyvsp[0].node), NULL); }
-#line 3429 "src/gen_parser.c"
+#line 3410 "src/gen_parser.c"
break;
case 127: /* if: "if" cond body "else" body */
#line 374 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3435 "src/gen_parser.c"
+#line 3416 "src/gen_parser.c"
break;
case 128: /* if: "if" cond body "else" if */
#line 375 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3441 "src/gen_parser.c"
+#line 3422 "src/gen_parser.c"
break;
case 129: /* for: "for" arg ";" expr ";" expr body */
#line 378 "src/parser.y"
{ (yyval.node) = gen_for((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3447 "src/gen_parser.c"
+#line 3428 "src/gen_parser.c"
break;
case 130: /* case: "case" expr ":" statement_list */
#line 381 "src/parser.y"
{ (yyval.node) = gen_case((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3453 "src/gen_parser.c"
+#line 3434 "src/gen_parser.c"
break;
case 131: /* case_list: case case_list */
#line 384 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 3459 "src/gen_parser.c"
+#line 3440 "src/gen_parser.c"
break;
case 132: /* case_list: case */
#line 385 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3465 "src/gen_parser.c"
+#line 3446 "src/gen_parser.c"
break;
case 133: /* switch: "switch" expr "{" case_list "}" */
#line 388 "src/parser.y"
{ (yyval.node) = gen_switch((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3471 "src/gen_parser.c"
+#line 3452 "src/gen_parser.c"
break;
case 134: /* const_for: "for" id ":" expr_list body */
@@ -3477,7 +3458,7 @@ yyreduce:
(yyval.node) = gen_for((yyvsp[-3].node), NULL, (yyvsp[-1].node), (yyvsp[0].node));
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3481 "src/gen_parser.c"
+#line 3462 "src/gen_parser.c"
break;
case 135: /* const_if: "if" expr body */
@@ -3486,7 +3467,7 @@ yyreduce:
(yyval.node) = gen_if((yyvsp[-1].node), (yyvsp[0].node), NULL);
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3490 "src/gen_parser.c"
+#line 3471 "src/gen_parser.c"
break;
case 136: /* const_if: "if" expr body "else" body */
@@ -3496,7 +3477,7 @@ yyreduce:
ast_set_flags((yyvsp[-2].node), AST_FLAG_UNHYGIENIC);
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3500 "src/gen_parser.c"
+#line 3481 "src/gen_parser.c"
break;
case 137: /* const_if: "if" expr body "else" const_if */
@@ -3505,21 +3486,21 @@ yyreduce:
(yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node));
ast_set_flags((yyvsp[-2].node), AST_FLAG_UNHYGIENIC);
}
-#line 3509 "src/gen_parser.c"
+#line 3490 "src/gen_parser.c"
break;
case 138: /* const: "const" const_if */
#line 415 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST);
}
-#line 3516 "src/gen_parser.c"
+#line 3497 "src/gen_parser.c"
break;
case 139: /* const: "const" const_for */
#line 417 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST);
}
-#line 3523 "src/gen_parser.c"
+#line 3504 "src/gen_parser.c"
break;
case 140: /* func_sign: "(" decl_list "=>" type ")" */
@@ -3527,41 +3508,41 @@ yyreduce:
{
(yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-3].node), (yyvsp[-1].node));
}
-#line 3531 "src/gen_parser.c"
+#line 3512 "src/gen_parser.c"
break;
case 141: /* func_sign: "(" decl_list ")" */
#line 424 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-1].node), NULL);
}
-#line 3538 "src/gen_parser.c"
+#line 3519 "src/gen_parser.c"
break;
case 142: /* func_sign: "(" decl_list "=>" ")" */
#line 426 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-2].node), NULL);
}
-#line 3545 "src/gen_parser.c"
+#line 3526 "src/gen_parser.c"
break;
case 143: /* func_sign: "(" "=>" type ")" */
#line 428 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, NULL, (yyvsp[-1].node));
}
-#line 3552 "src/gen_parser.c"
+#line 3533 "src/gen_parser.c"
break;
case 144: /* func_sign: "(" ")" */
#line 430 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, NULL, NULL);
}
-#line 3559 "src/gen_parser.c"
+#line 3540 "src/gen_parser.c"
break;
case 145: /* variadic_sign: func_sign */
#line 434 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3565 "src/gen_parser.c"
+#line 3546 "src/gen_parser.c"
break;
case 146: /* variadic_sign: "(" decl_list "..." id "=>" type ")" */
@@ -3571,13 +3552,13 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-5].node), (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_VARIADIC);
}
-#line 3575 "src/gen_parser.c"
+#line 3556 "src/gen_parser.c"
break;
case 147: /* type: id */
#line 442 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_ID, (yyvsp[0].node), NULL, NULL); }
-#line 3581 "src/gen_parser.c"
+#line 3562 "src/gen_parser.c"
break;
case 148: /* type: "'" func_sign */
@@ -3586,7 +3567,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_POINTER, NULL, NULL, NULL);
(yyval.node)->next = (yyvsp[0].node);
}
-#line 3590 "src/gen_parser.c"
+#line 3571 "src/gen_parser.c"
break;
case 149: /* type: id "(" type_list ")" */
@@ -3594,7 +3575,7 @@ yyreduce:
{
(yyval.node) = gen_type(AST_TYPE_STRUCT, (yyvsp[-3].node), (yyvsp[-1].node), NULL);
}
-#line 3598 "src/gen_parser.c"
+#line 3579 "src/gen_parser.c"
break;
case 150: /* type: "'" type */
@@ -3603,7 +3584,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_POINTER, NULL, NULL, NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3607 "src/gen_parser.c"
+#line 3588 "src/gen_parser.c"
break;
case 151: /* type: "[" "]" type */
@@ -3612,7 +3593,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_ARR, NULL, NULL, NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3616 "src/gen_parser.c"
+#line 3597 "src/gen_parser.c"
break;
case 152: /* type: "[" expr "]" type */
@@ -3621,7 +3602,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_ARR, NULL, (yyvsp[-2].node), NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3625 "src/gen_parser.c"
+#line 3606 "src/gen_parser.c"
break;
case 153: /* type: "typeof" expr */
@@ -3629,7 +3610,7 @@ yyreduce:
{
(yyval.node) = gen_type(AST_TYPE_TYPEOF, NULL, (yyvsp[0].node), NULL);
}
-#line 3633 "src/gen_parser.c"
+#line 3614 "src/gen_parser.c"
break;
case 154: /* var_decl: id "mut" type */
@@ -3638,25 +3619,25 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-2].node), (yyvsp[0].node), NULL);
ast_set_flags((yyval.node), AST_FLAG_MUTABLE);
}
-#line 3642 "src/gen_parser.c"
+#line 3623 "src/gen_parser.c"
break;
case 155: /* var_decl: id "const" type */
#line 471 "src/parser.y"
{ (yyval.node) = gen_var((yyvsp[-2].node), (yyvsp[0].node), NULL); }
-#line 3648 "src/gen_parser.c"
+#line 3629 "src/gen_parser.c"
break;
case 156: /* var_decl: id type */
#line 472 "src/parser.y"
{ (yyval.node) = gen_var((yyvsp[-1].node), (yyvsp[0].node), NULL); }
-#line 3654 "src/gen_parser.c"
+#line 3635 "src/gen_parser.c"
break;
case 157: /* var_init: var_decl "=" init_expr */
#line 475 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->_var.init = (yyvsp[0].node); }
-#line 3660 "src/gen_parser.c"
+#line 3641 "src/gen_parser.c"
break;
case 158: /* var_init: id "mut" "=" init_expr */
@@ -3665,7 +3646,7 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-3].node), NULL, (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_UNTYPED | AST_FLAG_MUTABLE);
}
-#line 3669 "src/gen_parser.c"
+#line 3650 "src/gen_parser.c"
break;
case 159: /* var_init: id "const" "=" init_expr */
@@ -3674,7 +3655,7 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-3].node), NULL, (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_UNTYPED);
}
-#line 3678 "src/gen_parser.c"
+#line 3659 "src/gen_parser.c"
break;
case 160: /* proc: id variadic_sign body */
@@ -3683,7 +3664,7 @@ yyreduce:
(yyval.node) = gen_proc((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
ast_set_flags((yyval.node), (yyvsp[-1].node)->flags);
}
-#line 3687 "src/gen_parser.c"
+#line 3668 "src/gen_parser.c"
break;
case 161: /* proc: "extern" id func_sign */
@@ -3692,348 +3673,336 @@ yyreduce:
(yyval.node) = gen_proc((yyvsp[-1].node), (yyvsp[0].node), NULL);
ast_set_flags((yyval.node), AST_FLAG_EXTERN);
}
-#line 3696 "src/gen_parser.c"
+#line 3677 "src/gen_parser.c"
break;
case 162: /* lambda: "[" macro_list "]" func_sign body */
#line 496 "src/parser.y"
- { (yyval.node) = gen_lambda((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node));
- }
-#line 3703 "src/gen_parser.c"
- break;
-
- case 163: /* union_elem: union */
-#line 500 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); }
-#line 3709 "src/gen_parser.c"
+ { (yyval.node) = gen_lambda((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node)); }
+#line 3683 "src/gen_parser.c"
break;
- case 164: /* union_elem: var_decl */
-#line 501 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); }
-#line 3715 "src/gen_parser.c"
+ case 163: /* struct_elem: var_decl */
+#line 499 "src/parser.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 3689 "src/gen_parser.c"
break;
- case 165: /* union_list: union_elem ";" union_list */
-#line 504 "src/parser.y"
- { (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3721 "src/gen_parser.c"
+ case 164: /* struct_list: struct_elem ";" struct_list */
+#line 502 "src/parser.y"
+ { (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
+#line 3695 "src/gen_parser.c"
break;
- case 166: /* union_list: union_elem ";" */
-#line 505 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); }
-#line 3727 "src/gen_parser.c"
+ case 165: /* struct_list: struct_elem ";" */
+#line 503 "src/parser.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 3701 "src/gen_parser.c"
break;
- case 167: /* union: "union" id "{" union_list "}" */
-#line 508 "src/parser.y"
- {
- (yyval.node) = gen_type(AST_TYPE_UNION, (yyvsp[-3].node), (yyvsp[-1].node), NULL);
+ case 166: /* union: "union" id "{" struct_list "}" */
+#line 506 "src/parser.y"
+ {
+ (yyval.node) = gen_union((yyvsp[-3].node), NULL, (yyvsp[-1].node));
}
-#line 3735 "src/gen_parser.c"
- break;
-
- case 168: /* union: "union" "{" union_list "}" */
-#line 511 "src/parser.y"
- {
- (yyval.node) = gen_type(AST_TYPE_UNION, NULL, (yyvsp[-1].node), NULL); }
-#line 3742 "src/gen_parser.c"
+#line 3709 "src/gen_parser.c"
break;
- case 169: /* struct_list: union_list */
-#line 516 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); }
-#line 3748 "src/gen_parser.c"
+ case 167: /* union: "union" id "(" generic_list ")" "{" struct_list "}" */
+#line 509 "src/parser.y"
+ {
+ (yyval.node) = gen_union((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-1].node));
+ }
+#line 3717 "src/gen_parser.c"
break;
- case 170: /* generic: id type */
-#line 519 "src/parser.y"
+ case 168: /* generic: id type */
+#line 514 "src/parser.y"
{ (yyval.node) = gen_alias((yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3754 "src/gen_parser.c"
+#line 3723 "src/gen_parser.c"
break;
- case 171: /* generic_list: generic "," generic_list */
-#line 520 "src/parser.y"
+ case 169: /* generic_list: generic "," generic_list */
+#line 515 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyval.node)->next = (yyvsp[0].node); }
-#line 3760 "src/gen_parser.c"
+#line 3729 "src/gen_parser.c"
break;
- case 172: /* generic_list: generic */
-#line 521 "src/parser.y"
+ case 170: /* generic_list: generic */
+#line 516 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3766 "src/gen_parser.c"
+#line 3735 "src/gen_parser.c"
break;
- case 173: /* struct: "struct" id "{" struct_list "}" */
-#line 524 "src/parser.y"
+ case 171: /* struct: "struct" id "{" struct_list "}" */
+#line 519 "src/parser.y"
{
(yyval.node) = gen_struct((yyvsp[-3].node), NULL, (yyvsp[-1].node));
}
-#line 3774 "src/gen_parser.c"
+#line 3743 "src/gen_parser.c"
break;
- case 174: /* struct: "struct" id "(" generic_list ")" "{" struct_list "}" */
-#line 527 "src/parser.y"
+ case 172: /* struct: "struct" id "(" generic_list ")" "{" struct_list "}" */
+#line 522 "src/parser.y"
{
(yyval.node) = gen_struct((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-1].node));
}
-#line 3782 "src/gen_parser.c"
+#line 3751 "src/gen_parser.c"
break;
- case 175: /* template_elem: id ";" */
-#line 534 "src/parser.y"
+ case 173: /* template_elem: id ";" */
+#line 529 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3788 "src/gen_parser.c"
+#line 3757 "src/gen_parser.c"
break;
- case 176: /* template_elem: id func_sign ";" */
-#line 535 "src/parser.y"
+ case 174: /* template_elem: id func_sign ";" */
+#line 530 "src/parser.y"
{ (yyval.node) = gen_proc((yyvsp[-2].node), (yyvsp[-1].node), NULL); }
-#line 3794 "src/gen_parser.c"
+#line 3763 "src/gen_parser.c"
break;
- case 177: /* template_elem: var_decl ";" */
-#line 536 "src/parser.y"
+ case 175: /* template_elem: var_decl ";" */
+#line 531 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3800 "src/gen_parser.c"
+#line 3769 "src/gen_parser.c"
break;
- case 178: /* template_elem: union */
-#line 537 "src/parser.y"
+ case 176: /* template_elem: union */
+#line 532 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3806 "src/gen_parser.c"
+#line 3775 "src/gen_parser.c"
break;
- case 179: /* template_list: template_elem template_list */
-#line 540 "src/parser.y"
+ case 177: /* template_list: template_elem template_list */
+#line 535 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 3812 "src/gen_parser.c"
+#line 3781 "src/gen_parser.c"
break;
- case 180: /* template_list: template_elem */
-#line 541 "src/parser.y"
+ case 178: /* template_list: template_elem */
+#line 536 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3818 "src/gen_parser.c"
+#line 3787 "src/gen_parser.c"
break;
- case 181: /* type_list: type "," type_list */
-#line 544 "src/parser.y"
+ case 179: /* type_list: type "," type_list */
+#line 539 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3824 "src/gen_parser.c"
+#line 3793 "src/gen_parser.c"
break;
- case 182: /* type_list: type */
-#line 545 "src/parser.y"
+ case 180: /* type_list: type */
+#line 540 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3830 "src/gen_parser.c"
+#line 3799 "src/gen_parser.c"
break;
- case 183: /* type_alias: "type" id type */
-#line 548 "src/parser.y"
+ case 181: /* type_alias: "type" id type */
+#line 543 "src/parser.y"
{ (yyval.node) = gen_alias((yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3836 "src/gen_parser.c"
+#line 3805 "src/gen_parser.c"
break;
- case 184: /* type_template: "type" id "{" template_list "}" */
-#line 553 "src/parser.y"
+ case 182: /* type_template: "type" id "{" template_list "}" */
+#line 548 "src/parser.y"
{
(yyval.node) = gen_template((yyvsp[-3].node), (yyvsp[-1].node));
}
-#line 3844 "src/gen_parser.c"
+#line 3813 "src/gen_parser.c"
break;
- case 185: /* type_template: "type" id "{" "}" */
-#line 556 "src/parser.y"
+ case 183: /* type_template: "type" id "{" "}" */
+#line 551 "src/parser.y"
{
/* should match anything, but doesn't implement anything */
(yyval.node) = gen_template((yyvsp[-2].node), NULL);
}
-#line 3853 "src/gen_parser.c"
+#line 3822 "src/gen_parser.c"
break;
- case 186: /* enum_val: id */
-#line 562 "src/parser.y"
+ case 184: /* enum_val: id */
+#line 557 "src/parser.y"
{ (yyval.node) = gen_val((yyvsp[0].node), gen_int(0)); }
-#line 3859 "src/gen_parser.c"
+#line 3828 "src/gen_parser.c"
break;
- case 187: /* enum_val: id "=" expr */
-#line 563 "src/parser.y"
+ case 185: /* enum_val: id "=" expr */
+#line 558 "src/parser.y"
{ (yyval.node) = gen_val((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3865 "src/gen_parser.c"
+#line 3834 "src/gen_parser.c"
break;
- case 188: /* enum_list: enum_val "," enum_list */
-#line 566 "src/parser.y"
+ case 186: /* enum_list: enum_val "," enum_list */
+#line 561 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3871 "src/gen_parser.c"
+#line 3840 "src/gen_parser.c"
break;
- case 189: /* enum_list: enum_val "," */
-#line 567 "src/parser.y"
+ case 187: /* enum_list: enum_val "," */
+#line 562 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3877 "src/gen_parser.c"
+#line 3846 "src/gen_parser.c"
break;
- case 190: /* enum_list: enum_val */
-#line 568 "src/parser.y"
+ case 188: /* enum_list: enum_val */
+#line 563 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3883 "src/gen_parser.c"
+#line 3852 "src/gen_parser.c"
break;
- case 191: /* enum: "enum" id ":" type "{" enum_list "}" */
-#line 571 "src/parser.y"
+ case 189: /* enum: "enum" id ":" type "{" enum_list "}" */
+#line 566 "src/parser.y"
{ (yyval.node) = gen_enum((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3889 "src/gen_parser.c"
+#line 3858 "src/gen_parser.c"
break;
- case 192: /* enum: "enum" id "{" enum_list "}" */
-#line 572 "src/parser.y"
+ case 190: /* enum: "enum" id "{" enum_list "}" */
+#line 567 "src/parser.y"
{
(yyval.node) = gen_enum((yyvsp[-3].node), NULL, (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_UNTYPED);
}
-#line 3898 "src/gen_parser.c"
+#line 3867 "src/gen_parser.c"
break;
- case 193: /* top_if: "if" expr "{" unit "}" */
-#line 578 "src/parser.y"
+ case 191: /* top_if: "if" expr "{" unit "}" */
+#line 573 "src/parser.y"
{
(yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-1].node), NULL);
ast_set_flags((yyval.node), AST_FLAG_UNHYGIENIC);
}
-#line 3907 "src/gen_parser.c"
+#line 3876 "src/gen_parser.c"
break;
- case 194: /* top_if: "if" expr "{" unit "}" "else" "{" unit "}" */
-#line 582 "src/parser.y"
+ case 192: /* top_if: "if" expr "{" unit "}" "else" "{" unit "}" */
+#line 577 "src/parser.y"
{
(yyval.node) = gen_if((yyvsp[-7].node), (yyvsp[-5].node), (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_UNHYGIENIC);
}
-#line 3916 "src/gen_parser.c"
+#line 3885 "src/gen_parser.c"
break;
- case 195: /* top_if: "if" expr "{" unit "}" "else" top_if */
-#line 586 "src/parser.y"
+ case 193: /* top_if: "if" expr "{" unit "}" "else" top_if */
+#line 581 "src/parser.y"
{
(yyval.node) = gen_if((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_UNHYGIENIC);
}
-#line 3925 "src/gen_parser.c"
+#line 3894 "src/gen_parser.c"
break;
- case 196: /* top: ";" */
-#line 594 "src/parser.y"
+ case 194: /* top: ";" */
+#line 589 "src/parser.y"
{ (yyval.node) = gen_empty(); }
-#line 3931 "src/gen_parser.c"
+#line 3900 "src/gen_parser.c"
break;
- case 197: /* top: enum */
-#line 595 "src/parser.y"
+ case 195: /* top: enum */
+#line 590 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3937 "src/gen_parser.c"
+#line 3906 "src/gen_parser.c"
break;
- case 198: /* top: proc */
-#line 596 "src/parser.y"
+ case 196: /* top: proc */
+#line 591 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3943 "src/gen_parser.c"
+#line 3912 "src/gen_parser.c"
break;
- case 199: /* top: struct */
-#line 597 "src/parser.y"
+ case 197: /* top: struct */
+#line 592 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3949 "src/gen_parser.c"
+#line 3918 "src/gen_parser.c"
break;
- case 200: /* top: macro */
-#line 598 "src/parser.y"
+ case 198: /* top: macro */
+#line 593 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3955 "src/gen_parser.c"
+#line 3924 "src/gen_parser.c"
break;
- case 201: /* top: "const" top_if */
-#line 599 "src/parser.y"
+ case 199: /* top: "const" top_if */
+#line 594 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST); }
-#line 3961 "src/gen_parser.c"
+#line 3930 "src/gen_parser.c"
break;
- case 202: /* top: import ";" */
-#line 600 "src/parser.y"
+ case 200: /* top: import ";" */
+#line 595 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3967 "src/gen_parser.c"
+#line 3936 "src/gen_parser.c"
break;
- case 203: /* top: type_alias ";" */
-#line 601 "src/parser.y"
+ case 201: /* top: type_alias ";" */
+#line 596 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3973 "src/gen_parser.c"
+#line 3942 "src/gen_parser.c"
break;
- case 204: /* top: type_template */
-#line 602 "src/parser.y"
+ case 202: /* top: type_template */
+#line 597 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3979 "src/gen_parser.c"
+#line 3948 "src/gen_parser.c"
break;
- case 205: /* top: "pub" enum */
-#line 603 "src/parser.y"
+ case 203: /* top: "pub" enum */
+#line 598 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3985 "src/gen_parser.c"
+#line 3954 "src/gen_parser.c"
break;
- case 206: /* top: "pub" struct */
-#line 604 "src/parser.y"
+ case 204: /* top: "pub" struct */
+#line 599 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3991 "src/gen_parser.c"
+#line 3960 "src/gen_parser.c"
break;
- case 207: /* top: "pub" proc */
-#line 605 "src/parser.y"
+ case 205: /* top: "pub" proc */
+#line 600 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3997 "src/gen_parser.c"
+#line 3966 "src/gen_parser.c"
break;
- case 208: /* top: "pub" macro */
-#line 606 "src/parser.y"
+ case 206: /* top: "pub" macro */
+#line 601 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 4003 "src/gen_parser.c"
+#line 3972 "src/gen_parser.c"
break;
- case 209: /* top: "pub" import ";" */
-#line 607 "src/parser.y"
+ case 207: /* top: "pub" import ";" */
+#line 602 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
-#line 4009 "src/gen_parser.c"
+#line 3978 "src/gen_parser.c"
break;
- case 210: /* top: "pub" type_alias ";" */
-#line 608 "src/parser.y"
+ case 208: /* top: "pub" type_alias ";" */
+#line 603 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
-#line 4015 "src/gen_parser.c"
+#line 3984 "src/gen_parser.c"
break;
- case 211: /* top: "pub" type_template */
-#line 609 "src/parser.y"
+ case 209: /* top: "pub" type_template */
+#line 604 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 4021 "src/gen_parser.c"
+#line 3990 "src/gen_parser.c"
break;
- case 212: /* top: var ";" */
-#line 610 "src/parser.y"
+ case 210: /* top: var ";" */
+#line 605 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 4027 "src/gen_parser.c"
+#line 3996 "src/gen_parser.c"
break;
- case 213: /* top: "pub" var ";" */
-#line 611 "src/parser.y"
+ case 211: /* top: "pub" var ";" */
+#line 606 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
-#line 4033 "src/gen_parser.c"
+#line 4002 "src/gen_parser.c"
break;
- case 214: /* top: error */
-#line 612 "src/parser.y"
+ case 212: /* top: error */
+#line 607 "src/parser.y"
{
(yyval.node) = gen_empty();
parser->failed = true;
@@ -4047,29 +4016,29 @@ yyreduce:
yyclearin;
yyerrok;
}
-#line 4051 "src/gen_parser.c"
+#line 4020 "src/gen_parser.c"
break;
- case 215: /* unit: top */
-#line 627 "src/parser.y"
+ case 213: /* unit: top */
+#line 622 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 4057 "src/gen_parser.c"
+#line 4026 "src/gen_parser.c"
break;
- case 216: /* unit: top unit */
-#line 628 "src/parser.y"
+ case 214: /* unit: top unit */
+#line 623 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 4063 "src/gen_parser.c"
+#line 4032 "src/gen_parser.c"
break;
- case 217: /* input: unit */
-#line 631 "src/parser.y"
+ case 215: /* input: unit */
+#line 626 "src/parser.y"
{ parser->tree = (yyvsp[0].node); }
-#line 4069 "src/gen_parser.c"
+#line 4038 "src/gen_parser.c"
break;
-#line 4073 "src/gen_parser.c"
+#line 4042 "src/gen_parser.c"
default: break;
}
@@ -4298,5 +4267,5 @@ yyreturnlab:
return yyresult;
}
-#line 634 "src/parser.y"
+#line 629 "src/parser.y"