diff options
author | Nicolas Williams <nico@cryptonector.com> | 2015-05-25 13:17:22 -0500 |
---|---|---|
committer | Nicolas Williams <nico@cryptonector.com> | 2015-05-25 13:35:23 -0500 |
commit | 3700b457aa305fef8eda398447d0448b738b507c (patch) | |
tree | 50632f70dcb18197c3b39b7c688692367e492b82 | |
parent | 11f084f9a71ac5feacb563096aa68deb57a3bc41 (diff) |
Update parser.c
-rw-r--r-- | parser.c | 1525 |
1 files changed, 856 insertions, 669 deletions
@@ -250,7 +250,7 @@ int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer #endif /* !YY_YY_PARSER_H_INCLUDED */ /* Copy the second part of user declarations. */ -#line 111 "parser.y" /* yacc.c:358 */ +#line 112 "parser.y" /* yacc.c:358 */ #include "lexer.h" struct lexer_param { @@ -650,16 +650,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 27 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1753 +#define YYLAST 1830 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 65 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 21 +#define YYNNTS 22 /* YYNRULES -- Number of rules. */ -#define YYNRULES 121 +#define YYNRULES 140 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 254 +#define YYNSTATES 275 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -709,19 +709,21 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 269, 269, 272, 277, 280, 290, 293, 298, 301, - 306, 310, 315, 320, 325, 330, 333, 338, 342, 346, - 351, 363, 367, 371, 375, 379, 383, 387, 391, 395, - 399, 403, 407, 411, 415, 419, 423, 427, 431, 435, - 439, 443, 447, 451, 455, 459, 463, 467, 472, 481, - 488, 500, 514, 519, 525, 528, 533, 538, 545, 545, - 549, 549, 556, 559, 562, 568, 571, 576, 579, 582, - 588, 591, 594, 602, 606, 609, 612, 615, 618, 621, - 624, 627, 630, 634, 640, 643, 646, 649, 652, 655, - 658, 661, 664, 667, 670, 673, 676, 679, 682, 685, - 688, 695, 699, 703, 715, 720, 721, 722, 723, 726, - 729, 734, 739, 742, 743, 744, 747, 750, 753, 757, - 761, 764 + 0, 270, 270, 273, 278, 281, 291, 294, 299, 302, + 307, 311, 316, 321, 326, 331, 334, 339, 343, 347, + 352, 364, 368, 372, 376, 380, 384, 388, 392, 396, + 400, 404, 408, 412, 416, 420, 424, 428, 432, 436, + 440, 444, 448, 452, 456, 460, 464, 468, 473, 482, + 489, 501, 515, 520, 526, 529, 534, 539, 546, 546, + 550, 550, 557, 560, 563, 569, 572, 577, 580, 583, + 589, 592, 595, 603, 607, 610, 613, 616, 619, 622, + 625, 628, 631, 635, 641, 644, 647, 650, 653, 656, + 659, 662, 665, 668, 671, 674, 677, 680, 683, 686, + 689, 696, 700, 704, 716, 721, 722, 723, 724, 727, + 730, 735, 740, 743, 746, 749, 752, 755, 758, 761, + 764, 767, 770, 773, 776, 779, 782, 785, 788, 791, + 796, 799, 800, 801, 804, 807, 810, 813, 817, 821, + 824 }; #endif @@ -742,7 +744,8 @@ static const char *const yytname[] = "';'", "'$'", "'('", "')'", "':'", "'.'", "'['", "']'", "'{'", "'}'", "$accept", "TopLevel", "Module", "Imports", "FuncDefs", "Exp", "Import", "FuncDef", "Params", "Param", "String", "@1", "@2", "QQString", - "ElseBody", "ExpD", "Term", "Args", "Arg", "MkDict", "MkDictPair", YY_NULLPTR + "ElseBody", "ExpD", "Term", "Args", "Arg", "Keyword", "MkDict", + "MkDictPair", YY_NULLPTR }; #endif @@ -761,46 +764,48 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -121 +#define YYPACT_NINF -111 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-121))) + (!!((Yystate) == (-111))) -#define YYTABLE_NINF -113 +#define YYTABLE_NINF -131 #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-113))) + (!!((Yytable_value) == (-131))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - 7, 698, 8, 15, -25, -40, -121, 5, -121, 31, - 698, 533, 533, 698, 40, 28, -121, 698, 3, 379, - 228, 316, 91, 1090, 698, -121, -2, -121, -3, 698, - 15, 698, -121, -121, -7, 1465, 108, 114, 24, 49, - -121, 50, -121, -14, -121, -121, 41, 966, -121, 54, - 5, 60, 55, -121, 778, -43, 57, 405, 61, 58, - 78, 698, 698, 698, 698, 698, 698, 698, 698, 698, - 698, 698, 698, 698, 698, 698, 698, 698, 698, 698, - 698, 698, 698, 698, 698, -121, -121, 1619, 70, 69, - -3, 290, 113, -121, 1619, 698, -121, 1619, -45, -121, - -121, 30, 698, 466, 72, 73, 492, 89, -121, 2, - -121, -121, -121, -121, -121, -121, 93, -121, 102, 76, - 997, 102, -121, 93, 1681, 935, 935, 1650, 1699, 129, - 1681, 1681, 1681, 1681, 1681, 1681, 935, 935, 1619, 1650, - 1681, 935, 935, -14, -14, 81, 81, 81, -121, 132, - 83, 80, 698, 84, 732, 37, -121, 698, -121, 6, - -121, 139, -31, -121, 1137, -121, 1419, 140, 141, -121, - -121, 698, -121, 698, -121, 101, -121, 102, 103, 43, - 90, 95, 103, -121, 116, -121, -121, 824, -121, 552, - 107, 578, 160, -121, -121, -121, 30, 125, -121, 698, - 698, -121, 128, 130, 1619, 1496, -121, 102, 102, 102, - 698, 119, 135, 870, -121, -121, 1184, 638, -121, 698, - 1542, 1588, 698, 698, -121, 103, 103, 103, 1619, -121, - -121, 137, -121, -121, 1231, 1278, -121, 698, 1325, 1372, - -121, -121, -121, 1419, 698, 698, -121, 1028, 916, -121, - 698, -121, 1059, -121 + -11, 775, 40, 27, -7, 7, -111, 15, -111, 51, + 775, 610, 610, 775, 3, 0, -111, 775, 23, 456, + 249, 393, 311, 1167, 775, -111, -3, -111, -4, 775, + 27, 775, -111, -111, -10, 1542, 6, 9, 37, 61, + -111, 64, -111, -15, -111, -111, 13, 1043, -111, 71, + 15, 19, 16, -111, 855, -32, 18, -111, -111, -111, + -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, + -111, -111, -111, -111, -111, 482, 44, 46, 11, 62, + 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, + 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, + 775, 775, 775, 775, -111, -111, 1696, 56, 55, -4, + 144, 99, -111, 1696, 775, -111, 1696, -29, -111, -111, + 4, 775, 543, 57, 58, 569, 72, -111, 1, -111, + -111, -111, -111, -111, -111, 363, -111, 695, 59, 1074, + 695, 695, -111, 363, 1758, 306, 306, 1727, 1776, 1012, + 1758, 1758, 1758, 1758, 1758, 1758, 306, 306, 1696, 1727, + 1758, 306, 306, -15, -15, 65, 65, 65, -111, 111, + 68, 63, 775, 69, 809, 20, -111, 775, -111, 5, + -111, 114, -24, -111, 1214, -111, 1496, 122, 123, -111, + -111, 775, -111, 775, -111, 83, -111, 695, 85, 2, + 73, 74, 85, 85, -111, 92, -111, -111, 901, -111, + 629, 88, 655, 133, -111, -111, -111, 4, 84, -111, + 775, 775, -111, 87, 89, 1696, 1573, -111, 695, 695, + 695, 775, 93, 100, 947, -111, -111, 1261, 715, -111, + 775, 1619, 1665, 775, 775, -111, 85, 85, 85, 1696, + -111, -111, 101, -111, -111, 1308, 1355, -111, 775, 1402, + 1449, -111, -111, -111, 1496, 775, 775, -111, 1105, 993, + -111, 775, -111, 1136, -111 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -813,43 +818,45 @@ static const yytype_uint8 yydefact[] = 0, 0, 0, 0, 0, 95, 47, 1, 0, 8, 6, 0, 75, 60, 0, 0, 0, 0, 18, 0, 73, 0, 62, 32, 102, 101, 0, 0, 82, 0, - 0, 81, 0, 99, 0, 0, 119, 0, 118, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 99, 0, 0, 138, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 0, 137, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 21, 5, 10, 78, 0, - 0, 0, 0, 3, 2, 8, 7, 111, 0, 109, - 62, 0, 0, 0, 0, 0, 0, 0, 72, 0, - 105, 97, 83, 77, 106, 98, 0, 108, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 21, 5, 10, 78, 0, 0, + 0, 0, 3, 2, 8, 7, 111, 0, 109, 62, + 0, 0, 0, 0, 0, 0, 0, 72, 0, 105, + 97, 83, 77, 106, 98, 0, 108, 0, 0, 0, 0, 0, 100, 0, 40, 41, 42, 25, 24, 23, 27, 31, 34, 36, 39, 26, 45, 46, 28, 29, 22, 43, 44, 30, 33, 35, 37, 38, 74, 0, 80, 0, 0, 87, 0, 0, 9, 0, 104, 0, 57, 0, 0, 54, 0, 16, 0, 0, 0, 19, - 17, 0, 63, 0, 59, 0, 115, 0, 116, 69, - 0, 0, 117, 114, 0, 76, 107, 0, 86, 0, - 85, 0, 0, 110, 61, 56, 0, 0, 52, 0, - 0, 15, 0, 0, 20, 0, 68, 0, 0, 0, - 0, 93, 92, 0, 84, 49, 0, 0, 55, 0, - 0, 0, 0, 0, 64, 67, 121, 120, 11, 90, - 89, 91, 50, 48, 0, 0, 66, 0, 0, 0, - 88, 51, 53, 0, 0, 0, 65, 0, 0, 12, - 0, 14, 0, 13 + 17, 0, 63, 0, 59, 0, 133, 0, 134, 69, + 0, 0, 136, 135, 132, 0, 76, 107, 0, 86, + 0, 85, 0, 0, 110, 61, 56, 0, 0, 52, + 0, 0, 15, 0, 0, 20, 0, 68, 0, 0, + 0, 0, 93, 92, 0, 84, 49, 0, 0, 55, + 0, 0, 0, 0, 0, 64, 67, 140, 139, 11, + 90, 89, 91, 50, 48, 0, 0, 66, 0, 0, + 0, 88, 51, 53, 0, 0, 0, 65, 0, 0, + 12, 0, 14, 0, 13 }; /* YYPGOTO[NTERM-NUM]. */ -static const yytype_int16 yypgoto[] = +static const yytype_int8 yypgoto[] = { - -121, -121, -121, 156, 97, -1, -121, -4, -121, 0, - -5, -121, -121, 94, -50, -120, -6, -121, 38, -97, - -121 + -111, -111, -111, 126, 39, -1, -111, -8, -111, -60, + -5, -111, -111, 41, -105, -89, -6, -111, -14, -111, + -110, -111 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 29, 93, 87, 30, 24, 162, 163, - 25, 42, 100, 109, 201, 178, 26, 98, 99, 59, - 60 + -1, 2, 3, 29, 112, 106, 30, 24, 182, 183, + 25, 42, 119, 128, 222, 198, 26, 117, 118, 77, + 78, 79 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -857,303 +864,314 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 23, 182, 116, 88, 50, 36, 37, 44, 27, 35, - 157, 89, 38, 158, 32, 51, 43, 58, 47, 176, - 54, 117, 1, 92, 196, 95, 183, 197, 94, 40, - 97, 28, 31, 45, 160, 34, 16, 82, 83, 84, - 85, 191, 172, 173, 33, 174, 172, 173, 88, 194, - 101, 106, 102, 107, 108, 112, 120, 206, 90, 91, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 41, 150, 161, 225, 226, 227, - 154, 95, 55, 192, 175, 56, 39, 56, 50, 110, - 50, 164, 166, 90, 91, 170, 4, 5, 6, 7, - 8, 58, 179, 88, 113, 179, 118, 114, 58, 88, - 121, 104, 122, 123, 148, 149, 155, 105, 167, 168, - 16, 15, 16, 171, 180, 85, 184, 185, 188, 62, - 63, 16, 186, 195, 202, 203, 116, 207, 57, 208, - 57, 187, 177, 65, 209, -112, 97, -112, 18, 19, - 210, 214, 20, 21, 217, 22, 73, 74, 90, 91, - 204, 179, 205, 229, 90, 91, 78, 79, 80, 81, - 82, 83, 84, 85, 219, 222, 96, 223, 213, 230, - 216, 240, 156, 246, 159, 193, 218, 0, 220, 221, - 0, 179, 179, 179, 0, 0, 0, 0, 0, 228, - 0, 0, 0, 0, 0, 0, 234, 0, 235, 0, - 0, 238, 239, 0, 0, 0, 0, 0, -70, 48, - 0, 0, 49, -70, 0, 50, 243, -70, -70, -70, - -70, -70, 0, 247, 248, 0, -70, -70, -70, 252, - 0, -70, -70, -70, 0, -70, 0, 0, 0, -70, - -70, -70, -70, -70, -70, -70, -70, 16, 0, 0, - -70, 0, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, -70, 0, 0, -70, -70, -70, -70, - -70, 151, -70, 0, 4, 5, 6, 7, 8, 0, - 0, 0, 0, 0, 9, 0, 0, 10, 0, 0, - 0, 11, 12, 0, 0, 0, 13, 52, 14, 15, - 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, - 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, - 17, 0, 13, 0, 14, 15, 18, 19, 0, 152, - 20, 21, 153, 22, 0, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, - 0, 0, 18, 19, 0, 0, 20, 21, 53, 22, - 46, 0, 0, 4, 5, 6, 7, 8, 0, 0, - 0, 0, 0, 9, 0, 0, 10, 0, 0, 0, - 11, 12, 0, 0, 0, 13, 119, 14, 15, 4, - 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, - 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, - 0, 13, 0, 14, 15, 18, 19, 0, 0, 20, - 21, 0, 22, 0, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 18, 19, 0, 0, 20, 21, 165, 22, 0, + 23, 40, 107, 50, 1, 36, 37, 107, 180, 35, + 108, 107, 38, 135, 107, 51, 43, 76, 47, 123, + 54, 114, 124, 111, 212, 196, 177, 44, 113, 178, + 116, 217, 136, 204, 218, 16, 101, 102, 103, 104, + 27, 192, 193, 28, 194, 192, 193, 120, 215, 121, + 31, 202, 203, 45, 33, 34, 41, 109, 110, 39, + 181, 32, 109, 110, 125, 126, 109, 110, 127, 109, + 110, 129, 131, 132, 139, 142, 213, 137, 133, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 140, 170, 141, 114, 143, 227, 174, + 168, 169, 175, 187, 188, 205, 191, 200, 216, 104, + 184, 186, 206, 209, 190, 207, 223, 224, 135, 228, + 76, 199, 229, 230, 199, 199, 231, 238, 76, 246, + 247, 248, 235, 240, 243, 171, 244, 250, 4, 5, + 6, 7, 8, 176, 251, 261, 115, 239, 9, 267, + 179, 10, 0, 214, 0, 11, 12, 0, 0, 0, + 13, 208, 14, 15, 0, 0, 116, 0, 0, 0, + 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, + 225, 199, 226, 0, 17, 0, 0, 0, 0, 0, + 18, 19, 0, 172, 20, 21, 173, 22, 0, 234, + 0, 237, 0, 0, 0, 0, 0, 0, 0, 241, + 242, 0, 199, 199, 199, 0, 0, 0, 0, 0, + 249, 0, 0, 0, 0, 0, 0, 255, 0, 256, + 0, 0, 259, 260, 0, 0, 0, 0, 0, -70, + 48, 0, 0, 49, -70, 0, 50, 264, -70, -70, + -70, -70, -70, 0, 268, 269, 0, -70, -70, -70, + 273, 0, -70, -70, -70, 0, -70, 0, 0, 0, + -70, -70, -70, -70, -70, -70, -70, -70, 16, 0, + 0, -70, 0, -70, -70, -70, -70, -70, -70, -70, + -70, -70, -70, -70, -70, 0, 0, -70, -70, -70, + -70, -70, 55, -70, 0, 56, -131, -131, 50, 0, + 0, 0, 0, 0, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 0, -131, -131, 0, 0, 0, 0, 0, + 16, 0, 0, -131, -131, 99, 100, 101, 102, 103, + 104, 0, 0, 0, 195, 0, 0, 56, 75, 0, + 50, 0, 0, 0, 0, -130, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 52, 0, 0, 4, 5, 6, + 7, 8, 16, 0, 0, 0, 0, 9, 0, 0, + 10, 0, 0, 0, 11, 12, 0, 0, 0, 13, + 75, 14, 15, 0, 0, 0, 0, -130, 0, 0, + 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 18, + 19, 0, 0, 20, 21, 53, 22, 46, 0, 0, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, - 0, 0, 13, 169, 14, 15, 4, 5, 6, 7, + 0, 0, 13, 138, 14, 15, 4, 5, 6, 7, 8, 0, 0, 0, 0, 16, 9, 0, 0, 10, 0, 0, 0, 11, 12, 0, 17, 0, 13, 0, 14, 15, 18, 19, 0, 0, 20, 21, 0, 22, - 0, 16, 0, 0, 0, 0, 0, 4, 5, 6, - 7, 8, 17, 0, 0, 0, 0, 0, 18, 19, - 0, 0, 20, 21, 0, 22, 4, 5, 6, 7, - 8, 0, 15, 0, 0, 0, 9, 0, 0, 10, - 0, 0, 16, 11, 12, 0, 0, 0, 13, 0, - 14, 15, 4, 5, 6, 7, 8, 0, 0, 18, - 19, 16, 9, 20, 21, 10, 22, 0, 0, 11, - 12, 0, 17, 0, 13, 0, 14, 15, 18, 19, - 0, 0, 20, 21, 212, 22, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 215, 18, 19, 0, 0, 20, 21, - 0, 22, 4, 5, 6, 7, 8, 0, 0, 0, - 0, 0, 9, 0, 0, 10, 0, 0, 0, 11, - 12, 0, 0, 0, 13, 0, 14, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 233, 18, 19, 0, 0, 20, 21, - 0, 22, 4, 5, 6, 7, 8, 0, 0, 0, - 0, 0, 9, 0, 0, 10, 0, 0, 0, 11, - 12, 0, 0, 0, 13, 0, 14, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 61, 62, 63, 64, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 18, 19, 65, 66, 20, 21, - 0, 22, 0, 67, 68, 69, 70, 71, 72, 73, - 74, 0, 0, 0, 0, 0, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 61, 62, 63, - 64, 189, 0, 0, 190, 0, 0, 0, 0, 0, - 0, 0, 65, 66, 0, 0, 0, 0, 0, 67, - 68, 69, 70, 71, 72, 73, 74, 0, 0, 0, - 0, 0, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 61, 62, 63, 64, 0, 0, 0, - 115, 0, 0, 0, 0, 0, 0, 0, 65, 66, - 0, 0, 0, 0, 0, 67, 68, 69, 70, 71, - 72, 73, 74, 0, 0, 0, 0, 0, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 61, - 62, 63, 64, 0, 0, 0, 211, 0, 0, 0, - 0, 0, 0, 0, 65, 66, 0, 0, 0, 0, - 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, - 0, 0, 0, 0, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 61, 62, 63, 64, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, - 65, 66, 0, 0, 0, -113, -113, 67, 68, 69, - 70, 71, 72, 73, 74, 0, 0, 0, 0, 0, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 250, -113, -113, 251, 61, 62, 63, 64, 0, - 0, 0, -113, -113, 80, 81, 82, 83, 84, 85, - 65, 66, 0, 0, 0, 0, 0, 67, 68, 69, - 70, 71, 72, 73, 74, 0, 61, 62, 63, 64, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 65, 66, 0, 111, 0, 0, 0, 67, 68, - 69, 70, 71, 72, 73, 74, 0, 61, 62, 63, - 64, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 65, 66, 0, 181, 0, 0, 0, 67, - 68, 69, 70, 71, 72, 73, 74, 0, 61, 62, - 63, 64, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 65, 66, 0, 249, 0, 0, 0, - 67, 68, 69, 70, 71, 72, 73, 74, 0, 61, - 62, 63, 64, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 65, 66, 0, 253, 0, 0, - 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, - 0, 0, 0, 0, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 61, 62, 63, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 65, 66, 0, 0, 0, 0, 0, 67, 68, - 69, 70, 71, 72, 73, 74, 0, 0, 0, 0, - 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 198, 61, 62, 63, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, - 0, 0, 0, 0, 0, 67, 68, 69, 70, 71, - 72, 73, 74, 0, 0, 0, 0, 0, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 232, - 61, 62, 63, 64, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 65, 66, 0, 0, 0, - 0, 0, 67, 68, 69, 70, 71, 72, 73, 74, - 0, 0, 0, 0, 0, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 241, 61, 62, 63, - 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 65, 66, 0, 0, 0, 0, 0, 67, - 68, 69, 70, 71, 72, 73, 74, 0, 0, 0, - 0, 0, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 242, 61, 62, 63, 64, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, - 66, 0, 0, 0, 0, 0, 67, 68, 69, 70, - 71, 72, 73, 74, 0, 0, 0, 0, 0, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 244, 61, 62, 63, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 65, 66, 0, 0, - 0, 0, 0, 67, 68, 69, 70, 71, 72, 73, - 74, 0, 0, 0, 0, 0, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 245, 61, 62, - 63, 64, 0, 0, 0, 0, 0, 0, 199, 200, - 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, - 67, 68, 69, 70, 71, 72, 73, 74, 0, 0, - 0, 0, 0, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 61, 62, 63, 64, 0, 0, - 0, 0, 0, 103, 0, 0, 0, 0, 0, 65, - 66, 0, 0, 0, 0, 0, 67, 68, 69, 70, - 71, 72, 73, 74, 0, 61, 62, 63, 64, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 65, 66, 0, 0, 0, 0, 0, 67, 68, 69, - 70, 71, 72, 73, 74, 0, 0, 0, 224, 0, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 61, 62, 63, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 236, 65, 66, 0, 0, - 0, 0, 0, 67, 68, 69, 70, 71, 72, 73, - 74, 0, 0, 0, 0, 0, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 61, 62, 63, - 64, 0, 0, 0, 0, 0, 237, 0, 0, 0, - 0, 0, 65, 66, 0, 0, 0, 0, 0, 67, - 68, 69, 70, 71, 72, 73, 74, 0, 61, 62, - 63, 64, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 65, 66, 0, 0, 0, 0, 0, - 67, 68, 69, 70, 71, 72, 73, 74, 0, 61, - 62, 63, 64, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 65, 66, 0, 0, 0, 0, - 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, - -113, 62, 63, 0, 0, 0, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 65, 66, 0, 0, 62, - 63, 0, -113, -113, -113, -113, -113, -113, 73, 74, - 0, 0, 0, 0, 0, 0, 0, -113, 78, 79, - 80, 81, 82, 83, 84, 85, 73, 74, 0, 0, - 0, 0, 0, 0, 0, 0, 78, 79, 80, 81, - 82, 83, 84, 85 + 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 17, 0, 0, 0, 0, 0, 18, 19, + 0, 0, 20, 21, 185, 22, 0, 4, 5, 6, + 7, 8, 0, 0, 0, 0, 0, 9, 0, 0, + 10, 0, 0, 0, 11, 12, 0, 0, 0, 13, + 189, 14, 15, 4, 5, 6, 7, 8, 0, 0, + 0, 0, 16, 9, 0, 0, 10, 0, 0, 0, + 11, 12, 0, 17, 0, 13, 0, 14, 15, 18, + 19, 0, 0, 20, 21, 0, 22, 0, 16, 0, + 0, 0, 0, 0, 4, 5, 6, 7, 8, 17, + 0, 0, 0, 0, 0, 18, 19, 0, 0, 20, + 21, 0, 22, 4, 5, 6, 7, 8, 0, 15, + 0, 0, 0, 9, 0, 0, 10, 0, 0, 16, + 11, 12, 0, 0, 0, 13, 0, 14, 15, 4, + 5, 6, 7, 8, 0, 0, 18, 19, 16, 9, + 20, 21, 10, 22, 0, 0, 11, 12, 0, 17, + 0, 13, 0, 14, 15, 18, 19, 0, 0, 20, + 21, 233, 22, 0, 16, 0, 0, 0, 0, 4, + 5, 6, 7, 8, 0, 17, 0, 0, 0, 0, + 236, 18, 19, 0, 0, 20, 21, 0, 22, 4, + 5, 6, 7, 8, 15, 0, 0, 0, 0, 9, + 0, 0, 10, 0, 16, 0, 11, 12, 0, 0, + 0, 13, 0, 14, 15, 197, 0, 0, 0, 0, + 0, 18, 19, 0, 16, 20, 21, 0, 22, 0, + 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, + 254, 18, 19, 0, 0, 20, 21, 0, 22, 4, + 5, 6, 7, 8, 0, 0, 0, 0, 0, 9, + 0, 0, 10, 0, 0, 0, 11, 12, 0, 0, + 0, 13, 0, 14, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16, 0, 0, 0, 80, 81, + 82, 83, 0, 0, 0, 17, 0, 0, 0, 0, + 0, 18, 19, 84, 85, 20, 21, 0, 22, 0, + 86, 87, 88, 89, 90, 91, 92, 93, 0, 0, + 0, 0, 0, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 80, 81, 82, 83, 210, 0, + 0, 211, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 0, 0, 0, 0, 0, 86, 87, 88, 89, + 90, 91, 92, 93, 0, 0, 0, 0, 0, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 80, 81, 82, 83, 0, 0, 0, 134, 0, 0, + 0, 0, 0, 0, 0, 84, 85, 0, 0, 0, + 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, + 0, 0, 0, 0, 0, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 80, 81, 82, 83, + 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, + 0, 84, 85, 0, 0, 0, 0, 0, 86, 87, + 88, 89, 90, 91, 92, 93, 0, 0, 0, 0, + 0, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 80, 81, 82, 83, 0, 0, 0, 252, + 0, 0, 0, 0, 0, 0, 0, 84, 85, 0, + 0, 0, 81, 82, 86, 87, 88, 89, 90, 91, + 92, 93, 0, 0, 0, 0, 84, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 271, 92, + 93, 272, 80, 81, 82, 83, 0, 0, 0, 97, + 98, 99, 100, 101, 102, 103, 104, 84, 85, 0, + 0, 0, 0, 0, 86, 87, 88, 89, 90, 91, + 92, 93, 0, 80, 81, 82, 83, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 84, 85, + 0, 130, 0, 0, 0, 86, 87, 88, 89, 90, + 91, 92, 93, 0, 80, 81, 82, 83, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 84, + 85, 0, 201, 0, 0, 0, 86, 87, 88, 89, + 90, 91, 92, 93, 0, 80, 81, 82, 83, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 84, 85, 0, 270, 0, 0, 0, 86, 87, 88, + 89, 90, 91, 92, 93, 0, 80, 81, 82, 83, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 84, 85, 0, 274, 0, 0, 0, 86, 87, + 88, 89, 90, 91, 92, 93, 0, 0, 0, 0, + 0, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 80, 81, 82, 83, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, + 0, 0, 0, 0, 0, 86, 87, 88, 89, 90, + 91, 92, 93, 0, 0, 0, 0, 0, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 219, + 80, 81, 82, 83, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 85, 0, 0, 0, + 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, + 0, 0, 0, 0, 0, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 253, 80, 81, 82, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 85, 0, 0, 0, 0, 0, 86, + 87, 88, 89, 90, 91, 92, 93, 0, 0, 0, + 0, 0, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 262, 80, 81, 82, 83, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 85, 0, 0, 0, 0, 0, 86, 87, 88, 89, + 90, 91, 92, 93, 0, 0, 0, 0, 0, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 263, 80, 81, 82, 83, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 85, 0, 0, + 0, 0, 0, 86, 87, 88, 89, 90, 91, 92, + 93, 0, 0, 0, 0, 0, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 265, 80, 81, + 82, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 85, 0, 0, 0, 0, 0, + 86, 87, 88, 89, 90, 91, 92, 93, 0, 0, + 0, 0, 0, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 266, 80, 81, 82, 83, 0, + 0, 0, 0, 0, 0, 220, 221, 0, 0, 0, + 84, 85, 0, 0, 0, 0, 0, 86, 87, 88, + 89, 90, 91, 92, 93, 0, 0, 0, 0, 0, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 80, 81, 82, 83, 0, 0, 0, 0, 0, + 122, 0, 0, 0, 0, 0, 84, 85, 0, 0, + 0, 0, 0, 86, 87, 88, 89, 90, 91, 92, + 93, 0, 80, 81, 82, 83, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 84, 85, 0, + 0, 0, 0, 0, 86, 87, 88, 89, 90, 91, + 92, 93, 0, 0, 0, 245, 0, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 80, 81, + 82, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 84, 85, 0, 0, 0, 0, 0, + 86, 87, 88, 89, 90, 91, 92, 93, 0, 0, + 0, 0, 0, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 80, 81, 82, 83, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 84, + 85, 0, 0, 0, 0, 0, 86, 87, 88, 89, + 90, 91, 92, 93, 0, 80, 81, 82, 83, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 84, 85, 0, 0, 0, 0, 0, 86, 87, 88, + 89, 90, 91, 92, 93, 0, 80, 81, 82, 83, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 84, 85, 0, 0, 0, 0, 0, 86, 87, + 88, 89, 90, 91, 92, 93, 0, -131, 81, 82, + 0, 0, 0, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 84, 85, 0, 0, 81, 82, 0, -131, + -131, -131, -131, -131, -131, 92, 93, 0, 0, 0, + 0, 0, 0, 0, -131, 97, 98, 99, 100, 101, + 102, 103, 104, 92, 93, 0, 0, 0, 0, 0, + 0, 0, 0, 97, 98, 99, 100, 101, 102, 103, + 104 }; static const yytype_int16 yycheck[] = { - 1, 121, 45, 5, 7, 11, 12, 4, 0, 10, - 55, 13, 13, 58, 54, 20, 17, 22, 19, 116, - 21, 64, 15, 28, 55, 29, 123, 58, 29, 1, - 31, 16, 57, 30, 4, 4, 39, 51, 52, 53, - 54, 4, 40, 41, 39, 43, 40, 41, 5, 43, - 57, 27, 59, 4, 4, 1, 57, 177, 60, 61, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 56, 90, 56, 207, 208, 209, - 91, 95, 1, 56, 1, 4, 56, 4, 7, 58, - 7, 102, 103, 60, 61, 106, 4, 5, 6, 7, - 8, 116, 118, 5, 54, 121, 59, 62, 123, 5, - 59, 13, 64, 45, 54, 56, 13, 13, 56, 56, - 39, 29, 39, 44, 58, 54, 4, 54, 54, 10, - 11, 39, 62, 4, 4, 4, 45, 44, 57, 59, - 57, 152, 50, 24, 59, 64, 157, 64, 56, 57, - 44, 54, 60, 61, 4, 63, 37, 38, 60, 61, - 171, 177, 173, 54, 60, 61, 47, 48, 49, 50, - 51, 52, 53, 54, 59, 57, 30, 57, 189, 54, - 191, 54, 95, 243, 100, 157, 196, -1, 199, 200, - -1, 207, 208, 209, -1, -1, -1, -1, -1, 210, - -1, -1, -1, -1, -1, -1, 217, -1, 219, -1, - -1, 222, 223, -1, -1, -1, -1, -1, 0, 1, - -1, -1, 4, 5, -1, 7, 237, 9, 10, 11, - 12, 13, -1, 244, 245, -1, 18, 19, 20, 250, - -1, 23, 24, 25, -1, 27, -1, -1, -1, 31, - 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, - 42, -1, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, -1, -1, 58, 59, 60, 61, - 62, 1, 64, -1, 4, 5, 6, 7, 8, -1, - -1, -1, -1, -1, 14, -1, -1, 17, -1, -1, - -1, 21, 22, -1, -1, -1, 26, 1, 28, 29, - 4, 5, 6, 7, 8, -1, -1, -1, -1, 39, - 14, -1, -1, 17, -1, -1, -1, 21, 22, -1, - 50, -1, 26, -1, 28, 29, 56, 57, -1, 59, - 60, 61, 62, 63, -1, 39, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, - -1, -1, 56, 57, -1, -1, 60, 61, 62, 63, - 1, -1, -1, 4, 5, 6, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, 17, -1, -1, -1, - 21, 22, -1, -1, -1, 26, 1, 28, 29, 4, - 5, 6, 7, 8, -1, -1, -1, -1, 39, 14, - -1, -1, 17, -1, -1, -1, 21, 22, -1, 50, - -1, 26, -1, 28, 29, 56, 57, -1, -1, 60, - 61, -1, 63, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, - -1, 56, 57, -1, -1, 60, 61, 1, 63, -1, + 1, 1, 5, 7, 15, 11, 12, 5, 4, 10, + 13, 5, 13, 45, 5, 20, 17, 22, 19, 13, + 21, 29, 13, 28, 4, 135, 55, 4, 29, 58, + 31, 55, 64, 143, 58, 39, 51, 52, 53, 54, + 0, 40, 41, 16, 43, 40, 41, 57, 43, 59, + 57, 140, 141, 30, 39, 4, 56, 60, 61, 56, + 56, 54, 60, 61, 27, 4, 60, 61, 4, 60, + 61, 58, 1, 54, 75, 64, 56, 59, 62, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 59, 109, 59, 114, 45, 197, 110, + 54, 56, 13, 56, 56, 4, 44, 58, 4, 54, + 121, 122, 54, 54, 125, 62, 4, 4, 45, 44, + 135, 137, 59, 59, 140, 141, 44, 4, 143, 228, + 229, 230, 54, 59, 57, 1, 57, 54, 4, 5, + 6, 7, 8, 114, 54, 54, 30, 217, 14, 264, + 119, 17, -1, 177, -1, 21, 22, -1, -1, -1, + 26, 172, 28, 29, -1, -1, 177, -1, -1, -1, + -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, + 191, 197, 193, -1, 50, -1, -1, -1, -1, -1, + 56, 57, -1, 59, 60, 61, 62, 63, -1, 210, + -1, 212, -1, -1, -1, -1, -1, -1, -1, 220, + 221, -1, 228, 229, 230, -1, -1, -1, -1, -1, + 231, -1, -1, -1, -1, -1, -1, 238, -1, 240, + -1, -1, 243, 244, -1, -1, -1, -1, -1, 0, + 1, -1, -1, 4, 5, -1, 7, 258, 9, 10, |