From: Hugo van der Sanden Date: Fri, 20 Dec 2002 00:35:27 +0000 (+0000) Subject: Reverse #18285, for reasons given in: X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e9bdcc27a1d9b3f31b4d8c3678dd1346910c9b4d;p=p5sagit%2Fp5-mst-13.2.git Reverse #18285, for reasons given in: Subject: Re: Precedence of ? : Message-Id: <200212200035.gBK0ZRm29309@crypt.compulink.co.uk> p4raw-id: //depot/perl@18336 --- diff --git a/perly.c b/perly.c index 20fdec7..5dae052 100644 --- a/perly.c +++ b/perly.c @@ -147,60 +147,60 @@ static short yydgoto[] = { 1, 84, 85, 86, 15, 16, 17, 18, 92, 281, }; static short yysindex[] = { 0, - 0, 0, -230, 0, 0, 0, -233, 0, 0, 0, - 0, 0, 0, 0, 819, 0, 0, 0, -226, -194, - 27, 0, -194, 0, 0, 0, -32, -32, 0, 32, - 0, 2213, 0, 0, 56, 68, 71, 97, -18, 2213, - 110, 112, 137, 1004, 940, -32, 1149, 1268, -81, 2213, - 52, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413, - 0, 2213, 2213, -32, -32, -32, -32, -100, 0, 607, - 401, -25, -65, -64, 0, 0, 60, 144, 138, 152, - 0, 0, 0, 0, 0, 0, 0, 76, 0, -60, - 0, -50, -60, 0, 0, 0, 0, 0, 2213, 171, - 2213, 651, 76, -60, 0, 0, 0, 0, 0, 0, - 174, 401, 177, 1454, 940, 0, 651, 0, -65, 152, - 0, 2213, 0, 181, 0, 651, -11, 102, -8, 2213, - 651, 1562, 0, 0, 0, -59, 0, 152, -109, -109, - -109, -86, -86, 165, -34, 0, 127, -109, -109, 0, - 0, 0, 0, 76, 0, 2213, 2213, 2213, 2213, 2213, + 0, 0, -236, 0, 0, 0, -231, 0, 0, 0, + 0, 0, 0, 0, 819, 0, 0, 0, -211, -209, + 3, 0, -209, 0, 0, 0, -32, -32, 0, 23, + 0, 2213, 0, 0, 28, 30, 32, 33, -18, 2213, + 42, 52, 64, 1004, 940, -32, 1149, 1268, -168, 2213, + 174, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413, + 0, 2213, 2213, -32, -32, -32, -32, -173, 0, 607, + 404, -27, -71, -67, 0, 0, -12, 68, 66, 94, + 0, 0, 0, 0, 0, 0, 0, 27, 0, -108, + 0, -100, -108, 0, 0, 0, 0, 0, 2213, 122, + 2213, 743, 27, -108, 0, 0, 0, 0, 0, 0, + 125, 404, 135, 1454, 940, 0, 743, 0, -71, 94, + 0, 2213, 0, 140, 0, 743, -25, 38, -8, 2213, + 743, 1562, 0, 0, 0, -114, 0, 94, 245, 245, + 245, -123, -123, 106, -34, 0, -53, 245, 245, 0, + 0, 0, 0, 27, 0, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 0, 0, -26, 2213, 1723, 2213, 2213, 2213, 2213, 2213, 2213, 1796, - 0, 2213, 0, 0, -41, 8, -41, 342, 0, 2213, - -35, 0, -41, 2213, 2213, 2213, 2213, 225, 1859, 0, - 0, 0, -2, -42, 240, 2213, 152, 1932, 2004, 0, - 160, 0, 0, 13, 26, 0, 2213, 196, 0, 0, - -137, -137, 0, -137, -137, -137, -1, -1, 0, 641, - 651, 245, 270, -158, 401, -53, 1034, 1034, 1067, 383, - 740, 807, -109, -109, 2213, 0, 2140, 2213, 0, 268, - 120, 0, 40, 214, 123, 217, 132, 236, 136, 0, - 77, 401, 59, -40, 2213, -40, 0, 290, 2213, 0, - 2213, 76, -137, 0, 297, 0, 303, -137, 311, 325, - 0, 328, 607, 0, 0, 339, 332, 2213, 0, 0, - 0, 88, 0, 95, 0, 98, 0, 0, 0, 239, - 2213, 2213, 139, 0, 117, 243, 2213, 267, 0, 0, - 269, 0, 276, 0, 277, 0, 0, 0, 0, 0, - 351, 0, 0, 585, 0, 0, 289, 289, 289, 289, - 2213, 289, 2213, 374, 0, 0, 0, 0, 250, 703, - 301, 0, 0, 390, 0, 0, 0, 0, 0, 0, - 0, -100, -100, -229, -229, 407, -100, 404, 289, 0, - 0, 0, 0, 0, 0, 289, 433, 0, 0, 289, - 0, 1859, -100, 350, 0, 2213, -100, 435, 0, 0, - 443, 0, 289, 289, 0, -229, 0, + 0, 2213, 0, 0, -90, -48, -90, 285, 0, 2213, + -35, 0, -90, 2213, 2213, 2213, 2213, 182, 1859, 0, + 0, 0, -2, -42, 180, 2213, 94, 1932, 2004, 0, + 102, 0, 0, 13, -21, 0, 2213, 142, 0, 0, + 184, 184, 0, 184, 184, 184, -51, -51, 0, 296, + 743, 386, 683, -158, 404, 643, 1034, 1034, 1067, 1345, + 960, -112, 245, 245, 2213, 0, 2140, 2213, 0, 216, + 120, 0, 40, 127, 123, 214, 132, 217, 136, 0, + 77, 404, -3, -47, 2213, -47, 0, 220, 2213, 0, + 2213, 27, 184, 0, 224, 0, 240, 184, 244, 246, + 0, 261, 607, 0, 0, 267, 227, 2213, 0, 0, + 0, 88, 0, 95, 0, 98, 0, 0, 0, 236, + 2213, 2213, 139, 0, 117, 239, 2213, 194, 0, 0, + 206, 0, 213, 0, 218, 0, 0, 0, 0, 0, + 293, 0, 0, 585, 0, 0, 221, 221, 221, 221, + 2213, 221, 2213, 325, 0, 0, 0, 0, 243, 703, + 255, 0, 0, 327, 0, 0, 0, 0, 0, 0, + 0, -173, -173, -240, -240, 351, -173, 332, 221, 0, + 0, 0, 0, 0, 0, 221, 354, 0, 0, 221, + 0, 1859, -173, 350, 0, 2213, -173, 360, 0, 0, + 361, 0, 221, 221, 0, -240, 0, }; static short yyrindex[] = { 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 2282, 0, 0, 2401, 2566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 0, -7, + 0, 0, 0, 0, 0, 0, 0, 90, 0, -16, 1607, 2620, 2673, 2721, 0, 0, 2769, 2856, 0, -38, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, - 0, 0, -47, 0, 0, 0, 0, 0, 2566, 0, - 0, 4274, 0, -110, 0, 0, 0, 0, 0, 0, - 0, 1886, 0, 0, 445, 0, 4339, 467, 532, 3224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, + 0, 0, -54, 0, 0, 0, 0, 0, 2566, 0, + 0, 4274, 0, -115, 0, 0, 0, 0, 0, 0, + 0, 1886, 0, 0, 374, 0, 4339, 467, 532, 3224, 0, 0, 0, 3005, 0, 4394, 2673, 0, 0, 2566, 4404, 0, 0, 0, 0, 3055, 0, 3459, 3695, 3746, 3801, 3582, 3630, 3127, 0, 0, 0, 3866, 3914, 0, @@ -208,151 +208,151 @@ static short yyrindex[] = { 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, 3175, 0, 0, -36, 0, -36, 880, 0, 445, - 0, 0, 364, 447, 0, 0, 0, 0, 415, 0, - 0, 0, 0, 449, 0, 0, 3510, 0, 0, 0, + 0, 3175, 0, 0, -43, 0, -43, 880, 0, 374, + 0, 0, 303, 390, 0, 0, 0, 0, 389, 0, + 0, 0, 0, 422, 0, 0, 3510, 0, 0, 0, 0, 0, 0, 0, 3291, 0, 0, 3346, 0, 0, - -6, 2, 0, 23, 54, 79, 2521, 2697, 0, 2274, + 8, 12, 0, 61, 62, 65, 1479, 1642, 0, 2274, 4445, 4493, 4120, 4168, 2421, 0, 4697, 4745, 4630, 4591, 4543, 4219, 4000, 4055, 0, 0, 0, 0, 0, 3411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2474, -29, 0, 437, 0, 0, 0, 0, 0, - 2566, 0, 81, 0, 0, 0, 0, 457, 0, 0, - 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, + 0, 2474, -30, 0, 405, 0, 0, 0, 0, 0, + 2566, 0, 78, 0, 0, 0, 0, 432, 0, 0, + 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 445, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 374, 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, 454, 0, 0, 0, 0, 0, 0, 1201, + 0, 0, 415, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 90, 186, 186, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 465, 90, 880, 0, 0, 90, 0, 0, 0, + 0, 435, 90, 880, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, }; static short yygindex[] = { 0, - 0, 0, 116, 486, 0, 0, -4, 0, 63, 153, - -93, 0, 0, 0, -319, -15, 2480, 0, 1744, 470, - 472, 0, 0, 0, 509, -37, 0, 0, 370, -184, - 146, 199, 341, -88, -183, 4, 0, 0, 0, 526, - -20, 278, 216, 0, -82, 0, 0, 0, 0, 0, + 0, 0, 50, 453, 0, 0, -22, 0, 63, 153, + -93, 0, 0, 0, -346, -15, 2480, 0, 1744, 437, + 439, 0, 0, 0, 481, 755, 0, 0, 341, -186, + 124, 170, 313, -88, -183, 49, 0, 0, 0, 498, + -66, 247, 225, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; #define YYTABLESIZE 5051 static short yytable[] = { 70, - 198, 300, 75, 64, 312, 280, 228, 120, 279, 64, - 199, 60, 60, 257, 183, 138, 278, 64, 328, 75, - 75, 110, 62, 21, 296, 186, 188, 170, 219, 64, - 87, 100, 129, 15, 18, 4, 5, 6, 299, 7, - 8, 222, 39, 145, 147, 379, 376, 377, 122, 123, - 221, 15, 18, 308, 75, 137, 160, 185, 187, 160, - 39, 120, 89, 16, 258, 184, 9, 150, 151, 152, - 153, 101, 197, 160, 160, 60, 397, 68, 160, 186, - 319, 16, 25, 203, 217, 91, 62, 64, 66, 26, - 25, 132, 120, 64, 17, 105, 255, 182, 213, 214, - 204, 205, 206, 207, 208, 209, 116, 106, 160, 125, - 107, 185, 17, 344, 276, 65, 224, 326, 216, 20, - 282, 38, 26, 22, 23, 26, 26, 26, 345, 26, - 167, 26, 26, 354, 26, 346, 108, 20, 347, 38, - 231, 232, 234, 235, 236, 237, 238, 239, 26, 113, - 193, 114, 177, 26, 246, 178, 366, 352, 179, 180, - 181, 40, 161, 162, 163, 202, 261, 263, 264, 265, - 266, 267, 268, 269, 271, 130, 115, 154, 318, 15, - 26, 321, 189, 190, 214, 21, 331, 60, 283, 232, - 323, 232, 335, 293, 325, 192, 191, 351, 25, 194, - 302, 391, 304, 306, 178, 298, 196, 179, 180, 181, - 200, 310, 26, 210, 26, 26, 230, 211, 21, 229, - 218, 21, 21, 21, 95, 21, 220, 21, 21, 96, - 21, 256, 181, 75, 75, 75, 75, 120, 225, 313, - 75, 315, 316, 120, 21, 164, 161, 162, 163, 21, - 60, 165, 166, 167, 168, 227, 273, 161, 162, 163, - 64, 75, 75, 75, 275, 161, 162, 163, 169, 171, + 198, 300, 75, 64, 60, 280, 228, 60, 279, 64, + 199, 328, 183, 257, 219, 62, 278, 64, 379, 186, + 75, 110, 296, 188, 15, 21, 197, 170, 64, 4, + 5, 6, 129, 7, 8, 376, 377, 203, 299, 229, + 276, 222, 15, 145, 147, 87, 282, 89, 18, 397, + 221, 185, 39, 308, 75, 187, 160, 22, 23, 160, + 9, 91, 101, 184, 258, 186, 18, 105, 60, 106, + 39, 107, 108, 160, 160, 25, 100, 68, 160, 62, + 319, 113, 204, 205, 206, 207, 208, 209, 130, 26, + 25, 114, 64, 122, 123, 182, 255, 185, 213, 214, + 137, 16, 17, 115, 154, 20, 116, 190, 160, 125, + 189, 344, 150, 151, 152, 153, 224, 326, 38, 16, + 17, 40, 26, 20, 191, 26, 26, 26, 345, 26, + 167, 26, 26, 354, 26, 346, 38, 192, 347, 15, + 231, 232, 234, 235, 236, 237, 238, 239, 26, 25, + 193, 194, 177, 26, 366, 178, 196, 352, 179, 180, + 181, 200, 220, 216, 210, 202, 261, 263, 264, 265, + 266, 267, 268, 269, 271, 211, 167, 168, 318, 218, + 26, 321, 60, 225, 214, 21, 331, 298, 283, 232, + 323, 232, 335, 293, 325, 181, 227, 351, 177, 391, + 302, 178, 304, 306, 179, 180, 181, 273, 275, 64, + 66, 310, 26, 132, 26, 26, 230, 64, 21, 320, + 301, 21, 21, 21, 95, 21, 307, 21, 21, 96, + 21, 256, 311, 75, 75, 75, 75, 65, 309, 313, + 75, 315, 316, 60, 21, 164, 161, 162, 163, 21, + 163, 165, 166, 167, 168, 317, 327, 161, 162, 163, + 333, 75, 75, 75, 337, 161, 162, 163, 169, 171, 172, 173, 174, 175, 176, 177, 21, 109, 178, 384, - 301, 179, 180, 181, 307, 309, 311, 160, 160, 160, + 338, 179, 180, 181, 339, 343, 340, 160, 160, 160, 160, 161, 162, 163, 160, 349, 160, 161, 162, 163, - 163, 214, 160, 160, 160, 160, 320, 317, 21, 322, - 21, 21, 161, 162, 163, 160, 160, 160, 327, 160, - 160, 160, 160, 160, 160, 160, 160, 283, 324, 160, - 333, 348, 160, 160, 160, 353, 329, 337, 329, 161, - 162, 163, 370, 338, 336, 26, 26, 26, 26, 26, - 26, 339, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 340, 70, 341, 26, 26, - 1, 26, 26, 26, 26, 26, 161, 162, 163, 342, + 341, 214, 160, 160, 160, 160, 322, 342, 21, 324, + 21, 21, 161, 162, 163, 160, 160, 160, 355, 160, + 160, 160, 160, 160, 160, 160, 160, 283, 348, 160, + 356, 353, 160, 160, 160, 370, 329, 357, 329, 161, + 162, 163, 358, 361, 336, 26, 26, 26, 26, 26, + 26, 359, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 369, 70, 372, 26, 26, + 1, 26, 26, 26, 26, 26, 161, 162, 163, 371, 26, 26, 26, 26, 26, 26, 26, 161, 162, 163, - 343, 355, 26, 356, 161, 162, 163, 161, 162, 163, - 357, 358, 26, 44, 26, 26, 44, 44, 44, 359, - 44, 361, 44, 44, 369, 44, 161, 162, 163, 161, - 162, 163, 161, 162, 163, 371, 161, 162, 163, 44, - 372, 161, 162, 163, 44, 161, 162, 163, 161, 162, - 163, 21, 21, 21, 21, 21, 21, 380, 21, 21, + 382, 380, 26, 386, 161, 162, 163, 161, 162, 163, + 393, 394, 26, 44, 26, 26, 44, 44, 44, 277, + 44, 53, 44, 44, 185, 44, 161, 162, 163, 161, + 162, 163, 161, 162, 163, 62, 161, 162, 163, 44, + 37, 161, 162, 163, 44, 161, 162, 163, 161, 162, + 163, 21, 21, 21, 21, 21, 21, 35, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 44, 382, 170, 21, 21, 277, 21, 21, 21, - 21, 21, 386, 35, 390, 393, 21, 21, 21, 21, - 21, 21, 21, 394, 53, 185, 62, 37, 21, 186, - 363, 364, 365, 44, 367, 183, 44, 40, 21, 195, - 21, 21, 195, 195, 195, 35, 195, 174, 195, 195, - 174, 195, 37, 161, 162, 163, 161, 162, 163, 104, - 134, 383, 135, 79, 174, 174, 233, 388, 385, 174, - 195, 165, 387, 167, 168, 161, 162, 163, 161, 162, - 163, 368, 161, 162, 163, 395, 396, 290, 93, 161, - 162, 163, 0, 332, 176, 177, 0, 195, 178, 174, + 21, 44, 186, 183, 21, 21, 170, 21, 21, 21, + 21, 21, 40, 37, 390, 35, 21, 21, 21, 21, + 21, 21, 21, 161, 162, 163, 104, 134, 21, 135, + 363, 364, 365, 44, 367, 79, 44, 233, 21, 195, + 21, 21, 195, 195, 195, 388, 195, 174, 195, 195, + 174, 195, 368, 161, 162, 163, 161, 162, 163, 290, + 93, 383, 332, 0, 174, 174, 0, 0, 385, 174, + 195, 0, 387, 0, 0, 161, 162, 163, 161, 162, + 163, 0, 161, 162, 163, 395, 396, 0, 0, 0, + 4, 5, 6, 0, 7, 8, 0, 195, 178, 174, 0, 179, 180, 181, 196, 0, 0, 196, 196, 196, - 0, 196, 145, 196, 196, 145, 196, 374, 375, 0, - 177, 0, 381, 178, 0, 0, 179, 180, 181, 145, - 145, 0, 195, 0, 145, 196, 0, 0, 389, 0, - 0, 0, 392, 0, 0, 0, 0, 4, 5, 6, - 0, 7, 8, 0, 0, 4, 5, 6, 0, 7, + 0, 196, 145, 196, 196, 145, 196, 0, 0, 0, + 0, 9, 165, 166, 167, 168, 374, 375, 0, 145, + 145, 381, 195, 0, 145, 196, 0, 0, 0, 0, + 171, 172, 173, 174, 175, 176, 177, 389, 0, 178, + 0, 392, 179, 180, 181, 4, 5, 6, 0, 7, 8, 0, 0, 0, 145, 360, 44, 44, 44, 44, - 44, 44, 0, 44, 44, 44, 0, 0, 9, 44, + 44, 44, 0, 44, 44, 44, 0, 0, 0, 44, 0, 0, 44, 44, 44, 44, 9, 170, 0, 44, 44, 0, 44, 44, 44, 44, 44, 196, 0, 0, - 0, 44, 44, 44, 44, 44, 44, 0, 0, 165, - 166, 167, 168, 44, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 44, 0, 44, 44, 165, 166, 167, - 168, 175, 176, 177, 0, 0, 178, 0, 0, 179, - 180, 181, 0, 0, 169, 171, 172, 173, 174, 175, - 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, - 0, 0, 0, 195, 195, 195, 195, 195, 0, 195, + 0, 44, 44, 44, 44, 44, 44, 0, 0, 0, + 0, 0, 165, 44, 167, 168, 0, 0, 0, 0, + 0, 0, 0, 44, 164, 44, 44, 0, 0, 0, + 165, 166, 167, 168, 0, 176, 177, 0, 0, 178, + 312, 0, 179, 180, 181, 170, 0, 169, 171, 172, + 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, + 179, 180, 181, 195, 195, 195, 195, 195, 0, 195, 195, 195, 0, 0, 0, 195, 0, 0, 174, 174, 174, 174, 0, 0, 0, 174, 195, 174, 195, 195, 195, 195, 195, 174, 174, 174, 174, 195, 195, 195, 195, 195, 195, 0, 0, 170, 174, 174, 174, 195, 174, 174, 174, 174, 174, 174, 174, 174, 0, 195, 174, 195, 195, 174, 174, 174, 0, 0, 196, 196, - 196, 196, 196, 0, 196, 196, 196, 0, 0, 0, - 196, 0, 0, 145, 145, 145, 145, 0, 0, 0, + 196, 196, 196, 0, 196, 196, 196, 0, 0, 120, + 196, 0, 0, 145, 145, 145, 145, 138, 0, 0, 145, 196, 145, 196, 196, 196, 196, 196, 145, 145, 145, 145, 196, 196, 196, 196, 196, 196, 0, 0, 0, 145, 145, 145, 196, 145, 145, 145, 145, 145, 145, 145, 145, 0, 196, 145, 196, 196, 145, 145, - 145, 54, 0, 0, 64, 66, 52, 0, 59, 0, + 145, 54, 0, 120, 64, 66, 52, 0, 59, 0, 67, 63, 0, 62, 0, 164, 0, 0, 0, 0, - 0, 165, 166, 167, 168, 0, 0, 61, 156, 157, - 158, 159, 65, 0, 0, 160, 0, 0, 169, 171, + 0, 165, 166, 167, 168, 0, 217, 61, 156, 157, + 158, 159, 65, 0, 120, 160, 0, 0, 169, 171, 172, 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, 0, 0, 161, 162, 163, 60, 0, 0, 44, 0, 0, 44, 44, 44, 0, 44, - 0, 44, 44, 0, 44, 0, 0, 165, 166, 167, - 168, 0, 0, 0, 0, 0, 0, 0, 44, 167, - 168, 25, 0, 44, 55, 171, 172, 173, 174, 175, - 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, - 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, + 0, 44, 44, 164, 44, 0, 0, 0, 0, 165, + 166, 167, 168, 0, 0, 0, 0, 0, 44, 0, + 0, 25, 0, 44, 55, 0, 169, 171, 172, 173, + 174, 175, 176, 177, 0, 0, 178, 0, 0, 179, + 180, 181, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 54, 0, 0, 64, 66, 52, 0, 59, 0, 67, 63, 164, 62, 0, 0, 0, 0, 165, - 166, 167, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 65, 0, 44, 0, 171, 172, 173, + 166, 167, 168, 177, 0, 0, 178, 0, 0, 179, + 180, 181, 44, 65, 0, 44, 0, 171, 172, 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, 179, - 180, 181, 0, 0, 0, 0, 165, 166, 167, 168, - 60, 0, 0, 0, 0, 0, 54, 0, 0, 64, - 66, 52, 0, 59, 0, 67, 63, 0, 62, 176, - 177, 0, 0, 178, 0, 0, 179, 180, 181, 0, - 0, 0, 25, 0, 0, 55, 0, 65, 0, 0, + 180, 181, 0, 0, 0, 0, 0, 0, 0, 120, + 60, 167, 168, 0, 0, 120, 54, 0, 0, 64, + 66, 52, 0, 59, 0, 67, 63, 0, 62, 0, + 0, 0, 176, 177, 0, 0, 178, 0, 0, 179, + 180, 181, 25, 0, 0, 55, 0, 65, 0, 0, 0, 0, 0, 0, 24, 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, 0, 0, 34, 0, 0, - 35, 36, 37, 38, 60, 167, 168, 39, 40, 0, + 35, 36, 37, 38, 60, 0, 0, 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, - 47, 48, 49, 50, 51, 0, 0, 177, 0, 0, - 178, 53, 0, 179, 180, 181, 25, 0, 0, 55, + 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 25, 0, 0, 55, 0, 56, 0, 57, 58, 44, 44, 44, 44, 44, 44, 0, 44, 44, 44, 0, 0, 0, 44, 0, 0, 44, 44, 44, 44, 0, 0, 0, 44, 44, @@ -364,10 +364,10 @@ static short yytable[] = { 70, 0, 0, 65, 0, 0, 0, 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, 0, 0, 60, - 0, 139, 53, 0, 139, 0, 0, 0, 0, 0, + 0, 139, 53, 0, 139, 0, 165, 166, 167, 168, 0, 0, 56, 0, 57, 58, 0, 0, 139, 139, - 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, - 0, 25, 34, 0, 55, 0, 0, 0, 0, 0, + 26, 27, 28, 29, 30, 0, 31, 32, 33, 176, + 177, 25, 34, 178, 55, 0, 179, 180, 181, 0, 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 139, 46, 47, 48, 49, 50, 51, 54, 0, 0, 64, 66, 52, 53, 59, 0, 67, @@ -391,33 +391,33 @@ static short yytable[] = { 70, 0, 0, 0, 0, 0, 0, 54, 0, 0, 64, 66, 52, 0, 59, 212, 67, 63, 0, 62, 0, 139, 139, 139, 60, 139, 146, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, - 0, 0, 0, 0, 26, 27, 28, 29, 30, 0, - 31, 32, 33, 0, 0, 0, 34, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 0, 65, 0, 73, + 0, 0, 73, 0, 26, 27, 28, 29, 30, 0, + 31, 32, 33, 0, 0, 0, 34, 73, 55, 0, 0, 0, 0, 0, 60, 0, 0, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 53, 73, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 58, 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, 54, 0, 34, 64, 66, 52, 0, 59, 223, 67, 63, 0, 62, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, 65, 0, 0, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 53, 165, 166, 167, 168, 0, 0, 0, 0, 0, 56, 0, 57, 58, 0, 0, 0, 78, 0, 0, - 78, 0, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 78, 78, 0, 0, 0, 26, + 78, 0, 60, 175, 176, 177, 0, 0, 178, 0, + 0, 179, 180, 181, 78, 78, 0, 0, 0, 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 34, 74, 0, 0, 74, 0, 55, 0, 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, 78, - 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, + 74, 0, 0, 46, 47, 48, 49, 50, 51, 0, 26, 27, 28, 29, 30, 53, 31, 32, 33, 0, 0, 0, 34, 0, 0, 56, 0, 57, 58, 0, - 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, + 0, 0, 0, 40, 74, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, - 0, 0, 0, 0, 0, 54, 53, 0, 64, 66, + 73, 73, 73, 73, 0, 54, 53, 73, 64, 66, 52, 0, 59, 262, 67, 63, 56, 62, 57, 58, - 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 98, 0, 0, 0, 0, 0, 0, 73, 73, 0, 0, 111, 0, 0, 0, 65, 0, 119, 98, 127, 0, 0, 0, 133, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, @@ -431,10 +431,10 @@ static short yytable[] = { 70, 78, 78, 0, 0, 0, 78, 60, 0, 0, 0, 0, 54, 0, 0, 64, 66, 52, 0, 59, 0, 67, 63, 0, 62, 0, 0, 78, 78, 78, 0, + 0, 0, 0, 74, 74, 74, 74, 0, 0, 0, + 74, 55, 65, 0, 259, 0, 161, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 65, 0, 259, 0, 161, 0, 0, 161, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 161, 161, 0, 0, 0, 0, 60, + 0, 74, 74, 161, 161, 0, 0, 0, 0, 60, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 64, 66, 52, 0, 59, 303, 67, 63, 0, 62, 0, 161, 26, @@ -496,15 +496,15 @@ static short yytable[] = { 70, 0, 77, 77, 139, 140, 141, 142, 143, 0, 0, 0, 148, 149, 0, 0, 111, 111, 111, 111, 0, 0, 0, 111, 167, 167, 167, 167, 0, 0, 0, - 167, 73, 167, 0, 73, 0, 77, 0, 167, 167, - 167, 167, 0, 111, 111, 111, 0, 111, 73, 73, + 167, 0, 167, 0, 0, 0, 77, 0, 167, 167, + 167, 167, 0, 111, 111, 111, 0, 111, 0, 0, 201, 167, 167, 167, 0, 167, 167, 167, 167, 167, 167, 167, 167, 0, 0, 167, 0, 0, 167, 167, 167, 0, 0, 0, 0, 0, 183, 0, 0, 183, - 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 183, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 241, 242, 243, 244, 245, 0, + 0, 0, 0, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 183, 0, 150, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 272, 163, 163, 163, 163, 0, 150, 150, 163, @@ -513,16 +513,16 @@ static short yytable[] = { 70, 163, 163, 163, 0, 163, 163, 163, 163, 163, 163, 163, 163, 150, 145, 163, 0, 145, 163, 163, 163, 102, 102, 102, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 0, 0, 0, 145, 0, 74, 0, 0, - 74, 0, 0, 0, 0, 77, 77, 77, 77, 0, - 0, 0, 77, 0, 74, 74, 0, 0, 334, 0, + 145, 145, 0, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 77, 77, 77, 77, 0, + 0, 0, 77, 0, 0, 0, 0, 0, 334, 0, 0, 148, 0, 0, 148, 145, 0, 0, 0, 0, 0, 0, 0, 77, 77, 77, 0, 0, 148, 148, - 0, 0, 0, 148, 0, 0, 0, 0, 0, 74, - 0, 350, 73, 73, 73, 73, 0, 0, 0, 73, + 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, + 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 146, 148, 0, 0, 0, 0, 0, 0, - 73, 73, 0, 0, 0, 0, 146, 146, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 146, 0, 0, 0, 146, 0, 0, 0, 0, 0, 183, 183, 183, 183, 0, 0, 0, 183, 0, 183, 0, 0, 0, 0, 0, 183, 183, 183, 183, 0, 0, 0, 0, @@ -536,10 +536,10 @@ static short yytable[] = { 70, 150, 0, 0, 150, 0, 0, 150, 150, 150, 0, 0, 0, 0, 0, 145, 145, 145, 145, 156, 0, 0, 145, 0, 145, 0, 0, 0, 0, 0, 145, - 145, 145, 145, 0, 0, 0, 0, 0, 74, 74, - 74, 74, 145, 145, 145, 74, 145, 145, 145, 145, + 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 145, 145, 145, 0, 145, 145, 145, 145, 145, 145, 145, 145, 0, 0, 145, 0, 0, 145, - 145, 145, 148, 148, 148, 148, 74, 74, 0, 148, + 145, 145, 148, 148, 148, 148, 0, 0, 0, 148, 0, 148, 0, 0, 0, 0, 0, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 148, 148, 0, 148, 148, 148, 148, 148, 148, @@ -748,119 +748,119 @@ static short yytable[] = { 70, 114, }; static short yycheck[] = { 15, - 94, 44, 41, 36, 58, 41, 41, 45, 44, 36, - 99, 59, 123, 40, 40, 53, 200, 36, 59, 58, - 59, 40, 59, 257, 209, 91, 91, 63, 40, 59, - 257, 28, 48, 41, 41, 266, 267, 268, 41, 270, - 271, 130, 41, 59, 60, 365, 276, 277, 45, 46, - 59, 59, 59, 41, 93, 52, 41, 123, 123, 44, - 59, 99, 257, 41, 91, 91, 297, 64, 65, 66, - 67, 40, 93, 58, 59, 123, 396, 15, 63, 91, - 41, 59, 123, 104, 122, 59, 123, 36, 37, 0, - 123, 40, 130, 123, 41, 40, 123, 123, 114, 115, - 105, 106, 107, 108, 109, 110, 44, 40, 93, 47, - 40, 123, 59, 298, 197, 64, 132, 41, 115, 41, - 203, 41, 33, 8, 9, 36, 37, 38, 41, 40, - 289, 42, 43, 317, 45, 41, 40, 59, 41, 59, - 156, 157, 158, 159, 160, 161, 162, 163, 59, 40, - 88, 40, 311, 64, 170, 314, 341, 41, 317, 318, - 319, 41, 300, 301, 302, 103, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 257, 40, 278, 59, 59, - 91, 59, 123, 40, 200, 0, 275, 298, 204, 205, - 59, 207, 281, 209, 59, 44, 59, 59, 123, 260, - 216, 386, 218, 219, 314, 210, 257, 317, 318, 319, - 40, 227, 123, 40, 125, 126, 154, 41, 33, 93, - 40, 36, 37, 38, 257, 40, 125, 42, 43, 262, - 45, 258, 319, 272, 273, 274, 275, 275, 298, 255, - 279, 257, 258, 281, 59, 281, 300, 301, 302, 64, - 298, 287, 288, 289, 290, 91, 298, 300, 301, 302, - 36, 300, 301, 302, 257, 300, 301, 302, 304, 305, + 94, 44, 41, 36, 59, 41, 41, 123, 44, 36, + 99, 59, 40, 40, 40, 59, 200, 36, 365, 91, + 59, 40, 209, 91, 41, 257, 93, 63, 59, 266, + 267, 268, 48, 270, 271, 276, 277, 104, 41, 93, + 197, 130, 59, 59, 60, 257, 203, 257, 41, 396, + 59, 123, 41, 41, 93, 123, 41, 8, 9, 44, + 297, 59, 40, 91, 91, 91, 59, 40, 123, 40, + 59, 40, 40, 58, 59, 123, 28, 15, 63, 123, + 41, 40, 105, 106, 107, 108, 109, 110, 257, 0, + 123, 40, 123, 45, 46, 123, 123, 123, 114, 115, + 52, 41, 41, 40, 278, 41, 44, 40, 93, 47, + 123, 298, 64, 65, 66, 67, 132, 41, 41, 59, + 59, 41, 33, 59, 59, 36, 37, 38, 41, 40, + 289, 42, 43, 317, 45, 41, 59, 44, 41, 59, + 156, 157, 158, 159, 160, 161, 162, 163, 59, 123, + 88, 260, 311, 64, 341, 314, 257, 41, 317, 318, + 319, 40, 125, 115, 40, 103, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 41, 289, 290, 59, 40, + 91, 59, 298, 298, 200, 0, 275, 210, 204, 205, + 59, 207, 281, 209, 59, 319, 91, 59, 311, 386, + 216, 314, 218, 219, 317, 318, 319, 298, 257, 36, + 37, 227, 123, 40, 125, 126, 154, 36, 33, 93, + 41, 36, 37, 38, 257, 40, 125, 42, 43, 262, + 45, 258, 91, 272, 273, 274, 275, 64, 260, 255, + 279, 257, 258, 298, 59, 281, 300, 301, 302, 64, + 302, 287, 288, 289, 290, 40, 260, 300, 301, 302, + 41, 300, 301, 302, 41, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 91, 296, 314, 373, - 41, 317, 318, 319, 125, 260, 91, 272, 273, 274, + 41, 317, 318, 319, 41, 59, 41, 272, 273, 274, 275, 300, 301, 302, 279, 311, 281, 300, 301, 302, - 302, 317, 287, 288, 289, 290, 93, 40, 123, 93, - 125, 126, 300, 301, 302, 300, 301, 302, 260, 304, + 40, 317, 287, 288, 289, 290, 93, 41, 123, 93, + 125, 126, 300, 301, 302, 300, 301, 302, 125, 304, 305, 306, 307, 308, 309, 310, 311, 343, 93, 314, - 41, 93, 317, 318, 319, 93, 274, 41, 276, 300, - 301, 302, 93, 41, 282, 256, 257, 258, 259, 260, - 261, 41, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 41, 382, 40, 279, 280, - 0, 282, 283, 284, 285, 286, 300, 301, 302, 41, + 125, 93, 317, 318, 319, 93, 274, 125, 276, 300, + 301, 302, 125, 123, 282, 256, 257, 258, 259, 260, + 261, 59, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 41, 382, 41, 279, 280, + 0, 282, 283, 284, 285, 286, 300, 301, 302, 125, 291, 292, 293, 294, 295, 296, 297, 300, 301, 302, - 59, 125, 303, 125, 300, 301, 302, 300, 301, 302, - 125, 125, 313, 33, 315, 316, 36, 37, 38, 59, + 59, 41, 303, 40, 300, 301, 302, 300, 301, 302, + 41, 41, 313, 33, 315, 316, 36, 37, 38, 125, 40, 123, 42, 43, 41, 45, 300, 301, 302, 300, - 301, 302, 300, 301, 302, 125, 300, 301, 302, 59, + 301, 302, 300, 301, 302, 123, 300, 301, 302, 59, 41, 300, 301, 302, 64, 300, 301, 302, 300, 301, - 302, 256, 257, 258, 259, 260, 261, 41, 263, 264, + 302, 256, 257, 258, 259, 260, 261, 59, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 91, 59, 63, 279, 280, 125, 282, 283, 284, - 285, 286, 40, 59, 125, 41, 291, 292, 293, 294, - 295, 296, 297, 41, 123, 41, 123, 41, 303, 41, - 338, 339, 340, 123, 342, 59, 126, 41, 313, 33, - 315, 316, 36, 37, 38, 41, 40, 41, 42, 43, - 44, 45, 59, 300, 301, 302, 300, 301, 302, 34, - 51, 369, 51, 15, 58, 59, 157, 382, 376, 63, - 64, 287, 380, 289, 290, 300, 301, 302, 300, 301, - 302, 343, 300, 301, 302, 393, 394, 207, 23, 300, - 301, 302, -1, 276, 310, 311, -1, 91, 314, 93, + 275, 91, 41, 59, 279, 280, 63, 282, 283, 284, + 285, 286, 41, 59, 125, 41, 291, 292, 293, 294, + 295, 296, 297, 300, 301, 302, 34, 51, 303, 51, + 338, 339, 340, 123, 342, 15, 126, 157, 313, 33, + 315, 316, 36, 37, 38, 382, 40, 41, 42, 43, + 44, 45, 343, 300, 301, 302, 300, 301, 302, 207, + 23, 369, 276, -1, 58, 59, -1, -1, 376, 63, + 64, -1, 380, -1, -1, 300, 301, 302, 300, 301, + 302, -1, 300, 301, 302, 393, 394, -1, -1, -1, + 266, 267, 268, -1, 270, 271, -1, 91, 314, 93, -1, 317, 318, 319, 33, -1, -1, 36, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 362, 363, -1, - 311, -1, 367, 314, -1, -1, 317, 318, 319, 58, - 59, -1, 126, -1, 63, 64, -1, -1, 383, -1, - -1, -1, 387, -1, -1, -1, -1, 266, 267, 268, - -1, 270, 271, -1, -1, 266, 267, 268, -1, 270, + -1, 40, 41, 42, 43, 44, 45, -1, -1, -1, + -1, 297, 287, 288, 289, 290, 362, 363, -1, 58, + 59, 367, 126, -1, 63, 64, -1, -1, -1, -1, + 305, 306, 307, 308, 309, 310, 311, 383, -1, 314, + -1, 387, 317, 318, 319, 266, 267, 268, -1, 270, 271, -1, -1, -1, 93, 41, 256, 257, 258, 259, - 260, 261, -1, 263, 264, 265, -1, -1, 297, 269, + 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 297, 63, -1, 279, 280, -1, 282, 283, 284, 285, 286, 126, -1, -1, - -1, 291, 292, 293, 294, 295, 296, -1, -1, 287, - 288, 289, 290, 303, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 313, -1, 315, 316, 287, 288, 289, - 290, 309, 310, 311, -1, -1, 314, -1, -1, 317, - 318, 319, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, - -1, -1, -1, 257, 258, 259, 260, 261, -1, 263, + -1, 291, 292, 293, 294, 295, 296, -1, -1, -1, + -1, -1, 287, 303, 289, 290, -1, -1, -1, -1, + -1, -1, -1, 313, 281, 315, 316, -1, -1, -1, + 287, 288, 289, 290, -1, 310, 311, -1, -1, 314, + 58, -1, 317, 318, 319, 63, -1, 304, 305, 306, + 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, + 317, 318, 319, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 63, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, -1, -1, 257, 258, - 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, - 269, -1, -1, 272, 273, 274, 275, -1, -1, -1, + 259, 260, 261, -1, 263, 264, 265, -1, -1, 45, + 269, -1, -1, 272, 273, 274, 275, 53, -1, -1, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 33, -1, -1, 36, 37, 38, -1, 40, -1, + 319, 33, -1, 99, 36, 37, 38, -1, 40, -1, 42, 43, -1, 45, -1, 281, -1, -1, -1, -1, - -1, 287, 288, 289, 290, -1, -1, 59, 272, 273, - 274, 275, 64, -1, -1, 279, -1, -1, 304, 305, + -1, 287, 288, 289, 290, -1, 122, 59, 272, 273, + 274, 275, 64, -1, 130, 279, -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, -1, 300, 301, 302, 91, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, - -1, 42, 43, -1, 45, -1, -1, 287, 288, 289, - 290, -1, -1, -1, -1, -1, -1, -1, 59, 289, - 290, 123, -1, 64, 126, 305, 306, 307, 308, 309, - 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, - 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, + -1, 42, 43, 281, 45, -1, -1, -1, -1, 287, + 288, 289, 290, -1, -1, -1, -1, -1, 59, -1, + -1, 123, -1, 64, 126, -1, 304, 305, 306, 307, + 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, + 318, 319, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, 33, -1, -1, 36, 37, 38, -1, 40, -1, 42, 43, 281, 45, -1, -1, -1, -1, 287, - 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, 64, -1, 126, -1, 305, 306, 307, + 288, 289, 290, 311, -1, -1, 314, -1, -1, 317, + 318, 319, 123, 64, -1, 126, -1, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, - 318, 319, -1, -1, -1, -1, 287, 288, 289, 290, - 91, -1, -1, -1, -1, -1, 33, -1, -1, 36, - 37, 38, -1, 40, -1, 42, 43, -1, 45, 310, - 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, - -1, -1, 123, -1, -1, 126, -1, 64, -1, -1, + 318, 319, -1, -1, -1, -1, -1, -1, -1, 275, + 91, 289, 290, -1, -1, 281, 33, -1, -1, 36, + 37, 38, -1, 40, -1, 42, 43, -1, 45, -1, + -1, -1, 310, 311, -1, -1, 314, -1, -1, 317, + 318, 319, 123, -1, -1, 126, -1, 64, -1, -1, -1, -1, -1, -1, 256, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, - 272, 273, 274, 275, 91, 289, 290, 279, 280, -1, + 272, 273, 274, 275, 91, -1, -1, 279, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, - 292, 293, 294, 295, 296, -1, -1, 311, -1, -1, - 314, 303, -1, 317, 318, 319, 123, -1, -1, 126, + 292, 293, 294, 295, 296, -1, -1, -1, -1, -1, + -1, 303, -1, -1, -1, -1, 123, -1, -1, 126, -1, 313, -1, 315, 316, 256, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, 280, @@ -872,10 +872,10 @@ static short yycheck[] = { 15, -1, -1, 64, -1, -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, -1, -1, 91, - -1, 41, 303, -1, 44, -1, -1, -1, -1, -1, + -1, 41, 303, -1, 44, -1, 287, 288, 289, 290, -1, -1, 313, -1, 315, 316, -1, -1, 58, 59, - 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, - -1, 123, 269, -1, 126, -1, -1, -1, -1, -1, + 257, 258, 259, 260, 261, -1, 263, 264, 265, 310, + 311, 123, 269, 314, 126, -1, 317, 318, 319, -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, 93, 291, 292, 293, 294, 295, 296, 33, -1, -1, 36, 37, 38, 303, 40, -1, 42, @@ -899,33 +899,33 @@ static short yycheck[] = { 15, -1, -1, -1, -1, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, 41, 42, 43, -1, 45, -1, 300, 301, 302, 91, 304, 93, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, - -1, -1, -1, -1, 257, 258, 259, 260, 261, -1, - 263, 264, 265, -1, -1, -1, 269, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, 64, -1, 41, + -1, -1, 44, -1, 257, 258, 259, 260, 261, -1, + 263, 264, 265, -1, -1, -1, 269, 59, 126, -1, -1, -1, -1, -1, 91, -1, -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, -1, -1, - 303, -1, -1, -1, -1, -1, -1, -1, -1, 126, + 303, 93, -1, -1, -1, -1, -1, -1, -1, 126, 313, -1, 315, 316, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, 33, -1, 269, 36, 37, 38, -1, 40, 41, 42, 43, -1, 45, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, 64, -1, -1, -1, -1, - 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 303, 287, 288, 289, 290, -1, -1, -1, -1, -1, 313, -1, 315, 316, -1, -1, -1, 41, -1, -1, - 44, -1, 91, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, -1, -1, -1, 257, + 44, -1, 91, 309, 310, 311, -1, -1, 314, -1, + -1, 317, 318, 319, 58, 59, -1, -1, -1, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, - -1, 269, -1, -1, -1, -1, -1, 126, -1, -1, + -1, 269, 41, -1, -1, 44, -1, 126, -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, 93, - -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, + 59, -1, -1, 291, 292, 293, 294, 295, 296, -1, 257, 258, 259, 260, 261, 303, 263, 264, 265, -1, -1, -1, 269, -1, -1, 313, -1, 315, 316, -1, - -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, + -1, -1, -1, 280, 93, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, - -1, -1, -1, -1, -1, 33, 303, -1, 36, 37, + 272, 273, 274, 275, -1, 33, 303, 279, 36, 37, 38, -1, 40, 41, 42, 43, 313, 45, 315, 316, - 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, + 27, 28, -1, -1, -1, -1, -1, -1, 300, 301, -1, -1, 39, -1, -1, -1, 64, -1, 45, 46, 47, -1, -1, -1, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, 66, @@ -939,10 +939,10 @@ static short yycheck[] = { 15, 274, 275, -1, -1, -1, 279, 91, -1, -1, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, -1, 42, 43, -1, 45, -1, -1, 300, 301, 302, -1, + -1, -1, -1, 272, 273, 274, 275, -1, -1, -1, + 279, 126, 64, -1, 181, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 126, 64, -1, 181, -1, 41, -1, -1, 44, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 58, 59, -1, -1, -1, -1, 91, + -1, 300, 301, 58, 59, -1, -1, -1, -1, 91, -1, 208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, 41, 42, 43, -1, 45, -1, 93, 257, @@ -1004,15 +1004,15 @@ static short yycheck[] = { 15, -1, 58, 59, 54, 55, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, 272, 273, 274, 275, -1, -1, -1, - 279, 41, 281, -1, 44, -1, 93, -1, 287, 288, - 289, 290, -1, 300, 301, 302, -1, 304, 58, 59, + 279, -1, 281, -1, -1, -1, 93, -1, 287, 288, + 289, 290, -1, 300, 301, 302, -1, 304, -1, -1, 101, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, -1, -1, -1, -1, 41, -1, -1, 44, - -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 164, 165, 166, 167, 168, 169, -1, + -1, -1, -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 93, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, 192, 272, 273, 274, 275, -1, 58, 59, 279, @@ -1021,16 +1021,16 @@ static short yycheck[] = { 15, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, 93, 41, 314, -1, 44, 317, 318, 319, 300, 301, 302, -1, -1, -1, -1, -1, -1, -1, - 58, 59, -1, -1, -1, 63, -1, 41, -1, -1, - 44, -1, -1, -1, -1, 272, 273, 274, 275, -1, - -1, -1, 279, -1, 58, 59, -1, -1, 279, -1, + 58, 59, -1, -1, -1, 63, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 272, 273, 274, 275, -1, + -1, -1, 279, -1, -1, -1, -1, -1, 279, -1, -1, 41, -1, -1, 44, 93, -1, -1, -1, -1, -1, -1, -1, 300, 301, 302, -1, -1, 58, 59, - -1, -1, -1, 63, -1, -1, -1, -1, -1, 93, - -1, 312, 272, 273, 274, 275, -1, -1, -1, 279, + -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, 44, 93, -1, -1, -1, -1, -1, -1, - 300, 301, -1, -1, -1, -1, 58, 59, -1, -1, + -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, 63, -1, -1, -1, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, -1, 281, -1, -1, -1, -1, -1, 287, 288, 289, 290, -1, -1, -1, -1, @@ -1044,10 +1044,10 @@ static short yycheck[] = { 15, 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, -1, -1, -1, -1, 272, 273, 274, 275, 93, -1, -1, 279, -1, 281, -1, -1, -1, -1, -1, 287, - 288, 289, 290, -1, -1, -1, -1, -1, 272, 273, - 274, 275, 300, 301, 302, 279, 304, 305, 306, 307, + 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, - 318, 319, 272, 273, 274, 275, 300, 301, -1, 279, + 318, 319, 272, 273, 274, 275, -1, -1, -1, 279, -1, 281, -1, -1, -1, -1, -1, 287, 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, @@ -1418,7 +1418,7 @@ static char *yyrule[] = { "term : termunop", "term : anonymous", "term : termdo", -"term : term '?' expr ':' term", +"term : term '?' term ':' term", "term : REFGEN term", "term : myattrterm", "term : LOCAL term", diff --git a/perly.y b/perly.y index 4e00281..7d39242 100644 --- a/perly.y +++ b/perly.y @@ -627,7 +627,7 @@ term : termbinop | termunop | anonymous | termdo - | term '?' expr ':' term + | term '?' term ':' term { $$ = newCONDOP(0, $1, $3, $5); } | REFGEN term /* \$x, \@y, \%z */ { $$ = newUNOP(OP_REFGEN, 0, mod($2,OP_REFGEN)); } diff --git a/perly_c.diff b/perly_c.diff index f9981c5..84c24f5 100644 --- a/perly_c.diff +++ b/perly_c.diff @@ -1,5 +1,5 @@ ---- y.tab.c.orig 2002-12-08 00:49:43.000000000 -0500 -+++ y.tab.c 2002-12-08 00:50:29.000000000 -0500 +--- y.tab.c Mon Sep 30 04:20:57 2002 ++++ perly.c Mon Sep 30 04:18:04 2002 @@ -1,5 +1,5 @@ #ifndef lint -static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; @@ -124,45 +124,45 @@ }; -short yysindex[] = { 0, +static short yysindex[] = { 0, - 0, 0, -230, 0, 0, 0, -233, 0, 0, 0, - 0, 0, 0, 0, 819, 0, 0, 0, -226, -194, - 27, 0, -194, 0, 0, 0, -32, -32, 0, 32, + 0, 0, -236, 0, 0, 0, -231, 0, 0, 0, + 0, 0, 0, 0, 819, 0, 0, 0, -211, -209, + 3, 0, -209, 0, 0, 0, -32, -32, 0, 23, @@ -251,7 +188,7 @@ - 0, 1859, -100, 350, 0, 2213, -100, 435, 0, 0, - 443, 0, 289, 289, 0, -229, 0, + 0, 1859, -173, 350, 0, 2213, -173, 360, 0, 0, + 361, 0, 221, 221, 0, -240, 0, }; -short yyrindex[] = { 0, +static short yyrindex[] = { 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -293,7 +230,7 @@ - 0, 465, 90, 880, 0, 0, 90, 0, 0, 0, + 0, 435, 90, 880, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, }; -short yygindex[] = { 0, +static short yygindex[] = { 0, - 0, 0, 116, 486, 0, 0, -4, 0, 63, 153, - -93, 0, 0, 0, -319, -15, 2480, 0, 1744, 470, - 472, 0, 0, 0, 509, -37, 0, 0, 370, -184, + 0, 0, 50, 453, 0, 0, -22, 0, 63, 153, + -93, 0, 0, 0, -346, -15, 2480, 0, 1744, 437, + 439, 0, 0, 0, 481, 755, 0, 0, 341, -186, @@ -302,7 +239,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, }; #define YYTABLESIZE 5051 -short yytable[] = { 70, +static short yytable[] = { 70, - 198, 300, 75, 64, 312, 280, 228, 120, 279, 64, - 199, 60, 60, 257, 183, 138, 278, 64, 328, 75, - 75, 110, 62, 21, 296, 186, 188, 170, 219, 64, + 198, 300, 75, 64, 60, 280, 228, 60, 279, 64, + 199, 328, 183, 257, 219, 62, 278, 64, 379, 186, + 75, 110, 296, 188, 15, 21, 197, 170, 64, 4, @@ -810,7 +747,7 @@ 0, 0, 0, 0, 114, 114, 114, 0, 114, 114, 114, }; -short yycheck[] = { 15, +static short yycheck[] = { 15, - 94, 44, 41, 36, 58, 41, 41, 45, 44, 36, - 99, 59, 123, 40, 40, 53, 200, 36, 59, 58, - 59, 40, 59, 257, 209, 91, 91, 63, 40, 59, + 94, 44, 41, 36, 59, 41, 41, 123, 44, 36, + 99, 59, 40, 40, 40, 59, 200, 36, 365, 91, + 59, 40, 209, 91, 41, 257, 93, 63, 59, 266, @@ -1324,7 +1261,7 @@ #endif #define YYMAXTOKEN 319 diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 1394824..8704322 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -22,23 +22,6 @@ contains a package variable named C<$NEGATIVE_INDICES> which is set to a true value, negative values will be passed to C, C, C, and C unchanged. -=head2 Fewer parentheses needed with C - -The grammar of the conditional operator (C<$x ? $y : $z>) has been -broadened so that any operator may appear between the C and the -C<:> without parentheses. Previously, the comma operator and the -low-precedence logical operators had required parentheses in this -context. For instance, you may now write - - $x ? $a and $b : $c - -as a shorter version of the more explicit - - $x ? ($a and $b) : $c - -Perl is now compatible with C in this regard. However, writing the -parentheses is still recommended as a matter of style. - =head1 Modules and Pragmata =head1 Utility Changes diff --git a/t/op/cond.t b/t/op/cond.t index de72a51..427efb4 100755 --- a/t/op/cond.t +++ b/t/op/cond.t @@ -2,7 +2,7 @@ # $RCSfile: cond.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:41 $ -print "1..16\n"; +print "1..4\n"; print 1 ? "ok 1\n" : "not ok 1\n"; # compile time print 0 ? "not ok 2\n" : "ok 2\n"; @@ -10,73 +10,3 @@ print 0 ? "not ok 2\n" : "ok 2\n"; $x = 1; print $x ? "ok 3\n" : "not ok 3\n"; # run time print !$x ? "not ok 4\n" : "ok 4\n"; - -# Very low precedence between the ? and the : -print $x ? "ok 5\n" or "not ok 5\n" : "not ok 5\n"; -# Binds tighter than assignment -$msg = "not ok 6\n" ? "ok 6\n" : "ok 6\n"; -print $msg; -# Binds looser than ".." -print "ok ", $x ? 7 : -2..15, "\n"; -# Right-associative -print $x ? "ok 8\n" : 0 ? "not ok 8\n" : "not ok 8\n"; -# No parens needed when nested like an if-elsif-elsif-elsif-else -$n = 9; -print $n == 7 ? "not ok 9\n" : - $n == 8 ? "not ok 9\n" : - $n == 9 ? "ok 9\n" : - $n == 10 ? "not ok 9\n" : - "not ok 9\n"; -# Nor when used like a deeply nested if-else chain -print $n != 7 ? - $n != 8 ? - $n != 9 ? - $n != 10 ? - "not ok 10\n" - : - "not ok 10\n" - : - "ok 10\n" - : - "not ok 10\n" - : - "not ok 10\n"; -# A random pathologically nested example, which parses like -# $a ? ($b ? ($c ? $d : ($e ? $f : $g)) : $h) : ($i ? $j : $k), -# i.e., -# if ($a) { -# if ($b) { -# if ($c) { -# $d; -# } else { -# if ($e) { -# $f; -# } else { -# $g; -# } -# } -# } else { -# $h; -# } -# } else { -# if ($i) { -# $j; -# } else { -# $k; -# } -# } -# We exercise all the branches. The ".5"s should be dont-cares. -($d, $f, $g, $h, $j, $k) = - ("ok 11\n", "ok 12\n", "ok 13\n", "ok 14\n", "ok 15\n", "ok 16\n"); -($a, $b, $c, $e, $i) = (1, 1, 1, .5, .5); -print $a ? $ b ? $c ? $d : $e ? $f : $g : $h : $i ? $j : $k; -($a, $b, $c, $e, $i) = (1, 1, 0, 1, .5); -print $a ? $ b ? $c ? $d : $e ? $f : $g : $h : $i ? $j : $k; -($a, $b, $c, $e, $i) = (1, 1, 0, 0, .5); -print $a ? $ b ? $c ? $d : $e ? $f : $g : $h : $i ? $j : $k; -($a, $b, $c, $e, $i) = (1, 0, .5, .5, .5); -print $a ? $ b ? $c ? $d : $e ? $f : $g : $h : $i ? $j : $k; -($a, $b, $c, $e, $i) = (0, .5, .5, .5, 1); -print $a ? $ b ? $c ? $d : $e ? $f : $g : $h : $i ? $j : $k; -($a, $b, $c, $e, $i) = (0, .5, .5, .5, 0); -print $a ? $ b ? $c ? $d : $e ? $f : $g : $h : $i ? $j : $k; diff --git a/vms/perly_c.vms b/vms/perly_c.vms index 204cdc7..89e66e7 100644 --- a/vms/perly_c.vms +++ b/vms/perly_c.vms @@ -148,60 +148,60 @@ static short yydgoto[] = { 1, 84, 85, 86, 15, 16, 17, 18, 92, 281, }; static short yysindex[] = { 0, - 0, 0, -230, 0, 0, 0, -233, 0, 0, 0, - 0, 0, 0, 0, 819, 0, 0, 0, -226, -194, - 27, 0, -194, 0, 0, 0, -32, -32, 0, 32, - 0, 2213, 0, 0, 56, 68, 71, 97, -18, 2213, - 110, 112, 137, 1004, 940, -32, 1149, 1268, -81, 2213, - 52, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413, - 0, 2213, 2213, -32, -32, -32, -32, -100, 0, 607, - 401, -25, -65, -64, 0, 0, 60, 144, 138, 152, - 0, 0, 0, 0, 0, 0, 0, 76, 0, -60, - 0, -50, -60, 0, 0, 0, 0, 0, 2213, 171, - 2213, 651, 76, -60, 0, 0, 0, 0, 0, 0, - 174, 401, 177, 1454, 940, 0, 651, 0, -65, 152, - 0, 2213, 0, 181, 0, 651, -11, 102, -8, 2213, - 651, 1562, 0, 0, 0, -59, 0, 152, -109, -109, - -109, -86, -86, 165, -34, 0, 127, -109, -109, 0, - 0, 0, 0, 76, 0, 2213, 2213, 2213, 2213, 2213, + 0, 0, -236, 0, 0, 0, -231, 0, 0, 0, + 0, 0, 0, 0, 819, 0, 0, 0, -211, -209, + 3, 0, -209, 0, 0, 0, -32, -32, 0, 23, + 0, 2213, 0, 0, 28, 30, 32, 33, -18, 2213, + 42, 52, 64, 1004, 940, -32, 1149, 1268, -168, 2213, + 174, -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413, + 0, 2213, 2213, -32, -32, -32, -32, -173, 0, 607, + 404, -27, -71, -67, 0, 0, -12, 68, 66, 94, + 0, 0, 0, 0, 0, 0, 0, 27, 0, -108, + 0, -100, -108, 0, 0, 0, 0, 0, 2213, 122, + 2213, 743, 27, -108, 0, 0, 0, 0, 0, 0, + 125, 404, 135, 1454, 940, 0, 743, 0, -71, 94, + 0, 2213, 0, 140, 0, 743, -25, 38, -8, 2213, + 743, 1562, 0, 0, 0, -114, 0, 94, 245, 245, + 245, -123, -123, 106, -34, 0, -53, 245, 245, 0, + 0, 0, 0, 27, 0, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 0, 0, -26, 2213, 1723, 2213, 2213, 2213, 2213, 2213, 2213, 1796, - 0, 2213, 0, 0, -41, 8, -41, 342, 0, 2213, - -35, 0, -41, 2213, 2213, 2213, 2213, 225, 1859, 0, - 0, 0, -2, -42, 240, 2213, 152, 1932, 2004, 0, - 160, 0, 0, 13, 26, 0, 2213, 196, 0, 0, - -137, -137, 0, -137, -137, -137, -1, -1, 0, 641, - 651, 245, 270, -158, 401, -53, 1034, 1034, 1067, 383, - 740, 807, -109, -109, 2213, 0, 2140, 2213, 0, 268, - 120, 0, 40, 214, 123, 217, 132, 236, 136, 0, - 77, 401, 59, -40, 2213, -40, 0, 290, 2213, 0, - 2213, 76, -137, 0, 297, 0, 303, -137, 311, 325, - 0, 328, 607, 0, 0, 339, 332, 2213, 0, 0, - 0, 88, 0, 95, 0, 98, 0, 0, 0, 239, - 2213, 2213, 139, 0, 117, 243, 2213, 267, 0, 0, - 269, 0, 276, 0, 277, 0, 0, 0, 0, 0, - 351, 0, 0, 585, 0, 0, 289, 289, 289, 289, - 2213, 289, 2213, 374, 0, 0, 0, 0, 250, 703, - 301, 0, 0, 390, 0, 0, 0, 0, 0, 0, - 0, -100, -100, -229, -229, 407, -100, 404, 289, 0, - 0, 0, 0, 0, 0, 289, 433, 0, 0, 289, - 0, 1859, -100, 350, 0, 2213, -100, 435, 0, 0, - 443, 0, 289, 289, 0, -229, 0, + 0, 2213, 0, 0, -90, -48, -90, 285, 0, 2213, + -35, 0, -90, 2213, 2213, 2213, 2213, 182, 1859, 0, + 0, 0, -2, -42, 180, 2213, 94, 1932, 2004, 0, + 102, 0, 0, 13, -21, 0, 2213, 142, 0, 0, + 184, 184, 0, 184, 184, 184, -51, -51, 0, 296, + 743, 386, 683, -158, 404, 643, 1034, 1034, 1067, 1345, + 960, -112, 245, 245, 2213, 0, 2140, 2213, 0, 216, + 120, 0, 40, 127, 123, 214, 132, 217, 136, 0, + 77, 404, -3, -47, 2213, -47, 0, 220, 2213, 0, + 2213, 27, 184, 0, 224, 0, 240, 184, 244, 246, + 0, 261, 607, 0, 0, 267, 227, 2213, 0, 0, + 0, 88, 0, 95, 0, 98, 0, 0, 0, 236, + 2213, 2213, 139, 0, 117, 239, 2213, 194, 0, 0, + 206, 0, 213, 0, 218, 0, 0, 0, 0, 0, + 293, 0, 0, 585, 0, 0, 221, 221, 221, 221, + 2213, 221, 2213, 325, 0, 0, 0, 0, 243, 703, + 255, 0, 0, 327, 0, 0, 0, 0, 0, 0, + 0, -173, -173, -240, -240, 351, -173, 332, 221, 0, + 0, 0, 0, 0, 0, 221, 354, 0, 0, 221, + 0, 1859, -173, 350, 0, 2213, -173, 360, 0, 0, + 361, 0, 221, 221, 0, -240, 0, }; static short yyrindex[] = { 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 2282, 0, 0, 2401, 2566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 0, -7, + 0, 0, 0, 0, 0, 0, 0, 90, 0, -16, 1607, 2620, 2673, 2721, 0, 0, 2769, 2856, 0, -38, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -47, - 0, 0, -47, 0, 0, 0, 0, 0, 2566, 0, - 0, 4274, 0, -110, 0, 0, 0, 0, 0, 0, - 0, 1886, 0, 0, 445, 0, 4339, 467, 532, 3224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, + 0, 0, -54, 0, 0, 0, 0, 0, 2566, 0, + 0, 4274, 0, -115, 0, 0, 0, 0, 0, 0, + 0, 1886, 0, 0, 374, 0, 4339, 467, 532, 3224, 0, 0, 0, 3005, 0, 4394, 2673, 0, 0, 2566, 4404, 0, 0, 0, 0, 3055, 0, 3459, 3695, 3746, 3801, 3582, 3630, 3127, 0, 0, 0, 3866, 3914, 0, @@ -209,151 +209,151 @@ static short yyrindex[] = { 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, 3175, 0, 0, -36, 0, -36, 880, 0, 445, - 0, 0, 364, 447, 0, 0, 0, 0, 415, 0, - 0, 0, 0, 449, 0, 0, 3510, 0, 0, 0, + 0, 3175, 0, 0, -43, 0, -43, 880, 0, 374, + 0, 0, 303, 390, 0, 0, 0, 0, 389, 0, + 0, 0, 0, 422, 0, 0, 3510, 0, 0, 0, 0, 0, 0, 0, 3291, 0, 0, 3346, 0, 0, - -6, 2, 0, 23, 54, 79, 2521, 2697, 0, 2274, + 8, 12, 0, 61, 62, 65, 1479, 1642, 0, 2274, 4445, 4493, 4120, 4168, 2421, 0, 4697, 4745, 4630, 4591, 4543, 4219, 4000, 4055, 0, 0, 0, 0, 0, 3411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2474, -29, 0, 437, 0, 0, 0, 0, 0, - 2566, 0, 81, 0, 0, 0, 0, 457, 0, 0, - 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, + 0, 2474, -30, 0, 405, 0, 0, 0, 0, 0, + 2566, 0, 78, 0, 0, 0, 0, 432, 0, 0, + 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 445, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 374, 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, 454, 0, 0, 0, 0, 0, 0, 1201, + 0, 0, 415, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 90, 186, 186, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 465, 90, 880, 0, 0, 90, 0, 0, 0, + 0, 435, 90, 880, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, }; static short yygindex[] = { 0, - 0, 0, 116, 486, 0, 0, -4, 0, 63, 153, - -93, 0, 0, 0, -319, -15, 2480, 0, 1744, 470, - 472, 0, 0, 0, 509, -37, 0, 0, 370, -184, - 146, 199, 341, -88, -183, 4, 0, 0, 0, 526, - -20, 278, 216, 0, -82, 0, 0, 0, 0, 0, + 0, 0, 50, 453, 0, 0, -22, 0, 63, 153, + -93, 0, 0, 0, -346, -15, 2480, 0, 1744, 437, + 439, 0, 0, 0, 481, 755, 0, 0, 341, -186, + 124, 170, 313, -88, -183, 49, 0, 0, 0, 498, + -66, 247, 225, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; #define YYTABLESIZE 5051 static short yytable[] = { 70, - 198, 300, 75, 64, 312, 280, 228, 120, 279, 64, - 199, 60, 60, 257, 183, 138, 278, 64, 328, 75, - 75, 110, 62, 21, 296, 186, 188, 170, 219, 64, - 87, 100, 129, 15, 18, 4, 5, 6, 299, 7, - 8, 222, 39, 145, 147, 379, 376, 377, 122, 123, - 221, 15, 18, 308, 75, 137, 160, 185, 187, 160, - 39, 120, 89, 16, 258, 184, 9, 150, 151, 152, - 153, 101, 197, 160, 160, 60, 397, 68, 160, 186, - 319, 16, 25, 203, 217, 91, 62, 64, 66, 26, - 25, 132, 120, 64, 17, 105, 255, 182, 213, 214, - 204, 205, 206, 207, 208, 209, 116, 106, 160, 125, - 107, 185, 17, 344, 276, 65, 224, 326, 216, 20, - 282, 38, 26, 22, 23, 26, 26, 26, 345, 26, - 167, 26, 26, 354, 26, 346, 108, 20, 347, 38, - 231, 232, 234, 235, 236, 237, 238, 239, 26, 113, - 193, 114, 177, 26, 246, 178, 366, 352, 179, 180, - 181, 40, 161, 162, 163, 202, 261, 263, 264, 265, - 266, 267, 268, 269, 271, 130, 115, 154, 318, 15, - 26, 321, 189, 190, 214, 21, 331, 60, 283, 232, - 323, 232, 335, 293, 325, 192, 191, 351, 25, 194, - 302, 391, 304, 306, 178, 298, 196, 179, 180, 181, - 200, 310, 26, 210, 26, 26, 230, 211, 21, 229, - 218, 21, 21, 21, 95, 21, 220, 21, 21, 96, - 21, 256, 181, 75, 75, 75, 75, 120, 225, 313, - 75, 315, 316, 120, 21, 164, 161, 162, 163, 21, - 60, 165, 166, 167, 168, 227, 273, 161, 162, 163, - 64, 75, 75, 75, 275, 161, 162, 163, 169, 171, + 198, 300, 75, 64, 60, 280, 228, 60, 279, 64, + 199, 328, 183, 257, 219, 62, 278, 64, 379, 186, + 75, 110, 296, 188, 15, 21, 197, 170, 64, 4, + 5, 6, 129, 7, 8, 376, 377, 203, 299, 229, + 276, 222, 15, 145, 147, 87, 282, 89, 18, 397, + 221, 185, 39, 308, 75, 187, 160, 22, 23, 160, + 9, 91, 101, 184, 258, 186, 18, 105, 60, 106, + 39, 107, 108, 160, 160, 25, 100, 68, 160, 62, + 319, 113, 204, 205, 206, 207, 208, 209, 130, 26, + 25, 114, 64, 122, 123, 182, 255, 185, 213, 214, + 137, 16, 17, 115, 154, 20, 116, 190, 160, 125, + 189, 344, 150, 151, 152, 153, 224, 326, 38, 16, + 17, 40, 26, 20, 191, 26, 26, 26, 345, 26, + 167, 26, 26, 354, 26, 346, 38, 192, 347, 15, + 231, 232, 234, 235, 236, 237, 238, 239, 26, 25, + 193, 194, 177, 26, 366, 178, 196, 352, 179, 180, + 181, 200, 220, 216, 210, 202, 261, 263, 264, 265, + 266, 267, 268, 269, 271, 211, 167, 168, 318, 218, + 26, 321, 60, 225, 214, 21, 331, 298, 283, 232, + 323, 232, 335, 293, 325, 181, 227, 351, 177, 391, + 302, 178, 304, 306, 179, 180, 181, 273, 275, 64, + 66, 310, 26, 132, 26, 26, 230, 64, 21, 320, + 301, 21, 21, 21, 95, 21, 307, 21, 21, 96, + 21, 256, 311, 75, 75, 75, 75, 65, 309, 313, + 75, 315, 316, 60, 21, 164, 161, 162, 163, 21, + 163, 165, 166, 167, 168, 317, 327, 161, 162, 163, + 333, 75, 75, 75, 337, 161, 162, 163, 169, 171, 172, 173, 174, 175, 176, 177, 21, 109, 178, 384, - 301, 179, 180, 181, 307, 309, 311, 160, 160, 160, + 338, 179, 180, 181, 339, 343, 340, 160, 160, 160, 160, 161, 162, 163, 160, 349, 160, 161, 162, 163, - 163, 214, 160, 160, 160, 160, 320, 317, 21, 322, - 21, 21, 161, 162, 163, 160, 160, 160, 327, 160, - 160, 160, 160, 160, 160, 160, 160, 283, 324, 160, - 333, 348, 160, 160, 160, 353, 329, 337, 329, 161, - 162, 163, 370, 338, 336, 26, 26, 26, 26, 26, - 26, 339, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 340, 70, 341, 26, 26, - 1, 26, 26, 26, 26, 26, 161, 162, 163, 342, + 341, 214, 160, 160, 160, 160, 322, 342, 21, 324, + 21, 21, 161, 162, 163, 160, 160, 160, 355, 160, + 160, 160, 160, 160, 160, 160, 160, 283, 348, 160, + 356, 353, 160, 160, 160, 370, 329, 357, 329, 161, + 162, 163, 358, 361, 336, 26, 26, 26, 26, 26, + 26, 359, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 369, 70, 372, 26, 26, + 1, 26, 26, 26, 26, 26, 161, 162, 163, 371, 26, 26, 26, 26, 26, 26, 26, 161, 162, 163, - 343, 355, 26, 356, 161, 162, 163, 161, 162, 163, - 357, 358, 26, 44, 26, 26, 44, 44, 44, 359, - 44, 361, 44, 44, 369, 44, 161, 162, 163, 161, - 162, 163, 161, 162, 163, 371, 161, 162, 163, 44, - 372, 161, 162, 163, 44, 161, 162, 163, 161, 162, - 163, 21, 21, 21, 21, 21, 21, 380, 21, 21, + 382, 380, 26, 386, 161, 162, 163, 161, 162, 163, + 393, 394, 26, 44, 26, 26, 44, 44, 44, 277, + 44, 53, 44, 44, 185, 44, 161, 162, 163, 161, + 162, 163, 161, 162, 163, 62, 161, 162, 163, 44, + 37, 161, 162, 163, 44, 161, 162, 163, 161, 162, + 163, 21, 21, 21, 21, 21, 21, 35, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 44, 382, 170, 21, 21, 277, 21, 21, 21, - 21, 21, 386, 35, 390, 393, 21, 21, 21, 21, - 21, 21, 21, 394, 53, 185, 62, 37, 21, 186, - 363, 364, 365, 44, 367, 183, 44, 40, 21, 195, - 21, 21, 195, 195, 195, 35, 195, 174, 195, 195, - 174, 195, 37, 161, 162, 163, 161, 162, 163, 104, - 134, 383, 135, 79, 174, 174, 233, 388, 385, 174, - 195, 165, 387, 167, 168, 161, 162, 163, 161, 162, - 163, 368, 161, 162, 163, 395, 396, 290, 93, 161, - 162, 163, 0, 332, 176, 177, 0, 195, 178, 174, + 21, 44, 186, 183, 21, 21, 170, 21, 21, 21, + 21, 21, 40, 37, 390, 35, 21, 21, 21, 21, + 21, 21, 21, 161, 162, 163, 104, 134, 21, 135, + 363, 364, 365, 44, 367, 79, 44, 233, 21, 195, + 21, 21, 195, 195, 195, 388, 195, 174, 195, 195, + 174, 195, 368, 161, 162, 163, 161, 162, 163, 290, + 93, 383, 332, 0, 174, 174, 0, 0, 385, 174, + 195, 0, 387, 0, 0, 161, 162, 163, 161, 162, + 163, 0, 161, 162, 163, 395, 396, 0, 0, 0, + 4, 5, 6, 0, 7, 8, 0, 195, 178, 174, 0, 179, 180, 181, 196, 0, 0, 196, 196, 196, - 0, 196, 145, 196, 196, 145, 196, 374, 375, 0, - 177, 0, 381, 178, 0, 0, 179, 180, 181, 145, - 145, 0, 195, 0, 145, 196, 0, 0, 389, 0, - 0, 0, 392, 0, 0, 0, 0, 4, 5, 6, - 0, 7, 8, 0, 0, 4, 5, 6, 0, 7, + 0, 196, 145, 196, 196, 145, 196, 0, 0, 0, + 0, 9, 165, 166, 167, 168, 374, 375, 0, 145, + 145, 381, 195, 0, 145, 196, 0, 0, 0, 0, + 171, 172, 173, 174, 175, 176, 177, 389, 0, 178, + 0, 392, 179, 180, 181, 4, 5, 6, 0, 7, 8, 0, 0, 0, 145, 360, 44, 44, 44, 44, - 44, 44, 0, 44, 44, 44, 0, 0, 9, 44, + 44, 44, 0, 44, 44, 44, 0, 0, 0, 44, 0, 0, 44, 44, 44, 44, 9, 170, 0, 44, 44, 0, 44, 44, 44, 44, 44, 196, 0, 0, - 0, 44, 44, 44, 44, 44, 44, 0, 0, 165, - 166, 167, 168, 44, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 44, 0, 44, 44, 165, 166, 167, - 168, 175, 176, 177, 0, 0, 178, 0, 0, 179, - 180, 181, 0, 0, 169, 171, 172, 173, 174, 175, - 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, - 0, 0, 0, 195, 195, 195, 195, 195, 0, 195, + 0, 44, 44, 44, 44, 44, 44, 0, 0, 0, + 0, 0, 165, 44, 167, 168, 0, 0, 0, 0, + 0, 0, 0, 44, 164, 44, 44, 0, 0, 0, + 165, 166, 167, 168, 0, 176, 177, 0, 0, 178, + 312, 0, 179, 180, 181, 170, 0, 169, 171, 172, + 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, + 179, 180, 181, 195, 195, 195, 195, 195, 0, 195, 195, 195, 0, 0, 0, 195, 0, 0, 174, 174, 174, 174, 0, 0, 0, 174, 195, 174, 195, 195, 195, 195, 195, 174, 174, 174, 174, 195, 195, 195, 195, 195, 195, 0, 0, 170, 174, 174, 174, 195, 174, 174, 174, 174, 174, 174, 174, 174, 0, 195, 174, 195, 195, 174, 174, 174, 0, 0, 196, 196, - 196, 196, 196, 0, 196, 196, 196, 0, 0, 0, - 196, 0, 0, 145, 145, 145, 145, 0, 0, 0, + 196, 196, 196, 0, 196, 196, 196, 0, 0, 120, + 196, 0, 0, 145, 145, 145, 145, 138, 0, 0, 145, 196, 145, 196, 196, 196, 196, 196, 145, 145, 145, 145, 196, 196, 196, 196, 196, 196, 0, 0, 0, 145, 145, 145, 196, 145, 145, 145, 145, 145, 145, 145, 145, 0, 196, 145, 196, 196, 145, 145, - 145, 54, 0, 0, 64, 66, 52, 0, 59, 0, + 145, 54, 0, 120, 64, 66, 52, 0, 59, 0, 67, 63, 0, 62, 0, 164, 0, 0, 0, 0, - 0, 165, 166, 167, 168, 0, 0, 61, 156, 157, - 158, 159, 65, 0, 0, 160, 0, 0, 169, 171, + 0, 165, 166, 167, 168, 0, 217, 61, 156, 157, + 158, 159, 65, 0, 120, 160, 0, 0, 169, 171, 172, 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, 0, 0, 161, 162, 163, 60, 0, 0, 44, 0, 0, 44, 44, 44, 0, 44, - 0, 44, 44, 0, 44, 0, 0, 165, 166, 167, - 168, 0, 0, 0, 0, 0, 0, 0, 44, 167, - 168, 25, 0, 44, 55, 171, 172, 173, 174, 175, - 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, - 176, 177, 0, 0, 178, 0, 0, 179, 180, 181, + 0, 44, 44, 164, 44, 0, 0, 0, 0, 165, + 166, 167, 168, 0, 0, 0, 0, 0, 44, 0, + 0, 25, 0, 44, 55, 0, 169, 171, 172, 173, + 174, 175, 176, 177, 0, 0, 178, 0, 0, 179, + 180, 181, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 54, 0, 0, 64, 66, 52, 0, 59, 0, 67, 63, 164, 62, 0, 0, 0, 0, 165, - 166, 167, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 65, 0, 44, 0, 171, 172, 173, + 166, 167, 168, 177, 0, 0, 178, 0, 0, 179, + 180, 181, 44, 65, 0, 44, 0, 171, 172, 173, 174, 175, 176, 177, 0, 0, 178, 0, 0, 179, - 180, 181, 0, 0, 0, 0, 165, 166, 167, 168, - 60, 0, 0, 0, 0, 0, 54, 0, 0, 64, - 66, 52, 0, 59, 0, 67, 63, 0, 62, 176, - 177, 0, 0, 178, 0, 0, 179, 180, 181, 0, - 0, 0, 25, 0, 0, 55, 0, 65, 0, 0, + 180, 181, 0, 0, 0, 0, 0, 0, 0, 120, + 60, 167, 168, 0, 0, 120, 54, 0, 0, 64, + 66, 52, 0, 59, 0, 67, 63, 0, 62, 0, + 0, 0, 176, 177, 0, 0, 178, 0, 0, 179, + 180, 181, 25, 0, 0, 55, 0, 65, 0, 0, 0, 0, 0, 0, 24, 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, 0, 0, 34, 0, 0, - 35, 36, 37, 38, 60, 167, 168, 39, 40, 0, + 35, 36, 37, 38, 60, 0, 0, 39, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, - 47, 48, 49, 50, 51, 0, 0, 177, 0, 0, - 178, 53, 0, 179, 180, 181, 25, 0, 0, 55, + 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 25, 0, 0, 55, 0, 56, 0, 57, 58, 44, 44, 44, 44, 44, 44, 0, 44, 44, 44, 0, 0, 0, 44, 0, 0, 44, 44, 44, 44, 0, 0, 0, 44, 44, @@ -365,10 +365,10 @@ static short yytable[] = { 70, 0, 0, 65, 0, 0, 0, 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, 0, 0, 60, - 0, 139, 53, 0, 139, 0, 0, 0, 0, 0, + 0, 139, 53, 0, 139, 0, 165, 166, 167, 168, 0, 0, 56, 0, 57, 58, 0, 0, 139, 139, - 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, - 0, 25, 34, 0, 55, 0, 0, 0, 0, 0, + 26, 27, 28, 29, 30, 0, 31, 32, 33, 176, + 177, 25, 34, 178, 55, 0, 179, 180, 181, 0, 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 139, 46, 47, 48, 49, 50, 51, 54, 0, 0, 64, 66, 52, 53, 59, 0, 67, @@ -392,33 +392,33 @@ static short yytable[] = { 70, 0, 0, 0, 0, 0, 0, 54, 0, 0, 64, 66, 52, 0, 59, 212, 67, 63, 0, 62, 0, 139, 139, 139, 60, 139, 146, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, - 0, 0, 0, 0, 26, 27, 28, 29, 30, 0, - 31, 32, 33, 0, 0, 0, 34, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 0, 65, 0, 73, + 0, 0, 73, 0, 26, 27, 28, 29, 30, 0, + 31, 32, 33, 0, 0, 0, 34, 73, 55, 0, 0, 0, 0, 0, 60, 0, 0, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 53, 73, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, 58, 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, 54, 0, 34, 64, 66, 52, 0, 59, 223, 67, 63, 0, 62, 40, 0, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, 65, 0, 0, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 53, 165, 166, 167, 168, 0, 0, 0, 0, 0, 56, 0, 57, 58, 0, 0, 0, 78, 0, 0, - 78, 0, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 78, 78, 0, 0, 0, 26, + 78, 0, 60, 175, 176, 177, 0, 0, 178, 0, + 0, 179, 180, 181, 78, 78, 0, 0, 0, 26, 27, 28, 29, 30, 0, 31, 32, 33, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 34, 74, 0, 0, 74, 0, 55, 0, 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, 78, - 0, 0, 0, 46, 47, 48, 49, 50, 51, 0, + 74, 0, 0, 46, 47, 48, 49, 50, 51, 0, 26, 27, 28, 29, 30, 53, 31, 32, 33, 0, 0, 0, 34, 0, 0, 56, 0, 57, 58, 0, - 0, 0, 0, 40, 0, 41, 42, 43, 44, 45, + 0, 0, 0, 40, 74, 41, 42, 43, 44, 45, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, - 0, 0, 0, 0, 0, 54, 53, 0, 64, 66, + 73, 73, 73, 73, 0, 54, 53, 73, 64, 66, 52, 0, 59, 262, 67, 63, 56, 62, 57, 58, - 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 98, 0, 0, 0, 0, 0, 0, 73, 73, 0, 0, 111, 0, 0, 0, 65, 0, 119, 98, 127, 0, 0, 0, 133, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, @@ -432,10 +432,10 @@ static short yytable[] = { 70, 78, 78, 0, 0, 0, 78, 60, 0, 0, 0, 0, 54, 0, 0, 64, 66, 52, 0, 59, 0, 67, 63, 0, 62, 0, 0, 78, 78, 78, 0, + 0, 0, 0, 74, 74, 74, 74, 0, 0, 0, + 74, 55, 65, 0, 259, 0, 161, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 65, 0, 259, 0, 161, 0, 0, 161, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 161, 161, 0, 0, 0, 0, 60, + 0, 74, 74, 161, 161, 0, 0, 0, 0, 60, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 64, 66, 52, 0, 59, 303, 67, 63, 0, 62, 0, 161, 26, @@ -497,15 +497,15 @@ static short yytable[] = { 70, 0, 77, 77, 139, 140, 141, 142, 143, 0, 0, 0, 148, 149, 0, 0, 111, 111, 111, 111, 0, 0, 0, 111, 167, 167, 167, 167, 0, 0, 0, - 167, 73, 167, 0, 73, 0, 77, 0, 167, 167, - 167, 167, 0, 111, 111, 111, 0, 111, 73, 73, + 167, 0, 167, 0, 0, 0, 77, 0, 167, 167, + 167, 167, 0, 111, 111, 111, 0, 111, 0, 0, 201, 167, 167, 167, 0, 167, 167, 167, 167, 167, 167, 167, 167, 0, 0, 167, 0, 0, 167, 167, 167, 0, 0, 0, 0, 0, 183, 0, 0, 183, - 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 183, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 241, 242, 243, 244, 245, 0, + 0, 0, 0, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 183, 0, 150, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 272, 163, 163, 163, 163, 0, 150, 150, 163, @@ -514,16 +514,16 @@ static short yytable[] = { 70, 163, 163, 163, 0, 163, 163, 163, 163, 163, 163, 163, 163, 150, 145, 163, 0, 145, 163, 163, 163, 102, 102, 102, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 0, 0, 0, 145, 0, 74, 0, 0, - 74, 0, 0, 0, 0, 77, 77, 77, 77, 0, - 0, 0, 77, 0, 74, 74, 0, 0, 334, 0, + 145, 145, 0, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 77, 77, 77, 77, 0, + 0, 0, 77, 0, 0, 0, 0, 0, 334, 0, 0, 148, 0, 0, 148, 145, 0, 0, 0, 0, 0, 0, 0, 77, 77, 77, 0, 0, 148, 148, - 0, 0, 0, 148, 0, 0, 0, 0, 0, 74, - 0, 350, 73, 73, 73, 73, 0, 0, 0, 73, + 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, + 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 146, 148, 0, 0, 0, 0, 0, 0, - 73, 73, 0, 0, 0, 0, 146, 146, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 146, 0, 0, 0, 146, 0, 0, 0, 0, 0, 183, 183, 183, 183, 0, 0, 0, 183, 0, 183, 0, 0, 0, 0, 0, 183, 183, 183, 183, 0, 0, 0, 0, @@ -537,10 +537,10 @@ static short yytable[] = { 70, 150, 0, 0, 150, 0, 0, 150, 150, 150, 0, 0, 0, 0, 0, 145, 145, 145, 145, 156, 0, 0, 145, 0, 145, 0, 0, 0, 0, 0, 145, - 145, 145, 145, 0, 0, 0, 0, 0, 74, 74, - 74, 74, 145, 145, 145, 74, 145, 145, 145, 145, + 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 145, 145, 145, 0, 145, 145, 145, 145, 145, 145, 145, 145, 0, 0, 145, 0, 0, 145, - 145, 145, 148, 148, 148, 148, 74, 74, 0, 148, + 145, 145, 148, 148, 148, 148, 0, 0, 0, 148, 0, 148, 0, 0, 0, 0, 0, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 148, 148, 0, 148, 148, 148, 148, 148, 148, @@ -749,119 +749,119 @@ static short yytable[] = { 70, 114, }; static short yycheck[] = { 15, - 94, 44, 41, 36, 58, 41, 41, 45, 44, 36, - 99, 59, 123, 40, 40, 53, 200, 36, 59, 58, - 59, 40, 59, 257, 209, 91, 91, 63, 40, 59, - 257, 28, 48, 41, 41, 266, 267, 268, 41, 270, - 271, 130, 41, 59, 60, 365, 276, 277, 45, 46, - 59, 59, 59, 41, 93, 52, 41, 123, 123, 44, - 59, 99, 257, 41, 91, 91, 297, 64, 65, 66, - 67, 40, 93, 58, 59, 123, 396, 15, 63, 91, - 41, 59, 123, 104, 122, 59, 123, 36, 37, 0, - 123, 40, 130, 123, 41, 40, 123, 123, 114, 115, - 105, 106, 107, 108, 109, 110, 44, 40, 93, 47, - 40, 123, 59, 298, 197, 64, 132, 41, 115, 41, - 203, 41, 33, 8, 9, 36, 37, 38, 41, 40, - 289, 42, 43, 317, 45, 41, 40, 59, 41, 59, - 156, 157, 158, 159, 160, 161, 162, 163, 59, 40, - 88, 40, 311, 64, 170, 314, 341, 41, 317, 318, - 319, 41, 300, 301, 302, 103, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 257, 40, 278, 59, 59, - 91, 59, 123, 40, 200, 0, 275, 298, 204, 205, - 59, 207, 281, 209, 59, 44, 59, 59, 123, 260, - 216, 386, 218, 219, 314, 210, 257, 317, 318, 319, - 40, 227, 123, 40, 125, 126, 154, 41, 33, 93, - 40, 36, 37, 38, 257, 40, 125, 42, 43, 262, - 45, 258, 319, 272, 273, 274, 275, 275, 298, 255, - 279, 257, 258, 281, 59, 281, 300, 301, 302, 64, - 298, 287, 288, 289, 290, 91, 298, 300, 301, 302, - 36, 300, 301, 302, 257, 300, 301, 302, 304, 305, + 94, 44, 41, 36, 59, 41, 41, 123, 44, 36, + 99, 59, 40, 40, 40, 59, 200, 36, 365, 91, + 59, 40, 209, 91, 41, 257, 93, 63, 59, 266, + 267, 268, 48, 270, 271, 276, 277, 104, 41, 93, + 197, 130, 59, 59, 60, 257, 203, 257, 41, 396, + 59, 123, 41, 41, 93, 123, 41, 8, 9, 44, + 297, 59, 40, 91, 91, 91, 59, 40, 123, 40, + 59, 40, 40, 58, 59, 123, 28, 15, 63, 123, + 41, 40, 105, 106, 107, 108, 109, 110, 257, 0, + 123, 40, 123, 45, 46, 123, 123, 123, 114, 115, + 52, 41, 41, 40, 278, 41, 44, 40, 93, 47, + 123, 298, 64, 65, 66, 67, 132, 41, 41, 59, + 59, 41, 33, 59, 59, 36, 37, 38, 41, 40, + 289, 42, 43, 317, 45, 41, 59, 44, 41, 59, + 156, 157, 158, 159, 160, 161, 162, 163, 59, 123, + 88, 260, 311, 64, 341, 314, 257, 41, 317, 318, + 319, 40, 125, 115, 40, 103, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 41, 289, 290, 59, 40, + 91, 59, 298, 298, 200, 0, 275, 210, 204, 205, + 59, 207, 281, 209, 59, 319, 91, 59, 311, 386, + 216, 314, 218, 219, 317, 318, 319, 298, 257, 36, + 37, 227, 123, 40, 125, 126, 154, 36, 33, 93, + 41, 36, 37, 38, 257, 40, 125, 42, 43, 262, + 45, 258, 91, 272, 273, 274, 275, 64, 260, 255, + 279, 257, 258, 298, 59, 281, 300, 301, 302, 64, + 302, 287, 288, 289, 290, 40, 260, 300, 301, 302, + 41, 300, 301, 302, 41, 300, 301, 302, 304, 305, 306, 307, 308, 309, 310, 311, 91, 296, 314, 373, - 41, 317, 318, 319, 125, 260, 91, 272, 273, 274, + 41, 317, 318, 319, 41, 59, 41, 272, 273, 274, 275, 300, 301, 302, 279, 311, 281, 300, 301, 302, - 302, 317, 287, 288, 289, 290, 93, 40, 123, 93, - 125, 126, 300, 301, 302, 300, 301, 302, 260, 304, + 40, 317, 287, 288, 289, 290, 93, 41, 123, 93, + 125, 126, 300, 301, 302, 300, 301, 302, 125, 304, 305, 306, 307, 308, 309, 310, 311, 343, 93, 314, - 41, 93, 317, 318, 319, 93, 274, 41, 276, 300, - 301, 302, 93, 41, 282, 256, 257, 258, 259, 260, - 261, 41, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 41, 382, 40, 279, 280, - 0, 282, 283, 284, 285, 286, 300, 301, 302, 41, + 125, 93, 317, 318, 319, 93, 274, 125, 276, 300, + 301, 302, 125, 123, 282, 256, 257, 258, 259, 260, + 261, 59, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 41, 382, 41, 279, 280, + 0, 282, 283, 284, 285, 286, 300, 301, 302, 125, 291, 292, 293, 294, 295, 296, 297, 300, 301, 302, - 59, 125, 303, 125, 300, 301, 302, 300, 301, 302, - 125, 125, 313, 33, 315, 316, 36, 37, 38, 59, + 59, 41, 303, 40, 300, 301, 302, 300, 301, 302, + 41, 41, 313, 33, 315, 316, 36, 37, 38, 125, 40, 123, 42, 43, 41, 45, 300, 301, 302, 300, - 301, 302, 300, 301, 302, 125, 300, 301, 302, 59, + 301, 302, 300, 301, 302, 123, 300, 301, 302, 59, 41, 300, 301, 302, 64, 300, 301, 302, 300, 301, - 302, 256, 257, 258, 259, 260, 261, 41, 263, 264, + 302, 256, 257, 258, 259, 260, 261, 59, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 91, 59, 63, 279, 280, 125, 282, 283, 284, - 285, 286, 40, 59, 125, 41, 291, 292, 293, 294, - 295, 296, 297, 41, 123, 41, 123, 41, 303, 41, - 338, 339, 340, 123, 342, 59, 126, 41, 313, 33, - 315, 316, 36, 37, 38, 41, 40, 41, 42, 43, - 44, 45, 59, 300, 301, 302, 300, 301, 302, 34, - 51, 369, 51, 15, 58, 59, 157, 382, 376, 63, - 64, 287, 380, 289, 290, 300, 301, 302, 300, 301, - 302, 343, 300, 301, 302, 393, 394, 207, 23, 300, - 301, 302, -1, 276, 310, 311, -1, 91, 314, 93, + 275, 91, 41, 59, 279, 280, 63, 282, 283, 284, + 285, 286, 41, 59, 125, 41, 291, 292, 293, 294, + 295, 296, 297, 300, 301, 302, 34, 51, 303, 51, + 338, 339, 340, 123, 342, 15, 126, 157, 313, 33, + 315, 316, 36, 37, 38, 382, 40, 41, 42, 43, + 44, 45, 343, 300, 301, 302, 300, 301, 302, 207, + 23, 369, 276, -1, 58, 59, -1, -1, 376, 63, + 64, -1, 380, -1, -1, 300, 301, 302, 300, 301, + 302, -1, 300, 301, 302, 393, 394, -1, -1, -1, + 266, 267, 268, -1, 270, 271, -1, 91, 314, 93, -1, 317, 318, 319, 33, -1, -1, 36, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 362, 363, -1, - 311, -1, 367, 314, -1, -1, 317, 318, 319, 58, - 59, -1, 126, -1, 63, 64, -1, -1, 383, -1, - -1, -1, 387, -1, -1, -1, -1, 266, 267, 268, - -1, 270, 271, -1, -1, 266, 267, 268, -1, 270, + -1, 40, 41, 42, 43, 44, 45, -1, -1, -1, + -1, 297, 287, 288, 289, 290, 362, 363, -1, 58, + 59, 367, 126, -1, 63, 64, -1, -1, -1, -1, + 305, 306, 307, 308, 309, 310, 311, 383, -1, 314, + -1, 387, 317, 318, 319, 266, 267, 268, -1, 270, 271, -1, -1, -1, 93, 41, 256, 257, 258, 259, - 260, 261, -1, 263, 264, 265, -1, -1, 297, 269, + 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 297, 63, -1, 279, 280, -1, 282, 283, 284, 285, 286, 126, -1, -1, - -1, 291, 292, 293, 294, 295, 296, -1, -1, 287, - 288, 289, 290, 303, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 313, -1, 315, 316, 287, 288, 289, - 290, 309, 310, 311, -1, -1, 314, -1, -1, 317, - 318, 319, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, - -1, -1, -1, 257, 258, 259, 260, 261, -1, 263, + -1, 291, 292, 293, 294, 295, 296, -1, -1, -1, + -1, -1, 287, 303, 289, 290, -1, -1, -1, -1, + -1, -1, -1, 313, 281, 315, 316, -1, -1, -1, + 287, 288, 289, 290, -1, 310, 311, -1, -1, 314, + 58, -1, 317, 318, 319, 63, -1, 304, 305, 306, + 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, + 317, 318, 319, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 63, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, -1, -1, 257, 258, - 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, - 269, -1, -1, 272, 273, 274, 275, -1, -1, -1, + 259, 260, 261, -1, 263, 264, 265, -1, -1, 45, + 269, -1, -1, 272, 273, 274, 275, 53, -1, -1, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 33, -1, -1, 36, 37, 38, -1, 40, -1, + 319, 33, -1, 99, 36, 37, 38, -1, 40, -1, 42, 43, -1, 45, -1, 281, -1, -1, -1, -1, - -1, 287, 288, 289, 290, -1, -1, 59, 272, 273, - 274, 275, 64, -1, -1, 279, -1, -1, 304, 305, + -1, 287, 288, 289, 290, -1, 122, 59, 272, 273, + 274, 275, 64, -1, 130, 279, -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, -1, 300, 301, 302, 91, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, - -1, 42, 43, -1, 45, -1, -1, 287, 288, 289, - 290, -1, -1, -1, -1, -1, -1, -1, 59, 289, - 290, 123, -1, 64, 126, 305, 306, 307, 308, 309, - 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, - 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, + -1, 42, 43, 281, 45, -1, -1, -1, -1, 287, + 288, 289, 290, -1, -1, -1, -1, -1, 59, -1, + -1, 123, -1, 64, 126, -1, 304, 305, 306, 307, + 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, + 318, 319, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, 33, -1, -1, 36, 37, 38, -1, 40, -1, 42, 43, 281, 45, -1, -1, -1, -1, 287, - 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, 64, -1, 126, -1, 305, 306, 307, + 288, 289, 290, 311, -1, -1, 314, -1, -1, 317, + 318, 319, 123, 64, -1, 126, -1, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, - 318, 319, -1, -1, -1, -1, 287, 288, 289, 290, - 91, -1, -1, -1, -1, -1, 33, -1, -1, 36, - 37, 38, -1, 40, -1, 42, 43, -1, 45, 310, - 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, - -1, -1, 123, -1, -1, 126, -1, 64, -1, -1, + 318, 319, -1, -1, -1, -1, -1, -1, -1, 275, + 91, 289, 290, -1, -1, 281, 33, -1, -1, 36, + 37, 38, -1, 40, -1, 42, 43, -1, 45, -1, + -1, -1, 310, 311, -1, -1, 314, -1, -1, 317, + 318, 319, 123, -1, -1, 126, -1, 64, -1, -1, -1, -1, -1, -1, 256, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, - 272, 273, 274, 275, 91, 289, 290, 279, 280, -1, + 272, 273, 274, 275, 91, -1, -1, 279, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, - 292, 293, 294, 295, 296, -1, -1, 311, -1, -1, - 314, 303, -1, 317, 318, 319, 123, -1, -1, 126, + 292, 293, 294, 295, 296, -1, -1, -1, -1, -1, + -1, 303, -1, -1, -1, -1, 123, -1, -1, 126, -1, 313, -1, 315, 316, 256, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, 280, @@ -873,10 +873,10 @@ static short yycheck[] = { 15, -1, -1, 64, -1, -1, -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, -1, -1, 91, - -1, 41, 303, -1, 44, -1, -1, -1, -1, -1, + -1, 41, 303, -1, 44, -1, 287, 288, 289, 290, -1, -1, 313, -1, 315, 316, -1, -1, 58, 59, - 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, - -1, 123, 269, -1, 126, -1, -1, -1, -1, -1, + 257, 258, 259, 260, 261, -1, 263, 264, 265, 310, + 311, 123, 269, 314, 126, -1, 317, 318, 319, -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, 93, 291, 292, 293, 294, 295, 296, 33, -1, -1, 36, 37, 38, 303, 40, -1, 42, @@ -900,33 +900,33 @@ static short yycheck[] = { 15, -1, -1, -1, -1, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, 41, 42, 43, -1, 45, -1, 300, 301, 302, 91, 304, 93, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, - -1, -1, -1, -1, 257, 258, 259, 260, 261, -1, - 263, 264, 265, -1, -1, -1, 269, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, 64, -1, 41, + -1, -1, 44, -1, 257, 258, 259, 260, 261, -1, + 263, 264, 265, -1, -1, -1, 269, 59, 126, -1, -1, -1, -1, -1, 91, -1, -1, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, -1, -1, - 303, -1, -1, -1, -1, -1, -1, -1, -1, 126, + 303, 93, -1, -1, -1, -1, -1, -1, -1, 126, 313, -1, 315, 316, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, 33, -1, 269, 36, 37, 38, -1, 40, 41, 42, 43, -1, 45, 280, -1, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, 64, -1, -1, -1, -1, - 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 303, 287, 288, 289, 290, -1, -1, -1, -1, -1, 313, -1, 315, 316, -1, -1, -1, 41, -1, -1, - 44, -1, 91, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, -1, -1, -1, 257, + 44, -1, 91, 309, 310, 311, -1, -1, 314, -1, + -1, 317, 318, 319, 58, 59, -1, -1, -1, 257, 258, 259, 260, 261, -1, 263, 264, 265, -1, -1, - -1, 269, -1, -1, -1, -1, -1, 126, -1, -1, + -1, 269, 41, -1, -1, 44, -1, 126, -1, -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, 93, - -1, -1, -1, 291, 292, 293, 294, 295, 296, -1, + 59, -1, -1, 291, 292, 293, 294, 295, 296, -1, 257, 258, 259, 260, 261, 303, 263, 264, 265, -1, -1, -1, 269, -1, -1, 313, -1, 315, 316, -1, - -1, -1, -1, 280, -1, 282, 283, 284, 285, 286, + -1, -1, -1, 280, 93, 282, 283, 284, 285, 286, -1, -1, -1, -1, 291, 292, 293, 294, 295, 296, - -1, -1, -1, -1, -1, 33, 303, -1, 36, 37, + 272, 273, 274, 275, -1, 33, 303, 279, 36, 37, 38, -1, 40, 41, 42, 43, 313, 45, 315, 316, - 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, + 27, 28, -1, -1, -1, -1, -1, -1, 300, 301, -1, -1, 39, -1, -1, -1, 64, -1, 45, 46, 47, -1, -1, -1, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65, 66, @@ -940,10 +940,10 @@ static short yycheck[] = { 15, 274, 275, -1, -1, -1, 279, 91, -1, -1, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, -1, 42, 43, -1, 45, -1, -1, 300, 301, 302, -1, + -1, -1, -1, 272, 273, 274, 275, -1, -1, -1, + 279, 126, 64, -1, 181, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 126, 64, -1, 181, -1, 41, -1, -1, 44, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 58, 59, -1, -1, -1, -1, 91, + -1, 300, 301, 58, 59, -1, -1, -1, -1, 91, -1, 208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, 36, 37, 38, -1, 40, 41, 42, 43, -1, 45, -1, 93, 257, @@ -1005,15 +1005,15 @@ static short yycheck[] = { 15, -1, 58, 59, 54, 55, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, 272, 273, 274, 275, -1, -1, -1, - 279, 41, 281, -1, 44, -1, 93, -1, 287, 288, - 289, 290, -1, 300, 301, 302, -1, 304, 58, 59, + 279, -1, 281, -1, -1, -1, 93, -1, 287, 288, + 289, 290, -1, 300, 301, 302, -1, 304, -1, -1, 101, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, -1, -1, -1, -1, 41, -1, -1, 44, - -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 164, 165, 166, 167, 168, 169, -1, + -1, -1, -1, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 93, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, 192, 272, 273, 274, 275, -1, 58, 59, 279, @@ -1022,16 +1022,16 @@ static short yycheck[] = { 15, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, 93, 41, 314, -1, 44, 317, 318, 319, 300, 301, 302, -1, -1, -1, -1, -1, -1, -1, - 58, 59, -1, -1, -1, 63, -1, 41, -1, -1, - 44, -1, -1, -1, -1, 272, 273, 274, 275, -1, - -1, -1, 279, -1, 58, 59, -1, -1, 279, -1, + 58, 59, -1, -1, -1, 63, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 272, 273, 274, 275, -1, + -1, -1, 279, -1, -1, -1, -1, -1, 279, -1, -1, 41, -1, -1, 44, 93, -1, -1, -1, -1, -1, -1, -1, 300, 301, 302, -1, -1, 58, 59, - -1, -1, -1, 63, -1, -1, -1, -1, -1, 93, - -1, 312, 272, 273, 274, 275, -1, -1, -1, 279, + -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, 44, 93, -1, -1, -1, -1, -1, -1, - 300, 301, -1, -1, -1, -1, 58, 59, -1, -1, + -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, 63, -1, -1, -1, -1, -1, 272, 273, 274, 275, -1, -1, -1, 279, -1, 281, -1, -1, -1, -1, -1, 287, 288, 289, 290, -1, -1, -1, -1, @@ -1045,10 +1045,10 @@ static short yycheck[] = { 15, 311, -1, -1, 314, -1, -1, 317, 318, 319, -1, -1, -1, -1, -1, 272, 273, 274, 275, 93, -1, -1, 279, -1, 281, -1, -1, -1, -1, -1, 287, - 288, 289, 290, -1, -1, -1, -1, -1, 272, 273, - 274, 275, 300, 301, 302, 279, 304, 305, 306, 307, + 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, 310, 311, -1, -1, 314, -1, -1, 317, - 318, 319, 272, 273, 274, 275, 300, 301, -1, 279, + 318, 319, 272, 273, 274, 275, -1, -1, -1, 279, -1, 281, -1, -1, -1, -1, -1, 287, 288, 289, 290, -1, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, 302, -1, 304, 305, 306, 307, 308, 309, @@ -1419,7 +1419,7 @@ static char *yyrule[] = { "term : termunop", "term : anonymous", "term : termdo", -"term : term '?' expr ':' term", +"term : term '?' term ':' term", "term : REFGEN term", "term : myattrterm", "term : LOCAL term",