diff options
Diffstat (limited to 'engines/director/lingo/lingo-gr.cpp')
-rw-r--r-- | engines/director/lingo/lingo-gr.cpp | 918 |
1 files changed, 472 insertions, 446 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index 4b6abc2b56..3837029a5f 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -118,21 +118,22 @@ tPLAY = 307, tDONE = 308, tPLAYACCEL = 309, - tGE = 310, - tLE = 311, - tGT = 312, - tLT = 313, - tEQ = 314, - tNEQ = 315, - tAND = 316, - tOR = 317, - tNOT = 318, - tCONCAT = 319, - tCONTAINS = 320, - tSTARTS = 321, - tSPRITE = 322, - tINTERSECTS = 323, - tWITHIN = 324 + tINSTANCE = 310, + tGE = 311, + tLE = 312, + tGT = 313, + tLT = 314, + tEQ = 315, + tNEQ = 316, + tAND = 317, + tOR = 318, + tNOT = 319, + tCONCAT = 320, + tCONTAINS = 321, + tSTARTS = 322, + tSPRITE = 323, + tINTERSECTS = 324, + tWITHIN = 325 }; #endif /* Tokens. */ @@ -188,21 +189,22 @@ #define tPLAY 307 #define tDONE 308 #define tPLAYACCEL 309 -#define tGE 310 -#define tLE 311 -#define tGT 312 -#define tLT 313 -#define tEQ 314 -#define tNEQ 315 -#define tAND 316 -#define tOR 317 -#define tNOT 318 -#define tCONCAT 319 -#define tCONTAINS 320 -#define tSTARTS 321 -#define tSPRITE 322 -#define tINTERSECTS 323 -#define tWITHIN 324 +#define tINSTANCE 310 +#define tGE 311 +#define tLE 312 +#define tGT 313 +#define tLT 314 +#define tEQ 315 +#define tNEQ 316 +#define tAND 317 +#define tOR 318 +#define tNOT 319 +#define tCONCAT 320 +#define tCONTAINS 321 +#define tSTARTS 322 +#define tSPRITE 323 +#define tINTERSECTS 324 +#define tWITHIN 325 @@ -260,7 +262,7 @@ typedef union YYSTYPE Common::Array<double> *arr; } /* Line 193 of yacc.c. */ -#line 264 "engines/director/lingo/lingo-gr.cpp" +#line 266 "engines/director/lingo/lingo-gr.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -273,7 +275,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 277 "engines/director/lingo/lingo-gr.cpp" +#line 279 "engines/director/lingo/lingo-gr.cpp" #ifdef short # undef short @@ -486,22 +488,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 89 +#define YYFINAL 92 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 910 +#define YYLAST 978 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 83 +#define YYNTOKENS 84 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 36 +#define YYNNTS 37 /* YYNRULES -- Number of rules. */ -#define YYNRULES 126 +#define YYNRULES 129 /* YYNRULES -- Number of states. */ -#define YYNSTATES 262 +#define YYNSTATES 267 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 324 +#define YYMAXUTOK 325 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -510,12 +512,12 @@ union yyalloc static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 76, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 77, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 75, 81, 2, - 77, 78, 73, 71, 82, 72, 2, 74, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 76, 82, 2, + 78, 79, 74, 72, 83, 73, 2, 75, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 80, 70, 79, 2, 2, 2, 2, 2, 2, 2, + 81, 71, 80, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -541,7 +543,7 @@ static const yytype_uint8 yytranslate[] = 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69 + 65, 66, 67, 68, 69, 70 }; #if YYDEBUG @@ -558,62 +560,63 @@ static const yytype_uint16 yyprhs[] = 247, 249, 251, 254, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 303, 307, 311, 315, 319, 322, 325, 329, 334, 339, 342, 344, 346, 349, - 351, 354, 357, 360, 362, 365, 370, 373, 375, 379, - 382, 385, 388, 391, 395, 398, 401, 403, 407, 410, - 413, 416, 420, 423, 424, 433, 436, 437, 446, 447, - 449, 453, 458, 459, 463, 464, 466 + 351, 354, 357, 360, 363, 365, 368, 373, 376, 378, + 382, 384, 388, 391, 394, 397, 400, 404, 407, 410, + 412, 416, 419, 422, 425, 429, 432, 433, 442, 445, + 446, 455, 456, 458, 462, 467, 468, 472, 473, 475 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 84, 0, -1, 84, 85, 86, -1, 86, -1, 1, - 85, -1, 76, -1, -1, 112, -1, 106, -1, 117, - -1, 87, -1, 89, -1, 40, 105, 33, 21, -1, - 42, 21, 70, 105, -1, 42, 13, 70, 105, -1, - 42, 14, 105, 70, 105, -1, 42, 21, 44, 105, - -1, 42, 13, 44, 105, -1, 42, 14, 105, 44, - 105, -1, 105, -1, 106, -1, 88, -1, 90, -1, - 97, 77, 96, 78, 103, 102, 27, 41, -1, 98, - 70, 105, 102, 44, 105, 102, 103, 102, 27, 41, - -1, 98, 70, 105, 102, 24, 44, 105, 102, 103, - 102, 27, 41, -1, 104, 105, 102, -1, 99, 96, - 43, 85, 103, 102, 27, 32, -1, 99, 96, 43, - 85, 103, 102, 48, 103, 102, 27, 32, -1, 99, - 96, 43, 85, 103, 102, 101, 92, 102, 27, 32, - -1, 99, 96, 43, 101, 88, 102, -1, 99, 96, - 43, 101, 88, 102, 48, 101, 88, 102, -1, 99, - 96, 43, 101, 88, 102, 93, 102, 91, 102, -1, - -1, 48, 101, 88, -1, 92, 95, -1, 95, -1, - 93, 94, -1, 94, -1, 100, 96, 43, 101, 89, - 102, -1, 93, -1, 100, 96, 43, 103, 102, -1, - 105, -1, 105, 70, 105, -1, 77, 96, 78, -1, + 85, 0, -1, 85, 86, 87, -1, 87, -1, 1, + 86, -1, 77, -1, -1, 114, -1, 107, -1, 119, + -1, 88, -1, 90, -1, 40, 106, 33, 21, -1, + 42, 21, 71, 106, -1, 42, 13, 71, 106, -1, + 42, 14, 106, 71, 106, -1, 42, 21, 44, 106, + -1, 42, 13, 44, 106, -1, 42, 14, 106, 44, + 106, -1, 106, -1, 107, -1, 89, -1, 91, -1, + 98, 78, 97, 79, 104, 103, 27, 41, -1, 99, + 71, 106, 103, 44, 106, 103, 104, 103, 27, 41, + -1, 99, 71, 106, 103, 24, 44, 106, 103, 104, + 103, 27, 41, -1, 105, 106, 103, -1, 100, 97, + 43, 86, 104, 103, 27, 32, -1, 100, 97, 43, + 86, 104, 103, 48, 104, 103, 27, 32, -1, 100, + 97, 43, 86, 104, 103, 102, 93, 103, 27, 32, + -1, 100, 97, 43, 102, 89, 103, -1, 100, 97, + 43, 102, 89, 103, 48, 102, 89, 103, -1, 100, + 97, 43, 102, 89, 103, 94, 103, 92, 103, -1, + -1, 48, 102, 89, -1, 93, 96, -1, 96, -1, + 94, 95, -1, 95, -1, 101, 97, 43, 102, 90, + 103, -1, 94, -1, 101, 97, 43, 104, 103, -1, + 106, -1, 106, 71, 106, -1, 78, 97, 79, -1, 41, 47, -1, 41, 46, 21, -1, 32, -1, 26, - -1, -1, -1, -1, 103, 85, -1, 103, 89, -1, + -1, -1, -1, -1, 104, 86, -1, 104, 90, -1, 45, 21, 43, -1, 12, -1, 15, -1, 22, -1, - 17, -1, 21, 77, 118, 78, -1, 21, -1, 13, - -1, 14, 105, -1, 87, -1, 105, 71, 105, -1, - 105, 72, 105, -1, 105, 73, 105, -1, 105, 74, - 105, -1, 105, 79, 105, -1, 105, 80, 105, -1, - 105, 60, 105, -1, 105, 55, 105, -1, 105, 56, - 105, -1, 105, 61, 105, -1, 105, 62, 105, -1, - 63, 105, -1, 105, 81, 105, -1, 105, 64, 105, - -1, 105, 65, 105, -1, 105, 66, 105, -1, 71, - 105, -1, 72, 105, -1, 77, 105, 78, -1, 67, - 105, 68, 105, -1, 67, 105, 69, 105, -1, 40, - 105, -1, 108, -1, 111, -1, 28, 41, -1, 28, - -1, 30, 107, -1, 19, 105, -1, 18, 105, -1, - 18, -1, 20, 118, -1, 51, 105, 46, 105, -1, - 51, 105, -1, 21, -1, 107, 82, 21, -1, 31, - 34, -1, 31, 37, -1, 31, 39, -1, 31, 109, - -1, 31, 109, 110, -1, 31, 110, -1, 29, 105, - -1, 105, -1, 38, 36, 105, -1, 36, 105, -1, - 52, 53, -1, 52, 109, -1, 52, 109, 110, -1, - 52, 110, -1, -1, 35, 21, 113, 101, 115, 85, - 116, 103, -1, 49, 21, -1, -1, 50, 21, 114, - 101, 115, 85, 116, 103, -1, -1, 21, -1, 115, - 82, 21, -1, 115, 85, 82, 21, -1, -1, 21, - 101, 118, -1, -1, 105, -1, 118, 82, 105, -1 + 17, -1, 21, 78, 120, 79, -1, 21, -1, 13, + -1, 14, 106, -1, 88, -1, 106, 72, 106, -1, + 106, 73, 106, -1, 106, 74, 106, -1, 106, 75, + 106, -1, 106, 80, 106, -1, 106, 81, 106, -1, + 106, 61, 106, -1, 106, 56, 106, -1, 106, 57, + 106, -1, 106, 62, 106, -1, 106, 63, 106, -1, + 64, 106, -1, 106, 82, 106, -1, 106, 65, 106, + -1, 106, 66, 106, -1, 106, 67, 106, -1, 72, + 106, -1, 73, 106, -1, 78, 106, 79, -1, 68, + 106, 69, 106, -1, 68, 106, 70, 106, -1, 40, + 106, -1, 110, -1, 113, -1, 28, 41, -1, 28, + -1, 30, 108, -1, 55, 109, -1, 19, 106, -1, + 18, 106, -1, 18, -1, 20, 120, -1, 51, 106, + 46, 106, -1, 51, 106, -1, 21, -1, 108, 83, + 21, -1, 21, -1, 109, 83, 21, -1, 31, 34, + -1, 31, 37, -1, 31, 39, -1, 31, 111, -1, + 31, 111, 112, -1, 31, 112, -1, 29, 106, -1, + 106, -1, 38, 36, 106, -1, 36, 106, -1, 52, + 53, -1, 52, 111, -1, 52, 111, 112, -1, 52, + 112, -1, -1, 35, 21, 115, 102, 117, 86, 118, + 104, -1, 49, 21, -1, -1, 50, 21, 116, 102, + 117, 86, 118, 104, -1, -1, 21, -1, 117, 83, + 21, -1, 117, 86, 83, 21, -1, -1, 21, 102, + 120, -1, -1, 106, -1, 120, 83, 106, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -628,10 +631,10 @@ static const yytype_uint16 yyrline[] = 367, 371, 378, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 408, 409, 410, 411, 412, - 414, 415, 418, 421, 424, 425, 426, 429, 430, 441, - 442, 443, 444, 447, 450, 455, 456, 459, 460, 463, - 464, 467, 470, 500, 500, 506, 509, 509, 514, 515, - 516, 517, 519, 523, 531, 532, 533 + 414, 415, 416, 419, 422, 425, 426, 427, 430, 431, + 434, 435, 446, 447, 448, 449, 452, 455, 460, 461, + 464, 465, 468, 469, 472, 475, 505, 505, 511, 514, + 514, 519, 520, 521, 522, 524, 528, 536, 537, 538 }; #endif @@ -648,16 +651,17 @@ static const char *const yytname[] = "tINTO", "tLOOP", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE", "tFACTORY", "tMETHOD", "tOPEN", "tPLAY", "tDONE", - "tPLAYACCEL", "tGE", "tLE", "tGT", "tLT", "tEQ", "tNEQ", "tAND", "tOR", - "tNOT", "tCONCAT", "tCONTAINS", "tSTARTS", "tSPRITE", "tINTERSECTS", - "tWITHIN", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", - "')'", "'>'", "'<'", "'&'", "','", "$accept", "program", "nl", - "programline", "asgn", "stmtoneliner", "stmt", "ifstmt", + "tPLAYACCEL", "tINSTANCE", "tGE", "tLE", "tGT", "tLT", "tEQ", "tNEQ", + "tAND", "tOR", "tNOT", "tCONCAT", "tCONTAINS", "tSTARTS", "tSPRITE", + "tINTERSECTS", "tWITHIN", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", + "'\\n'", "'('", "')'", "'>'", "'<'", "'&'", "','", "$accept", "program", + "nl", "programline", "asgn", "stmtoneliner", "stmt", "ifstmt", "elsestmtoneliner", "elseifstmt", "elseifstmtoneliner", "elseifstmtoneliner1", "elseifstmt1", "cond", "repeatwhile", "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when", "expr", - "func", "globallist", "gotofunc", "gotoframe", "gotomovie", "playfunc", - "defn", "@1", "@2", "argdef", "argstore", "macro", "arglist", 0 + "func", "globallist", "instancelist", "gotofunc", "gotoframe", + "gotomovie", "playfunc", "defn", "@1", "@2", "argdef", "argstore", + "macro", "arglist", 0 }; #endif @@ -673,27 +677,27 @@ static const yytype_uint16 yytoknum[] = 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 61, 43, 45, 42, 47, 37, 10, 40, 41, 62, - 60, 38, 44 + 325, 61, 43, 45, 42, 47, 37, 10, 40, 41, + 62, 60, 38, 44 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 83, 84, 84, 84, 85, 86, 86, 86, 86, - 86, 86, 87, 87, 87, 87, 87, 87, 87, 88, - 88, 89, 89, 89, 89, 89, 89, 90, 90, 90, - 90, 90, 90, 91, 91, 92, 92, 93, 93, 94, - 95, 95, 96, 96, 96, 97, 98, 99, 100, 101, - 102, 103, 103, 103, 104, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, - 106, 106, 106, 106, 106, 106, 106, 107, 107, 108, - 108, 108, 108, 108, 108, 109, 109, 110, 110, 111, - 111, 111, 111, 113, 112, 112, 114, 112, 115, 115, - 115, 115, 116, 117, 118, 118, 118 + 0, 84, 85, 85, 85, 86, 87, 87, 87, 87, + 87, 87, 88, 88, 88, 88, 88, 88, 88, 89, + 89, 90, 90, 90, 90, 90, 90, 91, 91, 91, + 91, 91, 91, 92, 92, 93, 93, 94, 94, 95, + 96, 96, 97, 97, 97, 98, 99, 100, 101, 102, + 103, 104, 104, 104, 105, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, + 109, 109, 110, 110, 110, 110, 110, 110, 111, 111, + 112, 112, 113, 113, 113, 113, 115, 114, 114, 116, + 114, 117, 117, 117, 117, 118, 119, 120, 120, 120 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -708,10 +712,10 @@ static const yytype_uint8 yyr2[] = 1, 1, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 2, 3, 4, 4, 2, 1, 1, 2, 1, - 2, 2, 2, 1, 2, 4, 2, 1, 3, 2, - 2, 2, 2, 3, 2, 2, 1, 3, 2, 2, - 2, 3, 2, 0, 8, 2, 0, 8, 0, 1, - 3, 4, 0, 3, 0, 1, 3 + 2, 2, 2, 2, 1, 2, 4, 2, 1, 3, + 1, 3, 2, 2, 2, 2, 3, 2, 2, 1, + 3, 2, 2, 2, 3, 2, 0, 8, 2, 0, + 8, 0, 1, 3, 4, 0, 3, 0, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -719,85 +723,85 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 0, 55, 61, 0, 56, 58, 93, 0, 124, + 0, 0, 55, 61, 0, 56, 58, 94, 0, 127, 49, 57, 89, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 63, 21, 11, 22, 0, 0, 0, 0, - 19, 8, 86, 87, 7, 9, 5, 4, 60, 0, - 63, 62, 92, 91, 125, 94, 124, 124, 88, 97, - 90, 0, 99, 0, 100, 0, 101, 106, 102, 104, - 113, 85, 0, 45, 0, 0, 0, 0, 115, 116, - 96, 109, 110, 112, 75, 0, 80, 81, 0, 1, - 6, 0, 0, 0, 0, 42, 50, 0, 0, 0, + 0, 0, 3, 63, 21, 11, 22, 0, 0, 0, + 0, 19, 8, 86, 87, 7, 9, 5, 4, 60, + 0, 63, 62, 93, 92, 128, 95, 127, 127, 88, + 98, 90, 0, 102, 0, 103, 0, 104, 109, 105, + 107, 116, 85, 0, 45, 0, 0, 0, 0, 118, + 119, 97, 112, 113, 115, 100, 91, 75, 0, 80, + 81, 0, 1, 6, 0, 0, 0, 0, 42, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 123, 0, 105, 108, 0, - 103, 49, 0, 46, 0, 0, 0, 0, 0, 54, - 49, 0, 111, 0, 0, 82, 2, 0, 50, 0, - 0, 49, 0, 26, 71, 72, 70, 73, 74, 77, - 78, 79, 64, 65, 66, 67, 68, 69, 76, 126, - 59, 98, 107, 118, 12, 17, 14, 0, 0, 16, - 13, 118, 95, 83, 84, 51, 0, 44, 51, 0, - 43, 119, 0, 18, 15, 0, 50, 0, 0, 50, - 50, 20, 0, 122, 122, 52, 53, 0, 0, 50, - 49, 30, 120, 0, 51, 51, 0, 50, 51, 0, - 51, 0, 48, 49, 50, 38, 0, 121, 114, 117, - 23, 51, 50, 27, 50, 50, 40, 36, 0, 0, - 37, 33, 0, 50, 0, 0, 35, 0, 0, 50, - 49, 50, 49, 0, 0, 0, 0, 49, 31, 0, - 32, 0, 0, 24, 28, 29, 50, 34, 50, 25, - 41, 39 + 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, + 108, 111, 0, 106, 49, 0, 46, 0, 0, 0, + 0, 0, 54, 49, 0, 114, 0, 0, 0, 82, + 2, 0, 50, 0, 0, 49, 0, 26, 71, 72, + 70, 73, 74, 77, 78, 79, 64, 65, 66, 67, + 68, 69, 76, 129, 59, 99, 110, 121, 12, 17, + 14, 0, 0, 16, 13, 121, 96, 101, 83, 84, + 51, 0, 44, 51, 0, 43, 122, 0, 18, 15, + 0, 50, 0, 0, 50, 50, 20, 0, 125, 125, + 52, 53, 0, 0, 50, 49, 30, 123, 0, 51, + 51, 0, 50, 51, 0, 51, 0, 48, 49, 50, + 38, 0, 124, 117, 120, 23, 51, 50, 27, 50, + 50, 40, 36, 0, 0, 37, 33, 0, 50, 0, + 0, 35, 0, 0, 50, 49, 50, 49, 0, 0, + 0, 0, 49, 31, 0, 32, 0, 0, 24, 28, + 29, 50, 34, 50, 25, 41, 39 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 30, 195, 31, 50, 33, 196, 35, 241, 225, - 226, 215, 227, 94, 36, 37, 38, 216, 251, 143, - 186, 39, 40, 191, 60, 42, 68, 69, 43, 44, - 121, 130, 182, 204, 45, 55 + -1, 31, 200, 32, 51, 34, 201, 36, 246, 230, + 231, 220, 232, 97, 37, 38, 39, 221, 256, 147, + 191, 40, 41, 196, 61, 86, 43, 69, 70, 44, + 45, 124, 133, 187, 209, 46, 56 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -197 +#define YYPACT_NINF -203 static const yytype_int16 yypact[] = { - 255, -59, -197, -197, 365, -197, -197, 365, 365, 365, - 802, -197, -7, 19, 553, -197, 27, 365, 22, 84, - 51, 58, 61, 365, 593, 365, 365, 365, 365, 365, - 4, -197, 5, -197, -197, -197, -51, -27, 492, 365, - 780, -197, -197, -197, -197, -197, -197, -197, 9, 365, - -197, 780, 780, 780, 780, 6, 365, 365, -197, -197, - 18, 365, -197, 365, -197, 53, -197, 780, 37, -197, - -197, 607, 70, -197, -35, 365, -34, 59, -197, -197, - 660, -197, 37, -197, -42, 682, -42, -42, 731, -197, - 321, 492, 365, 492, 60, 758, 780, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 607, 365, -57, 6, 83, 780, 780, 365, - -197, -197, 85, -197, 365, 365, 638, 365, 365, -197, - -197, 365, -197, 365, 365, -197, -197, 29, 780, 30, - 704, -59, 365, -197, 780, 780, 780, 780, 780, 780, - 780, 780, 829, 829, -42, -42, 780, 780, 780, 780, - -197, -197, 780, 88, -197, 780, 780, 365, 365, 780, - 780, 88, 780, 780, 780, -197, 7, -197, -197, 509, - 780, -197, -32, 780, 780, -32, 382, 66, 365, 382, - -197, -197, 90, 32, 32, -197, -197, 89, 365, 780, - 1, -15, -197, 94, -197, -197, 76, 780, -197, 86, - -197, 93, -197, -197, 93, -197, 492, -197, 382, 382, - -197, -197, 382, -197, 382, 93, 93, -197, 492, 509, - -197, 72, 79, 382, 96, 97, -197, 98, 91, -197, - -197, -197, -197, 100, 87, 101, 118, -20, -197, 509, - -197, 448, 112, -197, -197, -197, 382, -197, -197, -197, - -197, -197 + 275, -52, -203, -203, 653, -203, -203, 653, 653, 653, + 869, -203, -5, 29, 578, -203, 36, 653, -23, 6, + 38, 39, 41, 653, 619, 42, 653, 653, 653, 653, + 653, 8, -203, 9, -203, -203, -203, -34, 4, 664, + 653, 847, -203, -203, -203, -203, -203, -203, -203, -12, + 653, -203, 847, 847, 847, 847, -18, 653, 653, -203, + -203, -4, 653, -203, 653, -203, 45, -203, 847, 11, + -203, -203, 678, 56, -203, -37, 653, -32, 35, -203, + -203, 727, -203, 11, -203, -203, -1, 163, 749, 163, + 163, 798, -203, 342, 664, 653, 664, 46, 825, 847, + 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, + 653, 653, 653, 653, 653, 678, 653, -48, -18, 66, + 847, 847, 653, -203, -203, 67, -203, 653, 653, 705, + 653, 653, -203, -203, 653, -203, 69, 653, 653, -203, + -203, 12, 847, 13, 771, -52, 653, -203, 847, 847, + 847, 847, 847, 847, 847, 847, 896, 896, 163, 163, + 847, 847, 847, 847, -203, -203, 847, 74, -203, 847, + 847, 653, 653, 847, 847, 74, 847, -203, 847, 847, + -203, 2, -203, -203, 533, 847, -203, -55, 847, 847, + -55, 404, 53, 653, 404, -203, -203, 78, 17, 17, + -203, -203, 76, 653, 847, -6, -8, -203, 83, -203, + -203, 64, 847, -203, 75, -203, 84, -203, -203, 84, + -203, 664, -203, 404, 404, -203, -203, 404, -203, 404, + 84, 84, -203, 664, 533, -203, 61, 68, 404, 85, + 86, -203, 87, 73, -203, -203, -203, -203, 90, 77, + 89, 91, -13, -203, 533, -203, 471, 81, -203, -203, + -203, 404, -203, -203, -203, -203, -203 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -197, -197, 11, 64, 2, -171, 0, -197, -197, -197, - -45, -143, -67, -61, -197, -197, -197, -196, -9, -12, - -151, -197, 38, 3, -197, -197, 135, -8, -197, -197, - -197, -197, -11, -33, -197, 28 + -203, -203, 14, 26, 3, -178, 0, -203, -203, -203, + -81, -202, -104, -92, -203, -203, -203, -200, -9, 23, + -172, -203, 44, 5, -203, -203, -203, 103, -14, -203, + -203, -203, -203, -47, -69, -203, -25 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -807,194 +811,206 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -61 static const yytype_int16 yytable[] = { - 34, 57, 32, 41, 89, -10, -51, -51, 190, 124, - 127, 212, 47, 97, 98, 228, 83, 46, 99, 100, - 101, 160, 102, 103, 104, 113, 91, 189, 209, 228, - 137, 187, 139, 213, 58, 125, 128, 109, 110, 111, - 59, 90, 51, 92, 46, 52, 53, 54, 70, 210, - 192, 188, 67, 218, 219, 71, -51, 222, 239, 224, - 120, 80, 67, 84, 85, 86, 87, 88, 72, 73, - 233, 230, 77, 63, 132, 65, 95, 96, 257, 78, - 46, -10, 79, 230, 114, 115, 56, 112, 113, 119, - 34, 123, 32, 41, 54, 54, 256, 74, 75, 117, - 116, 118, 129, 141, 161, 76, 164, 175, 177, 181, - 198, 202, 163, 126, 203, 217, 206, 220, 223, 212, - 240, 171, 242, 244, 245, 246, 176, 252, 253, 95, - 138, 140, 179, 254, 247, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 255, 159, 178, 259, 136, 232, 214, 162, 236, 82, - 185, 205, 165, 166, 0, 169, 170, 238, 0, 172, - 0, 173, 174, 0, 197, 0, 0, 200, 201, 0, - 180, 0, 0, 0, 0, 0, 0, 208, 0, 0, - 0, 211, 0, 193, 0, 221, 194, 0, 0, 0, - 0, 0, 231, 0, 229, 183, 184, 0, 0, 0, - 234, 0, 235, 237, 0, 0, 0, 0, 0, 0, - 0, 243, 0, 0, 0, 0, 199, 248, 0, 250, - 0, 249, 0, 0, 0, 0, 207, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 261, 0, 0, 0, - 0, 258, 0, 0, 95, -6, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 95, 2, 3, 4, + 35, 58, 141, 33, 143, 42, 195, 127, 92, -10, + 84, 194, 130, -51, -51, 48, 233, 235, 217, 75, + 76, 214, 47, 73, 74, 47, 192, 77, 197, 235, + 233, 164, 117, 118, 128, 116, 59, 223, 224, 131, + 218, 227, 215, 229, 94, 93, 193, 64, 52, 66, + 60, 53, 54, 55, 238, 123, 244, 71, 68, 78, + 79, 72, 80, 85, -51, 116, 57, 81, 68, 135, + 87, 88, 89, 90, 91, 95, 262, 126, 132, 119, + 261, 122, 136, 98, 99, 47, -10, 165, 168, 145, + 177, 180, 182, 35, 115, 186, 33, 203, 42, 207, + 208, 55, 55, 211, 222, 225, 120, 228, 121, 245, + 217, 247, 249, 250, 251, 167, 252, 257, 258, 140, + 129, 259, 264, 260, 175, 219, 241, 83, 190, 237, + 210, 0, 0, 0, 0, 0, 184, 0, 98, 142, + 144, 243, 0, 0, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 183, + 163, 0, 0, 0, 0, 181, 166, 0, 0, 0, + 0, 169, 170, 0, 173, 174, 0, 0, 176, 0, + 0, 178, 179, 0, 0, 0, 0, 0, 0, 0, + 185, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 198, 0, 0, 199, 0, 0, 0, 0, 234, + 0, 0, 0, 0, 202, 188, 189, 205, 206, 100, + 101, 0, 0, 0, 102, 103, 104, 213, 105, 106, + 107, 0, 0, 0, 0, 226, 254, 204, 0, 0, + 0, 0, 236, 112, 113, 114, 0, 212, 0, 0, + 239, 0, 240, 242, 0, 0, 263, 0, 0, 0, + 0, 248, 0, 0, 0, 98, 0, 253, 0, 255, + 0, 0, 0, 0, 0, -6, 1, 98, 0, 0, + 0, 0, 0, 0, 265, 0, 266, 2, 3, 4, 5, 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 12, 0, 13, 14, 15, 0, 0, 16, 0, 0, 0, 0, 17, 18, 19, 0, 0, 20, 0, 0, 0, 21, 22, 23, 24, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, - 0, 0, 26, 0, 0, 0, 27, 28, 0, 0, - 0, -6, 29, 2, 3, 4, 5, 0, 6, 7, - 8, 9, 10, 11, 0, 0, 0, 0, 0, 12, - 0, 13, 14, 15, 0, 0, 16, 0, 0, 0, + 25, 0, 0, 0, 0, 0, 0, 0, 0, 26, + 0, 0, 0, 27, 0, 0, 0, 28, 29, 0, + 0, 0, -6, 30, 2, 3, 4, 5, 0, 6, + 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, + 12, 0, 13, 14, 15, 0, 0, 16, 0, 0, + 0, 0, 17, 18, 19, 0, 0, 20, 0, 0, + 0, 21, 22, 23, 24, 0, 0, 25, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, + 27, 0, 0, 0, 28, 29, 2, 3, 4, 5, + 30, 6, 7, 8, 9, 49, 11, 0, 0, 0, + 0, 0, 12, 0, 13, 14, 15, 0, 0, 0, + 0, 0, 0, 0, 17, 18, 19, 0, 0, 20, + 0, 0, 0, 0, 0, 23, 24, 0, 0, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 27, 0, 0, 0, 28, 29, 0, 0, + 0, 47, 30, 2, 3, 4, 5, 0, 6, 7, + 8, 9, 49, 11, 0, 0, 0, 0, 0, 12, + 0, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 17, 18, 19, 0, 0, 20, 0, 0, 0, - 21, 22, 23, 24, 0, 0, 0, 2, 3, 4, - 5, 0, 6, 0, 25, 0, 48, 11, 26, 0, - 0, 0, 27, 28, 2, 3, 4, 5, 29, 6, - 7, 8, 9, 48, 11, 49, 0, 19, 0, 0, - 12, 0, 13, 14, 15, 0, 0, 0, 0, 0, - 0, 0, 17, 18, 19, 0, 0, 20, 25, 0, - 0, 0, 26, 23, 24, 0, 27, 28, 0, 0, - 0, 0, 29, 0, 0, 25, 0, 0, 0, 26, - 0, 0, 0, 27, 28, 0, 0, 0, 46, 29, - 2, 3, 4, 5, 0, 6, 7, 8, 9, 48, - 11, 0, 0, 0, 0, 0, 12, 0, 13, 14, - 15, 0, 0, 0, 0, 0, 0, 0, 17, 18, - 19, 0, 0, 20, 0, 0, 0, 0, 0, 23, - 24, 0, 0, 0, 2, 3, 4, 5, 0, 6, - 0, 25, 0, 48, 11, 26, 0, 0, 0, 27, - 28, 2, 3, 4, 5, 29, 6, 7, 8, 9, - 48, 11, 49, 0, 19, 0, 0, 12, 0, 13, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 19, 0, 0, 0, 25, 0, 0, 0, 26, - 23, 24, 0, 27, 28, 2, 3, 4, 5, 93, - 6, 0, 25, 0, 48, 11, 26, 0, 0, 0, - 27, 28, 61, 0, 0, 0, 29, 62, 0, 63, - 64, 65, 66, 49, 0, 19, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 4, 5, 0, - 6, 0, 0, 0, 48, 11, 25, 0, 0, 0, - 26, 0, 61, 0, 27, 28, 0, 0, 0, 63, - 29, 65, 0, 49, 0, 19, 0, 0, 0, 0, - 122, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 26, 0, 97, 98, 27, 28, 0, 99, 100, 101, - 29, 102, 103, 104, 0, 0, 0, 0, 105, 106, - 107, 108, 167, 0, 0, 0, 109, 110, 111, 0, - 0, 0, 0, 97, 98, 0, 0, 0, 99, 100, - 101, 0, 102, 103, 104, 0, 131, 0, 168, 105, - 106, 107, 108, 0, 0, 97, 98, 109, 110, 111, - 99, 100, 101, 0, 102, 103, 104, 0, 0, 0, - 0, 105, 106, 107, 108, 0, 0, 97, 98, 109, - 110, 111, 99, 100, 101, 0, 102, 103, 104, 0, - 133, 134, 0, 105, 106, 107, 108, 0, 0, 97, - 98, 109, 110, 111, 99, 100, 101, 0, 102, 103, - 104, 0, 0, 0, 142, 105, 106, 107, 108, 0, - 0, 0, 135, 109, 110, 111, 97, 98, 0, 0, - 0, 99, 100, 101, 0, 102, 103, 104, 0, 0, - 0, 0, 105, 106, 107, 108, 0, 0, 0, 135, - 109, 110, 111, 97, 98, 0, 0, 0, 99, 100, - 101, 0, 102, 103, 104, 0, 0, 0, 142, 105, - 106, 107, 108, 0, 0, 97, 98, 109, 110, 111, - 99, 100, 101, 0, 102, 103, 104, 0, 0, 0, - 0, 105, 106, 107, 108, 0, 0, -60, -60, 109, - 110, 111, -60, -60, -60, 0, -60, -60, -60, 0, - 0, 0, 0, 0, 0, -60, -60, 0, 0, 56, - 0, -60, -60, -60, 97, 98, 0, 0, 0, 99, - 100, 101, 0, 102, 103, 104, 0, 0, 0, 0, - 0, 0, 107, 108, 0, 0, 0, 0, 109, 110, - 111 + 0, 0, 23, 24, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 26, 0, 0, 0, 27, + 0, 0, 0, 28, 29, 2, 3, 4, 5, 30, + 6, 7, 8, 9, 49, 11, 0, 0, 0, 0, + 0, 12, 0, 13, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 19, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 24, 0, 0, 25, 0, + 2, 3, 4, 5, 0, 6, 0, 26, 0, 49, + 11, 27, 0, 0, 0, 28, 29, 62, 0, 0, + 0, 30, 63, 0, 64, 65, 66, 67, 50, 0, + 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 3, 4, 5, 0, 6, 0, 0, 0, + 49, 11, 26, 0, 0, 0, 27, 0, 62, 0, + 28, 29, 0, 0, 0, 64, 30, 66, 0, 50, + 0, 19, 0, 0, 0, 2, 3, 4, 5, 0, + 6, 0, 82, 0, 49, 11, 2, 3, 4, 5, + 0, 6, 0, 26, 0, 49, 11, 27, 0, 0, + 0, 28, 29, 50, 0, 19, 0, 30, 0, 0, + 0, 0, 0, 0, 50, 0, 19, 0, 0, 0, + 0, 125, 0, 0, 0, 0, 0, 26, 0, 0, + 0, 27, 0, 0, 0, 28, 29, 0, 26, 0, + 0, 30, 27, 0, 100, 101, 28, 29, 0, 102, + 103, 104, 96, 105, 106, 107, 0, 0, 0, 171, + 108, 109, 110, 111, 0, 0, 0, 0, 112, 113, + 114, 100, 101, 0, 0, 0, 102, 103, 104, 0, + 105, 106, 107, 134, 0, 0, 172, 108, 109, 110, + 111, 0, 0, 100, 101, 112, 113, 114, 102, 103, + 104, 0, 105, 106, 107, 0, 0, 0, 0, 108, + 109, 110, 111, 0, 0, 100, 101, 112, 113, 114, + 102, 103, 104, 0, 105, 106, 107, 0, 137, 138, + 0, 108, 109, 110, 111, 0, 0, 100, 101, 112, + 113, 114, 102, 103, 104, 0, 105, 106, 107, 0, + 0, 0, 146, 108, 109, 110, 111, 0, 0, 0, + 139, 112, 113, 114, 100, 101, 0, 0, 0, 102, + 103, 104, 0, 105, 106, 107, 0, 0, 0, 0, + 108, 109, 110, 111, 0, 0, 0, 139, 112, 113, + 114, 100, 101, 0, 0, 0, 102, 103, 104, 0, + 105, 106, 107, 0, 0, 0, 146, 108, 109, 110, + 111, 0, 0, 100, 101, 112, 113, 114, 102, 103, + 104, 0, 105, 106, 107, 0, 0, 0, 0, 108, + 109, 110, 111, 0, 0, -60, -60, 112, 113, 114, + -60, -60, -60, 0, -60, -60, -60, 0, 0, 0, + 0, 0, 0, -60, -60, 0, 0, 57, 0, -60, + -60, -60, 100, 101, 0, 0, 0, 102, 103, 104, + 0, 105, 106, 107, 0, 0, 0, 0, 0, 0, + 110, 111, 0, 0, 0, 0, 112, 113, 114 }; static const yytype_int16 yycheck[] = { - 0, 10, 0, 0, 0, 0, 26, 27, 179, 44, - 44, 26, 1, 55, 56, 211, 24, 76, 60, 61, - 62, 78, 64, 65, 66, 82, 77, 178, 27, 225, - 91, 24, 93, 48, 41, 70, 70, 79, 80, 81, - 21, 30, 4, 70, 76, 7, 8, 9, 21, 48, - 82, 44, 14, 204, 205, 17, 76, 208, 229, 210, - 68, 23, 24, 25, 26, 27, 28, 29, 46, 47, - 221, 214, 21, 36, 82, 38, 38, 39, 249, 21, - 76, 76, 21, 226, 56, 57, 77, 49, 82, 36, - 90, 21, 90, 90, 56, 57, 247, 13, 14, 61, - 82, 63, 43, 43, 21, 21, 21, 78, 78, 21, - 44, 21, 121, 75, 82, 21, 27, 41, 32, 26, - 48, 130, 43, 27, 27, 27, 138, 27, 41, 91, - 92, 93, 141, 32, 43, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 32, 113, 141, 41, 90, 216, 201, 119, 225, 24, - 171, 194, 124, 125, -1, 127, 128, 228, -1, 131, - -1, 133, 134, -1, 186, -1, -1, 189, 190, -1, - 142, -1, -1, -1, -1, -1, -1, 199, -1, -1, - -1, 200, -1, 182, -1, 207, 185, -1, -1, -1, - -1, -1, 214, -1, 213, 167, 168, -1, -1, -1, - 222, -1, 224, 225, -1, -1, -1, -1, -1, -1, - -1, 233, -1, -1, -1, -1, 188, 239, -1, 241, - -1, 240, -1, -1, -1, -1, 198, -1, -1, -1, - -1, -1, -1, -1, 256, -1, 258, -1, -1, -1, - -1, 251, -1, -1, 216, 0, 1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 228, 12, 13, 14, + 0, 10, 94, 0, 96, 0, 184, 44, 0, 0, + 24, 183, 44, 26, 27, 1, 216, 219, 26, 13, + 14, 27, 77, 46, 47, 77, 24, 21, 83, 231, + 230, 79, 57, 58, 71, 83, 41, 209, 210, 71, + 48, 213, 48, 215, 78, 31, 44, 36, 4, 38, + 21, 7, 8, 9, 226, 69, 234, 21, 14, 21, + 21, 17, 21, 21, 77, 83, 78, 23, 24, 83, + 26, 27, 28, 29, 30, 71, 254, 21, 43, 83, + 252, 36, 83, 39, 40, 77, 77, 21, 21, 43, + 21, 79, 79, 93, 50, 21, 93, 44, 93, 21, + 83, 57, 58, 27, 21, 41, 62, 32, 64, 48, + 26, 43, 27, 27, 27, 124, 43, 27, 41, 93, + 76, 32, 41, 32, 133, 206, 230, 24, 175, 221, + 199, -1, -1, -1, -1, -1, 145, -1, 94, 95, + 96, 233, -1, -1, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 145, + 116, -1, -1, -1, -1, 142, 122, -1, -1, -1, + -1, 127, 128, -1, 130, 131, -1, -1, 134, -1, + -1, 137, 138, -1, -1, -1, -1, -1, -1, -1, + 146, -1, -1, -1, -1, -1, 205, -1, -1, -1, + -1, 187, -1, -1, 190, -1, -1, -1, -1, 218, + -1, -1, -1, -1, 191, 171, 172, 194, 195, 56, + 57, -1, -1, -1, 61, 62, 63, 204, 65, 66, + 67, -1, -1, -1, -1, 212, 245, 193, -1, -1, + -1, -1, 219, 80, 81, 82, -1, 203, -1, -1, + 227, -1, 229, 230, -1, -1, 256, -1, -1, -1, + -1, 238, -1, -1, -1, 221, -1, 244, -1, 246, + -1, -1, -1, -1, -1, 0, 1, 233, -1, -1, + -1, -1, -1, -1, 261, -1, 263, 12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, 28, -1, 30, 31, 32, -1, -1, 35, -1, -1, -1, -1, 40, 41, 42, -1, -1, 45, -1, -1, -1, 49, 50, 51, 52, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, - -1, -1, 67, -1, -1, -1, 71, 72, -1, -1, - -1, 76, 77, 12, 13, 14, 15, -1, 17, 18, + 55, -1, -1, -1, -1, -1, -1, -1, -1, 64, + -1, -1, -1, 68, -1, -1, -1, 72, 73, -1, + -1, -1, 77, 78, 12, 13, 14, 15, -1, 17, + 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, + 28, -1, 30, 31, 32, -1, -1, 35, -1, -1, + -1, -1, 40, 41, 42, -1, -1, 45, -1, -1, + -1, 49, 50, 51, 52, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, + 68, -1, -1, -1, 72, 73, 12, 13, 14, 15, + 78, 17, 18, 19, 20, 21, 22, -1, -1, -1, + -1, -1, 28, -1, 30, 31, 32, -1, -1, -1, + -1, -1, -1, -1, 40, 41, 42, -1, -1, 45, + -1, -1, -1, -1, -1, 51, 52, -1, -1, 55, + -1, -1, -1, -1, -1, -1, -1, -1, 64, -1, + -1, -1, 68, -1, -1, -1, 72, 73, -1, -1, + -1, 77, 78, 12, 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, 28, - -1, 30, 31, 32, -1, -1, 35, -1, -1, -1, + -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, 40, 41, 42, -1, -1, 45, -1, -1, -1, - 49, 50, 51, 52, -1, -1, -1, 12, 13, 14, - 15, -1, 17, -1, 63, -1, 21, 22, 67, -1, - -1, -1, 71, 72, 12, 13, 14, 15, 77, 17, - 18, 19, 20, 21, 22, 40, -1, 42, -1, -1, - 28, -1, 30, 31, 32, -1, -1, -1, -1, -1, - -1, -1, 40, 41, 42, -1, -1, 45, 63, -1, - -1, -1, 67, 51, 52, -1, 71, 72, -1, -1, - -1, -1, 77, -1, -1, 63, -1, -1, -1, 67, - -1, -1, -1, 71, 72, -1, -1, -1, 76, 77, - 12, 13, 14, 15, -1, 17, 18, 19, 20, 21, - 22, -1, -1, -1, -1, -1, 28, -1, 30, 31, - 32, -1, -1, -1, -1, -1, -1, -1, 40, 41, - 42, -1, -1, 45, -1, -1, -1, -1, -1, 51, - 52, -1, -1, -1, 12, 13, 14, 15, -1, 17, - -1, 63, -1, 21, 22, 67, -1, -1, -1, 71, - 72, 12, 13, 14, 15, 77, 17, 18, 19, 20, - 21, 22, 40, -1, 42, -1, -1, 28, -1, 30, - 31, -1, -1, -1, -1, -1, -1, -1, -1, 40, - -1, 42, -1, -1, -1, 63, -1, -1, -1, 67, - 51, 52, -1, 71, 72, 12, 13, 14, 15, 77, - 17, -1, 63, -1, 21, 22, 67, -1, -1, -1, - 71, 72, 29, -1, -1, -1, 77, 34, -1, 36, - 37, 38, 39, 40, -1, 42, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 12, 13, 14, 15, -1, - 17, -1, -1, -1, 21, 22, 63, -1, -1, -1, - 67, -1, 29, -1, 71, 72, -1, -1, -1, 36, - 77, 38, -1, 40, -1, 42, -1, -1, -1, -1, - 33, -1, -1, -1, -1, -1, 53, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, - 67, -1, 55, 56, 71, 72, -1, 60, 61, 62, - 77, 64, 65, 66, -1, -1, -1, -1, 71, 72, - 73, 74, 44, -1, -1, -1, 79, 80, 81, -1, - -1, -1, -1, 55, 56, -1, -1, -1, 60, 61, - 62, -1, 64, 65, 66, -1, 46, -1, 70, 71, - 72, 73, 74, -1, -1, 55, 56, 79, 80, 81, - 60, 61, 62, -1, 64, 65, 66, -1, -1, -1, - -1, 71, 72, 73, 74, -1, -1, 55, 56, 79, - 80, 81, 60, 61, 62, -1, 64, 65, 66, -1, - 68, 69, -1, 71, 72, 73, 74, -1, -1, 55, - 56, 79, 80, 81, 60, 61, 62, -1, 64, 65, - 66, -1, -1, -1, 70, 71, 72, 73, 74, -1, - -1, -1, 78, 79, 80, 81, 55, 56, -1, -1, - -1, 60, 61, 62, -1, 64, 65, 66, -1, -1, - -1, -1, 71, 72, 73, 74, -1, -1, -1, 78, - 79, 80, 81, 55, 56, -1, -1, -1, 60, 61, - 62, -1, 64, 65, 66, -1, -1, -1, 70, 71, - 72, 73, 74, -1, -1, 55, 56, 79, 80, 81, - 60, 61, 62, -1, 64, 65, 66, -1, -1, -1, - -1, 71, 72, 73, 74, -1, -1, 55, 56, 79, - 80, 81, 60, 61, 62, -1, 64, 65, 66, -1, - -1, -1, -1, -1, -1, 73, 74, -1, -1, 77, - -1, 79, 80, 81, 55, 56, -1, -1, -1, 60, - 61, 62, -1, 64, 65, 66, -1, -1, -1, -1, - -1, -1, 73, 74, -1, -1, -1, -1, 79, 80, - 81 + -1, -1, 51, 52, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, 64, -1, -1, -1, 68, + -1, -1, -1, 72, 73, 12, 13, 14, 15, 78, + 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, + -1, 28, -1, 30, 31, -1, -1, -1, -1, -1, + -1, -1, -1, 40, -1, 42, -1, -1, -1, -1, + -1, -1, -1, -1, 51, 52, -1, -1, 55, -1, + 12, 13, 14, 15, -1, 17, -1, 64, -1, 21, + 22, 68, -1, -1, -1, 72, 73, 29, -1, -1, + -1, 78, 34, -1, 36, 37, 38, 39, 40, -1, + 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 12, 13, 14, 15, -1, 17, -1, -1, -1, + 21, 22, 64, -1, -1, -1, 68, -1, 29, -1, + 72, 73, -1, -1, -1, 36, 78, 38, -1, 40, + -1, 42, -1, -1, -1, 12, 13, 14, 15, -1, + 17, -1, 53, -1, 21, 22, 12, 13, 14, 15, + -1, 17, -1, 64, -1, 21, 22, 68, -1, -1, + -1, 72, 73, 40, -1, 42, -1, 78, -1, -1, + -1, -1, -1, -1, 40, -1, 42, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, 64, -1, -1, + -1, 68, -1, -1, -1, 72, 73, -1, 64, -1, + -1, 78, 68, -1, 56, 57, 72, 73, -1, 61, + 62, 63, 78, 65, 66, 67, -1, -1, -1, 44, + 72, 73, 74, 75, -1, -1, -1, -1, 80, 81, + 82, 56, 57, -1, -1, -1, 61, 62, 63, -1, + 65, 66, 67, 46, -1, -1, 71, 72, 73, 74, + 75, -1, -1, 56, 57, 80, 81, 82, 61, 62, + 63, -1, 65, 66, 67, -1, -1, -1, -1, 72, + 73, 74, 75, -1, -1, 56, 57, 80, 81, 82, + 61, 62, 63, -1, 65, 66, 67, -1, 69, 70, + -1, 72, 73, 74, 75, -1, -1, 56, 57, 80, + 81, 82, 61, 62, 63, -1, 65, 66, 67, -1, + -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, + 79, 80, 81, 82, 56, 57, -1, -1, -1, 61, + 62, 63, -1, 65, 66, 67, -1, -1, -1, -1, + 72, 73, 74, 75, -1, -1, -1, 79, 80, 81, + 82, 56, 57, -1, -1, -1, 61, 62, 63, -1, + 65, 66, 67, -1, -1, -1, 71, 72, 73, 74, + 75, -1, -1, 56, 57, 80, 81, 82, 61, 62, + 63, -1, 65, 66, 67, -1, -1, -1, -1, 72, + 73, 74, 75, -1, -1, 56, 57, 80, 81, 82, + 61, 62, 63, -1, 65, 66, 67, -1, -1, -1, + -1, -1, -1, 74, 75, -1, -1, 78, -1, 80, + 81, 82, 56, 57, -1, -1, -1, 61, 62, 63, + -1, 65, 66, 67, -1, -1, -1, -1, -1, -1, + 74, 75, -1, -1, -1, -1, 80, 81, 82 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1003,31 +1019,31 @@ static const yytype_uint8 yystos[] = { 0, 1, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 28, 30, 31, 32, 35, 40, 41, 42, - 45, 49, 50, 51, 52, 63, 67, 71, 72, 77, - 84, 86, 87, 88, 89, 90, 97, 98, 99, 104, - 105, 106, 108, 111, 112, 117, 76, 85, 21, 40, - 87, 105, 105, 105, 105, 118, 77, 101, 41, 21, - 107, 29, 34, 36, 37, 38, 39, 105, 109, 110, - 21, 105, 46, 47, 13, 14, 21, 21, 21, 21, - 105, 53, 109, 110, 105, 105, 105, 105, 105, 0, - 85, 77, 70, 77, 96, 105, 105, 55, 56, 60, - 61, 62, 64, 65, 66, 71, 72, 73, 74, 79, - 80, 81, 105, 82, 118, 118, 82, 105, 105, 36, - 110, 113, 33, 21, 44, 70, 105, 44, 70, 43, - 114, 46, 110, 68, 69, 78, 86, 96, 105, 96, - 105, 43, 70, 102, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 78, 21, 105, 101, 21, 105, 105, 44, 70, 105, - 105, 101, 105, 105, 105, 78, 102, 78, 85, 101, - 105, 21, 115, 105, 105, 115, 103, 24, 44, 103, - 88, 106, 82, 85, 85, 85, 89, 102, 44, 105, - 102, 102, 21, 82, 116, 116, 27, 105, 102, 27, - 48, 101, 26, 48, 93, 94, 100, 21, 103, 103, - 41, 102, 103, 32, 103, 92, 93, 95, 100, 101, - 94, 102, 96, 103, 102, 102, 95, 102, 96, 88, - 48, 91, 43, 102, 27, 27, 27, 43, 102, 101, - 102, 101, 27, 41, 32, 32, 103, 88, 89, 41, - 102, 102 + 45, 49, 50, 51, 52, 55, 64, 68, 72, 73, + 78, 85, 87, 88, 89, 90, 91, 98, 99, 100, + 105, 106, 107, 110, 113, 114, 119, 77, 86, 21, + 40, 88, 106, 106, 106, 106, 120, 78, 102, 41, + 21, 108, 29, 34, 36, 37, 38, 39, 106, 111, + 112, 21, 106, 46, 47, 13, 14, 21, 21, 21, + 21, 106, 53, 111, 112, 21, 109, 106, 106, 106, + 106, 106, 0, 86, 78, 71, 78, 97, 106, 106, + 56, 57, 61, 62, 63, 65, 66, 67, 72, 73, + 74, 75, 80, 81, 82, 106, 83, 120, 120, 83, + 106, 106, 36, 112, 115, 33, 21, 44, 71, 106, + 44, 71, 43, 116, 46, 112, 83, 69, 70, 79, + 87, 97, 106, 97, 106, 43, 71, 103, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 79, 21, 106, 102, 21, 106, + 106, 44, 71, 106, 106, 102, 106, 21, 106, 106, + 79, 103, 79, 86, 102, 106, 21, 117, 106, 106, + 117, 104, 24, 44, 104, 89, 107, 83, 86, 86, + 86, 90, 103, 44, 106, 103, 103, 21, 83, 118, + 118, 27, 106, 103, 27, 48, 102, 26, 48, 94, + 95, 101, 21, 104, 104, 41, 103, 104, 32, 104, + 93, 94, 96, 101, 102, 95, 103, 97, 104, 103, + 103, 96, 103, 97, 89, 48, 92, 43, 103, 27, + 27, 27, 43, 103, 102, 103, 102, 27, 41, 32, + 32, 104, 89, 90, 41, 103, 103 }; #define yyerrok (yyerrstatus = 0) @@ -2354,121 +2370,131 @@ yyreduce: g_lingo->code1(g_lingo->c_procret); ;} break; - case 91: -#line 415 "engines/director/lingo/lingo-gr.y" + case 92: +#line 416 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->_handlers[*(yyvsp[(1) - (2)].s)]->u.func); delete (yyvsp[(1) - (2)].s); ;} break; - case 92: -#line 418 "engines/director/lingo/lingo-gr.y" + case 93: +#line 419 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->_handlers[*(yyvsp[(1) - (2)].s)]->u.func); delete (yyvsp[(1) - (2)].s); ;} break; - case 93: -#line 421 "engines/director/lingo/lingo-gr.y" + case 94: +#line 422 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_voidpush, g_lingo->_handlers[*(yyvsp[(1) - (1)].s)]->u.func); delete (yyvsp[(1) - (1)].s); ;} break; - case 94: -#line 424 "engines/director/lingo/lingo-gr.y" - { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;} - break; - case 95: #line 425 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_open); ;} + { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;} break; case 96: #line 426 "engines/director/lingo/lingo-gr.y" - { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;} + { g_lingo->code1(g_lingo->c_open); ;} break; case 97: -#line 429 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;} +#line 427 "engines/director/lingo/lingo-gr.y" + { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;} break; case 98: #line 430 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;} + { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;} break; case 99: -#line 441 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_gotoloop); ;} +#line 431 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;} break; case 100: -#line 442 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_gotonext); ;} +#line 434 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;} break; case 101: -#line 443 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_gotoprevious); ;} +#line 435 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;} break; case 102: -#line 444 "engines/director/lingo/lingo-gr.y" +#line 446 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_gotoloop); ;} + break; + + case 103: +#line 447 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_gotonext); ;} + break; + + case 104: +#line 448 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_gotoprevious); ;} + break; + + case 105: +#line 449 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(1); g_lingo->code1(g_lingo->c_goto); ;} break; - case 103: -#line 447 "engines/director/lingo/lingo-gr.y" + case 106: +#line 452 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(3); g_lingo->code1(g_lingo->c_goto); ;} break; - case 104: -#line 450 "engines/director/lingo/lingo-gr.y" + case 107: +#line 455 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(2); g_lingo->code1(g_lingo->c_goto); ;} break; - case 109: -#line 463 "engines/director/lingo/lingo-gr.y" + case 112: +#line 468 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_playdone); ;} break; - case 110: -#line 464 "engines/director/lingo/lingo-gr.y" + case 113: +#line 469 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(1); g_lingo->code1(g_lingo->c_play); ;} break; - case 111: -#line 467 "engines/director/lingo/lingo-gr.y" + case 114: +#line 472 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(3); g_lingo->code1(g_lingo->c_play); ;} break; - case 112: -#line 470 "engines/director/lingo/lingo-gr.y" + case 115: +#line 475 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(2); g_lingo->code1(g_lingo->c_play); ;} break; - case 113: -#line 500 "engines/director/lingo/lingo-gr.y" + case 116: +#line 505 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} break; - case 114: -#line 501 "engines/director/lingo/lingo-gr.y" + case 117: +#line 506 "engines/director/lingo/lingo-gr.y" { g_lingo->codeConst(0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2476,53 +2502,53 @@ yyreduce: g_lingo->_indef = false; ;} break; - case 115: -#line 506 "engines/director/lingo/lingo-gr.y" + case 118: +#line 511 "engines/director/lingo/lingo-gr.y" { g_lingo->codeFactory(*(yyvsp[(2) - (2)].s)); ;} break; - case 116: -#line 509 "engines/director/lingo/lingo-gr.y" + case 119: +#line 514 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; ;} break; - case 117: -#line 510 "engines/director/lingo/lingo-gr.y" + case 120: +#line 515 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_procret); g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg) + 1, &g_lingo->_currentFactory); g_lingo->_indef = false; ;} break; - case 118: -#line 514 "engines/director/lingo/lingo-gr.y" + case 121: +#line 519 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; - case 119: -#line 515 "engines/director/lingo/lingo-gr.y" + case 122: +#line 520 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;} break; - case 120: -#line 516 "engines/director/lingo/lingo-gr.y" + case 123: +#line 521 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; - case 121: -#line 517 "engines/director/lingo/lingo-gr.y" + case 124: +#line 522 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;} break; - case 122: -#line 519 "engines/director/lingo/lingo-gr.y" + case 125: +#line 524 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArgStore(); ;} break; - case 123: -#line 523 "engines/director/lingo/lingo-gr.y" + case 126: +#line 528 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_call); g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); @@ -2531,24 +2557,24 @@ yyreduce: g_lingo->code1(numpar); ;} break; - case 124: -#line 531 "engines/director/lingo/lingo-gr.y" + case 127: +#line 536 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; - case 125: -#line 532 "engines/director/lingo/lingo-gr.y" + case 128: +#line 537 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 1; ;} break; - case 126: -#line 533 "engines/director/lingo/lingo-gr.y" + case 129: +#line 538 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; /* Line 1267 of yacc.c. */ -#line 2552 "engines/director/lingo/lingo-gr.cpp" +#line 2578 "engines/director/lingo/lingo-gr.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2762,6 +2788,6 @@ yyreturn: } -#line 536 "engines/director/lingo/lingo-gr.y" +#line 541 "engines/director/lingo/lingo-gr.y" |