diff --git a/sys/share/lev_yacc.c b/sys/share/lev_yacc.c index d4f5ca576..806bd037c 100644 --- a/sys/share/lev_yacc.c +++ b/sys/share/lev_yacc.c @@ -8,7 +8,7 @@ static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; #define yyerrok (yyerrflag=0) #define YYRECOVERING (yyerrflag!=0) #define YYPREFIX "yy" -/* SCCS Id: @(#)lev_yacc.c 3.5 2007/04/20 */ +/* SCCS Id: @(#)lev_yacc.c 3.5 2007/08/01 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -216,106 +216,106 @@ typedef union #define YYERRCODE 256 short yylhs[] = { -1, 0, 0, 36, 36, 37, 37, 38, 39, 32, 23, - 23, 14, 14, 19, 19, 20, 20, 40, 40, 45, - 42, 42, 46, 46, 43, 43, 49, 49, 44, 44, - 51, 52, 52, 53, 53, 35, 50, 50, 56, 54, - 10, 10, 59, 59, 57, 57, 60, 60, 58, 58, - 55, 55, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 62, 63, 64, 15, 15, - 13, 13, 12, 12, 31, 11, 11, 41, 41, 75, - 76, 76, 79, 1, 1, 2, 2, 77, 77, 80, - 80, 80, 47, 47, 48, 48, 81, 83, 81, 78, - 78, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 23, 23, 14, 14, 19, 19, 20, 20, 40, 40, + 45, 42, 42, 46, 46, 43, 43, 49, 49, 44, + 44, 51, 52, 52, 53, 53, 35, 50, 50, 56, + 54, 10, 10, 59, 59, 57, 57, 60, 60, 58, + 58, 55, 55, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 62, 63, 64, 15, + 15, 13, 13, 12, 12, 31, 11, 11, 41, 41, + 75, 76, 76, 79, 1, 1, 2, 2, 77, 77, + 80, 80, 80, 47, 47, 48, 48, 81, 83, 81, + 78, 78, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 99, 65, 98, 98, 100, 100, 100, 100, 100, - 66, 66, 102, 101, 103, 103, 104, 104, 104, 104, - 105, 105, 106, 107, 107, 108, 108, 108, 85, 67, - 86, 92, 93, 94, 74, 109, 88, 110, 89, 111, - 113, 90, 114, 91, 112, 112, 22, 22, 69, 70, - 71, 95, 96, 87, 68, 72, 73, 25, 25, 25, - 28, 28, 28, 33, 33, 34, 34, 3, 3, 4, - 4, 21, 21, 21, 97, 97, 97, 5, 5, 6, - 6, 7, 7, 7, 8, 8, 117, 29, 26, 9, - 82, 24, 27, 30, 16, 16, 17, 17, 18, 18, - 116, 115, + 84, 84, 99, 65, 98, 98, 100, 100, 100, 100, + 100, 66, 66, 102, 101, 103, 103, 104, 104, 104, + 104, 105, 105, 106, 107, 107, 108, 108, 108, 85, + 67, 86, 92, 93, 94, 74, 109, 88, 110, 89, + 111, 113, 90, 114, 91, 112, 112, 22, 22, 69, + 70, 71, 95, 96, 87, 68, 72, 73, 25, 25, + 25, 28, 28, 28, 33, 33, 34, 34, 3, 3, + 4, 4, 21, 21, 21, 97, 97, 97, 5, 5, + 6, 6, 7, 7, 7, 8, 8, 117, 29, 26, + 9, 82, 24, 27, 30, 16, 16, 17, 17, 18, + 18, 116, 115, }; short yylen[] = { 2, 0, 1, 1, 2, 1, 1, 5, 7, 3, 0, - 13, 1, 1, 0, 3, 3, 1, 0, 2, 3, - 0, 2, 3, 3, 0, 1, 1, 2, 1, 1, - 1, 0, 2, 5, 5, 7, 2, 2, 12, 12, - 0, 2, 5, 1, 5, 1, 5, 1, 5, 1, + 13, 15, 1, 1, 0, 3, 3, 1, 0, 2, + 3, 0, 2, 3, 3, 0, 1, 1, 2, 1, + 1, 1, 0, 2, 5, 5, 7, 2, 2, 12, + 12, 0, 2, 5, 1, 5, 1, 5, 1, 5, + 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 3, 9, 1, + 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, + 3, 1, 2, 5, 1, 1, 1, 1, 0, 2, + 3, 3, 3, 1, 3, 1, 3, 1, 0, 4, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 3, 9, 1, 1, - 1, 1, 1, 1, 5, 1, 1, 1, 2, 3, - 1, 2, 5, 1, 1, 1, 1, 0, 2, 3, - 3, 3, 1, 3, 1, 3, 1, 0, 4, 0, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 10, 0, 2, 2, 2, 2, 2, 3, - 2, 2, 0, 9, 1, 1, 0, 7, 5, 5, - 1, 1, 1, 1, 1, 0, 2, 2, 5, 6, - 7, 5, 1, 5, 5, 0, 8, 0, 8, 0, - 0, 8, 0, 6, 0, 2, 1, 10, 3, 3, - 3, 3, 3, 8, 7, 5, 7, 1, 1, 1, + 1, 1, 0, 10, 0, 2, 2, 2, 2, 2, + 3, 2, 2, 0, 9, 1, 1, 0, 7, 5, + 5, 1, 1, 1, 1, 1, 0, 2, 2, 5, + 6, 7, 5, 1, 5, 5, 0, 8, 0, 8, + 0, 0, 8, 0, 6, 0, 2, 1, 10, 3, + 3, 3, 3, 3, 8, 7, 5, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 2, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 5, 9, + 1, 1, 0, 2, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, + 4, 1, 1, 1, 1, 1, 1, 0, 1, 1, + 1, 5, 9, }; short yydefred[] = { 0, 0, 0, 0, 0, 0, 2, 0, 5, 6, 0, - 0, 0, 0, 0, 4, 214, 0, 9, 0, 0, - 0, 0, 0, 0, 15, 0, 0, 0, 0, 21, - 76, 77, 75, 0, 0, 0, 0, 81, 7, 0, - 88, 0, 19, 0, 16, 0, 20, 0, 79, 0, - 82, 0, 0, 0, 0, 0, 22, 26, 0, 51, - 51, 0, 84, 85, 0, 0, 0, 0, 0, 89, - 0, 0, 0, 0, 31, 8, 29, 0, 28, 0, + 0, 0, 0, 0, 4, 215, 0, 9, 0, 0, + 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, + 77, 78, 76, 0, 0, 0, 0, 82, 7, 0, + 89, 0, 20, 0, 17, 0, 21, 0, 80, 0, + 83, 0, 0, 0, 0, 0, 23, 27, 0, 52, + 52, 0, 85, 86, 0, 0, 0, 0, 0, 90, + 0, 0, 0, 0, 32, 8, 30, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 102, 103, 105, 112, - 113, 118, 119, 117, 101, 104, 106, 107, 108, 109, - 110, 111, 114, 115, 116, 120, 121, 213, 0, 23, - 212, 0, 24, 191, 0, 190, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, - 87, 86, 83, 90, 92, 0, 91, 0, 211, 218, - 0, 131, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 106, 113, + 114, 119, 120, 118, 102, 105, 107, 108, 109, 110, + 111, 112, 115, 116, 117, 121, 122, 214, 0, 24, + 213, 0, 25, 192, 0, 191, 0, 0, 34, 0, + 0, 0, 0, 0, 0, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 0, + 88, 87, 84, 91, 93, 0, 92, 0, 212, 219, + 0, 132, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 199, 0, - 197, 0, 0, 195, 196, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 167, 172, 173, 158, 160, 163, - 215, 216, 0, 0, 169, 94, 96, 200, 201, 0, - 0, 0, 0, 69, 70, 0, 67, 171, 170, 66, - 0, 0, 0, 182, 0, 181, 0, 183, 179, 0, - 178, 0, 180, 189, 0, 188, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 199, 200, 0, + 198, 0, 0, 196, 197, 0, 0, 0, 0, 0, + 0, 0, 157, 0, 168, 173, 174, 159, 161, 164, + 216, 217, 0, 0, 170, 95, 97, 201, 202, 0, + 0, 0, 0, 70, 71, 0, 68, 172, 171, 67, + 0, 0, 0, 183, 0, 182, 0, 184, 180, 0, + 179, 0, 181, 190, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 99, 0, 0, 0, 0, 0, 149, 0, 0, 152, - 0, 0, 204, 0, 202, 0, 203, 154, 0, 0, - 0, 155, 0, 0, 0, 176, 219, 220, 0, 44, - 0, 0, 46, 0, 0, 0, 35, 34, 0, 0, - 221, 0, 187, 186, 133, 0, 185, 184, 0, 150, - 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 161, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 208, 0, 209, 0, 151, 0, 0, 0, 206, 205, - 175, 0, 0, 0, 0, 177, 0, 48, 0, 0, - 0, 50, 0, 0, 0, 71, 72, 0, 12, 13, - 11, 0, 122, 0, 0, 174, 210, 0, 157, 159, - 0, 162, 0, 0, 0, 0, 0, 0, 73, 74, - 0, 0, 136, 135, 0, 124, 0, 0, 0, 166, - 43, 0, 0, 45, 0, 0, 36, 68, 0, 134, - 0, 0, 0, 0, 0, 0, 40, 0, 39, 142, - 141, 143, 0, 0, 0, 125, 222, 194, 0, 47, - 42, 49, 0, 0, 127, 128, 0, 129, 126, 168, - 145, 144, 0, 0, 0, 130, 0, 0, 139, 140, - 0, 147, 148, 138, + 100, 0, 0, 0, 0, 0, 150, 0, 0, 153, + 0, 0, 205, 0, 203, 0, 204, 155, 0, 0, + 0, 156, 0, 0, 0, 177, 220, 221, 0, 45, + 0, 0, 47, 0, 0, 0, 36, 35, 0, 0, + 222, 0, 188, 187, 134, 0, 186, 185, 0, 151, + 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 162, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 0, 210, 0, 152, 0, 0, 0, 207, 206, + 176, 0, 0, 0, 0, 178, 0, 49, 0, 0, + 0, 51, 0, 0, 0, 72, 73, 0, 13, 14, + 0, 0, 123, 0, 0, 175, 211, 0, 158, 160, + 0, 163, 0, 0, 0, 0, 0, 0, 74, 75, + 0, 0, 0, 137, 136, 0, 125, 0, 0, 0, + 167, 44, 0, 0, 46, 0, 0, 37, 69, 12, + 0, 135, 0, 0, 0, 0, 0, 0, 41, 0, + 40, 143, 142, 144, 0, 0, 0, 126, 223, 195, + 0, 48, 43, 50, 0, 0, 128, 129, 0, 130, + 127, 169, 146, 145, 0, 0, 0, 131, 0, 0, + 140, 141, 0, 148, 149, 139, }; short yydgoto[] = { 3, - 65, 163, 265, 135, 210, 240, 306, 371, 307, 437, + 65, 163, 265, 135, 210, 240, 306, 371, 307, 439, 33, 411, 388, 391, 246, 233, 171, 319, 13, 25, 396, 223, 21, 132, 262, 263, 129, 257, 258, 136, 4, 5, 339, 335, 243, 6, 7, 8, 9, 28, @@ -324,78 +324,78 @@ short yydgoto[] = { 3, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 40, 41, 50, 69, 42, 70, 167, 168, 204, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 224, 431, 416, 446, - 172, 362, 415, 430, 443, 444, 464, 469, 277, 279, + 122, 123, 124, 125, 126, 127, 224, 433, 417, 448, + 172, 362, 416, 432, 445, 446, 466, 471, 277, 279, 280, 402, 375, 281, 225, 214, 215, }; -short yysindex[] = { -166, - -18, 4, 0, -233, -233, 0, -166, 0, 0, -222, - -222, 32, -134, -134, 0, 0, 88, 0, -173, 76, - -114, -114, -230, 105, 0, -99, 115, -124, -114, 0, - 0, 0, 0, -173, 127, -143, 128, 0, 0, -124, - 0, -132, 0, -236, 0, -67, 0, -155, 0, -156, - 0, 137, 138, 140, 142, -94, 0, 0, -263, 0, - 0, 161, 0, 0, 162, 149, 150, 151, -105, 0, - -47, -46, -276, -276, 0, 0, 0, -79, 0, -142, - -142, -45, -151, -47, -46, 173, -44, -44, -44, -44, - 160, 163, 165, 0, 166, 167, 168, 170, 171, 172, - 174, 175, 176, 177, 178, 179, 0, 0, 0, 0, +short yysindex[] = { -149, + -5, 1, 0, -269, -269, 0, -149, 0, 0, -242, + -242, 12, -154, -154, 0, 0, 50, 0, -200, 41, + -137, -137, -232, 103, 0, -103, 99, -132, -137, 0, + 0, 0, 0, -200, 126, -141, 128, 0, 0, -132, + 0, -136, 0, -251, 0, -68, 0, -158, 0, -139, + 0, 129, 132, 134, 135, -100, 0, 0, -253, 0, + 0, 151, 0, 0, 155, 144, 146, 147, -109, 0, + -51, -50, -260, -260, 0, 0, 0, -83, 0, -165, + -165, -49, -162, -51, -50, 174, -44, -44, -44, -44, + 159, 160, 161, 0, 162, 163, 166, 167, 168, 170, + 171, 172, 173, 175, 176, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 194, 0, 0, 195, 0, 197, 184, 0, 185, - 186, 188, 189, 190, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, - 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, - 193, 0, 0, 196, 198, -239, 45, 45, 180, 45, - 45, 58, 180, 180, -37, -37, -37, -232, 45, 45, - -47, -46, -218, -218, 205, -238, 45, -41, 45, 45, - -222, -6, 211, 213, -234, -237, -268, 0, 0, 214, - 0, 169, 215, 0, 0, 217, -39, 218, 219, 220, - 225, 12, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 0, 300, 306, 0, 0, 0, 0, 0, 317, - 319, 112, 329, 0, 0, 341, 0, 0, 0, 0, - 342, 129, 173, 0, 315, 0, 366, 0, 0, 320, - 0, 368, 0, 0, 374, 0, 45, 200, 120, 124, - 385, -218, -201, 116, 202, 389, 390, 118, 399, 401, - 405, 45, -254, -38, -9, 407, -36, -239, -218, 411, - 0, 207, -267, 238, -260, 45, 0, 360, 410, 0, - 239, 412, 0, 386, 0, 415, 0, 0, 454, 242, - -37, 0, -37, -37, -37, 0, 0, 0, 457, 0, - 246, 492, 0, 279, 495, 237, 0, 0, 497, 498, - 0, 456, 0, 0, 0, 458, 0, 0, 506, 0, - 0, -239, 509, -276, 298, -259, 299, 72, 510, 517, - 0, 0, -222, 518, -1, 519, 28, 520, -119, -227, - 0, 522, 0, 45, 0, 316, 531, 483, 0, 0, - 0, 533, 264, -222, 537, 0, 321, 0, -155, 539, - 328, 0, 330, 543, -229, 0, 0, 545, 0, 0, - 0, 38, 0, 546, 318, 0, 0, 333, 0, 0, - 281, 0, 552, 555, 28, 559, 557, -222, 0, 0, - 561, -229, 0, 0, 560, 0, 338, 563, 566, 0, - 0, -151, 571, 0, 345, 571, 0, 0, -243, 0, - 575, 579, 362, 367, 585, 371, 0, 586, 0, 0, - 0, 0, 590, 591, -209, 0, 0, 0, 597, 0, - 0, 0, -240, -228, 0, 0, -222, 0, 0, 0, - 0, 0, 595, 599, 599, 0, -228, -264, 0, 0, - 599, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, + 0, 183, 0, 0, 188, 0, 192, 179, 0, 180, + 181, 182, 185, 186, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, + 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, + 189, 0, 0, 190, 191, -212, 46, 46, 210, 46, + 46, 58, 210, 210, -37, -37, -37, -230, 46, 46, + -51, -50, -193, -193, 211, -237, 46, -4, 46, 46, + -242, -6, 212, 213, -221, -233, -258, 0, 0, 214, + 0, 164, 215, 0, 0, 216, 3, 218, 219, 226, + 267, 96, 0, 312, 0, 0, 0, 0, 0, 0, + 0, 0, 313, 317, 0, 0, 0, 0, 0, 319, + 322, 110, 325, 0, 0, 326, 0, 0, 0, 0, + 329, 130, 174, 0, 296, 0, 365, 0, 0, 321, + 0, 369, 0, 0, 376, 0, 46, 178, 119, 120, + 383, -193, -208, 115, 193, 403, 404, 136, 409, 410, + 411, 46, -161, -1, 28, 412, -35, -212, -193, 416, + 0, 194, -257, 200, -228, 46, 0, 366, 417, 0, + 202, 418, 0, 388, 0, 423, 0, 0, 448, 235, + -37, 0, -37, -37, -37, 0, 0, 0, 454, 0, + 241, 456, 0, 244, 459, 228, 0, 0, 488, 493, + 0, 449, 0, 0, 0, 458, 0, 0, 494, 0, + 0, -212, 497, -260, 291, -259, 294, 49, 509, 510, + 0, 0, -242, 511, 40, 512, 42, 514, -148, -219, + 0, 517, 0, 46, 0, 304, 519, 471, 0, 0, + 0, 521, 252, -242, 524, 0, 311, 0, -158, 526, + 316, 0, 318, 527, -227, 0, 0, 531, 0, 0, + 533, 38, 0, 534, 303, 0, 0, 323, 0, 0, + 268, 0, 542, 540, 42, 544, 543, -242, 0, 0, + 545, -227, 330, 0, 0, 546, 0, 333, 548, 549, + 0, 0, -162, 550, 0, 337, 550, 0, 0, 0, + -263, 0, 552, 547, 339, 341, 559, 345, 0, 567, + 0, 0, 0, 0, 565, 570, -108, 0, 0, 0, + 574, 0, 0, 0, -235, -225, 0, 0, -242, 0, + 0, 0, 0, 0, 575, 576, 576, 0, -225, -262, + 0, 0, 576, 0, 0, 0, }; -short yyrindex[] = { 641, - 0, 0, 0, -172, 307, 0, 645, 0, 0, 0, - 0, 0, -146, 355, 0, 0, 0, 0, 0, 0, - -72, 351, 0, 282, 0, 0, 0, 0, 346, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, - 0, 0, 0, 157, 0, 0, 0, 0, 0, 491, - 0, 0, 0, 0, 0, 57, 0, 0, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, - 0, 0, 0, 0, 0, 0, 0, 106, 0, 267, - 388, 0, 0, 0, 0, 0, 589, 589, 589, 589, +short yyrindex[] = { 616, + 0, 0, 0, -129, 349, 0, 621, 0, 0, 0, + 0, 0, -210, 406, 0, 0, 0, 0, 0, 0, + -98, 408, 0, 282, 0, 0, 0, 0, 367, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, + 0, 0, 0, 57, 0, 0, 0, 0, 0, 539, + 0, 0, 0, 0, 0, 4, 0, 0, 123, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, 0, 89, 0, 426, + 445, 0, 0, 0, 0, 0, 564, 564, 564, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 201, 0, - 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, + 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 446, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 506, 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, @@ -415,217 +415,225 @@ short yyrindex[] = { 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, - 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, + 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 6, 0, 0, 641, 0, + 0, 0, 0, 148, 0, 0, 148, 0, 0, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, 0, 606, 0, 0, - 0, 0, 146, 0, 0, 146, 0, 0, 0, 0, - 43, 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, 109, 109, 0, 0, 0, 0, 0, - 109, 0, 0, 0, + 0, 0, 0, 0, 0, 109, 109, 0, 0, 0, + 0, 0, 109, 0, 0, 0, }; short yygindex[] = { 0, - 269, 230, 0, -60, -269, -184, 209, 0, 0, 229, - 0, 244, 0, 0, 0, 0, 113, 0, 652, 624, - 0, -178, 646, 453, 0, 0, 459, 0, 0, -10, - 0, 0, 0, 0, 375, 656, 0, 0, 0, 24, - 625, 0, 0, 0, 0, 0, -73, -68, 608, 0, - 0, 0, 0, 0, 607, 0, 0, 266, 0, 0, - 0, 0, 0, 0, 600, 603, 605, 609, 611, 0, - 0, 612, 613, 614, 0, 0, 0, 0, 0, 0, - 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -165, 0, 0, 0, - 588, 0, 0, 0, 0, 224, -416, -384, 0, 0, - 0, 0, 0, 0, -40, -81, 0, + 245, 205, 0, -60, -267, -181, 195, 0, 0, 196, + 0, 223, 0, 0, 0, 0, 91, 0, 631, 603, + 0, -169, 625, 437, 0, 0, 441, 0, 0, -10, + 0, 0, 0, 0, 361, 642, 0, 0, 0, 20, + 610, 0, 0, 0, 0, 0, -72, -70, 592, 0, + 0, 0, 0, 0, 593, 0, 0, 248, 0, 0, + 0, 0, 0, 0, 587, 588, 590, 591, 594, 0, + 0, 597, 604, 605, 0, 0, 0, 0, 0, 0, + 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, + 573, 0, 0, 0, 0, 207, -419, -415, 0, 0, + 0, 0, 0, 0, -63, -77, 0, }; -#define YYTABLESIZE 900 +#define YYTABLESIZE 935 short yytable[] = { 17, - 18, 321, 217, 242, 169, 137, 228, 229, 230, 241, - 164, 213, 216, 137, 219, 220, 165, 461, 329, 131, - 244, 54, 128, 234, 235, 231, 31, 134, 409, 461, - 324, 389, 472, 248, 249, 264, 333, 465, 379, 10, - 52, 53, 123, 337, 369, 30, 16, 317, 54, 318, - 471, 55, 43, 370, 16, 16, 32, 440, 473, 208, - 441, 11, 16, 462, 209, 245, 259, 383, 260, 254, - 255, 232, 365, 32, 410, 462, 390, 166, 55, 442, - 470, 238, 442, 12, 166, 239, 474, 302, 14, 19, - 80, 14, 14, 14, 303, 1, 2, 222, 304, 305, - 16, 297, 303, 78, 330, 30, 304, 305, 146, 455, - 456, 457, 331, 16, 10, 366, 316, 236, 10, 10, - 66, 67, 68, 237, 87, 88, 89, 90, 140, 20, - 340, 23, 349, 26, 350, 351, 352, 96, 218, 141, - 37, 38, 226, 227, 24, 41, 27, 142, 34, 104, - 105, 106, 143, 144, 63, 64, 25, 35, 27, 161, - 162, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 46, 169, 36, 145, 96, 97, 98, 99, 100, 47, - 101, 102, 103, 386, 387, 48, 104, 105, 106, 62, - 250, 51, 18, 18, 71, 72, 266, 73, 393, 74, - 93, 174, 175, 75, 82, 83, 84, 85, 86, 128, - 131, 138, 166, 160, 203, 170, 247, 176, 271, 217, - 177, 327, 178, 179, 180, 181, 414, 182, 183, 184, - 191, 185, 186, 187, 188, 189, 190, 192, 193, 95, - 194, 195, 196, 197, 242, 198, 199, 200, 201, 202, - 205, 221, 251, 206, 252, 207, 253, 267, 269, 268, - 270, 272, 273, 274, 275, 320, 37, 137, 137, 276, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 17, 334, 367, 338, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 323, 137, 137, 137, 137, 137, - 137, 137, 378, 137, 123, 123, 14, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 32, 32, - 137, 137, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 382, 123, 123, 123, 123, 123, 123, 123, 278, - 123, 211, 376, 282, 212, 18, 221, 32, 211, 283, - 18, 212, 80, 80, 10, 80, 80, 123, 123, 413, - 284, 211, 285, 400, 212, 78, 78, 30, 30, 286, - 146, 146, 287, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 288, 289, 290, 38, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 426, 146, 146, - 146, 146, 146, 146, 146, 292, 146, 41, 41, 293, - 294, 295, 41, 41, 41, 41, 41, 296, 25, 25, - 27, 27, 299, 146, 146, 41, 300, 41, 301, 308, - 41, 312, 310, 311, 459, 41, 41, 41, 41, 41, - 41, 41, 313, 41, 314, 97, 466, 25, 315, 27, - 326, 331, 341, 342, 25, 344, 27, 298, 346, 309, - 41, 41, 93, 93, 332, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 345, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 98, - 100, 93, 93, 93, 93, 336, 343, 347, 93, 348, - 353, 95, 95, 354, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 93, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 37, 37, - 95, 95, 95, 95, 192, 355, 356, 95, 357, 358, - 359, 360, 17, 17, 17, 17, 17, 17, 361, 364, - 363, 37, 366, 373, 95, 368, 372, 37, 17, 17, - 374, 377, 381, 385, 37, 392, 17, 14, 14, 14, - 14, 165, 17, 394, 395, 397, 398, 399, 403, 17, - 401, 37, 405, 14, 14, 406, 408, 407, 412, 417, - 419, 14, 421, 418, 420, 432, 17, 14, 422, 424, - 425, 427, 438, 429, 14, 193, 433, 18, 18, 434, - 18, 18, 18, 18, 436, 10, 10, 10, 445, 447, - 448, 14, 18, 18, 449, 450, 452, 18, 18, 451, - 18, 10, 10, 453, 454, 18, 18, 460, 467, 10, - 1, 18, 468, 18, 3, 10, 217, 404, 18, 38, - 38, 435, 10, 458, 439, 428, 14, 45, 261, 22, - 18, 328, 15, 256, 49, 18, 79, 81, 107, 10, - 423, 108, 38, 109, 291, 173, 463, 110, 38, 111, - 112, 113, 114, 0, 0, 38, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 38, 0, 0, 0, 0, 97, 97, 0, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, - 0, 97, 97, 97, 0, 0, 0, 97, 97, 97, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 100, 0, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, - 100, 100, 100, 100, 100, 0, 100, 100, 100, 0, - 0, 0, 100, 100, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 192, 0, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 0, 0, 0, 0, 192, 192, 192, 192, 192, 0, - 192, 192, 192, 0, 0, 0, 192, 192, 192, 0, - 0, 0, 0, 165, 165, 0, 165, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 0, 0, 0, - 0, 165, 165, 165, 165, 165, 0, 165, 165, 165, - 0, 0, 0, 165, 165, 165, 0, 193, 193, 0, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 0, 0, 0, 0, 193, 193, 193, 193, 193, - 0, 193, 193, 193, 0, 0, 0, 193, 193, 193, + 18, 79, 217, 33, 242, 138, 213, 216, 169, 219, + 220, 164, 241, 137, 165, 228, 229, 230, 234, 235, + 329, 244, 463, 131, 31, 52, 53, 231, 248, 249, + 409, 54, 463, 54, 474, 128, 467, 442, 321, 389, + 443, 30, 124, 134, 369, 264, 333, 12, 43, 473, + 10, 472, 10, 370, 10, 10, 26, 476, 11, 444, + 475, 55, 16, 55, 16, 16, 245, 324, 464, 19, + 259, 32, 260, 232, 365, 337, 410, 166, 464, 379, + 16, 383, 254, 255, 390, 166, 208, 444, 31, 331, + 302, 209, 366, 23, 16, 303, 297, 222, 26, 304, + 305, 87, 88, 89, 90, 140, 238, 330, 147, 20, + 239, 316, 1, 2, 96, 218, 141, 24, 236, 226, + 227, 237, 28, 27, 142, 340, 104, 105, 106, 143, + 144, 15, 37, 38, 15, 15, 15, 66, 67, 68, + 317, 349, 318, 350, 351, 352, 34, 42, 161, 162, + 145, 63, 64, 35, 386, 387, 36, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 19, 19, 81, 46, + 96, 97, 98, 99, 100, 169, 101, 102, 103, 174, + 175, 47, 104, 105, 106, 48, 71, 51, 62, 72, + 250, 73, 74, 393, 82, 303, 266, 75, 83, 304, + 305, 84, 94, 85, 86, 128, 131, 138, 191, 160, + 457, 458, 459, 166, 16, 170, 176, 177, 178, 179, + 180, 415, 327, 181, 182, 183, 192, 184, 185, 186, + 187, 193, 188, 189, 190, 194, 195, 196, 197, 198, + 202, 96, 199, 200, 201, 203, 205, 206, 207, 217, + 242, 221, 251, 247, 268, 252, 253, 267, 269, 270, + 271, 272, 273, 79, 79, 33, 33, 138, 138, 274, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 18, 334, 367, 338, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 33, 138, 138, 138, 138, 138, + 138, 138, 320, 138, 124, 124, 275, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 26, 26, + 138, 138, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 323, 124, 124, 124, 124, 124, 124, 124, 11, + 124, 211, 376, 378, 212, 382, 221, 26, 15, 211, + 31, 31, 212, 276, 26, 278, 282, 124, 124, 414, + 283, 211, 284, 400, 212, 285, 19, 286, 287, 288, + 147, 147, 289, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 28, 28, 292, 290, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 427, 147, 147, + 147, 147, 147, 147, 147, 10, 147, 19, 293, 42, + 42, 294, 295, 28, 42, 42, 42, 42, 42, 296, + 28, 299, 300, 147, 147, 38, 301, 42, 308, 42, + 81, 81, 42, 81, 81, 298, 461, 42, 42, 42, + 42, 42, 42, 42, 39, 42, 310, 311, 468, 312, + 309, 332, 313, 314, 315, 326, 331, 336, 341, 343, + 342, 344, 42, 42, 94, 94, 346, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 345, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 347, 348, 94, 94, 94, 94, 353, 354, 355, + 94, 356, 357, 96, 96, 98, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 94, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 358, 359, 96, 96, 96, 96, 360, 364, 101, 96, + 366, 361, 18, 18, 18, 18, 18, 18, 368, 99, + 363, 372, 373, 374, 377, 381, 96, 385, 18, 18, + 392, 394, 395, 397, 398, 399, 18, 401, 403, 405, + 408, 193, 18, 406, 412, 407, 413, 418, 419, 18, + 420, 421, 422, 423, 425, 428, 426, 449, 430, 431, + 434, 435, 436, 438, 440, 447, 18, 450, 451, 452, + 11, 11, 11, 453, 11, 11, 166, 454, 455, 15, + 15, 15, 15, 456, 462, 1, 11, 11, 469, 470, + 3, 218, 441, 404, 11, 15, 15, 437, 19, 19, + 11, 19, 19, 15, 429, 14, 45, 11, 22, 15, + 194, 460, 261, 19, 19, 256, 15, 328, 15, 49, + 79, 19, 424, 81, 11, 107, 108, 19, 109, 110, + 173, 465, 111, 15, 19, 112, 10, 10, 10, 19, + 19, 291, 113, 114, 0, 0, 0, 0, 0, 0, + 0, 19, 10, 10, 19, 19, 0, 38, 38, 0, + 10, 0, 19, 0, 0, 0, 10, 0, 19, 0, + 0, 0, 0, 10, 0, 19, 39, 39, 0, 0, + 38, 0, 0, 0, 0, 0, 38, 0, 0, 0, + 10, 0, 19, 38, 0, 0, 0, 0, 0, 39, + 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, + 38, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, + 0, 0, 0, 0, 0, 0, 0, 98, 98, 0, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 0, 98, 98, 98, 98, 98, 98, 98, 98, + 0, 98, 98, 98, 0, 0, 0, 98, 98, 98, + 101, 101, 0, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 0, 0, 0, 0, 101, 101, + 101, 101, 101, 0, 101, 101, 101, 0, 0, 0, + 101, 101, 101, 193, 193, 0, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 0, 0, 0, + 0, 193, 193, 193, 193, 193, 0, 193, 193, 193, + 0, 0, 0, 193, 193, 193, 0, 0, 166, 166, + 0, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 0, 0, 0, 0, 166, 166, 166, 166, + 166, 0, 166, 166, 166, 0, 0, 0, 166, 166, + 166, 0, 194, 194, 0, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 0, 0, 0, 0, + 194, 194, 194, 194, 194, 0, 194, 194, 194, 0, + 0, 0, 194, 194, 194, }; short yycheck[] = { 10, - 11, 40, 40, 40, 86, 0, 185, 186, 187, 194, - 84, 177, 178, 74, 180, 181, 85, 258, 288, 257, - 259, 285, 257, 189, 190, 258, 257, 304, 258, 258, - 40, 259, 297, 199, 200, 304, 304, 454, 40, 58, - 277, 278, 0, 304, 304, 22, 323, 302, 285, 304, - 467, 315, 29, 313, 323, 323, 0, 301, 323, 299, - 304, 58, 323, 304, 304, 304, 304, 40, 306, 304, - 305, 304, 342, 304, 304, 304, 304, 40, 315, 323, - 465, 300, 323, 317, 40, 304, 471, 272, 261, 58, - 0, 264, 265, 266, 304, 262, 263, 40, 308, 309, - 323, 267, 304, 0, 289, 0, 308, 309, 0, 319, - 320, 321, 41, 323, 261, 44, 282, 191, 265, 266, - 277, 278, 279, 192, 267, 268, 269, 270, 271, 264, - 296, 44, 311, 58, 313, 314, 315, 280, 179, 282, - 265, 266, 183, 184, 318, 0, 261, 290, 44, 292, - 293, 294, 295, 296, 310, 311, 0, 257, 0, 311, - 312, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 44, 253, 58, 316, 280, 281, 282, 283, 284, 323, - 286, 287, 288, 303, 304, 58, 292, 293, 294, 257, - 201, 324, 265, 266, 58, 58, 207, 58, 364, 58, - 0, 89, 90, 298, 44, 44, 58, 58, 58, 257, - 257, 291, 40, 259, 258, 260, 258, 58, 258, 40, - 58, 258, 58, 58, 58, 58, 392, 58, 58, 58, - 44, 58, 58, 58, 58, 58, 58, 44, 44, 0, - 44, 58, 58, 58, 40, 58, 58, 58, 58, 44, - 58, 289, 259, 58, 44, 58, 44, 44, 44, 91, - 44, 44, 44, 44, 40, 304, 0, 262, 263, 258, + 11, 0, 40, 0, 40, 0, 177, 178, 86, 180, + 181, 84, 194, 74, 85, 185, 186, 187, 189, 190, + 288, 259, 258, 257, 257, 277, 278, 258, 199, 200, + 258, 285, 258, 285, 297, 257, 456, 301, 40, 259, + 304, 22, 0, 304, 304, 304, 304, 317, 29, 469, + 261, 467, 58, 313, 265, 266, 0, 473, 58, 323, + 323, 315, 323, 315, 323, 323, 304, 40, 304, 58, + 304, 304, 306, 304, 342, 304, 304, 40, 304, 40, + 323, 40, 304, 305, 304, 40, 299, 323, 0, 41, + 272, 304, 44, 44, 323, 304, 267, 40, 58, 308, + 309, 267, 268, 269, 270, 271, 300, 289, 0, 264, + 304, 282, 262, 263, 280, 179, 282, 318, 191, 183, + 184, 192, 0, 261, 290, 296, 292, 293, 294, 295, + 296, 261, 265, 266, 264, 265, 266, 277, 278, 279, + 302, 311, 304, 313, 314, 315, 44, 0, 311, 312, + 316, 310, 311, 257, 303, 304, 58, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 265, 266, 0, 44, + 280, 281, 282, 283, 284, 253, 286, 287, 288, 89, + 90, 323, 292, 293, 294, 58, 58, 324, 257, 58, + 201, 58, 58, 364, 44, 304, 207, 298, 44, 308, + 309, 58, 0, 58, 58, 257, 257, 291, 44, 259, + 319, 320, 321, 40, 323, 260, 58, 58, 58, 58, + 58, 392, 258, 58, 58, 58, 44, 58, 58, 58, + 58, 44, 58, 58, 58, 44, 58, 58, 58, 58, + 44, 0, 58, 58, 58, 258, 58, 58, 58, 40, + 40, 289, 259, 258, 91, 44, 44, 44, 44, 44, + 258, 44, 44, 262, 263, 262, 263, 262, 263, 44, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 0, 293, 344, 295, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 304, 290, 291, 292, 293, 294, - 295, 296, 304, 298, 262, 263, 0, 265, 266, 267, + 285, 286, 287, 288, 291, 290, 291, 292, 293, 294, + 295, 296, 304, 298, 262, 263, 40, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 262, 263, 315, 316, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 304, 290, 291, 292, 293, 294, 295, 296, 44, - 298, 304, 353, 44, 307, 0, 289, 291, 304, 44, - 0, 307, 262, 263, 0, 265, 266, 315, 316, 322, - 44, 304, 44, 374, 307, 262, 263, 262, 263, 258, + 288, 304, 290, 291, 292, 293, 294, 295, 296, 0, + 298, 304, 353, 304, 307, 304, 289, 291, 0, 304, + 262, 263, 307, 258, 298, 44, 44, 315, 316, 322, + 44, 304, 44, 374, 307, 44, 0, 258, 44, 44, 262, 263, 44, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 44, 44, 258, 0, 280, 281, + 272, 273, 274, 275, 262, 263, 91, 258, 280, 281, 282, 283, 284, 285, 286, 287, 288, 408, 290, 291, - 292, 293, 294, 295, 296, 91, 298, 262, 263, 44, - 91, 44, 267, 268, 269, 270, 271, 44, 262, 263, - 262, 263, 303, 315, 316, 280, 303, 282, 44, 314, - 285, 314, 44, 44, 445, 290, 291, 292, 293, 294, - 295, 296, 44, 298, 44, 0, 457, 291, 44, 291, - 44, 41, 93, 44, 298, 44, 298, 258, 44, 258, - 315, 316, 262, 263, 258, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 91, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 44, - 0, 291, 292, 293, 294, 258, 258, 44, 298, 258, - 44, 262, 263, 258, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 315, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 262, 263, - 291, 292, 293, 294, 0, 44, 258, 298, 44, 303, - 44, 44, 261, 262, 263, 264, 265, 266, 93, 44, - 93, 285, 44, 44, 315, 258, 258, 291, 277, 278, - 44, 44, 44, 44, 298, 44, 285, 261, 262, 263, - 264, 0, 291, 258, 44, 93, 44, 314, 258, 298, - 44, 315, 44, 277, 278, 258, 44, 258, 44, 44, - 258, 285, 41, 276, 314, 258, 315, 291, 44, 41, - 44, 41, 258, 44, 298, 0, 44, 262, 263, 44, - 265, 266, 262, 263, 44, 261, 262, 263, 44, 41, - 259, 315, 277, 278, 258, 41, 41, 277, 278, 259, - 285, 277, 278, 44, 44, 285, 291, 41, 44, 285, - 0, 291, 44, 298, 0, 291, 58, 379, 298, 262, - 263, 422, 298, 445, 426, 412, 5, 34, 206, 14, - 315, 287, 7, 205, 40, 315, 59, 61, 69, 315, - 405, 69, 285, 69, 253, 88, 453, 69, 291, 69, - 69, 69, 69, -1, -1, 298, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 315, -1, -1, -1, -1, 262, 263, -1, + 292, 293, 294, 295, 296, 0, 298, 0, 44, 262, + 263, 91, 44, 291, 267, 268, 269, 270, 271, 44, + 298, 303, 303, 315, 316, 0, 44, 280, 314, 282, + 262, 263, 285, 265, 266, 258, 447, 290, 291, 292, + 293, 294, 295, 296, 0, 298, 44, 44, 459, 314, + 258, 258, 44, 44, 44, 44, 41, 258, 93, 258, + 44, 44, 315, 316, 262, 263, 44, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 91, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 44, 258, 291, 292, 293, 294, 44, 258, 44, + 298, 258, 44, 262, 263, 0, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 315, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 303, 44, 291, 292, 293, 294, 44, 44, 0, 298, + 44, 93, 261, 262, 263, 264, 265, 266, 258, 44, + 93, 258, 44, 44, 44, 44, 315, 44, 277, 278, + 44, 258, 44, 93, 44, 314, 285, 44, 258, 44, + 44, 0, 291, 258, 44, 258, 44, 44, 276, 298, + 258, 314, 41, 44, 41, 41, 44, 41, 259, 44, + 258, 44, 44, 44, 258, 44, 315, 259, 258, 41, + 261, 262, 263, 259, 265, 266, 0, 41, 44, 261, + 262, 263, 264, 44, 41, 0, 277, 278, 44, 44, + 0, 58, 427, 379, 285, 277, 278, 423, 262, 263, + 291, 265, 266, 285, 412, 5, 34, 298, 14, 291, + 0, 447, 206, 277, 278, 205, 298, 287, 7, 40, + 59, 285, 405, 61, 315, 69, 69, 291, 69, 69, + 88, 455, 69, 315, 298, 69, 261, 262, 263, 262, + 263, 253, 69, 69, -1, -1, -1, -1, -1, -1, + -1, 315, 277, 278, 277, 278, -1, 262, 263, -1, + 285, -1, 285, -1, -1, -1, 291, -1, 291, -1, + -1, -1, -1, 298, -1, 298, 262, 263, -1, -1, + 285, -1, -1, -1, -1, -1, 291, -1, -1, -1, + 315, -1, 315, 298, -1, -1, -1, -1, -1, 285, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + 315, -1, 298, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 315, + -1, -1, -1, -1, -1, -1, -1, 262, 263, -1, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, -1, -1, 292, 293, 294, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 262, 263, -1, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, -1, -1, -1, -1, - 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, - -1, -1, 292, 293, 294, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 262, 263, -1, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - -1, -1, -1, -1, 280, 281, 282, 283, 284, -1, - 286, 287, 288, -1, -1, -1, 292, 293, 294, -1, - -1, -1, -1, 262, 263, -1, 265, 266, 267, 268, + 262, 263, -1, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, -1, -1, -1, -1, 280, 281, + 282, 283, 284, -1, 286, 287, 288, -1, -1, -1, + 292, 293, 294, 262, 263, -1, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, -1, -1, -1, 280, 281, 282, 283, 284, -1, 286, 287, 288, - -1, -1, -1, 292, 293, 294, -1, 262, 263, -1, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, -1, -1, -1, -1, 280, 281, 282, 283, 284, - -1, 286, 287, 288, -1, -1, -1, 292, 293, 294, + -1, -1, -1, 292, 293, 294, -1, -1, 262, 263, + -1, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, -1, -1, -1, -1, 280, 281, 282, 283, + 284, -1, 286, 287, 288, -1, -1, -1, 292, 293, + 294, -1, 262, 263, -1, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, -1, -1, -1, -1, + 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, + -1, -1, 292, 293, 294, }; #define YYFINAL 3 #ifndef YYDEBUG @@ -667,6 +675,7 @@ char *yyrule[] = { "level_def : LEVEL_ID ':' string", "lev_init :", "lev_init : LEV_INIT_ID ':' CHAR ',' CHAR ',' BOOLEAN ',' BOOLEAN ',' light_state ',' walled", +"lev_init : LEV_INIT_ID ':' CHAR ',' CHAR ',' BOOLEAN ',' BOOLEAN ',' light_state ',' walled ',' BOOLEAN", "walled : BOOLEAN", "walled : RANDOM_TYPE", "flags :", @@ -1143,31 +1152,52 @@ case 11: yyerror("Invalid foreground type for joined map."); init_lev.lit = yyvsp[-2].i; init_lev.walled = yyvsp[0].i; + init_lev.icedpools = FALSE; yyval.i = 1; } break; -case 14: +case 12: +{ + init_lev.init_present = TRUE; + init_lev.fg = what_map_char((char) yyvsp[-12].i); + if (init_lev.fg == INVALID_TYPE) + yyerror("Invalid foreground type."); + init_lev.bg = what_map_char((char) yyvsp[-10].i); + if (init_lev.bg == INVALID_TYPE) + yyerror("Invalid background type."); + init_lev.smoothed = yyvsp[-8].i; + init_lev.joined = yyvsp[-6].i; + if (init_lev.joined && + init_lev.fg != CORR && init_lev.fg != ROOM) + yyerror("Invalid foreground type for joined map."); + init_lev.lit = yyvsp[-4].i; + init_lev.walled = yyvsp[-2].i; + init_lev.icedpools = yyvsp[0].i; + yyval.i = 1; + } +break; +case 15: { yyval.i = 0; } break; -case 15: +case 16: { yyval.i = lev_flags; lev_flags = 0; /* clear for next user */ } break; -case 16: +case 17: { lev_flags |= yyvsp[-2].i; } break; -case 17: +case 18: { lev_flags |= yyvsp[0].i; } break; -case 20: +case 21: { int i, j; @@ -1183,7 +1213,7 @@ case 20: Free(yyvsp[0].map); } break; -case 23: +case 24: { if(special_lev.nrobjects) { yyerror("Object registers already initialized!"); @@ -1195,7 +1225,7 @@ case 23: } } break; -case 24: +case 25: { if(special_lev.nrmonst) { yyerror("Monster registers already initialized!"); @@ -1207,7 +1237,7 @@ case 24: } } break; -case 25: +case 26: { tmproom[nrooms] = New(room); tmproom[nrooms]->name = (char *) 0; @@ -1223,14 +1253,14 @@ case 25: in_room = 1; } break; -case 31: +case 32: { tmpcor[0] = New(corridor); tmpcor[0]->src.room = -1; ncorridor = 1; } break; -case 34: +case 35: { tmpcor[ncorridor] = New(corridor); tmpcor[ncorridor]->src.room = yyvsp[-2].corpos.room; @@ -1246,7 +1276,7 @@ case 34: } } break; -case 35: +case 36: { tmpcor[ncorridor] = New(corridor); tmpcor[ncorridor]->src.room = yyvsp[-2].corpos.room; @@ -1261,7 +1291,7 @@ case 35: } } break; -case 36: +case 37: { if ((unsigned) yyvsp[-5].i >= nrooms) yyerror("Wrong room number!"); @@ -1270,17 +1300,17 @@ case 36: yyval.corpos.door = yyvsp[-1].i; } break; -case 37: -{ - store_room(); - } -break; case 38: { store_room(); } break; case 39: +{ + store_room(); + } +break; +case 40: { tmproom[nrooms] = New(room); tmproom[nrooms]->parent = yyvsp[-1].map; @@ -1297,7 +1327,7 @@ case 39: in_room = 1; } break; -case 40: +case 41: { tmproom[nrooms] = New(room); tmproom[nrooms]->name = (char *) 0; @@ -1314,17 +1344,17 @@ case 40: in_room = 1; } break; -case 41: +case 42: { yyval.i = 1; } break; -case 42: +case 43: { yyval.i = yyvsp[0].i; } break; -case 43: +case 44: { if ( yyvsp[-3].i < 1 || yyvsp[-3].i > 5 || yyvsp[-1].i < 1 || yyvsp[-1].i > 5 ) { @@ -1335,12 +1365,12 @@ case 43: } } break; -case 44: +case 45: { current_coord.x = current_coord.y = ERR; } break; -case 45: +case 46: { if ( yyvsp[-3].i < 0 || yyvsp[-1].i < 0) { yyerror("Invalid subroom position !"); @@ -1350,34 +1380,34 @@ case 45: } } break; -case 46: +case 47: { current_coord.x = current_coord.y = ERR; } break; -case 47: +case 48: { current_align.x = yyvsp[-3].i; current_align.y = yyvsp[-1].i; } break; -case 48: +case 49: { current_align.x = current_align.y = ERR; } break; -case 49: +case 50: { current_size.width = yyvsp[-3].i; current_size.height = yyvsp[-1].i; } break; -case 50: +case 51: { current_size.height = current_size.width = ERR; } break; -case 66: +case 67: { if (tmproom[nrooms]->name) yyerror("This room already has a name!"); @@ -1385,7 +1415,7 @@ case 66: tmproom[nrooms]->name = yyvsp[0].map; } break; -case 67: +case 68: { if (tmproom[nrooms]->chance) yyerror("This room already assigned a chance!"); @@ -1397,7 +1427,7 @@ case 67: tmproom[nrooms]->chance = yyvsp[0].i; } break; -case 68: +case 69: { /* ERR means random here */ if (yyvsp[-2].i == ERR && yyvsp[0].i != ERR) { @@ -1416,7 +1446,7 @@ case 68: } } break; -case 75: +case 76: { maze.filling = (schar) yyvsp[0].i; if (index(yyvsp[-2].map, '.')) @@ -1428,22 +1458,22 @@ case 75: n_plist = n_mlist = n_olist = 0; } break; -case 76: +case 77: { yyval.i = get_floor_type((char)yyvsp[0].i); } break; -case 77: +case 78: { yyval.i = -1; } break; -case 80: +case 81: { store_part(); } break; -case 81: +case 82: { tmppart[npart] = New(mazepart); tmppart[npart]->halign = 1; @@ -1460,7 +1490,7 @@ case 81: max_y_map = ROWNO; } break; -case 82: +case 83: { tmppart[npart] = New(mazepart); tmppart[npart]->halign = yyvsp[-1].i % 10; @@ -1472,12 +1502,12 @@ case 82: Free(yyvsp[0].map); } break; -case 83: +case 84: { yyval.i = yyvsp[-2].i + (yyvsp[0].i * 10); } break; -case 90: +case 91: { if (tmppart[npart]->nrobjects) { yyerror("Object registers already initialized!"); @@ -1489,7 +1519,7 @@ case 90: } } break; -case 91: +case 92: { if (tmppart[npart]->nloc) { yyerror("Location registers already initialized!"); @@ -1505,7 +1535,7 @@ case 91: } } break; -case 92: +case 93: { if (tmppart[npart]->nrmonst) { yyerror("Monster registers already initialized!"); @@ -1517,7 +1547,7 @@ case 92: } } break; -case 93: +case 94: { if (n_olist < MAX_REGISTERS) olist[n_olist++] = yyvsp[0].i; @@ -1525,7 +1555,7 @@ case 93: yyerror("Object list too long!"); } break; -case 94: +case 95: { if (n_olist < MAX_REGISTERS) olist[n_olist++] = yyvsp[-2].i; @@ -1533,7 +1563,7 @@ case 94: yyerror("Object list too long!"); } break; -case 95: +case 96: { if (n_mlist < MAX_REGISTERS) mlist[n_mlist++] = yyvsp[0].i; @@ -1541,7 +1571,7 @@ case 95: yyerror("Monster list too long!"); } break; -case 96: +case 97: { if (n_mlist < MAX_REGISTERS) mlist[n_mlist++] = yyvsp[-2].i; @@ -1549,14 +1579,6 @@ case 96: yyerror("Monster list too long!"); } break; -case 97: -{ - if (n_plist < MAX_REGISTERS) - plist[n_plist++] = current_coord; - else - yyerror("Location list too long!"); - } -break; case 98: { if (n_plist < MAX_REGISTERS) @@ -1565,7 +1587,15 @@ case 98: yyerror("Location list too long!"); } break; -case 122: +case 99: +{ + if (n_plist < MAX_REGISTERS) + plist[n_plist++] = current_coord; + else + yyerror("Location list too long!"); + } +break; +case 123: { tmpmonst[nmons] = New(monster); tmpmonst[nmons]->x = current_coord.x; @@ -1593,7 +1623,7 @@ case 122: } } break; -case 123: +case 124: { if (++nmons >= MAX_OF_TYPE) { yyerror("Too many monsters in room or mazepart!"); @@ -1601,37 +1631,37 @@ case 123: } } break; -case 126: +case 127: { tmpmonst[nmons]->name.str = yyvsp[0].map; } break; -case 127: +case 128: { tmpmonst[nmons]->peaceful = yyvsp[0].i; } break; -case 128: +case 129: { tmpmonst[nmons]->asleep = yyvsp[0].i; } break; -case 129: +case 130: { tmpmonst[nmons]->align = yyvsp[0].i; } break; -case 130: +case 131: { tmpmonst[nmons]->appear = yyvsp[-1].i; tmpmonst[nmons]->appear_as.str = yyvsp[0].map; } break; -case 131: +case 132: { } break; -case 132: +case 133: { /* 1: is contents of preceeding object with 2 */ /* 2: is a container */ @@ -1639,7 +1669,7 @@ case 132: tmpobj[nobj-1]->containment = 2; } break; -case 133: +case 134: { tmpobj[nobj] = New(object); tmpobj[nobj]->class = yyvsp[-2].i; @@ -1659,7 +1689,7 @@ case 133: } } break; -case 134: +case 135: { if (++nobj >= MAX_OF_TYPE) { yyerror("Too many objects in room or mazepart!"); @@ -1667,7 +1697,7 @@ case 134: } } break; -case 135: +case 136: { tmpobj[nobj]->containment = 0; tmpobj[nobj]->x = current_coord.x; @@ -1677,7 +1707,7 @@ case 135: "Object"); } break; -case 136: +case 137: { tmpobj[nobj]->containment = 1; /* random coordinate, will be overridden anyway */ @@ -1685,7 +1715,7 @@ case 136: tmpobj[nobj]->y = -MAX_REGISTERS-1; } break; -case 137: +case 138: { tmpobj[nobj]->spe = -127; /* Note below: we're trying to make as many of these optional as @@ -1696,10 +1726,6 @@ case 137: */ } break; -case 138: -{ - } -break; case 139: { } @@ -1710,15 +1736,19 @@ case 140: break; case 141: { - tmpobj[nobj]->curse_state = -1; } break; case 142: { - tmpobj[nobj]->curse_state = yyvsp[0].i; + tmpobj[nobj]->curse_state = -1; } break; case 143: +{ + tmpobj[nobj]->curse_state = yyvsp[0].i; + } +break; +case 144: { int token = get_monster_id(yyvsp[0].map, (char)0); if (token == ERR) /* "random" */ @@ -1728,26 +1758,26 @@ case 143: Free(yyvsp[0].map); } break; -case 144: +case 145: { tmpobj[nobj]->spe = -127; } break; -case 145: +case 146: { tmpobj[nobj]->spe = yyvsp[0].i; } break; -case 147: +case 148: { } break; -case 148: +case 149: { tmpobj[nobj]->name.str = yyvsp[0].map; } break; -case 149: +case 150: { tmpdoor[ndoor] = New(door); tmpdoor[ndoor]->x = current_coord.x; @@ -1764,7 +1794,7 @@ case 149: } } break; -case 150: +case 151: { tmptrap[ntrap] = New(trap); tmptrap[ntrap]->x = current_coord.x; @@ -1780,7 +1810,7 @@ case 150: } } break; -case 151: +case 152: { int x, y, dir; @@ -1823,7 +1853,7 @@ case 151: } } break; -case 152: +case 153: { tmpwalk[nwalk] = New(walk); tmpwalk[nwalk]->x = current_coord.x; @@ -1836,12 +1866,12 @@ case 152: } } break; -case 153: +case 154: { wallify_map(); } break; -case 154: +case 155: { tmplad[nlad] = New(lad); tmplad[nlad]->x = current_coord.x; @@ -1857,7 +1887,7 @@ case 154: } } break; -case 155: +case 156: { tmpstair[nstair] = New(stair); tmpstair[nstair]->x = current_coord.x; @@ -1873,7 +1903,7 @@ case 155: } } break; -case 156: +case 157: { tmplreg[nlreg] = New(lev_region); tmplreg[nlreg]->in_islev = yyvsp[0].i; @@ -1883,7 +1913,7 @@ case 156: tmplreg[nlreg]->inarea.y2 = current_region.y2; } break; -case 157: +case 158: { tmplreg[nlreg]->del_islev = yyvsp[-2].i; tmplreg[nlreg]->delarea.x1 = current_region.x1; @@ -1902,7 +1932,7 @@ case 157: } } break; -case 158: +case 159: { tmplreg[nlreg] = New(lev_region); tmplreg[nlreg]->in_islev = yyvsp[0].i; @@ -1912,7 +1942,7 @@ case 158: tmplreg[nlreg]->inarea.y2 = current_region.y2; } break; -case 159: +case 160: { tmplreg[nlreg]->del_islev = yyvsp[-2].i; tmplreg[nlreg]->delarea.x1 = current_region.x1; @@ -1928,7 +1958,7 @@ case 159: } } break; -case 160: +case 161: { tmplreg[nlreg] = New(lev_region); tmplreg[nlreg]->in_islev = yyvsp[0].i; @@ -1938,7 +1968,7 @@ case 160: tmplreg[nlreg]->inarea.y2 = current_region.y2; } break; -case 161: +case 162: { tmplreg[nlreg]->del_islev = yyvsp[0].i; tmplreg[nlreg]->delarea.x1 = current_region.x1; @@ -1947,7 +1977,7 @@ case 161: tmplreg[nlreg]->delarea.y2 = current_region.y2; } break; -case 162: +case 163: { switch(yyvsp[0].i) { case -1: tmplreg[nlreg]->rtype = LR_TELE; break; @@ -1962,7 +1992,7 @@ case 162: } } break; -case 163: +case 164: { tmplreg[nlreg] = New(lev_region); tmplreg[nlreg]->in_islev = yyvsp[0].i; @@ -1972,7 +2002,7 @@ case 163: tmplreg[nlreg]->inarea.y2 = current_region.y2; } break; -case 164: +case 165: { tmplreg[nlreg]->del_islev = yyvsp[0].i; tmplreg[nlreg]->delarea.x1 = current_region.x1; @@ -1988,22 +2018,22 @@ case 164: } } break; -case 165: +case 166: { yyval.i = -1; } break; -case 166: +case 167: { yyval.i = yyvsp[0].i; } break; -case 167: +case 168: { yyval.i = 0; } break; -case 168: +case 169: { /* This series of if statements is a hack for MSC 5.1. It seems that its tiny little brain cannot compile if these are all one big if statement. */ @@ -2022,7 +2052,7 @@ case 168: yyval.i = 1; } break; -case 169: +case 170: { tmpfountain[nfountain] = New(fountain); tmpfountain[nfountain]->x = current_coord.x; @@ -2037,7 +2067,7 @@ case 169: } } break; -case 170: +case 171: { tmpsink[nsink] = New(sink); tmpsink[nsink]->x = current_coord.x; @@ -2049,7 +2079,7 @@ case 170: } } break; -case 171: +case 172: { tmppool[npool] = New(pool); tmppool[npool]->x = current_coord.x; @@ -2061,7 +2091,7 @@ case 171: } } break; -case 172: +case 173: { tmpdig[ndig] = New(digpos); tmpdig[ndig]->x1 = current_region.x1; @@ -2075,7 +2105,7 @@ case 172: } } break; -case 173: +case 174: { tmppass[npass] = New(digpos); tmppass[npass]->x1 = current_region.x1; @@ -2089,7 +2119,7 @@ case 173: } } break; -case 174: +case 175: { tmpreg[nreg] = New(region); tmpreg[nreg]->x1 = current_region.x1; @@ -2154,7 +2184,7 @@ case 174: } } break; -case 175: +case 176: { tmpaltar[naltar] = New(altar); tmpaltar[naltar]->x = current_coord.x; @@ -2171,7 +2201,7 @@ case 175: } } break; -case 176: +case 177: { tmpgold[ngold] = New(gold); tmpgold[ngold]->x = current_coord.x; @@ -2187,7 +2217,7 @@ case 176: } } break; -case 177: +case 178: { tmpengraving[nengraving] = New(engraving); tmpengraving[nengraving]->x = current_coord.x; @@ -2204,27 +2234,27 @@ case 177: } } break; -case 179: +case 180: { yyval.i = - MAX_REGISTERS - 1; } break; -case 182: +case 183: { yyval.i = - MAX_REGISTERS - 1; } break; -case 185: -{ - yyval.map = (char *) 0; - } -break; -case 187: +case 186: { yyval.map = (char *) 0; } break; case 188: +{ + yyval.map = (char *) 0; + } +break; +case 189: { int token = get_trap_type(yyvsp[0].map); if (token == ERR) @@ -2233,7 +2263,7 @@ case 188: Free(yyvsp[0].map); } break; -case 190: +case 191: { int token = get_room_type(yyvsp[0].map); if (token == ERR) { @@ -2244,45 +2274,37 @@ case 190: Free(yyvsp[0].map); } break; -case 192: +case 193: { yyval.i = 0; } break; -case 193: +case 194: { yyval.i = yyvsp[0].i; } break; -case 194: +case 195: { yyval.i = yyvsp[-2].i + (yyvsp[0].i << 1); } break; -case 197: +case 198: { current_coord.x = current_coord.y = -MAX_REGISTERS-1; } break; -case 204: +case 205: { yyval.i = - MAX_REGISTERS - 1; } break; -case 207: -{ - if ( yyvsp[-1].i >= MAX_REGISTERS ) - yyerror("Register Index overflow!"); - else - current_coord.x = current_coord.y = - yyvsp[-1].i - 1; - } -break; case 208: { if ( yyvsp[-1].i >= MAX_REGISTERS ) yyerror("Register Index overflow!"); else - yyval.i = - yyvsp[-1].i - 1; + current_coord.x = current_coord.y = - yyvsp[-1].i - 1; } break; case 209: @@ -2294,6 +2316,14 @@ case 209: } break; case 210: +{ + if ( yyvsp[-1].i >= MAX_REGISTERS ) + yyerror("Register Index overflow!"); + else + yyval.i = - yyvsp[-1].i - 1; + } +break; +case 211: { if ( yyvsp[-1].i >= 3 ) yyerror("Register Index overflow!"); @@ -2301,7 +2331,7 @@ case 210: yyval.i = - yyvsp[-1].i - 1; } break; -case 212: +case 213: { if (check_monster_char((char) yyvsp[0].i)) yyval.i = yyvsp[0].i ; @@ -2311,7 +2341,7 @@ case 212: } } break; -case 213: +case 214: { char c = yyvsp[0].i; if (check_object_char(c)) @@ -2322,19 +2352,19 @@ case 213: } } break; -case 217: +case 218: { yyval.i = 100; /* default is 100% */ } break; -case 218: +case 219: { if (yyvsp[0].i <= 0 || yyvsp[0].i > 100) yyerror("Expected percentile chance."); yyval.i = yyvsp[0].i; } break; -case 221: +case 222: { if (!in_room && !init_lev.init_present && (yyvsp[-3].i < 0 || yyvsp[-3].i > (int)max_x_map || @@ -2344,7 +2374,7 @@ case 221: current_coord.y = yyvsp[-1].i; } break; -case 222: +case 223: { /* This series of if statements is a hack for MSC 5.1. It seems that its tiny little brain cannot compile if these are all one big if statement. */