diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | awkgram.c | 726 | ||||
-rw-r--r-- | awkgram.y | 16 |
3 files changed, 377 insertions, 370 deletions
@@ -1,3 +1,8 @@ +Mon May 23 22:06:13 2011 Arnold D. Robbins <arnold@skeeve.com> + + * awkgram.y: Allow newline after comma in range patterns, + per POSIX. Thanks to discussion in comp.lang.awk. (!!!) + Mon May 23 22:02:46 2011 John Haque <j.eh@mchsi.com> * ext.c (get_actual_argument): Change argument type from @@ -583,7 +583,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1144 +#define YYLAST 1157 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 74 @@ -592,7 +592,7 @@ union yyalloc /* YYNRULES -- Number of rules. */ #define YYNRULES 185 /* YYNRULES -- Number of states. */ -#define YYNSTATES 329 +#define YYNSTATES 330 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -643,24 +643,24 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint16 yyprhs[] = { 0, 0, 3, 4, 7, 10, 13, 16, 19, 22, - 25, 30, 32, 35, 37, 38, 40, 44, 46, 48, - 50, 52, 58, 60, 62, 64, 67, 69, 71, 72, - 80, 81, 85, 87, 89, 90, 93, 96, 98, 101, - 104, 108, 110, 120, 127, 136, 145, 158, 170, 172, - 175, 178, 181, 184, 188, 189, 194, 197, 198, 203, - 204, 209, 214, 216, 217, 219, 220, 223, 226, 232, - 237, 239, 242, 245, 247, 249, 251, 253, 255, 259, - 260, 261, 265, 272, 282, 284, 287, 288, 290, 291, - 294, 295, 297, 299, 303, 305, 308, 312, 313, 315, - 316, 318, 320, 324, 326, 329, 333, 337, 341, 345, - 349, 353, 357, 361, 367, 369, 371, 373, 376, 378, - 380, 382, 384, 386, 388, 391, 393, 397, 401, 405, - 409, 413, 417, 421, 424, 427, 433, 438, 442, 446, - 450, 454, 458, 462, 464, 467, 471, 476, 481, 483, - 485, 487, 490, 493, 495, 497, 500, 503, 505, 508, - 513, 514, 516, 517, 520, 522, 525, 527, 531, 533, - 536, 539, 541, 544, 546, 550, 552, 554, 555, 558, - 561, 563, 564, 566, 568, 570 + 25, 30, 32, 35, 37, 38, 40, 45, 47, 49, + 51, 53, 59, 61, 63, 65, 68, 70, 72, 73, + 81, 82, 86, 88, 90, 91, 94, 97, 99, 102, + 105, 109, 111, 121, 128, 137, 146, 159, 171, 173, + 176, 179, 182, 185, 189, 190, 195, 198, 199, 204, + 205, 210, 215, 217, 218, 220, 221, 224, 227, 233, + 238, 240, 243, 246, 248, 250, 252, 254, 256, 260, + 261, 262, 266, 273, 283, 285, 288, 289, 291, 292, + 295, 296, 298, 300, 304, 306, 309, 313, 314, 316, + 317, 319, 321, 325, 327, 330, 334, 338, 342, 346, + 350, 354, 358, 362, 368, 370, 372, 374, 377, 379, + 381, 383, 385, 387, 389, 392, 394, 398, 402, 406, + 410, 414, 418, 422, 425, 428, 434, 439, 443, 447, + 451, 455, 459, 463, 465, 468, 472, 477, 482, 484, + 486, 488, 491, 494, 496, 498, 501, 504, 506, 509, + 514, 515, 517, 518, 521, 523, 526, 528, 532, 534, + 537, 540, 542, 545, 547, 551, 553, 555, 556, 559, + 562, 564, 565, 567, 569, 571 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -670,60 +670,60 @@ static const yytype_int16 yyrhs[] = 75, 47, -1, 75, 1, -1, 78, 79, -1, 78, 88, -1, 82, 79, -1, 68, 48, 77, 88, -1, 6, -1, 6, 1, -1, 1, -1, -1, 112, -1, - 112, 54, 112, -1, 17, -1, 18, -1, 36, -1, - 37, -1, 132, 87, 133, 135, 105, -1, 4, -1, - 3, -1, 81, -1, 68, 49, -1, 45, -1, 46, - -1, -1, 35, 83, 80, 66, 107, 134, 105, -1, - -1, 86, 85, 5, -1, 60, -1, 51, -1, -1, - 87, 89, -1, 87, 1, -1, 104, -1, 136, 105, - -1, 136, 105, -1, 132, 87, 133, -1, 103, -1, - 23, 66, 112, 134, 105, 132, 96, 105, 133, -1, - 26, 66, 112, 134, 105, 89, -1, 27, 105, 89, - 26, 66, 112, 134, 105, -1, 28, 66, 4, 40, - 129, 134, 105, 89, -1, 28, 66, 95, 136, 105, - 112, 136, 105, 95, 134, 105, 89, -1, 28, 66, - 95, 136, 105, 136, 105, 95, 134, 105, 89, -1, - 90, -1, 29, 88, -1, 30, 88, -1, 33, 88, - -1, 39, 88, -1, 34, 109, 88, -1, -1, 21, - 91, 109, 88, -1, 92, 88, -1, -1, 99, 93, - 100, 101, -1, -1, 22, 4, 94, 123, -1, 22, - 66, 4, 67, -1, 112, -1, -1, 92, -1, -1, - 96, 97, -1, 96, 1, -1, 24, 98, 137, 105, - 87, -1, 25, 137, 105, 87, -1, 7, -1, 58, - 7, -1, 57, 7, -1, 8, -1, 84, -1, 31, - -1, 32, -1, 110, -1, 66, 111, 134, -1, -1, - -1, 10, 102, 116, -1, 19, 66, 112, 134, 105, - 89, -1, 19, 66, 112, 134, 105, 89, 20, 105, - 89, -1, 50, -1, 104, 50, -1, -1, 104, -1, - -1, 55, 117, -1, -1, 108, -1, 4, -1, 108, - 138, 4, -1, 1, -1, 108, 1, -1, 108, 138, - 1, -1, -1, 112, -1, -1, 111, -1, 112, -1, - 111, 138, 112, -1, 1, -1, 111, 1, -1, 111, - 1, 112, -1, 111, 138, 1, -1, 130, 113, 112, - -1, 112, 41, 112, -1, 112, 42, 112, -1, 112, - 14, 112, -1, 112, 40, 129, -1, 112, 115, 112, - -1, 112, 52, 112, 53, 112, -1, 116, -1, 13, - -1, 12, -1, 51, 13, -1, 9, -1, 55, -1, - 114, -1, 56, -1, 117, -1, 118, -1, 116, 117, - -1, 119, -1, 117, 64, 117, -1, 117, 59, 117, - -1, 117, 60, 117, -1, 117, 61, 117, -1, 117, - 57, 117, -1, 117, 58, 117, -1, 38, 122, 106, - -1, 130, 43, -1, 130, 44, -1, 66, 111, 134, - 40, 129, -1, 116, 11, 38, 122, -1, 118, 64, - 117, -1, 118, 59, 117, -1, 118, 60, 117, -1, - 118, 61, 117, -1, 118, 57, 117, -1, 118, 58, - 117, -1, 84, -1, 62, 117, -1, 66, 112, 134, - -1, 45, 66, 110, 134, -1, 46, 66, 110, 134, - -1, 46, -1, 120, -1, 130, -1, 43, 130, -1, - 44, 130, -1, 7, -1, 8, -1, 58, 117, -1, - 57, 117, -1, 121, -1, 68, 121, -1, 3, 66, - 110, 134, -1, -1, 130, -1, -1, 124, 16, -1, - 125, -1, 124, 125, -1, 126, -1, 69, 111, 70, - -1, 126, -1, 127, 126, -1, 127, 16, -1, 4, - -1, 4, 128, -1, 129, -1, 65, 119, 131, -1, - 43, -1, 44, -1, -1, 71, 105, -1, 72, 105, - -1, 67, -1, -1, 136, -1, 73, -1, 53, -1, - 54, 105, -1 + 112, 54, 105, 112, -1, 17, -1, 18, -1, 36, + -1, 37, -1, 132, 87, 133, 135, 105, -1, 4, + -1, 3, -1, 81, -1, 68, 49, -1, 45, -1, + 46, -1, -1, 35, 83, 80, 66, 107, 134, 105, + -1, -1, 86, 85, 5, -1, 60, -1, 51, -1, + -1, 87, 89, -1, 87, 1, -1, 104, -1, 136, + 105, -1, 136, 105, -1, 132, 87, 133, -1, 103, + -1, 23, 66, 112, 134, 105, 132, 96, 105, 133, + -1, 26, 66, 112, 134, 105, 89, -1, 27, 105, + 89, 26, 66, 112, 134, 105, -1, 28, 66, 4, + 40, 129, 134, 105, 89, -1, 28, 66, 95, 136, + 105, 112, 136, 105, 95, 134, 105, 89, -1, 28, + 66, 95, 136, 105, 136, 105, 95, 134, 105, 89, + -1, 90, -1, 29, 88, -1, 30, 88, -1, 33, + 88, -1, 39, 88, -1, 34, 109, 88, -1, -1, + 21, 91, 109, 88, -1, 92, 88, -1, -1, 99, + 93, 100, 101, -1, -1, 22, 4, 94, 123, -1, + 22, 66, 4, 67, -1, 112, -1, -1, 92, -1, + -1, 96, 97, -1, 96, 1, -1, 24, 98, 137, + 105, 87, -1, 25, 137, 105, 87, -1, 7, -1, + 58, 7, -1, 57, 7, -1, 8, -1, 84, -1, + 31, -1, 32, -1, 110, -1, 66, 111, 134, -1, + -1, -1, 10, 102, 116, -1, 19, 66, 112, 134, + 105, 89, -1, 19, 66, 112, 134, 105, 89, 20, + 105, 89, -1, 50, -1, 104, 50, -1, -1, 104, + -1, -1, 55, 117, -1, -1, 108, -1, 4, -1, + 108, 138, 4, -1, 1, -1, 108, 1, -1, 108, + 138, 1, -1, -1, 112, -1, -1, 111, -1, 112, + -1, 111, 138, 112, -1, 1, -1, 111, 1, -1, + 111, 1, 112, -1, 111, 138, 1, -1, 130, 113, + 112, -1, 112, 41, 112, -1, 112, 42, 112, -1, + 112, 14, 112, -1, 112, 40, 129, -1, 112, 115, + 112, -1, 112, 52, 112, 53, 112, -1, 116, -1, + 13, -1, 12, -1, 51, 13, -1, 9, -1, 55, + -1, 114, -1, 56, -1, 117, -1, 118, -1, 116, + 117, -1, 119, -1, 117, 64, 117, -1, 117, 59, + 117, -1, 117, 60, 117, -1, 117, 61, 117, -1, + 117, 57, 117, -1, 117, 58, 117, -1, 38, 122, + 106, -1, 130, 43, -1, 130, 44, -1, 66, 111, + 134, 40, 129, -1, 116, 11, 38, 122, -1, 118, + 64, 117, -1, 118, 59, 117, -1, 118, 60, 117, + -1, 118, 61, 117, -1, 118, 57, 117, -1, 118, + 58, 117, -1, 84, -1, 62, 117, -1, 66, 112, + 134, -1, 45, 66, 110, 134, -1, 46, 66, 110, + 134, -1, 46, -1, 120, -1, 130, -1, 43, 130, + -1, 44, 130, -1, 7, -1, 8, -1, 58, 117, + -1, 57, 117, -1, 121, -1, 68, 121, -1, 3, + 66, 110, 134, -1, -1, 130, -1, -1, 124, 16, + -1, 125, -1, 124, 125, -1, 126, -1, 69, 111, + 70, -1, 126, -1, 127, 126, -1, 127, 16, -1, + 4, -1, 4, 128, -1, 129, -1, 65, 119, 131, + -1, 43, -1, 44, -1, -1, 71, 105, -1, 72, + 105, -1, 67, -1, -1, 136, -1, 73, -1, 53, + -1, 54, 105, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -828,7 +828,7 @@ static const yytype_uint8 yyr1[] = static const yytype_uint8 yyr2[] = { 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, - 4, 1, 2, 1, 0, 1, 3, 1, 1, 1, + 4, 1, 2, 1, 0, 1, 4, 1, 1, 1, 1, 5, 1, 1, 1, 2, 1, 1, 0, 7, 0, 3, 1, 1, 0, 2, 2, 1, 2, 2, 3, 1, 9, 6, 8, 8, 12, 11, 1, 2, @@ -861,95 +861,95 @@ static const yytype_uint8 yydefact[] = 161, 151, 152, 0, 0, 0, 156, 150, 155, 144, 0, 177, 150, 103, 0, 101, 0, 158, 86, 183, 7, 8, 37, 34, 86, 9, 0, 85, 118, 0, - 0, 0, 0, 0, 0, 119, 121, 120, 0, 0, + 0, 0, 0, 0, 86, 119, 121, 120, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 115, 133, 134, 0, 0, 0, 0, 101, 0, 170, 169, 23, 22, 26, 27, 0, 0, 24, 0, 132, 0, 0, 0, 175, 176, 174, 104, 86, 180, 0, 0, 145, 13, 0, 0, 87, - 178, 0, 38, 31, 110, 111, 108, 109, 0, 16, + 178, 0, 38, 31, 110, 111, 108, 109, 0, 0, 112, 160, 130, 131, 127, 128, 129, 126, 141, 142, 138, 139, 140, 137, 117, 107, 159, 167, 25, 0, 89, 146, 147, 105, 185, 0, 106, 102, 12, 10, 36, 0, 54, 0, 0, 0, 86, 0, 0, 0, 75, 76, 0, 97, 0, 86, 35, 48, 0, 57, - 41, 62, 34, 181, 86, 0, 136, 94, 92, 0, - 0, 135, 0, 97, 59, 0, 0, 0, 0, 63, - 49, 50, 51, 0, 98, 52, 179, 56, 0, 0, - 86, 182, 39, 113, 86, 95, 0, 0, 0, 162, - 0, 0, 0, 0, 171, 64, 0, 53, 0, 79, - 77, 40, 21, 29, 96, 93, 86, 55, 60, 0, - 164, 166, 61, 86, 86, 0, 0, 86, 0, 80, - 58, 0, 163, 165, 0, 0, 0, 0, 0, 78, - 0, 82, 65, 43, 0, 86, 0, 86, 81, 86, - 0, 86, 0, 86, 63, 0, 67, 0, 0, 66, - 0, 44, 45, 63, 0, 83, 70, 73, 0, 0, - 74, 0, 184, 86, 42, 0, 86, 72, 71, 86, - 34, 86, 0, 34, 0, 0, 47, 0, 46 + 41, 62, 34, 181, 86, 0, 16, 136, 94, 92, + 0, 0, 135, 0, 97, 59, 0, 0, 0, 0, + 63, 49, 50, 51, 0, 98, 52, 179, 56, 0, + 0, 86, 182, 39, 113, 86, 95, 0, 0, 0, + 162, 0, 0, 0, 0, 171, 64, 0, 53, 0, + 79, 77, 40, 21, 29, 96, 93, 86, 55, 60, + 0, 164, 166, 61, 86, 86, 0, 0, 86, 0, + 80, 58, 0, 163, 165, 0, 0, 0, 0, 0, + 78, 0, 82, 65, 43, 0, 86, 0, 86, 81, + 86, 0, 86, 0, 86, 63, 0, 67, 0, 0, + 66, 0, 44, 45, 63, 0, 83, 70, 73, 0, + 0, 74, 0, 184, 86, 42, 0, 86, 72, 71, + 86, 34, 86, 0, 34, 0, 0, 47, 0, 46 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 28, 138, 29, 70, 120, 121, 30, 48, - 31, 76, 32, 141, 71, 196, 197, 213, 198, 228, - 239, 246, 290, 299, 311, 199, 249, 270, 280, 200, - 139, 140, 123, 209, 210, 223, 109, 110, 201, 108, - 87, 88, 35, 36, 37, 38, 39, 40, 49, 258, - 259, 260, 45, 46, 47, 41, 42, 129, 202, 203, - 135, 230, 204, 313, 134 + 31, 76, 32, 141, 71, 196, 197, 214, 198, 229, + 240, 247, 291, 300, 312, 199, 250, 271, 281, 200, + 139, 140, 123, 210, 211, 224, 109, 110, 201, 108, + 87, 88, 35, 36, 37, 38, 39, 40, 49, 259, + 260, 261, 45, 46, 47, 41, 42, 129, 202, 203, + 135, 231, 204, 314, 134 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -268 +#define YYPACT_NINF -269 static const yytype_int16 yypact[] = { - -268, 322, -268, -268, -36, -35, -268, -268, -268, -268, - -268, -268, -268, 20, 20, 20, -26, -21, -268, -268, - -268, 965, 965, -268, 965, 1010, 791, 12, -268, -32, - -33, -268, -268, 23, 1049, 939, 317, 345, -268, -268, - -268, -268, 291, 723, 791, -268, 15, -268, 203, 1, - -268, -268, -268, 723, 723, 72, 42, 26, 42, 42, - 965, 104, -268, -268, 108, 296, 31, -268, 64, -268, - -268, -268, 23, -268, 64, -268, 111, -268, -268, 965, - 120, 965, 965, 965, 965, -268, -268, -268, 965, 83, - 317, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, -268, -268, -268, -268, 114, 965, 84, - 61, 1088, 116, -268, -268, -268, -268, -268, -268, 105, - 87, -268, 965, -268, 84, 84, 296, -268, -268, -268, - 965, 64, -268, 118, 817, -268, -268, 13, -15, 23, - -268, 539, -268, -268, 121, -268, 217, 241, 1068, 1088, - 141, 20, -10, -10, 42, 42, 42, 42, -10, -10, - 42, 42, 42, 42, -268, 1088, -268, -268, -268, 43, - 317, -268, -268, 1088, -268, 120, -268, 1088, -268, -268, - -268, 90, -268, 6, 94, 99, 64, 102, -15, -15, - -268, -268, -15, 965, -15, 64, -268, -268, -15, -268, - -268, 1088, -268, 101, 64, 965, -268, -268, -268, 84, - 117, -268, 965, 965, -268, 176, 965, 965, 652, 862, - -268, -268, -268, -15, 1088, -268, -268, -268, 585, 539, - 64, -268, -268, 1088, 64, -268, 63, 296, -15, -35, - 123, 296, 296, 155, -14, -268, 101, -268, 791, 175, - -268, -268, -268, -268, -268, -268, 64, -268, -268, 103, - -268, -268, -268, 64, 64, 122, 120, 64, 108, -268, - -268, 652, -268, -268, -33, 652, 965, 84, 697, 118, - 965, 167, -268, -268, 296, 64, 1043, 64, 939, 64, - 107, 64, 652, 64, 894, 652, -268, 194, 138, -268, - 128, -268, -268, 894, 84, -268, -268, -268, 196, 198, - -268, 138, -268, 64, -268, 84, 64, -268, -268, 64, - -268, 64, 652, -268, 393, 652, -268, 466, -268 + -269, 335, -269, -269, -31, -24, -269, -269, -269, -269, + -269, -269, -269, 12, 12, 12, -19, -12, -269, -269, + -269, 978, 978, -269, 978, 1023, 804, 21, -269, 115, + -21, -269, -269, 8, 1062, 952, -20, 330, -269, -269, + -269, -269, 246, 736, 804, -269, 2, -269, 205, 15, + -269, -269, -269, 736, 736, 70, 52, 80, 52, 52, + 978, 147, -269, -269, 50, 308, 174, -269, 64, -269, + -269, -269, 8, -269, 64, -269, 129, -269, -269, 978, + 143, 978, 978, 978, 64, -269, -269, -269, 978, 112, + -20, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, -269, -269, -269, -269, 141, 978, 90, + 152, 1101, 48, -269, -269, -269, -269, -269, -269, 111, + 105, -269, 978, -269, 90, 90, 308, -269, -269, -269, + 978, 64, -269, 134, 830, -269, -269, 13, -16, 8, + -269, 552, -269, -269, 53, -269, 142, 300, 1081, 978, + 103, 12, 185, 185, 52, 52, 52, 52, 185, 185, + 52, 52, 52, 52, -269, 1101, -269, -269, -269, 63, + -20, -269, -269, 1101, -269, 143, -269, 1101, -269, -269, + -269, 121, -269, 6, 130, 137, 64, 139, -16, -16, + -269, -269, -16, 978, -16, 64, -269, -269, -16, -269, + -269, 1101, -269, 127, 64, 978, 1101, -269, -269, -269, + 90, 118, -269, 978, 978, -269, 180, 978, 978, 665, + 875, -269, -269, -269, -16, 1101, -269, -269, -269, 598, + 552, 64, -269, -269, 1101, 64, -269, 28, 308, -16, + -24, 140, 308, 308, 189, -14, -269, 127, -269, 804, + 201, -269, -269, -269, -269, -269, -269, 64, -269, -269, + 14, -269, -269, -269, 64, 64, 158, 143, 64, 50, + -269, -269, 665, -269, -269, -21, 665, 978, 90, 710, + 134, 978, 198, -269, -269, 308, 64, 1056, 64, 952, + 64, 60, 64, 665, 64, 907, 665, -269, 119, 177, + -269, 155, -269, -269, 907, 90, -269, -269, -269, 224, + 228, -269, 177, -269, 64, -269, 90, 64, -269, -269, + 64, -269, 64, 665, -269, 406, 665, -269, 479, -269 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -268, -268, -268, -268, -268, 178, -268, -268, -268, -268, - -87, -268, -268, -197, 71, -170, -268, -268, -191, -268, - -268, -267, -268, -268, -268, -268, -268, -268, -268, -268, - 45, 28, -268, -268, -268, 4, -46, -23, -1, -268, - -268, -268, -62, 44, -268, 197, -268, 2, 73, -268, - -268, -31, -40, -268, -268, -71, -2, -268, -28, -212, - -48, -268, -25, -81, 25 + -269, -269, -269, -269, -269, 208, -269, -269, -269, -269, + -58, -269, -269, -193, 72, -171, -269, -269, -189, -269, + -269, -268, -269, -269, -269, -269, -269, -269, -269, -269, + 45, 37, -269, -269, -269, 38, -48, -23, -1, -269, + -269, -269, -26, 44, -269, 217, -269, 1, 102, -269, + -269, -3, -39, -269, -269, -72, -2, -269, -28, -213, + -49, -269, -25, -47, 66 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -958,178 +958,173 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -101 static const yytype_int16 yytable[] = { - 34, 73, 73, 64, 74, 229, 114, 124, 125, 145, - 214, 50, 51, 52, 178, 4, 133, 251, 19, 57, - 57, 112, 57, 62, 5, 65, 266, 304, 245, 67, - 43, 113, 136, 57, 44, 19, 315, 137, 68, 68, - 53, 69, 111, 111, 207, 54, 33, 208, 243, 93, - 94, 95, 111, 111, 96, 44, 122, 67, 69, 126, - 66, 166, 130, -11, 254, 56, 58, 255, 59, 105, - 106, -100, 215, 77, 72, 4, 171, 172, 144, 90, - 146, 147, 148, 149, 44, 25, -11, 150, 314, 57, + 34, 73, 73, 64, 74, 124, 125, 114, 145, 230, + 215, 50, 51, 52, 178, 133, 5, 252, 113, 57, + 57, 112, 57, 62, 4, 65, 267, 305, 67, 255, + 273, 246, 256, 57, 19, 43, 316, 91, 92, 93, + 94, 95, 111, 111, 96, 44, 33, 53, 244, 130, + 68, 130, 111, 111, 54, 44, 67, 69, 77, 126, + 166, 297, 78, -11, 208, 56, 58, 209, 59, 66, + 122, 44, 216, 4, 72, 171, 172, 25, 144, 90, + 146, 147, 148, 44, 298, 299, -11, 150, 315, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 281, 142, 245, 211, 283, 96, 165, 296, 130, - -90, -100, 245, 74, 19, 131, 143, 130, 235, 272, - 57, 151, 302, 324, 5, 305, 327, 164, -100, 173, - 78, 297, 298, 177, -100, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 127, 128, 50, - -101, 132, 326, 169, 168, 328, 212, 19, 175, 174, - 216, 234, 131, 74, 74, 217, 170, 74, 219, 74, - 131, 131, 44, 74, 69, 132, 85, 86, 231, -86, - 240, 265, 250, 72, -91, 269, 167, 289, 276, 256, - 262, 312, 224, 263, 264, 277, -101, -101, 74, 261, - 195, 306, 307, 317, 233, 318, 115, 116, 75, 179, - 310, 237, 224, 74, 218, 241, 242, 238, 288, 261, - 279, 267, 61, 226, 206, 268, 78, 111, 273, 285, - 319, 79, 232, 72, 72, 236, 291, 72, 0, 72, - 0, 0, 0, 72, 0, 20, 282, 65, 117, 118, - 78, 308, 309, 287, 23, 79, 316, 80, 252, 220, - 221, 293, 253, 222, 0, 225, 0, 321, 72, 227, - 0, 119, 85, 86, 0, 284, 0, 286, 57, 0, - 0, 80, 81, 72, 271, 0, 57, 0, 0, 0, - 0, 274, 275, 0, 247, 278, 85, 86, 0, 0, - 0, 0, 0, 103, 104, 78, 0, 0, 0, 257, - 79, 0, 0, 292, 0, 294, 0, 295, 300, 301, - 0, 303, 2, 3, 0, 4, 5, 0, 0, 6, - 7, 0, 90, 0, 105, 106, 80, 81, 82, 8, - 9, 320, 107, 0, 322, 0, 0, 323, 83, 325, - 0, 85, 86, 0, 0, 0, 0, 10, 11, 12, - 13, 0, 0, 132, 0, 14, 15, 16, 17, 18, - 0, 0, 19, 20, 91, 92, 93, 94, 95, 21, - 22, 96, 23, 0, 24, 0, 0, 25, 26, 0, - 27, 0, 0, -14, 180, -14, 4, 5, 0, 0, - 6, 7, 97, 98, 99, 100, 101, 0, 0, 102, - 0, 0, 181, 0, 182, 183, 184, -69, -69, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 0, 0, - 0, 13, 194, 0, 0, 0, 14, 15, 16, 17, - 0, 0, 0, -69, 20, 0, 0, 0, 0, 0, - 21, 22, 0, 23, 0, 24, 0, 0, 25, 26, - 0, 55, 0, 0, 68, -69, 69, 180, 0, 4, + 57, 282, 131, 212, 131, 284, 246, 165, 85, 86, + 19, 142, -101, 74, 19, 246, 96, 132, 167, 236, + 57, 149, 303, 105, 106, 306, 307, 308, 325, 173, + -90, 328, -86, 177, 143, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 5, 206, 50, + 151, 78, 327, 130, 164, 329, 79, 132, -101, -101, + 168, 235, -100, 74, 74, 19, 170, 74, 174, 74, + 20, 169, 131, 74, 175, 136, 309, 310, 232, 23, + 137, 251, 80, 72, 241, -91, 68, 213, 69, 257, + 127, 128, 225, 264, 265, 278, 217, 85, 86, 74, + 69, 262, -100, 218, 234, 220, 131, 263, 115, 116, + 179, 270, 238, 225, 74, 266, 242, 243, 290, -100, + 280, 262, 268, 219, 277, -100, 269, 195, 111, 286, + 313, 318, 227, 72, 72, 319, 292, 72, 75, 72, + 311, 233, 61, 72, 93, 94, 95, 283, 65, 96, + 117, 118, 239, 207, 288, 289, 317, 274, 103, 104, + 221, 222, 294, 0, 223, 320, 226, 322, 253, 72, + 228, 0, 254, 119, 0, 0, 285, 237, 287, 57, + 0, 0, 0, 0, 72, 0, 0, 57, 0, 105, + 106, 0, 0, 0, 272, 0, 248, 107, 0, 0, + 0, 275, 276, 0, 0, 279, 0, 0, 0, 78, + 0, 258, 0, 0, 79, 0, 0, 78, 0, 0, + 0, 0, 79, 293, 0, 295, 0, 296, 301, 302, + 0, 304, 0, 90, 0, 2, 3, 0, 4, 5, + 80, 81, 6, 7, 0, 0, 0, 0, 80, 81, + 82, 321, 8, 9, 323, 85, 86, 324, 0, 326, + 83, 0, 0, 85, 86, 0, 0, 0, 0, 0, + 10, 11, 12, 13, 0, 132, 0, 0, 14, 15, + 16, 17, 18, 0, 0, 19, 20, 97, 98, 99, + 100, 101, 21, 22, 102, 23, 0, 24, 0, 0, + 25, 26, 0, 27, 0, 0, -14, 180, -14, 4, 5, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 182, 183, 184, - -68, -68, 185, 186, 187, 188, 189, 190, 191, 192, + -69, -69, 185, 186, 187, 188, 189, 190, 191, 192, 193, 0, 0, 0, 13, 194, 0, 0, 0, 14, - 15, 16, 17, 0, 0, 0, -68, 20, 0, 0, + 15, 16, 17, 0, 0, 0, -69, 20, 0, 0, 0, 0, 0, 21, 22, 0, 23, 0, 24, 0, - 0, 25, 26, 0, 55, 0, 0, 68, -68, 69, + 0, 25, 26, 0, 55, 0, 0, 68, -69, 69, 180, 0, 4, 5, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, - 182, 183, 184, 0, 0, 185, 186, 187, 188, 189, + 182, 183, 184, -68, -68, 185, 186, 187, 188, 189, 190, 191, 192, 193, 0, 0, 0, 13, 194, 0, - 0, 0, 14, 15, 16, 17, 63, 0, 4, 5, - 20, 0, 6, 7, 0, -99, 21, 22, 0, 23, + 0, 0, 14, 15, 16, 17, 0, 0, 0, -68, + 20, 0, 0, 0, 0, 0, 21, 22, 0, 23, 0, 24, 0, 0, 25, 26, 0, 55, 0, 0, - 68, 195, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 13, 0, 0, 0, 0, 14, 15, - 16, 17, 0, 0, 0, -99, 20, 0, 0, 0, - 0, 0, 21, 22, 0, 23, 0, 24, 0, 0, - 25, 248, -99, 55, 0, 4, 5, 0, -99, 6, + 68, -68, 69, 180, 0, 4, 5, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 182, 183, 184, 0, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 0, 0, 0, - 13, 194, 0, 0, 0, 14, 15, 16, 17, 0, - 4, 5, 0, 20, 6, 7, 0, 0, 0, 21, + 13, 194, 0, 0, 0, 14, 15, 16, 17, 63, + 0, 4, 5, 20, 0, 6, 7, 0, -99, 21, 22, 0, 23, 0, 24, 0, 0, 25, 26, 0, - 55, 0, 0, 68, 63, 69, 4, 5, 0, 0, - 6, 7, 0, 0, 0, 13, 0, 0, 0, 0, - 14, 15, 16, 17, 0, 0, 0, 0, 20, 0, - 0, 0, 0, 0, 21, 22, 0, 23, 0, 24, - 0, 13, 25, 26, 0, 55, 14, 15, 16, 17, - 69, 0, 0, 0, 20, 0, 0, 0, 0, 0, - 21, 22, 0, 23, 0, 24, 0, 0, 25, 26, - -99, 55, 63, 0, 4, 5, 0, 0, 6, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, - 4, 5, 0, 0, 6, 7, 0, 0, 0, 13, - 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, - 0, 0, 20, 0, 0, 0, 0, 0, 21, 22, - 0, 23, 0, 24, 0, 13, 25, 26, 0, 55, - 14, 15, 16, 17, 0, 4, 244, 0, 20, 6, - 7, 0, 0, 0, 21, 22, 0, 23, 0, 24, - 0, 0, 25, 26, 183, 55, 0, 0, 0, 0, - 0, 0, 0, 190, 191, 0, 0, 4, 5, 0, - 13, 6, 7, 0, 0, 14, 15, 16, 17, 0, - 0, 0, 0, 20, 0, 0, 183, 0, 0, 21, - 22, 0, 23, 0, 24, 190, 191, 25, 26, 0, - 55, 0, 13, 0, 0, 0, 0, 14, 15, 16, - 17, 0, 4, 5, 0, 20, 6, 7, 0, 0, - 89, 21, 22, 0, 23, 0, 24, 0, 0, 25, - 26, 0, 55, 0, 0, 0, 0, 0, 4, 5, - 0, 0, 6, 7, 0, 0, 0, 13, 0, 0, - 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 21, 22, 0, 23, - 0, 24, 0, 13, 25, 26, 0, 55, 14, 15, + 55, 0, 0, 68, 195, 69, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 0, 14, 15, 16, 17, 0, 0, 0, -99, 20, + 0, 0, 0, 0, 0, 21, 22, 0, 23, 0, + 24, 0, 0, 25, 249, -99, 55, 0, 4, 5, + 0, -99, 6, 7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 0, 182, 183, 184, 0, + 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 0, 0, 0, 13, 194, 0, 0, 0, 14, 15, 16, 17, 0, 4, 5, 0, 20, 6, 7, 0, 0, 0, 21, 22, 0, 23, 0, 24, 0, 0, - 25, 26, 0, 55, 0, 0, 0, 0, 0, 0, + 25, 26, 0, 55, 0, 0, 68, 63, 69, 4, + 5, 0, 0, 6, 7, 0, 0, 0, 13, 0, + 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, + 0, 20, 0, 0, 0, 0, 0, 21, 22, 0, + 23, 0, 24, 0, 13, 25, 26, 0, 55, 14, + 15, 16, 17, 69, 0, 0, 0, 20, 0, 0, + 0, 0, 0, 21, 22, 0, 23, 0, 24, 0, + 0, 25, 26, -99, 55, 63, 0, 4, 5, 0, + 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 78, 14, 15, 16, 17, 79, 78, 0, - 0, 20, 0, 79, 0, 0, 0, 21, 22, 0, - 23, 0, 24, 0, 0, 25, 60, 78, 55, 0, - 0, 0, 79, 80, 81, 82, 0, 0, 0, 80, - 81, 82, 0, 0, 0, 83, 0, 78, 85, 86, - 0, 83, 79, 84, 85, 86, 0, 0, 80, 81, - 82, 0, 0, 0, 0, 0, 69, 0, 0, 0, - 83, 205, 0, 85, 86, 0, 0, 0, 80, 81, - 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 85, 86 + 0, 176, 0, 4, 5, 0, 0, 6, 7, 0, + 0, 0, 13, 0, 0, 0, 0, 14, 15, 16, + 17, 0, 0, 0, 0, 20, 0, 0, 0, 0, + 0, 21, 22, 0, 23, 0, 24, 0, 13, 25, + 26, 0, 55, 14, 15, 16, 17, 0, 4, 245, + 0, 20, 6, 7, 0, 0, 0, 21, 22, 0, + 23, 0, 24, 0, 0, 25, 26, 183, 55, 0, + 0, 0, 0, 0, 0, 0, 190, 191, 0, 0, + 4, 5, 0, 13, 6, 7, 0, 0, 14, 15, + 16, 17, 0, 0, 0, 0, 20, 0, 0, 183, + 0, 0, 21, 22, 0, 23, 0, 24, 190, 191, + 25, 26, 0, 55, 0, 13, 0, 0, 0, 0, + 14, 15, 16, 17, 0, 4, 5, 0, 20, 6, + 7, 0, 0, 89, 21, 22, 0, 23, 0, 24, + 0, 0, 25, 26, 0, 55, 0, 0, 0, 0, + 0, 4, 5, 0, 0, 6, 7, 0, 0, 0, + 13, 0, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 20, 0, 0, 0, 0, 0, 21, + 22, 0, 23, 0, 24, 0, 13, 25, 26, 0, + 55, 14, 15, 16, 17, 0, 4, 5, 0, 20, + 6, 7, 0, 0, 0, 21, 22, 0, 23, 0, + 24, 0, 0, 25, 26, 0, 55, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 78, 14, 15, 16, 17, + 79, 78, 0, 0, 20, 0, 79, 0, 0, 0, + 21, 22, 0, 23, 0, 24, 0, 0, 25, 60, + 78, 55, 0, 0, 0, 79, 80, 81, 82, 0, + 0, 0, 80, 81, 82, 0, 0, 0, 83, 0, + 78, 85, 86, 0, 83, 79, 84, 85, 86, 0, + 0, 80, 81, 82, 0, 0, 0, 0, 0, 69, + 0, 0, 0, 83, 205, 0, 85, 86, 0, 0, + 0, 80, 81, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 83, 0, 0, 85, 86 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-268)) + ((yystate) == (-269)) #define yytable_value_is_error(yytable_value) \ ((yytable_value) == (-101)) static const yytype_int16 yycheck[] = { - 1, 29, 30, 26, 29, 202, 46, 53, 54, 80, - 4, 13, 14, 15, 1, 3, 64, 229, 50, 21, - 22, 44, 24, 25, 4, 26, 40, 294, 219, 27, - 66, 16, 1, 35, 69, 50, 303, 6, 71, 71, - 66, 73, 43, 44, 1, 66, 1, 4, 218, 59, - 60, 61, 53, 54, 64, 69, 55, 55, 73, 60, - 48, 109, 1, 50, 1, 21, 22, 4, 24, 43, - 44, 10, 66, 50, 29, 3, 124, 125, 79, 35, - 81, 82, 83, 84, 69, 65, 73, 88, 300, 91, + 1, 29, 30, 26, 29, 53, 54, 46, 80, 202, + 4, 13, 14, 15, 1, 64, 4, 230, 16, 21, + 22, 44, 24, 25, 3, 26, 40, 295, 27, 1, + 16, 220, 4, 35, 50, 66, 304, 57, 58, 59, + 60, 61, 43, 44, 64, 69, 1, 66, 219, 1, + 71, 1, 53, 54, 66, 69, 55, 73, 50, 60, + 109, 1, 9, 50, 1, 21, 22, 4, 24, 48, + 55, 69, 66, 3, 29, 124, 125, 65, 79, 35, + 81, 82, 83, 69, 24, 25, 73, 88, 301, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 271, 74, 294, 175, 275, 64, 108, 1, 1, - 67, 50, 303, 138, 50, 54, 5, 1, 1, 16, - 122, 38, 292, 320, 4, 295, 323, 13, 67, 130, - 9, 24, 25, 134, 73, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 43, 44, 151, - 9, 67, 322, 66, 49, 325, 66, 50, 40, 131, - 66, 209, 54, 188, 189, 66, 122, 192, 66, 194, - 54, 54, 69, 198, 73, 67, 55, 56, 203, 72, - 4, 26, 228, 138, 67, 10, 70, 20, 66, 237, - 67, 53, 193, 241, 242, 266, 55, 56, 223, 239, - 72, 7, 8, 7, 205, 7, 3, 4, 30, 138, - 297, 212, 213, 238, 186, 216, 217, 213, 280, 259, - 268, 246, 25, 195, 151, 248, 9, 228, 259, 277, - 311, 14, 204, 188, 189, 210, 284, 192, -1, 194, - -1, -1, -1, 198, -1, 51, 274, 248, 45, 46, - 9, 57, 58, 278, 60, 14, 304, 40, 230, 188, - 189, 286, 234, 192, -1, 194, -1, 315, 223, 198, - -1, 68, 55, 56, -1, 276, -1, 278, 280, -1, - -1, 40, 41, 238, 256, -1, 288, -1, -1, -1, - -1, 263, 264, -1, 223, 267, 55, 56, -1, -1, - -1, -1, -1, 12, 13, 9, -1, -1, -1, 238, - 14, -1, -1, 285, -1, 287, -1, 289, 290, 291, - -1, 293, 0, 1, -1, 3, 4, -1, -1, 7, - 8, -1, 288, -1, 43, 44, 40, 41, 42, 17, - 18, 313, 51, -1, 316, -1, -1, 319, 52, 321, - -1, 55, 56, -1, -1, -1, -1, 35, 36, 37, - 38, -1, -1, 67, -1, 43, 44, 45, 46, 47, - -1, -1, 50, 51, 57, 58, 59, 60, 61, 57, - 58, 64, 60, -1, 62, -1, -1, 65, 66, -1, - 68, -1, -1, 71, 1, 73, 3, 4, -1, -1, - 7, 8, 57, 58, 59, 60, 61, -1, -1, 64, - -1, -1, 19, -1, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, 38, 39, -1, -1, -1, 43, 44, 45, 46, - -1, -1, -1, 50, 51, -1, -1, -1, -1, -1, - 57, 58, -1, 60, -1, 62, -1, -1, 65, 66, - -1, 68, -1, -1, 71, 72, 73, 1, -1, 3, + 102, 272, 54, 175, 54, 276, 295, 108, 55, 56, + 50, 74, 9, 138, 50, 304, 64, 67, 70, 1, + 122, 84, 293, 43, 44, 296, 7, 8, 321, 130, + 67, 324, 72, 134, 5, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 4, 149, 151, + 38, 9, 323, 1, 13, 326, 14, 67, 55, 56, + 49, 210, 10, 188, 189, 50, 122, 192, 131, 194, + 51, 66, 54, 198, 40, 1, 57, 58, 203, 60, + 6, 229, 40, 138, 4, 67, 71, 66, 73, 238, + 43, 44, 193, 242, 243, 267, 66, 55, 56, 224, + 73, 240, 50, 66, 205, 66, 54, 67, 3, 4, + 138, 10, 213, 214, 239, 26, 217, 218, 20, 67, + 269, 260, 247, 186, 66, 73, 249, 72, 229, 278, + 53, 7, 195, 188, 189, 7, 285, 192, 30, 194, + 298, 204, 25, 198, 59, 60, 61, 275, 249, 64, + 45, 46, 214, 151, 279, 281, 305, 260, 12, 13, + 188, 189, 287, -1, 192, 312, 194, 316, 231, 224, + 198, -1, 235, 68, -1, -1, 277, 211, 279, 281, + -1, -1, -1, -1, 239, -1, -1, 289, -1, 43, + 44, -1, -1, -1, 257, -1, 224, 51, -1, -1, + -1, 264, 265, -1, -1, 268, -1, -1, -1, 9, + -1, 239, -1, -1, 14, -1, -1, 9, -1, -1, + -1, -1, 14, 286, -1, 288, -1, 290, 291, 292, + -1, 294, -1, 289, -1, 0, 1, -1, 3, 4, + 40, 41, 7, 8, -1, -1, -1, -1, 40, 41, + 42, 314, 17, 18, 317, 55, 56, 320, -1, 322, + 52, -1, -1, 55, 56, -1, -1, -1, -1, -1, + 35, 36, 37, 38, -1, 67, -1, -1, 43, 44, + 45, 46, 47, -1, -1, 50, 51, 57, 58, 59, + 60, 61, 57, 58, 64, 60, -1, 62, -1, -1, + 65, 66, -1, 68, -1, -1, 71, 1, 73, 3, 4, -1, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, @@ -1139,65 +1134,72 @@ static const yytype_int16 yycheck[] = -1, 65, 66, -1, 68, -1, -1, 71, 72, 73, 1, -1, 3, 4, -1, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, - 21, 22, 23, -1, -1, 26, 27, 28, 29, 30, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, 38, 39, -1, - -1, -1, 43, 44, 45, 46, 1, -1, 3, 4, - 51, -1, 7, 8, -1, 10, 57, 58, -1, 60, + -1, -1, 43, 44, 45, 46, -1, -1, -1, 50, + 51, -1, -1, -1, -1, -1, 57, 58, -1, 60, -1, 62, -1, -1, 65, 66, -1, 68, -1, -1, - 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 38, -1, -1, -1, -1, 43, 44, - 45, 46, -1, -1, -1, 50, 51, -1, -1, -1, - -1, -1, 57, 58, -1, 60, -1, 62, -1, -1, - 65, 66, 67, 68, -1, 3, 4, -1, 73, 7, + 71, 72, 73, 1, -1, 3, 4, -1, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, - 38, 39, -1, -1, -1, 43, 44, 45, 46, -1, - 3, 4, -1, 51, 7, 8, -1, -1, -1, 57, + 38, 39, -1, -1, -1, 43, 44, 45, 46, 1, + -1, 3, 4, 51, -1, 7, 8, -1, 10, 57, 58, -1, 60, -1, 62, -1, -1, 65, 66, -1, - 68, -1, -1, 71, 1, 73, 3, 4, -1, -1, - 7, 8, -1, -1, -1, 38, -1, -1, -1, -1, - 43, 44, 45, 46, -1, -1, -1, -1, 51, -1, - -1, -1, -1, -1, 57, 58, -1, 60, -1, 62, - -1, 38, 65, 66, -1, 68, 43, 44, 45, 46, - 73, -1, -1, -1, 51, -1, -1, -1, -1, -1, - 57, 58, -1, 60, -1, 62, -1, -1, 65, 66, - 67, 68, 1, -1, 3, 4, -1, -1, 7, 8, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, - 3, 4, -1, -1, 7, 8, -1, -1, -1, 38, - -1, -1, -1, -1, 43, 44, 45, 46, -1, -1, - -1, -1, 51, -1, -1, -1, -1, -1, 57, 58, - -1, 60, -1, 62, -1, 38, 65, 66, -1, 68, - 43, 44, 45, 46, -1, 3, 4, -1, 51, 7, - 8, -1, -1, -1, 57, 58, -1, 60, -1, 62, - -1, -1, 65, 66, 22, 68, -1, -1, -1, -1, - -1, -1, -1, 31, 32, -1, -1, 3, 4, -1, - 38, 7, 8, -1, -1, 43, 44, 45, 46, -1, - -1, -1, -1, 51, -1, -1, 22, -1, -1, 57, - 58, -1, 60, -1, 62, 31, 32, 65, 66, -1, - 68, -1, 38, -1, -1, -1, -1, 43, 44, 45, - 46, -1, 3, 4, -1, 51, 7, 8, -1, -1, - 11, 57, 58, -1, 60, -1, 62, -1, -1, 65, - 66, -1, 68, -1, -1, -1, -1, -1, 3, 4, - -1, -1, 7, 8, -1, -1, -1, 38, -1, -1, - -1, -1, 43, 44, 45, 46, -1, -1, -1, -1, - 51, -1, -1, -1, -1, -1, 57, 58, -1, 60, - -1, 62, -1, 38, 65, 66, -1, 68, 43, 44, + 68, -1, -1, 71, 72, 73, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, + -1, 43, 44, 45, 46, -1, -1, -1, 50, 51, + -1, -1, -1, -1, -1, 57, 58, -1, 60, -1, + 62, -1, -1, 65, 66, 67, 68, -1, 3, 4, + -1, 73, 7, 8, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 19, -1, 21, 22, 23, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, -1, -1, 38, 39, -1, -1, -1, 43, 44, 45, 46, -1, 3, 4, -1, 51, 7, 8, -1, -1, -1, 57, 58, -1, 60, -1, 62, -1, -1, - 65, 66, -1, 68, -1, -1, -1, -1, -1, -1, + 65, 66, -1, 68, -1, -1, 71, 1, 73, 3, + 4, -1, -1, 7, 8, -1, -1, -1, 38, -1, + -1, -1, -1, 43, 44, 45, 46, -1, -1, -1, + -1, 51, -1, -1, -1, -1, -1, 57, 58, -1, + 60, -1, 62, -1, 38, 65, 66, -1, 68, 43, + 44, 45, 46, 73, -1, -1, -1, 51, -1, -1, + -1, -1, -1, 57, 58, -1, 60, -1, 62, -1, + -1, 65, 66, 67, 68, 1, -1, 3, 4, -1, + -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, 3, 4, -1, -1, 7, 8, -1, + -1, -1, 38, -1, -1, -1, -1, 43, 44, 45, + 46, -1, -1, -1, -1, 51, -1, -1, -1, -1, + -1, 57, 58, -1, 60, -1, 62, -1, 38, 65, + 66, -1, 68, 43, 44, 45, 46, -1, 3, 4, + -1, 51, 7, 8, -1, -1, -1, 57, 58, -1, + 60, -1, 62, -1, -1, 65, 66, 22, 68, -1, + -1, -1, -1, -1, -1, -1, 31, 32, -1, -1, + 3, 4, -1, 38, 7, 8, -1, -1, 43, 44, + 45, 46, -1, -1, -1, -1, 51, -1, -1, 22, + -1, -1, 57, 58, -1, 60, -1, 62, 31, 32, + 65, 66, -1, 68, -1, 38, -1, -1, -1, -1, + 43, 44, 45, 46, -1, 3, 4, -1, 51, 7, + 8, -1, -1, 11, 57, 58, -1, 60, -1, 62, + -1, -1, 65, 66, -1, 68, -1, -1, -1, -1, + -1, 3, 4, -1, -1, 7, 8, -1, -1, -1, + 38, -1, -1, -1, -1, 43, 44, 45, 46, -1, + -1, -1, -1, 51, -1, -1, -1, -1, -1, 57, + 58, -1, 60, -1, 62, -1, 38, 65, 66, -1, + 68, 43, 44, 45, 46, -1, 3, 4, -1, 51, + 7, 8, -1, -1, -1, 57, 58, -1, 60, -1, + 62, -1, -1, 65, 66, -1, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 9, 43, 44, 45, 46, 14, 9, -1, - -1, 51, -1, 14, -1, -1, -1, 57, 58, -1, - 60, -1, 62, -1, -1, 65, 66, 9, 68, -1, - -1, -1, 14, 40, 41, 42, -1, -1, -1, 40, - 41, 42, -1, -1, -1, 52, -1, 9, 55, 56, - -1, 52, 14, 54, 55, 56, -1, -1, 40, 41, - 42, -1, -1, -1, -1, -1, 73, -1, -1, -1, - 52, 53, -1, 55, 56, -1, -1, -1, 40, 41, - 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 52, -1, -1, 55, 56 + -1, -1, -1, -1, -1, 9, 43, 44, 45, 46, + 14, 9, -1, -1, 51, -1, 14, -1, -1, -1, + 57, 58, -1, 60, -1, 62, -1, -1, 65, 66, + 9, 68, -1, -1, -1, 14, 40, 41, 42, -1, + -1, -1, 40, 41, 42, -1, -1, -1, 52, -1, + 9, 55, 56, -1, 52, 14, 54, 55, 56, -1, + -1, 40, 41, 42, -1, -1, -1, -1, -1, 73, + -1, -1, -1, 52, 53, -1, 55, 56, -1, -1, + -1, 40, 41, 42, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 52, -1, -1, 55, 56 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1218,25 +1220,25 @@ static const yytype_uint8 yystos[] = 111, 112, 111, 16, 126, 3, 4, 45, 46, 68, 80, 81, 55, 106, 110, 110, 112, 43, 44, 131, 1, 54, 67, 134, 138, 134, 1, 6, 77, 104, - 105, 87, 105, 5, 112, 129, 112, 112, 112, 112, + 105, 87, 105, 5, 112, 129, 112, 112, 112, 105, 112, 38, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 13, 112, 134, 70, 49, 66, 117, 134, 134, 112, 105, 40, 1, 112, 1, 88, 1, 19, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 72, 89, 90, 92, 99, - 103, 112, 132, 133, 136, 53, 122, 1, 4, 107, - 108, 129, 66, 91, 4, 66, 66, 66, 105, 66, - 88, 88, 88, 109, 112, 88, 105, 88, 93, 87, - 135, 136, 105, 112, 134, 1, 138, 112, 109, 94, - 4, 112, 112, 89, 4, 92, 95, 88, 66, 100, - 110, 133, 105, 105, 1, 4, 134, 88, 123, 124, - 125, 126, 67, 134, 134, 26, 40, 136, 111, 10, - 101, 105, 16, 125, 105, 105, 66, 129, 105, 134, - 102, 89, 132, 89, 112, 134, 112, 136, 116, 20, - 96, 134, 105, 136, 105, 105, 1, 24, 25, 97, - 105, 105, 89, 105, 95, 89, 7, 8, 57, 58, - 84, 98, 53, 137, 133, 95, 134, 7, 7, 137, - 105, 134, 105, 105, 87, 105, 89, 87, 89 + 103, 112, 132, 133, 136, 53, 112, 122, 1, 4, + 107, 108, 129, 66, 91, 4, 66, 66, 66, 105, + 66, 88, 88, 88, 109, 112, 88, 105, 88, 93, + 87, 135, 136, 105, 112, 134, 1, 138, 112, 109, + 94, 4, 112, 112, 89, 4, 92, 95, 88, 66, + 100, 110, 133, 105, 105, 1, 4, 134, 88, 123, + 124, 125, 126, 67, 134, 134, 26, 40, 136, 111, + 10, 101, 105, 16, 125, 105, 105, 66, 129, 105, + 134, 102, 89, 132, 89, 112, 134, 112, 136, 116, + 20, 96, 134, 105, 136, 105, 105, 1, 24, 25, + 97, 105, 105, 89, 105, 95, 89, 7, 8, 57, + 58, 84, 98, 53, 137, 133, 95, 134, 7, 7, + 137, 105, 134, 105, 105, 87, 105, 89, 87, 89 }; #define yyerrok (yyerrstatus = 0) @@ -2190,26 +2192,26 @@ yyreduce: { INSTRUCTION *tp; - add_lint((yyvsp[(1) - (3)]), LINT_assign_in_cond); - add_lint((yyvsp[(3) - (3)]), LINT_assign_in_cond); + add_lint((yyvsp[(1) - (4)]), LINT_assign_in_cond); + add_lint((yyvsp[(4) - (4)]), LINT_assign_in_cond); tp = instruction(Op_no_op); - list_prepend((yyvsp[(1) - (3)]), bcalloc(Op_line_range, !!do_profiling + 1, 0)); - (yyvsp[(1) - (3)])->nexti->triggered = FALSE; - (yyvsp[(1) - (3)])->nexti->target_jmp = (yyvsp[(3) - (3)])->nexti; + list_prepend((yyvsp[(1) - (4)]), bcalloc(Op_line_range, !!do_profiling + 1, 0)); + (yyvsp[(1) - (4)])->nexti->triggered = FALSE; + (yyvsp[(1) - (4)])->nexti->target_jmp = (yyvsp[(4) - (4)])->nexti; - list_append((yyvsp[(1) - (3)]), instruction(Op_cond_pair)); - (yyvsp[(1) - (3)])->lasti->line_range = (yyvsp[(1) - (3)])->nexti; - (yyvsp[(1) - (3)])->lasti->target_jmp = tp; + list_append((yyvsp[(1) - (4)]), instruction(Op_cond_pair)); + (yyvsp[(1) - (4)])->lasti->line_range = (yyvsp[(1) - (4)])->nexti; + (yyvsp[(1) - (4)])->lasti->target_jmp = tp; - list_append((yyvsp[(3) - (3)]), instruction(Op_cond_pair)); - (yyvsp[(3) - (3)])->lasti->line_range = (yyvsp[(1) - (3)])->nexti; - (yyvsp[(3) - (3)])->lasti->target_jmp = tp; + list_append((yyvsp[(4) - (4)]), instruction(Op_cond_pair)); + (yyvsp[(4) - (4)])->lasti->line_range = (yyvsp[(1) - (4)])->nexti; + (yyvsp[(4) - (4)])->lasti->target_jmp = tp; if (do_profiling) { - ((yyvsp[(1) - (3)])->nexti + 1)->condpair_left = (yyvsp[(1) - (3)])->lasti; - ((yyvsp[(1) - (3)])->nexti + 1)->condpair_right = (yyvsp[(3) - (3)])->lasti; + ((yyvsp[(1) - (4)])->nexti + 1)->condpair_left = (yyvsp[(1) - (4)])->lasti; + ((yyvsp[(1) - (4)])->nexti + 1)->condpair_right = (yyvsp[(4) - (4)])->lasti; } - (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])), tp); + (yyval) = list_append(list_merge((yyvsp[(1) - (4)]), (yyvsp[(4) - (4)])), tp); rule = Rule; } break; @@ -4235,7 +4237,7 @@ regular_loop: /* Line 1806 of yacc.c */ -#line 4251 "awkgram.c" +#line 4253 "awkgram.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -289,30 +289,30 @@ pattern { $$ = NULL; rule = Rule; } | exp { $$ = $1; rule = Rule; } - | exp ',' exp + | exp ',' opt_nls exp { INSTRUCTION *tp; add_lint($1, LINT_assign_in_cond); - add_lint($3, LINT_assign_in_cond); + add_lint($4, LINT_assign_in_cond); tp = instruction(Op_no_op); list_prepend($1, bcalloc(Op_line_range, !!do_profiling + 1, 0)); $1->nexti->triggered = FALSE; - $1->nexti->target_jmp = $3->nexti; + $1->nexti->target_jmp = $4->nexti; list_append($1, instruction(Op_cond_pair)); $1->lasti->line_range = $1->nexti; $1->lasti->target_jmp = tp; - list_append($3, instruction(Op_cond_pair)); - $3->lasti->line_range = $1->nexti; - $3->lasti->target_jmp = tp; + list_append($4, instruction(Op_cond_pair)); + $4->lasti->line_range = $1->nexti; + $4->lasti->target_jmp = tp; if (do_profiling) { ($1->nexti + 1)->condpair_left = $1->lasti; - ($1->nexti + 1)->condpair_right = $3->lasti; + ($1->nexti + 1)->condpair_right = $4->lasti; } - $$ = list_append(list_merge($1, $3), tp); + $$ = list_append(list_merge($1, $4), tp); rule = Rule; } | LEX_BEGIN |