aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-04-03 16:00:34 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-04-03 16:00:34 +0300
commit2ca159fb5c2a52f33c499eef1fa50a98a863b0f0 (patch)
treec9497ad8372a047bcff366c189c8969ed84f0406 /gen
parent4642bedb436981e92e3312f06bfcb2eb34074596 (diff)
downloadek-2ca159fb5c2a52f33c499eef1fa50a98a863b0f0.tar.gz
ek-2ca159fb5c2a52f33c499eef1fa50a98a863b0f0.zip
initial union testing
Diffstat (limited to 'gen')
-rw-r--r--gen/gen_parser.c1622
1 files changed, 818 insertions, 804 deletions
diff --git a/gen/gen_parser.c b/gen/gen_parser.c
index 744d3bc..96cc7ec 100644
--- a/gen/gen_parser.c
+++ b/gen/gen_parser.c
@@ -582,18 +582,18 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 57
+#define YYFINAL 61
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2050
+#define YYLAST 2064
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 82
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 63
/* YYNRULES -- Number of rules. */
-#define YYNRULES 217
+#define YYNRULES 219
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 436
+#define YYNSTATES 438
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 336
@@ -671,7 +671,7 @@ static const yytype_int16 yyrline[] =
545, 546, 549, 554, 557, 563, 564, 567, 568, 569,
572, 573, 579, 583, 587, 595, 596, 597, 598, 599,
600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
- 610, 611, 612, 613, 628, 629, 632, 633
+ 610, 611, 612, 613, 614, 615, 630, 631, 634, 635
};
#endif
@@ -720,12 +720,12 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-230)
+#define YYPACT_NINF (-225)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-218)
+#define YYTABLE_NINF (-220)
#define yytable_value_is_error(Yyn) \
0
@@ -734,50 +734,50 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 278, -230, -230, -230, 507, 42, 42, 47, -38, 42,
- 42, 42, 608, 50, 54, -230, 59, -230, -230, -230,
- 63, -230, -230, 206, -230, 95, 110, 124, -230, -230,
- -230, 129, -230, -230, -19, 69, -230, 1157, -230, 70,
- 22, 78, 43, 1157, 64, 141, 25, 1047, -33, -230,
- 67, -230, -230, -230, 969, -230, -230, -230, -230, -230,
- -230, 42, 42, 30, -230, -230, -230, -230, 1157, 42,
- 1157, 1157, 1157, 1157, 1157, -230, 81, 83, 1157, 42,
- 153, -21, -230, -230, -230, -230, -230, -230, 1266, -230,
- 25, -230, 153, 42, 15, -230, -230, 82, 969, -230,
- 969, -230, -230, 153, 101, 98, 16, -230, 114, 153,
- 1330, 153, 153, 739, -230, 1203, 582, 1971, 86, -230,
- -230, 153, 120, 97, 295, -230, 164, 100, 42, -230,
- 556, 166, -230, 23, 103, 82, -230, 82, 82, 431,
- 1491, 82, 1157, 174, 412, 1394, 59, 107, 134, 112,
- -230, 891, 153, 1079, 1157, 1157, 1157, 1157, 1157, 1157,
- 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
- 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
- 1157, 1157, 1157, 502, 153, 42, 18, 113, 182, 152,
- 128, 67, 56, -230, -230, 135, 153, 153, 153, 42,
- -230, 150, 153, -230, 153, 161, 140, -230, -230, -230,
- 42, 1203, 204, 208, 1157, 1001, 1157, 67, 923, 74,
- -230, 403, 209, 210, 1458, -230, -230, 212, 663, 149,
- -230, -230, -230, -230, -230, -230, -230, 217, -230, -230,
- 1125, 1971, 67, 42, 185, 155, -230, 153, -230, 42,
- 160, 42, -230, 11, -230, 226, -230, -230, -230, 1522,
- 162, -230, -230, 42, 70, 1157, -230, 449, 191, 171,
- -230, -230, -230, 1971, -230, 8, 8, 8, 431, 431,
- 1299, 1235, 1491, 677, 1427, 1363, 829, 829, 829, 829,
- 753, 753, 175, 175, 1971, 1971, 1971, 1971, 1971, 1971,
- 1971, 1971, 1971, 1971, 170, -230, -230, 42, 1157, 42,
- -230, -230, 42, 67, -230, -230, 165, -230, 177, -230,
- -230, 153, -230, -230, 67, -230, -230, 1586, 238, 1650,
- 193, -230, 250, 1157, 42, -230, -230, -230, -230, -230,
- -230, -230, -230, -230, -230, 188, 211, 256, 582, -230,
- -230, -230, 42, -230, 42, 42, -230, -230, -230, -230,
- 67, -230, 1001, -230, 213, 195, 1971, -230, 200, -230,
- 153, -230, -230, 222, 220, 1157, -230, 1157, -230, 1650,
- 255, -230, -31, 969, -230, 214, 218, 215, -230, -230,
- -20, -230, 67, 219, -17, 1157, 220, 229, 1715, 1779,
- 227, 1157, -230, -230, -230, -230, 231, -230, 502, -230,
- -230, -230, -230, -230, 1843, -230, -230, 1157, -230, -16,
- 1907, 67, 42, 235, 815, 1650, -230, -230, 1157, -230,
- 236, -230, -230, -230, -230, -230
+ 653, -225, -225, -225, 429, 27, 27, 27, 42, 3,
+ 27, 27, 27, 246, 60, 64, -225, 100, -225, -225,
+ -225, -225, 79, -225, -225, 214, -225, 113, 124, 134,
+ -225, -225, -225, -225, 144, -225, -225, 99, 112, 149,
+ -225, 1187, -225, 107, 71, 126, 49, 1187, 46, 65,
+ 30, 524, -38, -225, 122, -225, -225, -225, 1053, -225,
+ -225, -225, -225, -225, -225, 27, 27, 27, 27, 51,
+ -225, -225, -225, -225, 1187, 27, 1187, 1187, 1187, 1187,
+ 1187, -225, 127, 130, 1187, 27, 38, 92, -225, -225,
+ -225, -225, -225, -225, 1280, -225, 30, -225, 38, 27,
+ 22, -225, -225, 137, 1053, -225, 1053, -225, -225, 38,
+ 25, 165, 31, -225, 173, 38, 1344, 38, 38, 823,
+ -225, 1217, 604, 1985, 140, -225, -225, 38, 181, 157,
+ 194, -225, 221, 159, 164, 182, -225, 170, 233, -225,
+ 29, 186, 137, -225, 137, 137, 314, 1449, 137, 1187,
+ 263, 81, 1408, 100, 196, 224, 197, -225, 975, 38,
+ 1131, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 334, 38, 27, 97, 202, 269, 230, 204, 122, 55,
+ -225, -225, 207, 38, 38, 38, 27, -225, 168, 38,
+ -225, 38, 239, 208, -225, -225, -225, 27, 1217, 280,
+ 283, 1187, 1085, 1187, 122, 1007, 103, -225, 70, 284,
+ 288, 1472, -225, -225, 289, 747, 226, -225, -225, -225,
+ -225, -225, -225, -225, 293, -225, -225, 1161, 1985, 122,
+ 27, 256, 231, -225, 38, -225, 27, 234, 27, -225,
+ 235, -225, -225, 295, -225, -225, -225, 1536, 237, -225,
+ -225, 27, 107, 1187, -225, 220, 268, 238, -225, -225,
+ -225, 1985, -225, 110, 110, 110, 314, 314, 712, 556,
+ 1449, 1441, 1377, 1313, 913, 913, 913, 913, 837, 837,
+ 332, 332, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985,
+ 1985, 1985, 244, -225, -225, 27, 1187, 27, -225, -225,
+ 27, 122, -225, -225, 240, -225, 250, -225, -225, 38,
+ -225, -225, 122, -225, -225, 1600, 315, 1664, 260, -225,
+ 316, 1187, 27, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, 254, 275, 328, 604, -225, -225, -225,
+ 27, -225, 27, -225, -225, -225, -225, 122, -225, 1085,
+ -225, 281, 266, 1985, -225, 270, -225, 38, -225, -225,
+ 296, 291, 1187, -225, 1187, -225, 1664, 335, -225, -16,
+ 1053, -225, 282, 297, -225, -225, 33, -225, 122, 272,
+ 74, 1187, 291, 298, 1729, 1793, 300, 1187, -225, -225,
+ -225, -225, -225, 334, -225, -225, -225, -225, -225, 1857,
+ -225, -225, 1187, -225, 95, 1921, 122, 299, 899, 1664,
+ -225, -225, 1187, -225, -225, -225, -225, -225
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -785,74 +785,74 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 213, 2, 195, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 199, 3, 4, 197, 198,
- 0, 203, 196, 0, 216, 0, 0, 0, 207, 206,
- 205, 0, 210, 204, 0, 0, 6, 0, 200, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 147, 145,
- 0, 157, 211, 201, 0, 202, 215, 1, 212, 208,
- 209, 0, 0, 0, 182, 60, 61, 62, 0, 0,
- 0, 0, 0, 0, 0, 59, 0, 0, 0, 0,
- 0, 56, 74, 64, 67, 68, 65, 66, 0, 75,
- 0, 162, 0, 0, 0, 148, 150, 153, 0, 155,
- 0, 156, 144, 0, 147, 52, 0, 48, 51, 0,
- 0, 0, 0, 0, 161, 0, 0, 118, 120, 158,
- 119, 0, 171, 0, 0, 164, 0, 0, 0, 184,
- 0, 0, 177, 179, 0, 41, 58, 39, 70, 38,
- 40, 42, 0, 0, 56, 0, 0, 0, 107, 0,
- 73, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 215, 2, 195, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 200, 3, 4, 197,
+ 199, 198, 0, 204, 196, 0, 218, 0, 0, 0,
+ 209, 208, 207, 206, 0, 212, 205, 0, 0, 0,
+ 6, 0, 201, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 147, 145, 0, 157, 213, 202, 0, 203,
+ 217, 1, 214, 210, 211, 0, 0, 0, 0, 0,
+ 182, 60, 61, 62, 0, 0, 0, 0, 0, 0,
+ 0, 59, 0, 0, 0, 0, 0, 56, 74, 64,
+ 67, 68, 65, 66, 0, 75, 0, 162, 0, 0,
+ 0, 148, 150, 153, 0, 155, 0, 156, 144, 0,
+ 147, 52, 0, 48, 51, 0, 0, 0, 0, 0,
+ 161, 0, 0, 118, 120, 158, 119, 0, 171, 0,
+ 0, 164, 0, 0, 0, 0, 184, 0, 0, 177,
+ 179, 0, 41, 58, 39, 70, 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, 0, 185, 189,
- 0, 0, 0, 159, 160, 0, 0, 0, 0, 0,
- 141, 0, 0, 151, 0, 181, 0, 154, 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, 169, 0,
- 0, 166, 172, 0, 174, 0, 176, 178, 183, 0,
- 0, 63, 69, 0, 0, 0, 54, 56, 47, 0,
- 45, 44, 72, 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, 71, 57, 0, 0, 188,
- 191, 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, 170, 0, 165, 0, 0, 175, 55, 5, 106,
- 0, 43, 0, 53, 192, 0, 186, 187, 0, 108,
- 0, 140, 180, 126, 0, 0, 76, 0, 80, 0,
- 0, 123, 0, 0, 115, 0, 0, 0, 163, 46,
- 0, 190, 0, 0, 0, 0, 132, 0, 0, 0,
- 135, 0, 124, 125, 114, 173, 0, 167, 0, 194,
- 109, 146, 127, 128, 0, 131, 133, 0, 77, 0,
- 112, 0, 0, 0, 0, 0, 136, 137, 0, 134,
- 0, 193, 130, 129, 111, 168
+ 0, 0, 0, 0, 0, 185, 189, 0, 0, 0,
+ 159, 160, 0, 0, 0, 0, 0, 141, 0, 0,
+ 151, 0, 181, 0, 154, 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, 169, 0, 0, 166, 172,
+ 0, 167, 174, 0, 176, 178, 183, 0, 0, 63,
+ 69, 0, 0, 0, 54, 56, 47, 0, 45, 44,
+ 72, 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, 71, 57, 0, 0, 188, 191, 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, 170,
+ 0, 165, 0, 175, 55, 5, 106, 0, 43, 0,
+ 53, 192, 0, 186, 187, 0, 108, 0, 140, 180,
+ 126, 0, 0, 76, 0, 80, 0, 0, 123, 0,
+ 0, 115, 0, 0, 163, 46, 0, 190, 0, 0,
+ 0, 0, 132, 0, 0, 0, 135, 0, 124, 125,
+ 114, 173, 168, 0, 194, 109, 146, 127, 128, 0,
+ 131, 133, 0, 77, 0, 112, 0, 0, 0, 0,
+ 136, 137, 0, 134, 193, 130, 129, 111
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -230, 0, -3, -230, 3, -230, -230, -230, 68, -76,
- -230, -66, -230, -230, 225, -230, -230, -230, -230, -213,
- 122, -92, 4, -141, -230, -54, 147, -32, 104, -224,
- -88, -230, -230, -82, -230, -230, -102, -230, -12, -230,
- 415, 279, -75, 314, -230, -230, -217, -230, -230, -229,
- 9, -230, 186, -1, 10, 13, -230, -207, 14, -68,
- -230, 5, -230
+ -225, 0, -3, -225, 4, -225, -225, -225, 133, 6,
+ -225, -66, -225, -225, 287, -225, -225, -225, -225, -216,
+ -30, -84, 5, -56, -225, 24, 218, -43, 161, -224,
+ -19, -225, -225, -20, -225, -225, -36, -225, -17, -225,
+ 439, 427, -62, 385, -225, -225, -65, 23, -225, -46,
+ 10, -225, 251, 66, 13, 14, -225, -120, 16, 1,
+ -225, -23, -225
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- 0, 81, 13, 82, 14, 83, 84, 85, 268, 269,
- 105, 106, 86, 87, 117, 225, 226, 227, 228, 229,
- 230, 149, 15, 421, 244, 245, 118, 270, 242, 120,
- 232, 233, 396, 397, 234, 335, 336, 235, 49, 50,
- 51, 16, 17, 18, 89, 126, 127, 132, 122, 123,
- 19, 133, 134, 206, 20, 21, 189, 190, 22, 38,
- 23, 24, 25
+ 0, 87, 14, 88, 15, 89, 90, 91, 276, 277,
+ 111, 112, 92, 93, 123, 232, 233, 234, 235, 236,
+ 237, 156, 16, 426, 251, 252, 124, 278, 249, 126,
+ 239, 240, 402, 403, 241, 343, 344, 242, 53, 54,
+ 55, 17, 18, 19, 95, 132, 133, 20, 128, 129,
+ 21, 140, 141, 213, 22, 23, 196, 197, 24, 42,
+ 25, 26, 27
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -860,472 +860,474 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 12, 26, 192, 147, 12, 34, 35, 27, 28, 39,
- 40, 41, 48, 30, 31, 342, 345, 32, 33, 37,
- 351, 2, 119, 12, 186, 199, 115, 91, 56, 2,
- 95, 2, 42, 92, 353, 48, 2, 37, 43, 111,
- 211, 333, 48, 113, 48, 48, 104, 112, 2, 2,
- 42, 151, 36, 61, 408, 62, 43, 113, 113, 152,
- 52, 121, 124, 130, 53, 312, 193, 54, 194, 136,
- 2, 42, 98, 55, 128, 2, 42, 43, 144, 148,
- 48, 128, 43, 354, 246, 355, 184, 185, 191, 200,
- 104, 200, 48, 188, 148, 57, 93, 201, 102, 201,
- 365, 47, 367, 48, 48, 129, 103, 2, 42, 48,
- 222, 48, 48, 221, 43, 90, 223, 231, 255, 47,
- 58, 48, 236, 237, 48, 386, 238, 239, 253, 313,
- 48, 333, 315, 130, 59, 385, 319, 334, 387, 60,
- 47, 113, 90, 63, 48, 47, 198, 2, 42, 100,
- 94, 267, 48, 142, 43, 143, 2, 42, 403, 2,
- 42, 185, 202, 43, 247, 147, 43, 196, 249, 197,
- 250, 359, 114, 111, 251, 252, 256, 47, 258, 260,
- 262, 112, 263, 12, 48, 306, 332, 307, 304, 264,
- 308, 154, 155, 156, 157, 158, 48, 48, 104, 316,
- 309, 48, 104, 310, 48, 430, -214, 1, 314, 321,
- 323, 432, 2, 322, 325, 267, 3, 47, 326, 338,
- 339, 48, 341, 317, 343, 222, 47, 344, 221, 47,
- 349, 223, 231, 348, 352, 358, 356, 236, 237, 362,
- 144, 238, 239, 347, 363, 364, 370, 48, 375, 121,
- 371, 124, 360, 184, 185, 4, 5, 377, 6, 7,
- 378, 381, 88, 148, 383, 267, 401, 48, 97, 382,
- 391, 390, 110, 392, 8, 9, 10, 11, -217, 1,
- 394, -214, 395, 328, 2, 419, 389, 434, 3, 405,
- 407, 406, 411, 135, 384, 137, 138, 139, 140, 141,
- 274, 2, 42, 145, 416, 422, 413, 188, 43, 188,
- 431, 435, 368, 311, 415, 324, 246, 427, 29, 257,
- 372, 48, 409, 0, 0, 108, 0, 4, 5, 0,
- 6, 7, 0, 0, 380, 0, 0, 0, 224, 330,
- 241, 125, 131, 0, 0, 0, 8, 9, 10, 11,
- 0, 404, 124, 0, 121, 124, 0, 146, 0, 0,
- 0, 196, 267, 197, 346, 0, 0, 259, 0, 108,
- 48, 47, 0, 0, 0, 0, 0, 0, 273, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, 302, 303, 12, 2,
- 42, 0, 131, 423, 337, 0, 43, 0, 2, 42,
- 0, 222, 124, 0, 221, 43, 0, 223, 231, 0,
- 271, 0, 0, 236, 237, 369, 241, 238, 239, 327,
- 0, 329, 0, 0, 0, 0, 373, 154, 155, 156,
- 64, 376, 0, 224, 0, 2, 42, 96, 0, 99,
- 101, 107, 43, 0, 0, 145, 0, 0, 0, 44,
- 0, 45, 0, 0, 0, 151, 0, 108, 44, 47,
- 45, 108, 388, 152, 151, 0, 0, 0, 47, 0,
- 140, 0, 152, 0, 271, 150, 0, 0, 0, 0,
- 0, 400, 0, 1, 402, 107, 0, 187, 2, 184,
- 185, 0, 3, 2, 410, 196, 412, 197, 195, 146,
- 0, 151, 0, 0, 203, 47, 205, 207, 0, 152,
- 125, 0, 0, 366, 0, 0, 248, 0, 0, 0,
- 0, 426, 0, 429, 361, 0, 0, 433, 0, 0,
- 0, 4, 5, 0, 6, 7, 0, 5, 379, 6,
- 7, 0, 2, 42, 0, 0, 254, 272, 0, 43,
- 8, 9, 10, 11, 0, 0, 9, 10, 11, 0,
- 0, 0, 0, 0, 0, 65, 66, 67, 2, 68,
- 0, 69, 0, 0, 70, 0, 71, 0, 0, 305,
- 398, 72, 399, 0, 0, 73, 0, 0, 0, 74,
- 0, 99, 101, 107, 2, 42, 318, 107, 0, 320,
- 414, 43, 196, 0, 197, 0, 420, 0, 90, 75,
- 0, 125, 47, 0, 125, 0, 76, 0, 77, 115,
- 0, 271, 425, 0, 0, 0, 0, 0, 0, 224,
- 0, 0, 0, 420, 78, 0, 116, 0, 79, 0,
- 80, 243, 350, 0, 208, 0, 65, 66, 67, 2,
- 68, 0, 69, 209, 44, 70, 45, 71, 0, 0,
- 46, 0, 72, 0, 47, 0, 73, 0, 0, 0,
- 74, 0, 0, 154, 155, 156, 157, 158, 0, 160,
- 161, 125, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 171, 172, 5, 0, 6, 7, 76, 210, 77,
- 211, 0, 212, 213, 214, -103, 215, 216, 217, 0,
- 218, 219, 0, 10, 11, 78, 205, 113, -103, 79,
- 208, 80, 65, 66, 67, 2, 68, 0, 69, 209,
- 0, 70, 0, 71, 0, 184, 185, 0, 72, 0,
- 0, 0, 73, 0, 0, 0, 74, 0, 0, 154,
- 155, 156, 157, 158, 0, 160, 161, 162, 0, 0,
- 0, 165, 166, 167, 168, 393, 75, 171, 172, 5,
- 0, 6, 7, 76, 210, 77, 211, 0, 212, 213,
- 214, 0, 215, 216, 217, 0, 218, 219, 0, 10,
- 11, 78, 0, 113, 220, 79, 208, 80, 65, 66,
- 67, 2, 68, 0, 69, 209, 0, 70, 0, 71,
- 0, 184, 185, 0, 72, 0, 0, 0, 73, 0,
- 0, 0, 74, 0, 0, 154, 155, 156, 157, 158,
- 0, 160, 161, 162, 0, 0, 0, 0, 0, 0,
- 0, 0, 75, 171, 172, 5, 0, 6, 7, 76,
- 210, 77, 211, 0, 212, 213, 214, 0, 215, 216,
- 217, 0, 218, 219, 0, 10, 11, 78, 0, 113,
- 0, 79, 0, 80, 65, 66, 67, 2, 68, 0,
- 69, 0, 0, 70, 0, 71, 0, 184, 185, 0,
- 72, 0, 0, 0, 265, 0, 0, 0, 74, 0,
- 0, 0, 0, 0, 0, 0, 65, 66, 67, 2,
- 68, 0, 69, 331, 0, 70, 0, 71, 75, 0,
- 0, 0, 72, 0, 0, 76, 73, 77, 115, 0,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 78, 266, 116, 0, 79, 0, 80,
- 75, 0, 65, 66, 67, 2, 68, 76, 69, 77,
- 115, 70, 0, 71, 0, 0, 0, 0, 72, 0,
- 0, 0, 73, 0, 0, 78, 74, 116, 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, 265, 77, 115, 0, 74, 0,
+ 13, 28, 60, 135, 13, 37, 38, 39, 29, 30,
+ 43, 44, 45, 52, 33, 125, 199, 34, 35, 350,
+ 36, 134, 154, 353, 120, 13, 97, 32, 2, 101,
+ 193, 2, 46, 2, 117, 2, 2, 46, 47, 52,
+ 206, 121, 118, 47, 2, 46, 52, 40, 52, 52,
+ 110, 47, 2, 46, 104, 2, 46, 2, 119, 47,
+ 41, 200, 47, 201, 320, 127, 130, 127, 130, 137,
+ 56, 2, 46, 106, 57, 143, 2, 46, 47, 253,
+ 6, 345, 98, 47, 151, 155, 52, 2, 46, 59,
+ 41, 203, 139, 204, 47, 198, 110, 117, 52, 195,
+ 155, 51, 6, 108, 207, 118, 51, 413, 58, 52,
+ 52, 109, 208, 61, 51, 52, 229, 52, 52, 228,
+ 263, 96, 51, 230, 238, 51, 136, 52, 321, 243,
+ 52, 218, 244, 245, 62, 246, 48, 52, 49, 323,
+ 137, 51, 158, 327, 63, 99, 51, 48, 119, 49,
+ 159, 52, 341, 158, 64, 2, 46, 51, 275, 52,
+ 341, 159, 47, 139, 158, 409, 342, 312, 319, 119,
+ 207, 65, 159, 66, 2, 46, 2, 46, 208, 96,
+ 262, 47, 340, 47, 67, 154, 68, 366, 191, 192,
+ 13, 52, 314, 361, 338, 372, 119, 374, 100, 149,
+ 2, 46, 150, 52, 52, 110, 324, 47, 52, 110,
+ 359, 52, 435, 205, -216, 1, 192, 331, 254, 354,
+ 2, 209, 275, 69, 3, 51, 2, 46, 52, 256,
+ 257, 258, 229, 47, 259, 228, 203, 260, 204, 230,
+ 238, 325, 96, 264, 51, 243, 51, 151, 244, 245,
+ 355, 246, 2, 46, 52, 367, 127, 261, 130, 47,
+ 203, 266, 204, 4, 5, 6, 7, 8, 268, 270,
+ 51, 155, 271, 275, 272, 52, 315, 316, 317, 318,
+ 322, 330, 9, 10, 11, 12, 203, 329, 204, -216,
+ 333, 376, 158, 334, 346, 392, 51, 393, 347, 349,
+ 159, 351, 380, 352, 356, 363, 357, 383, 360, 362,
+ 365, 370, 48, 253, 49, 195, 369, 195, 50, 371,
+ 375, 377, 51, 378, 384, 382, 385, 388, 94, 52,
+ 161, 162, 163, 389, 103, 1, 390, 394, 116, 396,
+ 2, 397, 387, 398, 3, 416, 407, 410, 161, 162,
+ 163, 164, 165, 401, 400, 336, 406, 411, 424, 408,
+ 130, 142, 130, 144, 145, 146, 147, 148, 415, 275,
+ 417, 152, 412, 421, 434, 395, 437, 52, 282, 332,
+ 391, 418, 420, 4, 5, 6, 7, 8, 431, 31,
+ 427, 265, 191, 192, 430, 379, 433, 414, 0, 436,
+ 0, 0, 9, 10, 11, 12, 231, 0, 248, 0,
+ 191, 192, 0, 13, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 229, 0, 0, 228, 0,
+ 0, 0, 230, 238, 0, 2, 267, 0, 243, 0,
+ 0, 244, 245, 0, 246, 0, 0, 281, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 114, 70, 5,
+ 6, 7, 8, 0, 0, 102, 0, 105, 107, 113,
+ 0, 0, 0, 131, 0, 131, 138, 0, 10, 11,
+ 12, 0, 0, 0, 0, 248, 0, 0, 335, 0,
+ 337, 153, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 231, 114, 0, 157, 0, 71, 72, 73,
+ 2, 74, 0, 75, 152, 113, 76, 194, 77, 0,
+ 0, 0, 0, 78, 0, 0, 0, 79, 202, 0,
+ 0, 80, 0, 0, 210, 0, 212, 214, 0, 0,
+ 147, 0, 0, 0, 0, 0, 255, 138, 0, 0,
+ 0, 81, 161, 162, 163, 164, 165, 0, 82, 168,
+ 83, 0, 0, 0, 0, 279, 0, 0, 0, 0,
+ 178, 179, 0, 0, 0, 0, 84, 0, 280, 0,
+ 85, 115, 86, 373, 0, 0, 0, 71, 72, 73,
+ 2, 74, 0, 75, 0, 0, 76, 0, 77, 0,
+ 0, 0, 0, 78, 0, 0, 0, 79, 386, 0,
+ 313, 80, 114, 0, 191, 192, 114, 0, 0, 0,
+ 0, 0, 105, 107, 113, 0, 0, 326, 113, 279,
+ 328, 81, 0, -219, 1, 0, 0, 0, 82, 2,
+ 83, 121, 0, 3, 0, 0, 0, 0, 0, 404,
+ 0, 405, 0, 0, 153, 0, 84, 0, 122, 0,
+ 85, 0, 86, 250, 0, 131, 0, 0, 419, 0,
+ 0, 0, 0, 358, 425, 0, 0, 0, 0, 0,
+ 368, 0, 4, 5, 6, 7, 8, 0, 0, 429,
+ 0, 0, 0, 0, 0, 231, 0, 0, 0, 425,
+ 0, 9, 10, 11, 12, 0, 0, 0, 161, 162,
+ 163, 164, 165, 0, 167, 168, 169, 170, 171, 0,
+ 172, 173, 174, 175, 176, 177, 178, 179, 215, 0,
+ 71, 72, 73, 2, 74, 0, 75, 216, 0, 76,
+ 0, 77, 0, 0, 0, 0, 78, 0, 212, 0,
+ 79, 0, 0, 0, 80, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 131, 0, 131,
+ 191, 192, 0, 0, 81, 0, 279, 5, 0, 7,
+ 8, 82, 217, 83, 218, 0, 219, 220, 221, -103,
+ 222, 223, 224, 0, 225, 226, 399, 11, 12, 84,
+ 0, 119, -103, 85, 215, 86, 71, 72, 73, 2,
+ 74, 0, 75, 216, 0, 76, 0, 77, 0, 0,
+ 0, 0, 78, 0, 0, 0, 79, 0, 0, 0,
+ 80, 0, 0, 161, 162, 163, 164, 165, 0, 167,
+ 168, 169, 0, 0, 0, 172, 173, 174, 175, 0,
+ 81, 178, 179, 5, 0, 7, 8, 82, 217, 83,
+ 218, 0, 219, 220, 221, 0, 222, 223, 224, 0,
+ 225, 226, 0, 11, 12, 84, 0, 119, 227, 85,
+ 215, 86, 71, 72, 73, 2, 74, 0, 75, 216,
+ 0, 76, 0, 77, 0, 191, 192, 0, 78, 0,
+ 0, 0, 79, 0, 0, 0, 80, 0, 0, 161,
+ 162, 163, 164, 165, 0, 167, 168, 169, 0, 0,
+ 0, 0, 0, 0, 0, 0, 81, 178, 179, 5,
+ 0, 7, 8, 82, 217, 83, 218, 0, 219, 220,
+ 221, 0, 222, 223, 224, 0, 225, 226, 0, 11,
+ 12, 84, 0, 119, 0, 85, 0, 86, 71, 72,
+ 73, 2, 74, 0, 75, 0, 0, 76, 0, 77,
+ 0, 191, 192, 0, 78, 0, 0, 0, 273, 0,
+ 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
+ 71, 72, 73, 2, 74, 0, 75, 339, 0, 76,
+ 0, 77, 81, 0, 0, 0, 78, 0, 0, 82,
+ 79, 83, 121, 0, 80, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 84, 274, 122,
+ 0, 85, 0, 86, 81, 0, 71, 72, 73, 2,
+ 74, 82, 75, 83, 121, 76, 0, 77, 0, 0,
+ 0, 0, 78, 0, 0, 0, 79, 0, 0, 84,
+ 80, 122, 0, 85, 0, 86, 0, 0, 71, 72,
+ 73, 2, 74, 0, 75, 0, 0, 76, 0, 77,
+ 81, 0, 0, 0, 78, 0, 0, 82, 273, 83,
+ 121, 0, 80, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 84, 0, 122, 0, 85,
+ 0, 86, 81, 0, 71, 72, 73, 2, 74, 82,
+ 75, 83, 121, 76, 0, 77, 0, 0, 0, 0,
+ 78, 0, 0, 0, 79, 0, 0, 84, 80, 122,
+ 0, 85, 0, 86, 71, 72, 73, 2, 74, 0,
+ 75, 0, 0, 76, 0, 77, 0, 0, 81, 0,
+ 78, 0, 0, 0, 79, 82, 0, 83, 80, 0,
+ 71, 72, 73, 2, 74, 0, 75, 0, 0, 76,
+ 0, 77, 0, 84, 0, 122, 78, 85, 81, 86,
+ 79, 0, 0, 0, 80, 82, 0, 83, 121, 0,
+ 71, 72, 73, 2, 74, 0, 75, 0, 0, 76,
+ 0, 77, 0, 84, 81, 0, 78, 85, 0, 86,
+ 79, 82, 0, 83, 80, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,
+ 0, 0, 0, 85, 81, 86, 0, 0, 0, 0,
+ 0, 82, 0, 83, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 160, 247,
+ 0, 0, 0, 85, 0, 86, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 0, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 0, 186, 187, 188, 189, 0, 0, 161,
+ 162, 163, 164, 165, 0, 167, 168, 169, 170, 0,
+ 0, 172, 173, 174, 175, 176, 177, 178, 179, 0,
+ 0, 0, 160, 0, 190, 0, 0, 0, 191, 192,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 0, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
+ 189, 191, 192, 161, 162, 163, 164, 165, 0, 167,
+ 168, 169, 0, 0, 0, 172, 173, 174, 175, 176,
+ 177, 178, 179, 0, 0, 0, 160, 0, 0, 0,
+ 0, 211, 191, 192, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 0, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 0, 186, 187, 188, 189, 191, 192, 161, 162, 163,
+ 164, 165, 0, 167, 168, 161, 162, 163, 164, 165,
+ 0, 0, 0, 0, 0, 178, 179, 0, 0, 0,
+ 160, 269, 348, 178, 179, 0, 191, 192, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 0,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 0, 186, 187, 188, 189, 191,
+ 192, 0, 0, 0, 0, 0, 0, 191, 192, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 78, 0, 116, 0, 79, 0, 80, 75, 0,
- 65, 66, 67, 2, 68, 76, 69, 77, 115, 70,
- 0, 71, 0, 0, 0, 0, 72, 0, 0, 0,
- 73, 0, 0, 78, 74, 116, 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, 73, 77, 0, 0, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
- 0, 0, 0, 79, 109, 80, 75, 0, 65, 66,
- 67, 2, 68, 76, 69, 77, 0, 70, 0, 71,
- 0, 0, 0, 0, 72, 0, 0, 0, 73, 0,
- 0, 78, 74, 116, 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,
- 73, 77, 115, 0, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
- 0, 79, 0, 80, 75, 0, 65, 66, 67, 2,
- 68, 76, 69, 77, 0, 70, 0, 71, 0, 0,
- 0, 0, 72, 0, 0, 0, 73, 0, 0, 78,
- 74, 0, 0, 79, 0, 80, 0, 0, 0, 0,
+ 0, 0, 0, 0, 160, 0, 0, 0, 0, 0,
+ 191, 192, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 0, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 0, 186,
+ 187, 188, 189, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 154, 155, 156, 157, 158, 0, 76, 161, 77,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 171,
- 172, 0, 0, 0, 153, 240, 0, 0, 0, 79,
- 0, 80, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, 0, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 0, 179,
- 180, 181, 182, 184, 185, 154, 155, 156, 157, 158,
- 0, 160, 161, 162, 163, 164, 0, 165, 166, 167,
- 168, 169, 170, 171, 172, 0, 0, 0, 153, 0,
- 183, 0, 0, 0, 184, 185, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 0, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 179, 180, 181, 182, 184, 185, 154,
- 155, 156, 157, 158, 0, 160, 161, 162, 163, 0,
- 0, 165, 166, 167, 168, 169, 170, 171, 172, 0,
- 0, 0, 153, 0, 0, 0, 0, 204, 184, 185,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 0, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 0, 179, 180, 181,
- 182, 184, 185, 154, 155, 156, 157, 158, 0, 160,
- 161, 162, 0, 0, 0, 165, 166, 167, 168, 169,
- 170, 171, 172, 0, 0, 0, 153, 261, 340, 0,
- 0, 0, 184, 185, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 0, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 0, 179, 180, 181, 182, 184, 185, 154, 155, 156,
- 157, 158, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 171, 172, 0, 0, 0,
- 153, 0, 0, 0, 0, 0, 184, 185, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 0,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 0, 179, 180, 181, 182, 184,
- 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 160, 364,
+ 0, 0, 0, 0, 191, 192, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 0, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 0, 186, 187, 188, 189, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 153, 357, 0, 0, 0, 0,
- 184, 185, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, 0, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 0, 179,
- 180, 181, 182, 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, 153, 0,
- 374, 0, 0, 0, 184, 185, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 0, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 0, 179, 180, 181, 182, 0, 0, 0,
+ 0, 0, 160, 0, 381, 0, 0, 0, 191, 192,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 0, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
+ 189, 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, 160, 119, 422,
+ 0, 0, 191, 192, 0, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 0, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 0, 186, 187, 188, 189, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 153, 113, 417, 0, 0, 184, 185,
- 0, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 0, 165, 166, 167, 168, 169, 170, 171,
- 172, 173, 174, 175, 176, 177, 178, 0, 179, 180,
- 181, 182, 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, 153, 0, 418,
- 0, 0, 0, 184, 185, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 0, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 0, 179, 180, 181, 182, 0, 0, 0, 0,
+ 0, 160, 0, 423, 0, 0, 0, 191, 192, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 0, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 0, 186, 187, 188, 189,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 153, 0, 0, 424, 0, 0, 184, 185, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 0, 165, 166, 167, 168, 169, 170, 171, 172, 173,
- 174, 175, 176, 177, 178, 0, 179, 180, 181, 182,
+ 0, 0, 0, 0, 0, 160, 0, 0, 428, 0,
+ 0, 191, 192, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 0, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 0,
+ 186, 187, 188, 189, 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, 160,
+ 0, 0, 0, 0, 0, 191, 192, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 0, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 0, 186, 187, 188, 189, 0, 432,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 153, 0, 0, 0, 0,
- 0, 184, 185, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 0, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 0,
- 179, 180, 181, 182, 0, 428, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
- 0, 0, 0, 0, 0, 184, 185, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 0, 165,
- 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 0, 179, 180, 181, 182, 0, 0,
+ 0, 0, 0, 160, 0, 0, 0, 0, 0, 191,
+ 192, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 0, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
+ 188, 189, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 184,
- 185
+ 0, 0, 0, 191, 192
};
static const yytype_int16 yycheck[] =
{
- 0, 4, 94, 78, 4, 5, 6, 4, 4, 9,
- 10, 11, 12, 4, 4, 228, 240, 4, 4, 57,
- 249, 6, 54, 23, 90, 9, 57, 39, 23, 6,
- 42, 6, 7, 11, 251, 35, 6, 57, 13, 72,
- 57, 57, 42, 74, 44, 45, 46, 80, 6, 6,
- 7, 72, 5, 72, 74, 74, 13, 74, 74, 80,
- 10, 61, 62, 63, 10, 9, 98, 8, 100, 69,
- 6, 7, 8, 10, 51, 6, 7, 13, 78, 79,
- 80, 51, 13, 72, 116, 74, 78, 79, 73, 73,
- 90, 73, 92, 93, 94, 0, 74, 81, 73, 81,
- 307, 76, 309, 103, 104, 75, 81, 6, 7, 109,
- 113, 111, 112, 113, 13, 72, 113, 113, 130, 76,
- 10, 121, 113, 113, 124, 354, 113, 113, 128, 73,
- 130, 57, 198, 133, 10, 352, 202, 63, 355, 10,
- 76, 74, 72, 74, 144, 76, 48, 6, 7, 8,
- 72, 151, 152, 72, 13, 72, 6, 7, 382, 6,
- 7, 79, 48, 13, 78, 240, 13, 66, 48, 68,
- 73, 263, 50, 72, 10, 75, 10, 76, 75, 5,
- 73, 80, 48, 183, 184, 185, 218, 74, 183, 77,
- 8, 16, 17, 18, 19, 20, 196, 197, 198, 199,
- 48, 201, 202, 75, 204, 422, 0, 1, 73, 48,
- 210, 424, 6, 73, 10, 215, 10, 76, 10, 10,
- 10, 221, 10, 73, 75, 228, 76, 10, 228, 76,
- 75, 228, 228, 48, 74, 73, 10, 228, 228, 48,
- 240, 228, 228, 243, 73, 75, 81, 247, 10, 249,
- 73, 251, 264, 78, 79, 49, 50, 64, 52, 53,
- 10, 73, 37, 263, 8, 265, 11, 267, 43, 58,
- 75, 58, 47, 73, 68, 69, 70, 71, 0, 1,
- 58, 75, 62, 215, 6, 58, 362, 428, 10, 75,
- 75, 73, 73, 68, 348, 70, 71, 72, 73, 74,
- 153, 6, 7, 78, 75, 74, 394, 307, 13, 309,
- 75, 75, 312, 191, 396, 211, 348, 419, 4, 133,
- 321, 321, 390, -1, -1, 46, -1, 49, 50, -1,
- 52, 53, -1, -1, 334, -1, -1, -1, 113, 217,
- 115, 62, 63, -1, -1, -1, 68, 69, 70, 71,
- -1, 383, 352, -1, 354, 355, -1, 78, -1, -1,
- -1, 66, 362, 68, 242, -1, -1, 142, -1, 90,
- 370, 76, -1, -1, -1, -1, -1, -1, 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, 182, 408, 6,
- 7, -1, 133, 408, 11, -1, 13, -1, 6, 7,
- -1, 424, 422, -1, 424, 13, -1, 424, 424, -1,
- 151, -1, -1, 424, 424, 313, 211, 424, 424, 214,
- -1, 216, -1, -1, -1, -1, 324, 16, 17, 18,
- 35, 329, -1, 228, -1, 6, 7, 42, -1, 44,
- 45, 46, 13, -1, -1, 240, -1, -1, -1, 66,
- -1, 68, -1, -1, -1, 72, -1, 198, 66, 76,
- 68, 202, 360, 80, 72, -1, -1, -1, 76, -1,
- 265, -1, 80, -1, 215, 80, -1, -1, -1, -1,
- -1, 379, -1, 1, 382, 90, -1, 92, 6, 78,
- 79, -1, 10, 6, 392, 66, 394, 68, 103, 240,
- -1, 72, -1, -1, 109, 76, 111, 112, -1, 80,
- 251, -1, -1, 308, -1, -1, 121, -1, -1, -1,
- -1, 419, -1, 421, 265, -1, -1, 425, -1, -1,
- -1, 49, 50, -1, 52, 53, -1, 50, 333, 52,
- 53, -1, 6, 7, -1, -1, 10, 152, -1, 13,
- 68, 69, 70, 71, -1, -1, 69, 70, 71, -1,
- -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
- -1, 9, -1, -1, 12, -1, 14, -1, -1, 184,
- 375, 19, 377, -1, -1, 23, -1, -1, -1, 27,
- -1, 196, 197, 198, 6, 7, 201, 202, -1, 204,
- 395, 13, 66, -1, 68, -1, 401, -1, 72, 47,
- -1, 352, 76, -1, 355, -1, 54, -1, 56, 57,
- -1, 362, 417, -1, -1, -1, -1, -1, -1, 424,
- -1, -1, -1, 428, 72, -1, 74, -1, 76, -1,
- 78, 79, 247, -1, 1, -1, 3, 4, 5, 6,
- 7, -1, 9, 10, 66, 12, 68, 14, -1, -1,
- 72, -1, 19, -1, 76, -1, 23, -1, -1, -1,
+ 0, 4, 25, 68, 4, 5, 6, 7, 4, 4,
+ 10, 11, 12, 13, 4, 58, 100, 4, 4, 235,
+ 4, 67, 84, 247, 54, 25, 43, 4, 6, 46,
+ 96, 6, 7, 6, 72, 6, 6, 7, 13, 39,
+ 9, 57, 80, 13, 6, 7, 46, 5, 48, 49,
+ 50, 13, 6, 7, 8, 6, 7, 6, 74, 13,
+ 57, 104, 13, 106, 9, 65, 66, 67, 68, 69,
+ 10, 6, 7, 8, 10, 75, 6, 7, 13, 122,
+ 51, 11, 11, 13, 84, 85, 86, 6, 7, 10,
+ 57, 66, 69, 68, 13, 73, 96, 72, 98, 99,
+ 100, 76, 51, 73, 73, 80, 76, 74, 8, 109,
+ 110, 81, 81, 0, 76, 115, 119, 117, 118, 119,
+ 137, 72, 76, 119, 119, 76, 75, 127, 73, 119,
+ 130, 57, 119, 119, 10, 119, 66, 137, 68, 205,
+ 140, 76, 72, 209, 10, 74, 76, 66, 74, 68,
+ 80, 151, 57, 72, 10, 6, 7, 76, 158, 159,
+ 57, 80, 13, 140, 72, 389, 63, 190, 198, 74,
+ 73, 72, 80, 74, 6, 7, 6, 7, 81, 72,
+ 10, 13, 225, 13, 72, 247, 74, 271, 78, 79,
+ 190, 191, 192, 258, 224, 315, 74, 317, 72, 72,
+ 6, 7, 72, 203, 204, 205, 206, 13, 208, 209,
+ 256, 211, 428, 48, 0, 1, 79, 217, 78, 249,
+ 6, 48, 222, 74, 10, 76, 6, 7, 228, 48,
+ 73, 10, 235, 13, 75, 235, 66, 73, 68, 235,
+ 235, 73, 72, 10, 76, 235, 76, 247, 235, 235,
+ 250, 235, 6, 7, 254, 272, 256, 75, 258, 13,
+ 66, 75, 68, 49, 50, 51, 52, 53, 5, 73,
+ 76, 271, 48, 273, 77, 275, 74, 8, 48, 75,
+ 73, 73, 68, 69, 70, 71, 66, 48, 68, 75,
+ 10, 321, 72, 10, 10, 360, 76, 362, 10, 10,
+ 80, 75, 332, 10, 48, 10, 75, 337, 74, 74,
+ 73, 73, 66, 356, 68, 315, 48, 317, 72, 75,
+ 320, 81, 76, 73, 64, 10, 10, 73, 41, 329,
+ 16, 17, 18, 58, 47, 1, 8, 367, 51, 58,
+ 6, 75, 342, 73, 10, 73, 11, 390, 16, 17,
+ 18, 19, 20, 62, 58, 222, 386, 75, 58, 389,
+ 360, 74, 362, 76, 77, 78, 79, 80, 398, 369,
+ 400, 84, 75, 75, 75, 369, 432, 377, 160, 218,
+ 356, 400, 402, 49, 50, 51, 52, 53, 424, 4,
+ 413, 140, 78, 79, 424, 329, 426, 396, -1, 429,
+ -1, -1, 68, 69, 70, 71, 119, -1, 121, -1,
+ 78, 79, -1, 413, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 428, -1, -1, 428, -1,
+ -1, -1, 428, 428, -1, 6, 149, -1, 428, -1,
+ -1, 428, 428, -1, 428, -1, -1, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 50, 39, 50,
+ 51, 52, 53, -1, -1, 46, -1, 48, 49, 50,
+ -1, -1, -1, 66, -1, 68, 69, -1, 69, 70,
+ 71, -1, -1, -1, -1, 218, -1, -1, 221, -1,
+ 223, 84, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 235, 96, -1, 86, -1, 3, 4, 5,
+ 6, 7, -1, 9, 247, 96, 12, 98, 14, -1,
+ -1, -1, -1, 19, -1, -1, -1, 23, 109, -1,
+ -1, 27, -1, -1, 115, -1, 117, 118, -1, -1,
+ 273, -1, -1, -1, -1, -1, 127, 140, -1, -1,
+ -1, 47, 16, 17, 18, 19, 20, -1, 54, 23,
+ 56, -1, -1, -1, -1, 158, -1, -1, -1, -1,
+ 34, 35, -1, -1, -1, -1, 72, -1, 159, -1,
+ 76, 77, 78, 316, -1, -1, -1, 3, 4, 5,
+ 6, 7, -1, 9, -1, -1, 12, -1, 14, -1,
+ -1, -1, -1, 19, -1, -1, -1, 23, 341, -1,
+ 191, 27, 205, -1, 78, 79, 209, -1, -1, -1,
+ -1, -1, 203, 204, 205, -1, -1, 208, 209, 222,
+ 211, 47, -1, 0, 1, -1, -1, -1, 54, 6,
+ 56, 57, -1, 10, -1, -1, -1, -1, -1, 382,
+ -1, 384, -1, -1, 247, -1, 72, -1, 74, -1,
+ 76, -1, 78, 79, -1, 258, -1, -1, 401, -1,
+ -1, -1, -1, 254, 407, -1, -1, -1, -1, -1,
+ 273, -1, 49, 50, 51, 52, 53, -1, -1, 422,
+ -1, -1, -1, -1, -1, 428, -1, -1, -1, 432,
+ -1, 68, 69, 70, 71, -1, -1, -1, 16, 17,
+ 18, 19, 20, -1, 22, 23, 24, 25, 26, -1,
+ 28, 29, 30, 31, 32, 33, 34, 35, 1, -1,
+ 3, 4, 5, 6, 7, -1, 9, 10, -1, 12,
+ -1, 14, -1, -1, -1, -1, 19, -1, 329, -1,
+ 23, -1, -1, -1, 27, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 360, -1, 362,
+ 78, 79, -1, -1, 47, -1, 369, 50, -1, 52,
+ 53, 54, 55, 56, 57, -1, 59, 60, 61, 62,
+ 63, 64, 65, -1, 67, 68, 377, 70, 71, 72,
+ -1, 74, 75, 76, 1, 78, 3, 4, 5, 6,
+ 7, -1, 9, 10, -1, 12, -1, 14, -1, -1,
+ -1, -1, 19, -1, -1, -1, 23, -1, -1, -1,
27, -1, -1, 16, 17, 18, 19, 20, -1, 22,
- 23, 422, -1, -1, -1, -1, -1, -1, -1, -1,
+ 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, 62, 63, 64, 65, -1,
- 67, 68, -1, 70, 71, 72, 321, 74, 75, 76,
+ 57, -1, 59, 60, 61, -1, 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, 28, 29, 30, 31, 370, 47, 34, 35, 50,
+ -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, 75, 76, 1, 78, 3, 4,
- 5, 6, 7, -1, 9, 10, -1, 12, -1, 14,
+ 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, 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, 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,
- -1, -1, 3, 4, 5, 6, 7, -1, 9, -1,
- -1, 12, -1, 14, 47, -1, -1, -1, 19, -1,
- -1, 54, 23, 56, -1, -1, 27, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
- -1, -1, -1, 76, 77, 78, 47, -1, 3, 4,
- 5, 6, 7, 54, 9, 56, -1, 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, -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, 72, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 72, 73, 74,
-1, 76, -1, 78, 47, -1, 3, 4, 5, 6,
- 7, 54, 9, 56, -1, 12, -1, 14, -1, -1,
+ 7, 54, 9, 56, 57, 12, -1, 14, -1, -1,
-1, -1, 19, -1, -1, -1, 23, -1, -1, 72,
- 27, -1, -1, 76, -1, 78, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 47, 16, 17, 18, 19, 20, -1, 54, 23, 56,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 34,
- 35, -1, -1, -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, 78, 79, 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,
+ 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, 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, 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, 78, 79, 16,
+ 40, 41, -1, 43, 44, 45, 46, -1, -1, 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,
+ -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, -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,
+ 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, -1, -1, -1, -1, -1, -1, -1,
+ 19, 20, -1, 22, 23, 16, 17, 18, 19, 20,
-1, -1, -1, -1, -1, 34, 35, -1, -1, -1,
- 8, -1, -1, -1, -1, -1, 78, 79, 16, 17,
+ 8, 73, 10, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, -1, -1, 78, 79, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 8, 73, -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, 8, -1,
- 74, -1, -1, -1, 78, 79, 16, 17, 18, 19,
+ -1, -1, -1, -1, -1, -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, -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, 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, -1, 10,
- -1, -1, -1, 78, 79, 16, 17, 18, 19, 20,
+ -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, -1, 11, -1, -1, 78, 79, 16,
+ -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, -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, 48, -1, -1, -1, -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, -1,
+ 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, -1, -1, -1, 78,
- 79
+ -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, 78, 79
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 1, 6, 10, 49, 50, 52, 53, 68, 69,
- 70, 71, 83, 84, 86, 104, 123, 124, 125, 132,
- 136, 137, 140, 142, 143, 144, 84, 86, 104, 125,
- 132, 136, 137, 140, 83, 83, 5, 57, 141, 83,
- 83, 83, 7, 13, 66, 68, 72, 76, 83, 120,
- 121, 122, 10, 10, 8, 10, 143, 0, 10, 10,
- 10, 72, 74, 74, 122, 3, 4, 5, 7, 9,
- 12, 14, 19, 23, 27, 47, 54, 56, 72, 76,
- 78, 83, 85, 87, 88, 89, 94, 95, 96, 126,
- 72, 120, 11, 74, 72, 120, 122, 96, 8, 122,
- 8, 122, 73, 81, 83, 92, 93, 122, 123, 77,
- 96, 72, 80, 74, 102, 57, 74, 96, 108, 109,
- 111, 83, 130, 131, 83, 123, 127, 128, 51, 75,
- 83, 123, 129, 133, 134, 96, 83, 96, 96, 96,
- 96, 96, 72, 72, 83, 96, 123, 124, 83, 103,
- 122, 72, 80, 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, 93, 122, 83, 138,
- 139, 73, 103, 109, 109, 122, 66, 68, 48, 9,
- 73, 81, 48, 122, 77, 122, 135, 122, 1, 10,
- 55, 57, 59, 60, 61, 63, 64, 65, 67, 68,
- 75, 83, 84, 86, 96, 97, 98, 99, 100, 101,
- 102, 104, 112, 113, 116, 119, 132, 136, 137, 140,
- 72, 96, 110, 79, 106, 107, 109, 78, 122, 48,
- 73, 10, 75, 83, 10, 120, 10, 134, 75, 96,
- 5, 73, 73, 48, 77, 23, 73, 83, 90, 91,
- 109, 123, 122, 96, 108, 96, 96, 96, 96, 96,
+ 0, 1, 6, 10, 49, 50, 51, 52, 53, 68,
+ 69, 70, 71, 83, 84, 86, 104, 123, 124, 125,
+ 129, 132, 136, 137, 140, 142, 143, 144, 84, 86,
+ 104, 125, 129, 132, 136, 137, 140, 83, 83, 83,
+ 5, 57, 141, 83, 83, 83, 7, 13, 66, 68,
+ 72, 76, 83, 120, 121, 122, 10, 10, 8, 10,
+ 143, 0, 10, 10, 10, 72, 74, 72, 74, 74,
+ 122, 3, 4, 5, 7, 9, 12, 14, 19, 23,
+ 27, 47, 54, 56, 72, 76, 78, 83, 85, 87,
+ 88, 89, 94, 95, 96, 126, 72, 120, 11, 74,
+ 72, 120, 122, 96, 8, 122, 8, 122, 73, 81,
+ 83, 92, 93, 122, 123, 77, 96, 72, 80, 74,
+ 102, 57, 74, 96, 108, 109, 111, 83, 130, 131,
+ 83, 123, 127, 128, 131, 128, 75, 83, 123, 129,
+ 133, 134, 96, 83, 96, 96, 96, 96, 96, 72,
+ 72, 83, 96, 123, 124, 83, 103, 122, 72, 80,
+ 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, 93, 122, 83, 138, 139, 73, 103,
+ 109, 109, 122, 66, 68, 48, 9, 73, 81, 48,
+ 122, 77, 122, 135, 122, 1, 10, 55, 57, 59,
+ 60, 61, 63, 64, 65, 67, 68, 75, 83, 84,
+ 86, 96, 97, 98, 99, 100, 101, 102, 104, 112,
+ 113, 116, 119, 132, 136, 137, 140, 72, 96, 110,
+ 79, 106, 107, 109, 78, 122, 48, 73, 10, 75,
+ 73, 75, 10, 120, 10, 134, 75, 96, 5, 73,
+ 73, 48, 77, 23, 73, 83, 90, 91, 109, 123,
+ 122, 96, 108, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 143, 122, 83, 74, 8, 48,
- 75, 102, 9, 73, 73, 93, 83, 73, 122, 93,
- 122, 48, 73, 83, 110, 10, 10, 96, 90, 96,
- 102, 10, 109, 57, 63, 117, 118, 11, 10, 10,
- 10, 10, 101, 75, 10, 111, 102, 83, 48, 75,
- 122, 131, 74, 128, 72, 74, 10, 73, 73, 103,
- 120, 123, 48, 73, 75, 139, 96, 139, 83, 102,
- 81, 73, 135, 102, 74, 10, 102, 64, 10, 96,
- 83, 73, 58, 8, 107, 128, 131, 128, 102, 91,
- 58, 75, 73, 122, 58, 62, 114, 115, 96, 96,
- 102, 11, 102, 111, 109, 75, 73, 75, 74, 141,
- 102, 73, 102, 112, 96, 115, 75, 10, 10, 58,
- 96, 105, 74, 143, 11, 96, 102, 118, 48, 102,
- 128, 75, 101, 102, 105, 75
+ 96, 96, 143, 122, 83, 74, 8, 48, 75, 102,
+ 9, 73, 73, 93, 83, 73, 122, 93, 122, 48,
+ 73, 83, 110, 10, 10, 96, 90, 96, 102, 10,
+ 109, 57, 63, 117, 118, 11, 10, 10, 10, 10,
+ 101, 75, 10, 111, 102, 83, 48, 75, 122, 131,
+ 74, 128, 74, 10, 73, 73, 103, 120, 123, 48,
+ 73, 75, 139, 96, 139, 83, 102, 81, 73, 135,
+ 102, 74, 10, 102, 64, 10, 96, 83, 73, 58,
+ 8, 107, 128, 128, 102, 91, 58, 75, 73, 122,
+ 58, 62, 114, 115, 96, 96, 102, 11, 102, 111,
+ 109, 75, 75, 74, 141, 102, 73, 102, 112, 96,
+ 115, 75, 10, 10, 58, 96, 105, 143, 11, 96,
+ 102, 118, 48, 102, 75, 101, 102, 105
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
@@ -1352,7 +1354,7 @@ static const yytype_uint8 yyr1[] =
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
+ 142, 142, 142, 142, 142, 142, 143, 143, 144, 144
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
@@ -1378,8 +1380,8 @@ static const yytype_int8 yyr2[] =
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
+ 1, 2, 2, 2, 1, 2, 2, 2, 2, 2,
+ 3, 3, 2, 2, 3, 1, 1, 2, 1, 0
};
@@ -1945,391 +1947,391 @@ yydestruct (const char *yymsg,
case YYSYMBOL_INT: /* INT */
#line 146 "src/parser.y"
{}
-#line 1949 "gen/gen_parser.c"
+#line 1951 "gen/gen_parser.c"
break;
case YYSYMBOL_FLOAT: /* FLOAT */
#line 146 "src/parser.y"
{}
-#line 1955 "gen/gen_parser.c"
+#line 1957 "gen/gen_parser.c"
break;
case YYSYMBOL_STRING: /* STRING */
#line 146 "src/parser.y"
{}
-#line 1961 "gen/gen_parser.c"
+#line 1963 "gen/gen_parser.c"
break;
case YYSYMBOL_ID: /* ID */
#line 146 "src/parser.y"
{}
-#line 1967 "gen/gen_parser.c"
+#line 1969 "gen/gen_parser.c"
break;
case YYSYMBOL_id: /* id */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1973 "gen/gen_parser.c"
+#line 1975 "gen/gen_parser.c"
break;
case YYSYMBOL_var: /* var */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1979 "gen/gen_parser.c"
+#line 1981 "gen/gen_parser.c"
break;
case YYSYMBOL_embed: /* embed */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1985 "gen/gen_parser.c"
+#line 1987 "gen/gen_parser.c"
break;
case YYSYMBOL_import: /* import */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1991 "gen/gen_parser.c"
+#line 1993 "gen/gen_parser.c"
break;
case YYSYMBOL_assign: /* assign */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 1997 "gen/gen_parser.c"
+#line 1999 "gen/gen_parser.c"
break;
case YYSYMBOL_binary_op: /* binary_op */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2003 "gen/gen_parser.c"
+#line 2005 "gen/gen_parser.c"
break;
case YYSYMBOL_unary_op: /* unary_op */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2009 "gen/gen_parser.c"
+#line 2011 "gen/gen_parser.c"
break;
case YYSYMBOL_arg: /* arg */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2015 "gen/gen_parser.c"
+#line 2017 "gen/gen_parser.c"
break;
case YYSYMBOL_arg_list: /* arg_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2021 "gen/gen_parser.c"
+#line 2023 "gen/gen_parser.c"
break;
case YYSYMBOL_param_decl: /* param_decl */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2027 "gen/gen_parser.c"
+#line 2029 "gen/gen_parser.c"
break;
case YYSYMBOL_decl_list: /* decl_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2033 "gen/gen_parser.c"
+#line 2035 "gen/gen_parser.c"
break;
case YYSYMBOL_call: /* call */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2039 "gen/gen_parser.c"
+#line 2041 "gen/gen_parser.c"
break;
case YYSYMBOL_defer: /* defer */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2045 "gen/gen_parser.c"
+#line 2047 "gen/gen_parser.c"
break;
case YYSYMBOL_expr: /* expr */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2051 "gen/gen_parser.c"
+#line 2053 "gen/gen_parser.c"
break;
case YYSYMBOL_while: /* while */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2057 "gen/gen_parser.c"
+#line 2059 "gen/gen_parser.c"
break;
case YYSYMBOL_do_while: /* do_while */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2063 "gen/gen_parser.c"
+#line 2065 "gen/gen_parser.c"
break;
case YYSYMBOL_goto: /* goto */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2069 "gen/gen_parser.c"
+#line 2071 "gen/gen_parser.c"
break;
case YYSYMBOL_statement: /* statement */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2075 "gen/gen_parser.c"
+#line 2077 "gen/gen_parser.c"
break;
case YYSYMBOL_statement_list: /* statement_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2081 "gen/gen_parser.c"
+#line 2083 "gen/gen_parser.c"
break;
case YYSYMBOL_body: /* body */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2087 "gen/gen_parser.c"
+#line 2089 "gen/gen_parser.c"
break;
case YYSYMBOL_macro_list: /* macro_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2093 "gen/gen_parser.c"
+#line 2095 "gen/gen_parser.c"
break;
case YYSYMBOL_macro: /* macro */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2099 "gen/gen_parser.c"
+#line 2101 "gen/gen_parser.c"
break;
case YYSYMBOL_expr_list: /* expr_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2105 "gen/gen_parser.c"
+#line 2107 "gen/gen_parser.c"
break;
case YYSYMBOL_struct_init: /* struct_init */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2111 "gen/gen_parser.c"
+#line 2113 "gen/gen_parser.c"
break;
case YYSYMBOL_struct_inits: /* struct_inits */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2117 "gen/gen_parser.c"
+#line 2119 "gen/gen_parser.c"
break;
case YYSYMBOL_struct_construct: /* struct_construct */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2123 "gen/gen_parser.c"
+#line 2125 "gen/gen_parser.c"
break;
case YYSYMBOL_init_expr: /* init_expr */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2129 "gen/gen_parser.c"
+#line 2131 "gen/gen_parser.c"
break;
case YYSYMBOL_cond: /* cond */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2135 "gen/gen_parser.c"
+#line 2137 "gen/gen_parser.c"
break;
case YYSYMBOL_expr_if: /* expr_if */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2141 "gen/gen_parser.c"
+#line 2143 "gen/gen_parser.c"
break;
case YYSYMBOL_if: /* if */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2147 "gen/gen_parser.c"
+#line 2149 "gen/gen_parser.c"
break;
case YYSYMBOL_for: /* for */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2153 "gen/gen_parser.c"
+#line 2155 "gen/gen_parser.c"
break;
case YYSYMBOL_case: /* case */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2159 "gen/gen_parser.c"
+#line 2161 "gen/gen_parser.c"
break;
case YYSYMBOL_case_list: /* case_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2165 "gen/gen_parser.c"
+#line 2167 "gen/gen_parser.c"
break;
case YYSYMBOL_switch: /* switch */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2171 "gen/gen_parser.c"
+#line 2173 "gen/gen_parser.c"
break;
case YYSYMBOL_const_for: /* const_for */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2177 "gen/gen_parser.c"
+#line 2179 "gen/gen_parser.c"
break;
case YYSYMBOL_const_if: /* const_if */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2183 "gen/gen_parser.c"
+#line 2185 "gen/gen_parser.c"
break;
case YYSYMBOL_const: /* const */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2189 "gen/gen_parser.c"
+#line 2191 "gen/gen_parser.c"
break;
case YYSYMBOL_func_sign: /* func_sign */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2195 "gen/gen_parser.c"
+#line 2197 "gen/gen_parser.c"
break;
case YYSYMBOL_variadic_sign: /* variadic_sign */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2201 "gen/gen_parser.c"
+#line 2203 "gen/gen_parser.c"
break;
case YYSYMBOL_type: /* type */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2207 "gen/gen_parser.c"
+#line 2209 "gen/gen_parser.c"
break;
case YYSYMBOL_var_decl: /* var_decl */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2213 "gen/gen_parser.c"
+#line 2215 "gen/gen_parser.c"
break;
case YYSYMBOL_var_init: /* var_init */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2219 "gen/gen_parser.c"
+#line 2221 "gen/gen_parser.c"
break;
case YYSYMBOL_proc: /* proc */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2225 "gen/gen_parser.c"
+#line 2227 "gen/gen_parser.c"
break;
case YYSYMBOL_lambda: /* lambda */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2231 "gen/gen_parser.c"
+#line 2233 "gen/gen_parser.c"
break;
case YYSYMBOL_struct_elem: /* struct_elem */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2237 "gen/gen_parser.c"
+#line 2239 "gen/gen_parser.c"
break;
case YYSYMBOL_struct_list: /* struct_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2243 "gen/gen_parser.c"
+#line 2245 "gen/gen_parser.c"
break;
case YYSYMBOL_union: /* union */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2249 "gen/gen_parser.c"
+#line 2251 "gen/gen_parser.c"
break;
case YYSYMBOL_generic: /* generic */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2255 "gen/gen_parser.c"
+#line 2257 "gen/gen_parser.c"
break;
case YYSYMBOL_generic_list: /* generic_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2261 "gen/gen_parser.c"
+#line 2263 "gen/gen_parser.c"
break;
case YYSYMBOL_struct: /* struct */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2267 "gen/gen_parser.c"
+#line 2269 "gen/gen_parser.c"
break;
case YYSYMBOL_template_elem: /* template_elem */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2273 "gen/gen_parser.c"
+#line 2275 "gen/gen_parser.c"
break;
case YYSYMBOL_template_list: /* template_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2279 "gen/gen_parser.c"
+#line 2281 "gen/gen_parser.c"
break;
case YYSYMBOL_type_list: /* type_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2285 "gen/gen_parser.c"
+#line 2287 "gen/gen_parser.c"
break;
case YYSYMBOL_type_alias: /* type_alias */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2291 "gen/gen_parser.c"
+#line 2293 "gen/gen_parser.c"
break;
case YYSYMBOL_type_template: /* type_template */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2297 "gen/gen_parser.c"
+#line 2299 "gen/gen_parser.c"
break;
case YYSYMBOL_enum_val: /* enum_val */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2303 "gen/gen_parser.c"
+#line 2305 "gen/gen_parser.c"
break;
case YYSYMBOL_enum_list: /* enum_list */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2309 "gen/gen_parser.c"
+#line 2311 "gen/gen_parser.c"
break;
case YYSYMBOL_enum: /* enum */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2315 "gen/gen_parser.c"
+#line 2317 "gen/gen_parser.c"
break;
case YYSYMBOL_top_if: /* top_if */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2321 "gen/gen_parser.c"
+#line 2323 "gen/gen_parser.c"
break;
case YYSYMBOL_top: /* top */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2327 "gen/gen_parser.c"
+#line 2329 "gen/gen_parser.c"
break;
case YYSYMBOL_unit: /* unit */
#line 147 "src/parser.y"
{ destroy_ast_tree(((*yyvaluep).node)); }
-#line 2333 "gen/gen_parser.c"
+#line 2335 "gen/gen_parser.c"
break;
default:
@@ -2638,169 +2640,169 @@ yyreduce:
(yyval.node) = gen_id(strdup((yyvsp[0].str)));
(yyval.node)->loc = to_src_loc(&yylloc);
}
-#line 2642 "gen/gen_parser.c"
+#line 2644 "gen/gen_parser.c"
break;
case 3: /* var: var_decl */
#line 157 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2648 "gen/gen_parser.c"
+#line 2650 "gen/gen_parser.c"
break;
case 4: /* var: var_init */
#line 158 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2654 "gen/gen_parser.c"
+#line 2656 "gen/gen_parser.c"
break;
case 5: /* embed: "embed" "(" STRING ")" */
#line 161 "src/parser.y"
{ (yyval.node) = gen_embed(clone_string((yyvsp[-1].str))); }
-#line 2660 "gen/gen_parser.c"
+#line 2662 "gen/gen_parser.c"
break;
case 6: /* import: "import" STRING */
#line 164 "src/parser.y"
{ (yyval.node) = gen_import(clone_string((yyvsp[0].str))); }
-#line 2666 "gen/gen_parser.c"
+#line 2668 "gen/gen_parser.c"
break;
case 7: /* assign: expr "=" expr */
#line 167 "src/parser.y"
{ (yyval.node) = gen_assign((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2672 "gen/gen_parser.c"
+#line 2674 "gen/gen_parser.c"
break;
case 8: /* assign: expr "=" struct_construct */
#line 168 "src/parser.y"
{ (yyval.node) = gen_assign((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2678 "gen/gen_parser.c"
+#line 2680 "gen/gen_parser.c"
break;
case 9: /* binary_op: expr "+" expr */
#line 171 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ADD, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2684 "gen/gen_parser.c"
+#line 2686 "gen/gen_parser.c"
break;
case 10: /* binary_op: expr "-" expr */
#line 172 "src/parser.y"
{ (yyval.node) = gen_binop(AST_SUB, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2690 "gen/gen_parser.c"
+#line 2692 "gen/gen_parser.c"
break;
case 11: /* binary_op: expr "*" expr */
#line 173 "src/parser.y"
{ (yyval.node) = gen_binop(AST_MUL, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2696 "gen/gen_parser.c"
+#line 2698 "gen/gen_parser.c"
break;
case 12: /* binary_op: expr "/" expr */
#line 174 "src/parser.y"
{ (yyval.node) = gen_binop(AST_DIV, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2702 "gen/gen_parser.c"
+#line 2704 "gen/gen_parser.c"
break;
case 13: /* binary_op: expr "%" expr */
#line 175 "src/parser.y"
{ (yyval.node) = gen_binop(AST_REM, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2708 "gen/gen_parser.c"
+#line 2710 "gen/gen_parser.c"
break;
case 14: /* binary_op: expr "^" expr */
#line 176 "src/parser.y"
{ (yyval.node) = gen_binop(AST_XOR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2714 "gen/gen_parser.c"
+#line 2716 "gen/gen_parser.c"
break;
case 15: /* binary_op: expr "^^" expr */
#line 177 "src/parser.y"
{ (yyval.node) = gen_binop(AST_POW, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2720 "gen/gen_parser.c"
+#line 2722 "gen/gen_parser.c"
break;
case 16: /* binary_op: expr "&" expr */
#line 178 "src/parser.y"
{ (yyval.node) = gen_binop(AST_AND, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2726 "gen/gen_parser.c"
+#line 2728 "gen/gen_parser.c"
break;
case 17: /* binary_op: expr "&&" expr */
#line 179 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LAND, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2732 "gen/gen_parser.c"
+#line 2734 "gen/gen_parser.c"
break;
case 18: /* binary_op: expr "|" expr */
#line 180 "src/parser.y"
{ (yyval.node) = gen_binop(AST_OR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2738 "gen/gen_parser.c"
+#line 2740 "gen/gen_parser.c"
break;
case 19: /* binary_op: expr "||" expr */
#line 181 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LOR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2744 "gen/gen_parser.c"
+#line 2746 "gen/gen_parser.c"
break;
case 20: /* binary_op: expr "<<" expr */
#line 182 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LSHIFT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2750 "gen/gen_parser.c"
+#line 2752 "gen/gen_parser.c"
break;
case 21: /* binary_op: expr ">>" expr */
#line 183 "src/parser.y"
{ (yyval.node) = gen_binop(AST_RSHIFT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2756 "gen/gen_parser.c"
+#line 2758 "gen/gen_parser.c"
break;
case 22: /* binary_op: expr "+=" expr */
#line 184 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_ADD, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2762 "gen/gen_parser.c"
+#line 2764 "gen/gen_parser.c"
break;
case 23: /* binary_op: expr "-=" expr */
#line 185 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_SUB, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2768 "gen/gen_parser.c"
+#line 2770 "gen/gen_parser.c"
break;
case 24: /* binary_op: expr "*=" expr */
#line 186 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_MUL, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2774 "gen/gen_parser.c"
+#line 2776 "gen/gen_parser.c"
break;
case 25: /* binary_op: expr "/=" expr */
#line 187 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_DIV, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2780 "gen/gen_parser.c"
+#line 2782 "gen/gen_parser.c"
break;
case 26: /* binary_op: expr "%=" expr */
#line 188 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_REM, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2786 "gen/gen_parser.c"
+#line 2788 "gen/gen_parser.c"
break;
case 27: /* binary_op: expr "&=" expr */
#line 189 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_AND, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2792 "gen/gen_parser.c"
+#line 2794 "gen/gen_parser.c"
break;
case 28: /* binary_op: expr "|=" expr */
#line 190 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_OR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2798 "gen/gen_parser.c"
+#line 2800 "gen/gen_parser.c"
break;
case 29: /* binary_op: expr "^=" expr */
#line 191 "src/parser.y"
{ (yyval.node) = gen_binop(AST_ASSIGN_XOR, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2804 "gen/gen_parser.c"
+#line 2806 "gen/gen_parser.c"
break;
case 30: /* binary_op: expr "<<=" expr */
@@ -2808,7 +2810,7 @@ yyreduce:
{
(yyval.node) = gen_binop(AST_ASSIGN_LSHIFT, (yyvsp[-2].node), (yyvsp[0].node));
}
-#line 2812 "gen/gen_parser.c"
+#line 2814 "gen/gen_parser.c"
break;
case 31: /* binary_op: expr ">>=" expr */
@@ -2816,187 +2818,187 @@ yyreduce:
{
(yyval.node) = gen_binop(AST_ASSIGN_RSHIFT, (yyvsp[-2].node), (yyvsp[0].node));
}
-#line 2820 "gen/gen_parser.c"
+#line 2822 "gen/gen_parser.c"
break;
case 32: /* binary_op: expr "<" expr */
#line 198 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2826 "gen/gen_parser.c"
+#line 2828 "gen/gen_parser.c"
break;
case 33: /* binary_op: expr ">" expr */
#line 199 "src/parser.y"
{ (yyval.node) = gen_binop(AST_GT, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2832 "gen/gen_parser.c"
+#line 2834 "gen/gen_parser.c"
break;
case 34: /* binary_op: expr "<=" expr */
#line 200 "src/parser.y"
{ (yyval.node) = gen_binop(AST_LE, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2838 "gen/gen_parser.c"
+#line 2840 "gen/gen_parser.c"
break;
case 35: /* binary_op: expr ">=" expr */
#line 201 "src/parser.y"
{ (yyval.node) = gen_binop(AST_GE, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2844 "gen/gen_parser.c"
+#line 2846 "gen/gen_parser.c"
break;
case 36: /* binary_op: expr "!=" expr */
#line 202 "src/parser.y"
{ (yyval.node) = gen_binop(AST_NE, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2850 "gen/gen_parser.c"
+#line 2852 "gen/gen_parser.c"
break;
case 37: /* binary_op: expr "==" expr */
#line 203 "src/parser.y"
{ (yyval.node) = gen_binop(AST_EQ, (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2856 "gen/gen_parser.c"
+#line 2858 "gen/gen_parser.c"
break;
case 38: /* unary_op: "-" expr */
#line 206 "src/parser.y"
{ (yyval.node) = gen_unop(AST_NEG, (yyvsp[0].node)); }
-#line 2862 "gen/gen_parser.c"
+#line 2864 "gen/gen_parser.c"
break;
case 39: /* unary_op: "!" expr */
#line 207 "src/parser.y"
{ (yyval.node) = gen_unop(AST_LNOT, (yyvsp[0].node)); }
-#line 2868 "gen/gen_parser.c"
+#line 2870 "gen/gen_parser.c"
break;
case 40: /* unary_op: "&" expr */
#line 208 "src/parser.y"
{ (yyval.node) = gen_unop(AST_REF, (yyvsp[0].node)); }
-#line 2874 "gen/gen_parser.c"
+#line 2876 "gen/gen_parser.c"
break;
case 41: /* unary_op: "'" expr */
#line 209 "src/parser.y"
{ (yyval.node) = gen_unop(AST_DEREF, (yyvsp[0].node)); }
-#line 2880 "gen/gen_parser.c"
+#line 2882 "gen/gen_parser.c"
break;
case 42: /* unary_op: "~" expr */
#line 210 "src/parser.y"
{ (yyval.node) = gen_unop(AST_NOT, (yyvsp[0].node)); }
-#line 2886 "gen/gen_parser.c"
+#line 2888 "gen/gen_parser.c"
break;
case 43: /* arg: "&" var_decl */
#line 213 "src/parser.y"
{ (yyval.node) = gen_unop(AST_REF, (yyvsp[0].node)); }
-#line 2892 "gen/gen_parser.c"
+#line 2894 "gen/gen_parser.c"
break;
case 44: /* arg: var_decl */
#line 214 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2898 "gen/gen_parser.c"
+#line 2900 "gen/gen_parser.c"
break;
case 45: /* arg: init_expr */
#line 215 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2904 "gen/gen_parser.c"
+#line 2906 "gen/gen_parser.c"
break;
case 46: /* arg_list: arg "," arg_list */
#line 218 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 2910 "gen/gen_parser.c"
+#line 2912 "gen/gen_parser.c"
break;
case 47: /* arg_list: arg */
#line 219 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2916 "gen/gen_parser.c"
+#line 2918 "gen/gen_parser.c"
break;
case 48: /* param_decl: type */
#line 222 "src/parser.y"
{ (yyval.node) = gen_var(NULL, (yyvsp[0].node), NULL); }
-#line 2922 "gen/gen_parser.c"
+#line 2924 "gen/gen_parser.c"
break;
case 49: /* decl_list: var_decl "," decl_list */
#line 224 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 2928 "gen/gen_parser.c"
+#line 2930 "gen/gen_parser.c"
break;
case 50: /* decl_list: param_decl "," decl_list */
#line 225 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 2934 "gen/gen_parser.c"
+#line 2936 "gen/gen_parser.c"
break;
case 51: /* decl_list: var_decl */
#line 226 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2940 "gen/gen_parser.c"
+#line 2942 "gen/gen_parser.c"
break;
case 52: /* decl_list: param_decl */
#line 227 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2946 "gen/gen_parser.c"
+#line 2948 "gen/gen_parser.c"
break;
case 53: /* call: id "(" arg_list ")" */
#line 231 "src/parser.y"
{ (yyval.node) = gen_call((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 2952 "gen/gen_parser.c"
+#line 2954 "gen/gen_parser.c"
break;
case 54: /* call: id "(" ")" */
#line 232 "src/parser.y"
{ (yyval.node) = gen_call((yyvsp[-2].node), NULL); }
-#line 2958 "gen/gen_parser.c"
+#line 2960 "gen/gen_parser.c"
break;
case 55: /* defer: "defer" "(" expr ")" */
#line 235 "src/parser.y"
{ (yyval.node) = gen_defer((yyvsp[-1].node)); }
-#line 2964 "gen/gen_parser.c"
+#line 2966 "gen/gen_parser.c"
break;
case 56: /* expr: id */
#line 239 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2970 "gen/gen_parser.c"
+#line 2972 "gen/gen_parser.c"
break;
case 57: /* expr: expr "." id */
#line 240 "src/parser.y"
{ (yyval.node) = gen_dot((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 2976 "gen/gen_parser.c"
+#line 2978 "gen/gen_parser.c"
break;
case 58: /* expr: "..." id */
#line 241 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 2982 "gen/gen_parser.c"
+#line 2984 "gen/gen_parser.c"
break;
case 59: /* expr: "@" */
#line 242 "src/parser.y"
{ (yyval.node) = gen_last(); }
-#line 2988 "gen/gen_parser.c"
+#line 2990 "gen/gen_parser.c"
break;
case 60: /* expr: INT */
#line 243 "src/parser.y"
{ (yyval.node) = gen_int((yyvsp[0].integer)); (yyval.node)->loc = to_src_loc(&yylloc); }
-#line 2994 "gen/gen_parser.c"
+#line 2996 "gen/gen_parser.c"
break;
case 61: /* expr: FLOAT */
#line 244 "src/parser.y"
{ (yyval.node) = gen_float((yyvsp[0].dbl)); (yyval.node)->loc = to_src_loc(&yylloc); }
-#line 3000 "gen/gen_parser.c"
+#line 3002 "gen/gen_parser.c"
break;
case 62: /* expr: STRING */
@@ -3005,91 +3007,91 @@ yyreduce:
(yyval.node) = gen_string(clone_string((yyvsp[0].str)));
(yyval.node)->loc = to_src_loc(&yylloc);
}
-#line 3009 "gen/gen_parser.c"
+#line 3011 "gen/gen_parser.c"
break;
case 63: /* expr: "(" expr ")" */
#line 249 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3015 "gen/gen_parser.c"
+#line 3017 "gen/gen_parser.c"
break;
case 64: /* expr: assign */
#line 250 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3021 "gen/gen_parser.c"
+#line 3023 "gen/gen_parser.c"
break;
case 65: /* expr: call */
#line 251 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3027 "gen/gen_parser.c"
+#line 3029 "gen/gen_parser.c"
break;
case 66: /* expr: defer */
#line 252 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3033 "gen/gen_parser.c"
+#line 3035 "gen/gen_parser.c"
break;
case 67: /* expr: binary_op */
#line 253 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3039 "gen/gen_parser.c"
+#line 3041 "gen/gen_parser.c"
break;
case 68: /* expr: unary_op */
#line 254 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3045 "gen/gen_parser.c"
+#line 3047 "gen/gen_parser.c"
break;
case 69: /* expr: "(" var_init ")" */
#line 255 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3051 "gen/gen_parser.c"
+#line 3053 "gen/gen_parser.c"
break;
case 70: /* expr: "sizeof" expr */
#line 256 "src/parser.y"
{ (yyval.node) = gen_sizeof((yyvsp[0].node)); }
-#line 3057 "gen/gen_parser.c"
+#line 3059 "gen/gen_parser.c"
break;
case 71: /* expr: expr "as" type */
#line 257 "src/parser.y"
{ (yyval.node) = gen_cast((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3063 "gen/gen_parser.c"
+#line 3065 "gen/gen_parser.c"
break;
case 72: /* expr: id "::" type */
#line 258 "src/parser.y"
{ (yyval.node) = gen_fetch((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3069 "gen/gen_parser.c"
+#line 3071 "gen/gen_parser.c"
break;
case 73: /* expr: "as" type */
#line 259 "src/parser.y"
{ (yyval.node) = gen_as((yyvsp[0].node)); }
-#line 3075 "gen/gen_parser.c"
+#line 3077 "gen/gen_parser.c"
break;
case 74: /* expr: embed */
#line 260 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3081 "gen/gen_parser.c"
+#line 3083 "gen/gen_parser.c"
break;
case 75: /* expr: lambda */
#line 261 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3087 "gen/gen_parser.c"
+#line 3089 "gen/gen_parser.c"
break;
case 76: /* while: "while" expr body */
#line 264 "src/parser.y"
{ (yyval.node) = gen_while((yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3093 "gen/gen_parser.c"
+#line 3095 "gen/gen_parser.c"
break;
case 77: /* do_while: "do" body "while" expr ";" */
@@ -3098,146 +3100,146 @@ yyreduce:
(yyval.node) = gen_while((yyvsp[-3].node), (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_DELAYED);
}
-#line 3102 "gen/gen_parser.c"
+#line 3104 "gen/gen_parser.c"
break;
case 78: /* goto: "goto" id */
#line 273 "src/parser.y"
{ (yyval.node) = gen_goto(gen_label((yyvsp[0].node))); }
-#line 3108 "gen/gen_parser.c"
+#line 3110 "gen/gen_parser.c"
break;
case 79: /* statement: expr ";" */
#line 275 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3114 "gen/gen_parser.c"
+#line 3116 "gen/gen_parser.c"
break;
case 80: /* statement: "return" init_expr ";" */
#line 276 "src/parser.y"
{ (yyval.node) = gen_return((yyvsp[-1].node)); }
-#line 3120 "gen/gen_parser.c"
+#line 3122 "gen/gen_parser.c"
break;
case 81: /* statement: "return" ";" */
#line 277 "src/parser.y"
{ (yyval.node) = gen_return(NULL); }
-#line 3126 "gen/gen_parser.c"
+#line 3128 "gen/gen_parser.c"
break;
case 82: /* statement: "break" ";" */
#line 278 "src/parser.y"
{ (yyval.node) = gen_ctrl(AST_CTRL_BREAK, to_src_loc(&yylloc)); }
-#line 3132 "gen/gen_parser.c"
+#line 3134 "gen/gen_parser.c"
break;
case 83: /* statement: "continue" ";" */
#line 279 "src/parser.y"
{ (yyval.node) = gen_ctrl(AST_CTRL_CONTINUE,
to_src_loc(&yylloc)); }
-#line 3139 "gen/gen_parser.c"
+#line 3141 "gen/gen_parser.c"
break;
case 84: /* statement: import ";" */
#line 281 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3145 "gen/gen_parser.c"
+#line 3147 "gen/gen_parser.c"
break;
case 85: /* statement: var ";" */
#line 282 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3151 "gen/gen_parser.c"
+#line 3153 "gen/gen_parser.c"
break;
case 86: /* statement: if */
#line 283 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3157 "gen/gen_parser.c"
+#line 3159 "gen/gen_parser.c"
break;
case 87: /* statement: goto ";" */
#line 284 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3163 "gen/gen_parser.c"
+#line 3165 "gen/gen_parser.c"
break;
case 88: /* statement: id ":" */
#line 285 "src/parser.y"
{ (yyval.node) = gen_label((yyvsp[-1].node)); }
-#line 3169 "gen/gen_parser.c"
+#line 3171 "gen/gen_parser.c"
break;
case 89: /* statement: for */
#line 286 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3175 "gen/gen_parser.c"
+#line 3177 "gen/gen_parser.c"
break;
case 90: /* statement: const */
#line 287 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3181 "gen/gen_parser.c"
+#line 3183 "gen/gen_parser.c"
break;
case 91: /* statement: while */
#line 288 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3187 "gen/gen_parser.c"
+#line 3189 "gen/gen_parser.c"
break;
case 92: /* statement: do_while */
#line 289 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3193 "gen/gen_parser.c"
+#line 3195 "gen/gen_parser.c"
break;
case 93: /* statement: switch */
#line 290 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3199 "gen/gen_parser.c"
+#line 3201 "gen/gen_parser.c"
break;
case 94: /* statement: macro */
#line 291 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3205 "gen/gen_parser.c"
+#line 3207 "gen/gen_parser.c"
break;
case 95: /* statement: struct */
#line 292 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3211 "gen/gen_parser.c"
+#line 3213 "gen/gen_parser.c"
break;
case 96: /* statement: type_alias ";" */
#line 293 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3217 "gen/gen_parser.c"
+#line 3219 "gen/gen_parser.c"
break;
case 97: /* statement: type_template */
#line 294 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3223 "gen/gen_parser.c"
+#line 3225 "gen/gen_parser.c"
break;
case 98: /* statement: enum */
#line 295 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3229 "gen/gen_parser.c"
+#line 3231 "gen/gen_parser.c"
break;
case 99: /* statement: body */
#line 296 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3235 "gen/gen_parser.c"
+#line 3237 "gen/gen_parser.c"
break;
case 100: /* statement: ";" */
#line 297 "src/parser.y"
{ (yyval.node) = gen_empty(); }
-#line 3241 "gen/gen_parser.c"
+#line 3243 "gen/gen_parser.c"
break;
case 101: /* statement: error */
@@ -3256,43 +3258,43 @@ yyreduce:
yyclearin;
yyerrok;
}
-#line 3260 "gen/gen_parser.c"
+#line 3262 "gen/gen_parser.c"
break;
case 102: /* statement_list: statement statement_list */
#line 314 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 3266 "gen/gen_parser.c"
+#line 3268 "gen/gen_parser.c"
break;
case 103: /* statement_list: statement */
#line 315 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3272 "gen/gen_parser.c"
+#line 3274 "gen/gen_parser.c"
break;
case 104: /* body: "{" statement_list "}" */
#line 318 "src/parser.y"
{ (yyval.node) = gen_block((yyvsp[-1].node)); }
-#line 3278 "gen/gen_parser.c"
+#line 3280 "gen/gen_parser.c"
break;
case 105: /* body: "{" "}" */
#line 319 "src/parser.y"
{ (yyval.node) = gen_block(gen_empty()); }
-#line 3284 "gen/gen_parser.c"
+#line 3286 "gen/gen_parser.c"
break;
case 106: /* macro_list: id "," macro_list */
#line 322 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyval.node)->next = (yyvsp[0].node); }
-#line 3290 "gen/gen_parser.c"
+#line 3292 "gen/gen_parser.c"
break;
case 107: /* macro_list: id */
#line 323 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3296 "gen/gen_parser.c"
+#line 3298 "gen/gen_parser.c"
break;
case 108: /* macro: "define" id "(" macro_list ")" body */
@@ -3301,7 +3303,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 3305 "gen/gen_parser.c"
+#line 3307 "gen/gen_parser.c"
break;
case 109: /* macro: "define" id "(" macro_list "..." id ")" body */
@@ -3313,7 +3315,7 @@ yyreduce:
ast_set_flags((yyval.node), AST_FLAG_VARIADIC);
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3317 "gen/gen_parser.c"
+#line 3319 "gen/gen_parser.c"
break;
case 110: /* macro: "define" id "(" ")" body */
@@ -3322,25 +3324,25 @@ yyreduce:
(yyval.node) = gen_macro((yyvsp[-3].node), NULL, (yyvsp[0].node));
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3326 "gen/gen_parser.c"
+#line 3328 "gen/gen_parser.c"
break;
case 111: /* expr_list: expr "," expr_list */
#line 343 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3332 "gen/gen_parser.c"
+#line 3334 "gen/gen_parser.c"
break;
case 112: /* expr_list: expr */
#line 344 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3338 "gen/gen_parser.c"
+#line 3340 "gen/gen_parser.c"
break;
case 113: /* struct_init: init_expr */
#line 347 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3344 "gen/gen_parser.c"
+#line 3346 "gen/gen_parser.c"
break;
case 114: /* struct_init: "." id "=" init_expr */
@@ -3349,121 +3351,121 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-2].node), NULL, (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_MEMBER);
}
-#line 3353 "gen/gen_parser.c"
+#line 3355 "gen/gen_parser.c"
break;
case 115: /* struct_inits: struct_init "," struct_inits */
#line 354 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3359 "gen/gen_parser.c"
+#line 3361 "gen/gen_parser.c"
break;
case 116: /* struct_inits: struct_init */
#line 355 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3365 "gen/gen_parser.c"
+#line 3367 "gen/gen_parser.c"
break;
case 117: /* struct_construct: "{" struct_inits "}" */
#line 358 "src/parser.y"
{ (yyval.node) = gen_init((yyvsp[-1].node)); }
-#line 3371 "gen/gen_parser.c"
+#line 3373 "gen/gen_parser.c"
break;
case 118: /* init_expr: expr */
#line 361 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3377 "gen/gen_parser.c"
+#line 3379 "gen/gen_parser.c"
break;
case 119: /* init_expr: expr_if */
#line 362 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3383 "gen/gen_parser.c"
+#line 3385 "gen/gen_parser.c"
break;
case 120: /* init_expr: struct_construct */
#line 363 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3389 "gen/gen_parser.c"
+#line 3391 "gen/gen_parser.c"
break;
case 121: /* init_expr: struct_construct "as" type */
#line 364 "src/parser.y"
{ (yyval.node) = gen_cast((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3395 "gen/gen_parser.c"
+#line 3397 "gen/gen_parser.c"
break;
case 122: /* cond: expr */
#line 367 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3401 "gen/gen_parser.c"
+#line 3403 "gen/gen_parser.c"
break;
case 123: /* cond: "(" expr_if ")" */
#line 368 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3407 "gen/gen_parser.c"
+#line 3409 "gen/gen_parser.c"
break;
case 124: /* expr_if: "if" cond body "else" body */
#line 372 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3413 "gen/gen_parser.c"
+#line 3415 "gen/gen_parser.c"
break;
case 125: /* expr_if: "if" cond body "else" expr_if */
#line 373 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3419 "gen/gen_parser.c"
+#line 3421 "gen/gen_parser.c"
break;
case 126: /* if: "if" cond body */
#line 376 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-1].node), (yyvsp[0].node), NULL); }
-#line 3425 "gen/gen_parser.c"
+#line 3427 "gen/gen_parser.c"
break;
case 127: /* if: "if" cond body "else" body */
#line 377 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3431 "gen/gen_parser.c"
+#line 3433 "gen/gen_parser.c"
break;
case 128: /* if: "if" cond body "else" if */
#line 378 "src/parser.y"
{ (yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3437 "gen/gen_parser.c"
+#line 3439 "gen/gen_parser.c"
break;
case 129: /* for: "for" arg ";" expr ";" expr body */
#line 381 "src/parser.y"
{ (yyval.node) = gen_for((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3443 "gen/gen_parser.c"
+#line 3445 "gen/gen_parser.c"
break;
case 130: /* case: "case" expr ":" statement_list */
#line 384 "src/parser.y"
{ (yyval.node) = gen_case((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3449 "gen/gen_parser.c"
+#line 3451 "gen/gen_parser.c"
break;
case 131: /* case_list: case case_list */
#line 387 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 3455 "gen/gen_parser.c"
+#line 3457 "gen/gen_parser.c"
break;
case 132: /* case_list: case */
#line 388 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3461 "gen/gen_parser.c"
+#line 3463 "gen/gen_parser.c"
break;
case 133: /* switch: "switch" expr "{" case_list "}" */
#line 391 "src/parser.y"
{ (yyval.node) = gen_switch((yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3467 "gen/gen_parser.c"
+#line 3469 "gen/gen_parser.c"
break;
case 134: /* const_for: "for" id ":" expr_list body */
@@ -3473,7 +3475,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 3477 "gen/gen_parser.c"
+#line 3479 "gen/gen_parser.c"
break;
case 135: /* const_if: "if" expr body */
@@ -3482,7 +3484,7 @@ yyreduce:
(yyval.node) = gen_if((yyvsp[-1].node), (yyvsp[0].node), NULL);
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3486 "gen/gen_parser.c"
+#line 3488 "gen/gen_parser.c"
break;
case 136: /* const_if: "if" expr body "else" body */
@@ -3492,7 +3494,7 @@ yyreduce:
ast_set_flags((yyvsp[-2].node), AST_FLAG_UNHYGIENIC);
ast_set_flags((yyvsp[0].node), AST_FLAG_UNHYGIENIC);
}
-#line 3496 "gen/gen_parser.c"
+#line 3498 "gen/gen_parser.c"
break;
case 137: /* const_if: "if" expr body "else" const_if */
@@ -3501,21 +3503,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 3505 "gen/gen_parser.c"
+#line 3507 "gen/gen_parser.c"
break;
case 138: /* const: "const" const_if */
#line 418 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST);
}
-#line 3512 "gen/gen_parser.c"
+#line 3514 "gen/gen_parser.c"
break;
case 139: /* const: "const" const_for */
#line 420 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST);
}
-#line 3519 "gen/gen_parser.c"
+#line 3521 "gen/gen_parser.c"
break;
case 140: /* func_sign: "(" decl_list "=>" type ")" */
@@ -3523,41 +3525,41 @@ yyreduce:
{
(yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-3].node), (yyvsp[-1].node));
}
-#line 3527 "gen/gen_parser.c"
+#line 3529 "gen/gen_parser.c"
break;
case 141: /* func_sign: "(" decl_list ")" */
#line 427 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-1].node), NULL);
}
-#line 3534 "gen/gen_parser.c"
+#line 3536 "gen/gen_parser.c"
break;
case 142: /* func_sign: "(" decl_list "=>" ")" */
#line 429 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, (yyvsp[-2].node), NULL);
}
-#line 3541 "gen/gen_parser.c"
+#line 3543 "gen/gen_parser.c"
break;
case 143: /* func_sign: "(" "=>" type ")" */
#line 431 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, NULL, (yyvsp[-1].node));
}
-#line 3548 "gen/gen_parser.c"
+#line 3550 "gen/gen_parser.c"
break;
case 144: /* func_sign: "(" ")" */
#line 433 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_SIGN, NULL, NULL, NULL);
}
-#line 3555 "gen/gen_parser.c"
+#line 3557 "gen/gen_parser.c"
break;
case 145: /* variadic_sign: func_sign */
#line 437 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3561 "gen/gen_parser.c"
+#line 3563 "gen/gen_parser.c"
break;
case 146: /* variadic_sign: "(" decl_list "..." id "=>" type ")" */
@@ -3567,13 +3569,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 3571 "gen/gen_parser.c"
+#line 3573 "gen/gen_parser.c"
break;
case 147: /* type: id */
#line 445 "src/parser.y"
{ (yyval.node) = gen_type(AST_TYPE_ID, (yyvsp[0].node), NULL, NULL); }
-#line 3577 "gen/gen_parser.c"
+#line 3579 "gen/gen_parser.c"
break;
case 148: /* type: "'" func_sign */
@@ -3582,15 +3584,15 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_POINTER, NULL, NULL, NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3586 "gen/gen_parser.c"
+#line 3588 "gen/gen_parser.c"
break;
case 149: /* type: id "(" type_list ")" */
#line 450 "src/parser.y"
{
- (yyval.node) = gen_type(AST_TYPE_STRUCT, (yyvsp[-3].node), (yyvsp[-1].node), NULL);
+ (yyval.node) = gen_type(AST_TYPE_GENERIC, (yyvsp[-3].node), (yyvsp[-1].node), NULL);
}
-#line 3594 "gen/gen_parser.c"
+#line 3596 "gen/gen_parser.c"
break;
case 150: /* type: "'" type */
@@ -3599,7 +3601,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_POINTER, NULL, NULL, NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3603 "gen/gen_parser.c"
+#line 3605 "gen/gen_parser.c"
break;
case 151: /* type: "[" "]" type */
@@ -3608,7 +3610,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_ARR, NULL, NULL, NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3612 "gen/gen_parser.c"
+#line 3614 "gen/gen_parser.c"
break;
case 152: /* type: "[" expr "]" type */
@@ -3617,7 +3619,7 @@ yyreduce:
(yyval.node) = gen_type(AST_TYPE_ARR, NULL, (yyvsp[-2].node), NULL);
(yyval.node)->_type.next = (yyvsp[0].node);
}
-#line 3621 "gen/gen_parser.c"
+#line 3623 "gen/gen_parser.c"
break;
case 153: /* type: "typeof" expr */
@@ -3625,7 +3627,7 @@ yyreduce:
{
(yyval.node) = gen_type(AST_TYPE_TYPEOF, NULL, (yyvsp[0].node), NULL);
}
-#line 3629 "gen/gen_parser.c"
+#line 3631 "gen/gen_parser.c"
break;
case 154: /* type: id "::" type */
@@ -3633,7 +3635,7 @@ yyreduce:
{
(yyval.node) = gen_type(AST_TYPE_MEMBER, (yyvsp[-2].node), (yyvsp[0].node), NULL);
}
-#line 3637 "gen/gen_parser.c"
+#line 3639 "gen/gen_parser.c"
break;
case 155: /* var_decl: id "mut" type */
@@ -3642,25 +3644,25 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-2].node), (yyvsp[0].node), NULL);
ast_set_flags((yyval.node), AST_FLAG_MUTABLE);
}
-#line 3646 "gen/gen_parser.c"
+#line 3648 "gen/gen_parser.c"
break;
case 156: /* var_decl: id "const" type */
#line 477 "src/parser.y"
{ (yyval.node) = gen_var((yyvsp[-2].node), (yyvsp[0].node), NULL); }
-#line 3652 "gen/gen_parser.c"
+#line 3654 "gen/gen_parser.c"
break;
case 157: /* var_decl: id type */
#line 478 "src/parser.y"
{ (yyval.node) = gen_var((yyvsp[-1].node), (yyvsp[0].node), NULL); }
-#line 3658 "gen/gen_parser.c"
+#line 3660 "gen/gen_parser.c"
break;
case 158: /* var_init: var_decl "=" init_expr */
#line 481 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->_var.init = (yyvsp[0].node); }
-#line 3664 "gen/gen_parser.c"
+#line 3666 "gen/gen_parser.c"
break;
case 159: /* var_init: id "mut" "=" init_expr */
@@ -3669,7 +3671,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 3673 "gen/gen_parser.c"
+#line 3675 "gen/gen_parser.c"
break;
case 160: /* var_init: id "const" "=" init_expr */
@@ -3678,7 +3680,7 @@ yyreduce:
(yyval.node) = gen_var((yyvsp[-3].node), NULL, (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_UNTYPED);
}
-#line 3682 "gen/gen_parser.c"
+#line 3684 "gen/gen_parser.c"
break;
case 161: /* proc: id variadic_sign body */
@@ -3687,7 +3689,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 3691 "gen/gen_parser.c"
+#line 3693 "gen/gen_parser.c"
break;
case 162: /* proc: "extern" id func_sign */
@@ -3696,31 +3698,31 @@ yyreduce:
(yyval.node) = gen_proc((yyvsp[-1].node), (yyvsp[0].node), NULL);
ast_set_flags((yyval.node), AST_FLAG_EXTERN);
}
-#line 3700 "gen/gen_parser.c"
+#line 3702 "gen/gen_parser.c"
break;
case 163: /* lambda: "[" macro_list "]" func_sign body */
#line 502 "src/parser.y"
{ (yyval.node) = gen_lambda((yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3706 "gen/gen_parser.c"
+#line 3708 "gen/gen_parser.c"
break;
case 164: /* struct_elem: var_decl */
#line 505 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3712 "gen/gen_parser.c"
+#line 3714 "gen/gen_parser.c"
break;
case 165: /* struct_list: struct_elem ";" struct_list */
#line 508 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3718 "gen/gen_parser.c"
+#line 3720 "gen/gen_parser.c"
break;
case 166: /* struct_list: struct_elem ";" */
#line 509 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3724 "gen/gen_parser.c"
+#line 3726 "gen/gen_parser.c"
break;
case 167: /* union: "union" id "{" struct_list "}" */
@@ -3728,7 +3730,7 @@ yyreduce:
{
(yyval.node) = gen_union((yyvsp[-3].node), NULL, (yyvsp[-1].node));
}
-#line 3732 "gen/gen_parser.c"
+#line 3734 "gen/gen_parser.c"
break;
case 168: /* union: "union" id "(" generic_list ")" "{" struct_list "}" */
@@ -3736,25 +3738,25 @@ yyreduce:
{
(yyval.node) = gen_union((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-1].node));
}
-#line 3740 "gen/gen_parser.c"
+#line 3742 "gen/gen_parser.c"
break;
case 169: /* generic: id type */
#line 520 "src/parser.y"
{ (yyval.node) = gen_alias((yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3746 "gen/gen_parser.c"
+#line 3748 "gen/gen_parser.c"
break;
case 170: /* generic_list: generic "," generic_list */
#line 521 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyval.node)->next = (yyvsp[0].node); }
-#line 3752 "gen/gen_parser.c"
+#line 3754 "gen/gen_parser.c"
break;
case 171: /* generic_list: generic */
#line 522 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3758 "gen/gen_parser.c"
+#line 3760 "gen/gen_parser.c"
break;
case 172: /* struct: "struct" id "{" struct_list "}" */
@@ -3762,7 +3764,7 @@ yyreduce:
{
(yyval.node) = gen_struct((yyvsp[-3].node), NULL, (yyvsp[-1].node));
}
-#line 3766 "gen/gen_parser.c"
+#line 3768 "gen/gen_parser.c"
break;
case 173: /* struct: "struct" id "(" generic_list ")" "{" struct_list "}" */
@@ -3770,61 +3772,61 @@ yyreduce:
{
(yyval.node) = gen_struct((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-1].node));
}
-#line 3774 "gen/gen_parser.c"
+#line 3776 "gen/gen_parser.c"
break;
case 174: /* template_elem: id ";" */
#line 535 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3780 "gen/gen_parser.c"
+#line 3782 "gen/gen_parser.c"
break;
case 175: /* template_elem: id func_sign ";" */
#line 536 "src/parser.y"
{ (yyval.node) = gen_proc((yyvsp[-2].node), (yyvsp[-1].node), NULL); }
-#line 3786 "gen/gen_parser.c"
+#line 3788 "gen/gen_parser.c"
break;
case 176: /* template_elem: var_decl ";" */
#line 537 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3792 "gen/gen_parser.c"
+#line 3794 "gen/gen_parser.c"
break;
case 177: /* template_elem: union */
#line 538 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3798 "gen/gen_parser.c"
+#line 3800 "gen/gen_parser.c"
break;
case 178: /* template_list: template_elem template_list */
#line 541 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 3804 "gen/gen_parser.c"
+#line 3806 "gen/gen_parser.c"
break;
case 179: /* template_list: template_elem */
#line 542 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3810 "gen/gen_parser.c"
+#line 3812 "gen/gen_parser.c"
break;
case 180: /* type_list: type "," type_list */
#line 545 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3816 "gen/gen_parser.c"
+#line 3818 "gen/gen_parser.c"
break;
case 181: /* type_list: type */
#line 546 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3822 "gen/gen_parser.c"
+#line 3824 "gen/gen_parser.c"
break;
case 182: /* type_alias: "typedef" id type */
#line 549 "src/parser.y"
{ (yyval.node) = gen_alias((yyvsp[-1].node), (yyvsp[0].node)); }
-#line 3828 "gen/gen_parser.c"
+#line 3830 "gen/gen_parser.c"
break;
case 183: /* type_template: "typedef" id "{" template_list "}" */
@@ -3832,7 +3834,7 @@ yyreduce:
{
(yyval.node) = gen_template((yyvsp[-3].node), (yyvsp[-1].node));
}
-#line 3836 "gen/gen_parser.c"
+#line 3838 "gen/gen_parser.c"
break;
case 184: /* type_template: "typedef" id "{" "}" */
@@ -3841,43 +3843,43 @@ yyreduce:
/* should match anything, but doesn't implement anything */
(yyval.node) = gen_template((yyvsp[-2].node), NULL);
}
-#line 3845 "gen/gen_parser.c"
+#line 3847 "gen/gen_parser.c"
break;
case 185: /* enum_val: id */
#line 563 "src/parser.y"
{ (yyval.node) = gen_val((yyvsp[0].node), NULL); }
-#line 3851 "gen/gen_parser.c"
+#line 3853 "gen/gen_parser.c"
break;
case 186: /* enum_val: id "=" expr */
#line 564 "src/parser.y"
{ (yyval.node) = gen_val((yyvsp[-2].node), (yyvsp[0].node)); }
-#line 3857 "gen/gen_parser.c"
+#line 3859 "gen/gen_parser.c"
break;
case 187: /* enum_list: enum_val "," enum_list */
#line 567 "src/parser.y"
{ (yyval.node) = (yyvsp[-2].node); (yyvsp[-2].node)->next = (yyvsp[0].node); }
-#line 3863 "gen/gen_parser.c"
+#line 3865 "gen/gen_parser.c"
break;
case 188: /* enum_list: enum_val "," */
#line 568 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); }
-#line 3869 "gen/gen_parser.c"
+#line 3871 "gen/gen_parser.c"
break;
case 189: /* enum_list: enum_val */
#line 569 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3875 "gen/gen_parser.c"
+#line 3877 "gen/gen_parser.c"
break;
case 190: /* enum: "enum" id ":" type "{" enum_list "}" */
#line 572 "src/parser.y"
{ (yyval.node) = gen_enum((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[-1].node)); }
-#line 3881 "gen/gen_parser.c"
+#line 3883 "gen/gen_parser.c"
break;
case 191: /* enum: "enum" id "{" enum_list "}" */
@@ -3886,7 +3888,7 @@ yyreduce:
(yyval.node) = gen_enum((yyvsp[-3].node), NULL, (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_UNTYPED);
}
-#line 3890 "gen/gen_parser.c"
+#line 3892 "gen/gen_parser.c"
break;
case 192: /* top_if: "if" expr "{" unit "}" */
@@ -3895,7 +3897,7 @@ yyreduce:
(yyval.node) = gen_if((yyvsp[-3].node), (yyvsp[-1].node), NULL);
ast_set_flags((yyval.node), AST_FLAG_UNHYGIENIC);
}
-#line 3899 "gen/gen_parser.c"
+#line 3901 "gen/gen_parser.c"
break;
case 193: /* top_if: "if" expr "{" unit "}" "else" "{" unit "}" */
@@ -3904,7 +3906,7 @@ yyreduce:
(yyval.node) = gen_if((yyvsp[-7].node), (yyvsp[-5].node), (yyvsp[-1].node));
ast_set_flags((yyval.node), AST_FLAG_UNHYGIENIC);
}
-#line 3908 "gen/gen_parser.c"
+#line 3910 "gen/gen_parser.c"
break;
case 194: /* top_if: "if" expr "{" unit "}" "else" top_if */
@@ -3913,119 +3915,131 @@ yyreduce:
(yyval.node) = gen_if((yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[0].node));
ast_set_flags((yyval.node), AST_FLAG_UNHYGIENIC);
}
-#line 3917 "gen/gen_parser.c"
+#line 3919 "gen/gen_parser.c"
break;
case 195: /* top: ";" */
#line 595 "src/parser.y"
{ (yyval.node) = gen_empty(); }
-#line 3923 "gen/gen_parser.c"
+#line 3925 "gen/gen_parser.c"
break;
case 196: /* top: enum */
#line 596 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3929 "gen/gen_parser.c"
+#line 3931 "gen/gen_parser.c"
break;
case 197: /* top: proc */
#line 597 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3935 "gen/gen_parser.c"
+#line 3937 "gen/gen_parser.c"
break;
case 198: /* top: struct */
#line 598 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3941 "gen/gen_parser.c"
+#line 3943 "gen/gen_parser.c"
break;
- case 199: /* top: macro */
+ case 199: /* top: union */
#line 599 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 3947 "gen/gen_parser.c"
+#line 3949 "gen/gen_parser.c"
break;
- case 200: /* top: "const" top_if */
+ case 200: /* top: macro */
#line 600 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST); }
-#line 3953 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 3955 "gen/gen_parser.c"
break;
- case 201: /* top: import ";" */
+ case 201: /* top: "const" top_if */
#line 601 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); }
-#line 3959 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyval.node), AST_FLAG_CONST); }
+#line 3961 "gen/gen_parser.c"
break;
- case 202: /* top: type_alias ";" */
+ case 202: /* top: import ";" */
#line 602 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); }
-#line 3965 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 3967 "gen/gen_parser.c"
break;
- case 203: /* top: type_template */
+ case 203: /* top: type_alias ";" */
#line 603 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); }
-#line 3971 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 3973 "gen/gen_parser.c"
break;
- case 204: /* top: "pub" enum */
+ case 204: /* top: type_template */
#line 604 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3977 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 3979 "gen/gen_parser.c"
break;
- case 205: /* top: "pub" struct */
+ case 205: /* top: "pub" enum */
#line 605 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3983 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
+#line 3985 "gen/gen_parser.c"
break;
- case 206: /* top: "pub" proc */
+ case 206: /* top: "pub" struct */
#line 606 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3989 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
+#line 3991 "gen/gen_parser.c"
break;
- case 207: /* top: "pub" macro */
+ case 207: /* top: "pub" union */
#line 607 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 3995 "gen/gen_parser.c"
+#line 3997 "gen/gen_parser.c"
break;
- case 208: /* top: "pub" import ";" */
+ case 208: /* top: "pub" proc */
#line 608 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
-#line 4001 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
+#line 4003 "gen/gen_parser.c"
break;
- case 209: /* top: "pub" type_alias ";" */
+ case 209: /* top: "pub" macro */
#line 609 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
-#line 4007 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
+#line 4009 "gen/gen_parser.c"
break;
- case 210: /* top: "pub" type_template */
+ case 210: /* top: "pub" import ";" */
#line 610 "src/parser.y"
- { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
-#line 4013 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
+#line 4015 "gen/gen_parser.c"
break;
- case 211: /* top: var ";" */
+ case 211: /* top: "pub" type_alias ";" */
#line 611 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); }
-#line 4019 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
+#line 4021 "gen/gen_parser.c"
break;
- case 212: /* top: "pub" var ";" */
+ case 212: /* top: "pub" type_template */
#line 612 "src/parser.y"
- { (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
-#line 4025 "gen/gen_parser.c"
+ { (yyval.node) = (yyvsp[0].node); ast_set_flags((yyvsp[0].node), AST_FLAG_PUBLIC); }
+#line 4027 "gen/gen_parser.c"
break;
- case 213: /* top: error */
+ case 213: /* top: var ";" */
#line 613 "src/parser.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 4033 "gen/gen_parser.c"
+ break;
+
+ case 214: /* top: "pub" var ";" */
+#line 614 "src/parser.y"
+ { (yyval.node) = (yyvsp[-1].node); ast_set_flags((yyvsp[-1].node), AST_FLAG_PUBLIC); }
+#line 4039 "gen/gen_parser.c"
+ break;
+
+ case 215: /* top: error */
+#line 615 "src/parser.y"
{
(yyval.node) = gen_empty();
parser->failed = true;
@@ -4039,29 +4053,29 @@ yyreduce:
yyclearin;
yyerrok;
}
-#line 4043 "gen/gen_parser.c"
+#line 4057 "gen/gen_parser.c"
break;
- case 214: /* unit: top */
-#line 628 "src/parser.y"
+ case 216: /* unit: top */
+#line 630 "src/parser.y"
{ (yyval.node) = (yyvsp[0].node); }
-#line 4049 "gen/gen_parser.c"
+#line 4063 "gen/gen_parser.c"
break;
- case 215: /* unit: top unit */
-#line 629 "src/parser.y"
+ case 217: /* unit: top unit */
+#line 631 "src/parser.y"
{ (yyval.node) = (yyvsp[-1].node); (yyvsp[-1].node)->next = (yyvsp[0].node); }
-#line 4055 "gen/gen_parser.c"
+#line 4069 "gen/gen_parser.c"
break;
- case 216: /* input: unit */
-#line 632 "src/parser.y"
+ case 218: /* input: unit */
+#line 634 "src/parser.y"
{ parser->tree = (yyvsp[0].node); }
-#line 4061 "gen/gen_parser.c"
+#line 4075 "gen/gen_parser.c"
break;
-#line 4065 "gen/gen_parser.c"
+#line 4079 "gen/gen_parser.c"
default: break;
}
@@ -4290,5 +4304,5 @@ yyreturnlab:
return yyresult;
}
-#line 635 "src/parser.y"
+#line 637 "src/parser.y"