diff options
Diffstat (limited to 'engines/director/lingo/lingo-gr.cpp')
-rw-r--r-- | engines/director/lingo/lingo-gr.cpp | 712 |
1 files changed, 356 insertions, 356 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index 58789d2ae3..ce6e11b295 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -66,23 +66,23 @@ /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { - CASTREF = 258, - UNARY = 259, - VOIDVAL = 260, - VAR = 261, - POINT = 262, - RECT = 263, - ARRAY = 264, - SYMBOL = 265, - INT = 266, - THEENTITY = 267, - THEENTITYWITHID = 268, - FLOAT = 269, - BLTIN = 270, - BLTINNOARGS = 271, - ID = 272, - STRING = 273, - HANDLER = 274, + UNARY = 258, + vCASTREF = 259, + vVOID = 260, + vVAR = 261, + vPOINT = 262, + vRECT = 263, + vARRAY = 264, + vSYMBOL = 265, + vINT = 266, + vTHEENTITY = 267, + vTHEENTITYWITHID = 268, + vFLOAT = 269, + vBLTIN = 270, + vBLTINNOARGS = 271, + vSTRING = 272, + vHANDLER = 273, + ID = 274, tDOWN = 275, tELSE = 276, tNLELSIF = 277, @@ -130,23 +130,23 @@ }; #endif /* Tokens. */ -#define CASTREF 258 -#define UNARY 259 -#define VOIDVAL 260 -#define VAR 261 -#define POINT 262 -#define RECT 263 -#define ARRAY 264 -#define SYMBOL 265 -#define INT 266 -#define THEENTITY 267 -#define THEENTITYWITHID 268 -#define FLOAT 269 -#define BLTIN 270 -#define BLTINNOARGS 271 -#define ID 272 -#define STRING 273 -#define HANDLER 274 +#define UNARY 258 +#define vCASTREF 259 +#define vVOID 260 +#define vVAR 261 +#define vPOINT 262 +#define vRECT 263 +#define vARRAY 264 +#define vSYMBOL 265 +#define vINT 266 +#define vTHEENTITY 267 +#define vTHEENTITYWITHID 268 +#define vFLOAT 269 +#define vBLTIN 270 +#define vBLTINNOARGS 271 +#define vSTRING 272 +#define vHANDLER 273 +#define ID 274 #define tDOWN 275 #define tELSE 276 #define tNLELSIF 277 @@ -476,7 +476,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 77 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 712 +#define YYLAST 719 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 77 @@ -555,15 +555,15 @@ static const yytype_int8 yyrhs[] = { 78, 0, -1, 78, 79, 80, -1, 80, -1, 1, 70, -1, 70, -1, -1, 104, -1, 99, -1, 109, - -1, 81, -1, 83, -1, 38, 98, 29, 17, -1, - 40, 17, 64, 98, -1, 40, 12, 64, 98, -1, - 40, 13, 98, 64, 98, -1, 40, 17, 42, 98, + -1, 81, -1, 83, -1, 38, 98, 29, 19, -1, + 40, 19, 64, 98, -1, 40, 12, 64, 98, -1, + 40, 13, 98, 64, 98, -1, 40, 19, 42, 98, -1, 40, 12, 42, 98, -1, 40, 13, 98, 42, 98, -1, 98, -1, 99, -1, 82, -1, 84, -1, 91, 71, 90, 72, 97, 96, 23, 39, -1, 92, 64, 98, 96, 42, 98, 96, 97, 96, 23, 39, -1, 92, 64, 98, 96, 20, 42, 98, 96, 97, - 96, 23, 39, -1, 43, 17, 41, 98, -1, 93, + 96, 23, 39, -1, 43, 19, 41, 98, -1, 93, 90, 41, 79, 97, 96, 23, 28, -1, 93, 90, 41, 79, 97, 96, 46, 97, 96, 23, 28, -1, 93, 90, 41, 79, 97, 96, 95, 86, 96, 23, @@ -574,10 +574,10 @@ static const yytype_int8 yyrhs[] = -1, 87, 88, -1, 88, -1, 94, 90, 41, 95, 83, 96, -1, 87, -1, 94, 90, 41, 97, 96, -1, 98, -1, 98, 64, 98, -1, 71, 90, 72, - -1, 39, 45, -1, 39, 44, 17, -1, 28, -1, + -1, 39, 45, -1, 39, 44, 19, -1, 28, -1, 22, -1, -1, -1, -1, 97, 79, -1, 97, 83, - -1, 11, -1, 14, -1, 18, -1, 16, -1, 17, - 71, 110, 72, -1, 17, -1, 12, -1, 13, 98, + -1, 11, -1, 14, -1, 17, -1, 16, -1, 19, + 71, 110, 72, -1, 19, -1, 12, -1, 13, 98, -1, 81, -1, 98, 65, 98, -1, 98, 66, 98, -1, 98, 67, 98, -1, 98, 68, 98, -1, 98, 73, 98, -1, 98, 74, 98, -1, 98, 54, 98, @@ -586,35 +586,35 @@ static const yytype_int8 yyrhs[] = 98, 75, 98, -1, 98, 58, 98, -1, 98, 59, 98, -1, 98, 60, 98, -1, 65, 98, -1, 66, 98, -1, 71, 98, 72, -1, 61, 98, 62, 98, - -1, 61, 98, 63, 98, -1, 32, 18, -1, 33, - 17, -1, 38, 98, -1, 101, -1, 24, -1, 26, - 100, -1, 17, -1, 100, 76, 17, -1, 27, 30, + -1, 61, 98, 63, 98, -1, 32, 17, -1, 33, + 19, -1, 38, 98, -1, 101, -1, 24, -1, 26, + 100, -1, 19, -1, 100, 76, 19, -1, 27, 30, -1, 27, 35, -1, 27, 37, -1, 27, 102, -1, - 27, 102, 103, -1, 27, 103, -1, 42, 25, 18, - -1, 25, 18, -1, 42, 18, -1, 18, -1, 36, - 34, 18, -1, 34, 18, -1, 42, 34, 18, -1, - -1, 31, 17, 105, 95, 107, 79, 108, 97, -1, - 47, 17, -1, -1, 48, 17, 106, 95, 107, 79, - 108, 97, -1, -1, 17, -1, 107, 76, 17, -1, - 107, 79, 76, 17, -1, -1, 17, 95, 110, -1, + 27, 102, 103, -1, 27, 103, -1, 42, 25, 17, + -1, 25, 17, -1, 42, 17, -1, 17, -1, 36, + 34, 17, -1, 34, 17, -1, 42, 34, 17, -1, + -1, 31, 19, 105, 95, 107, 79, 108, 97, -1, + 47, 19, -1, -1, 48, 19, 106, 95, 107, 79, + 108, 97, -1, -1, 19, -1, 107, 76, 19, -1, + 107, 79, 76, 19, -1, -1, 19, 95, 110, -1, -1, 98, -1, 110, 76, 98, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 102, 102, 103, 104, 107, 112, 113, 114, 115, - 116, 117, 120, 126, 132, 140, 148, 154, 162, 171, - 172, 174, 175, 180, 191, 207, 219, 224, 231, 240, - 249, 259, 269, 280, 281, 284, 285, 288, 289, 292, - 300, 301, 309, 310, 311, 313, 315, 321, 327, 334, - 336, 338, 339, 340, 343, 348, 351, 354, 358, 361, - 365, 372, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 402, 403, 404, 405, 406, 408, - 411, 412, 423, 424, 425, 426, 431, 437, 444, 445, - 446, 447, 450, 451, 452, 480, 480, 486, 489, 489, - 495, 496, 497, 498, 500, 504, 512, 513, 514 + 0, 104, 104, 105, 106, 109, 114, 115, 116, 117, + 118, 119, 122, 128, 134, 142, 150, 156, 164, 173, + 174, 176, 177, 182, 193, 209, 221, 226, 233, 242, + 251, 261, 271, 282, 283, 286, 287, 290, 291, 294, + 302, 303, 311, 312, 313, 315, 317, 323, 329, 336, + 338, 340, 341, 342, 345, 350, 353, 356, 360, 363, + 367, 374, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, + 398, 399, 400, 401, 404, 405, 406, 407, 408, 410, + 413, 414, 425, 426, 427, 428, 433, 439, 446, 447, + 448, 449, 452, 453, 454, 482, 482, 488, 491, 491, + 497, 498, 499, 500, 502, 506, 514, 515, 516 }; #endif @@ -623,18 +623,18 @@ static const yytype_uint16 yyrline[] = First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "CASTREF", "UNARY", "VOIDVAL", "VAR", - "POINT", "RECT", "ARRAY", "SYMBOL", "INT", "THEENTITY", - "THEENTITYWITHID", "FLOAT", "BLTIN", "BLTINNOARGS", "ID", "STRING", - "HANDLER", "tDOWN", "tELSE", "tNLELSIF", "tEND", "tEXIT", "tFRAME", - "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP", "tMACRO", "tMCI", "tMCIWAIT", - "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", - "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE", "tFACTORY", - "tMETHOD", "tGE", "tLE", "tGT", "tLT", "tEQ", "tNEQ", "tAND", "tOR", - "tNOT", "tCONCAT", "tCONTAINS", "tSTARTS", "tSPRITE", "tINTERSECTS", - "tWITHIN", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", - "')'", "'>'", "'<'", "'&'", "','", "$accept", "program", "nl", - "programline", "asgn", "stmtoneliner", "stmt", "ifstmt", + "$end", "error", "$undefined", "UNARY", "vCASTREF", "vVOID", "vVAR", + "vPOINT", "vRECT", "vARRAY", "vSYMBOL", "vINT", "vTHEENTITY", + "vTHEENTITYWITHID", "vFLOAT", "vBLTIN", "vBLTINNOARGS", "vSTRING", + "vHANDLER", "ID", "tDOWN", "tELSE", "tNLELSIF", "tEND", "tEXIT", + "tFRAME", "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP", "tMACRO", "tMCI", + "tMCIWAIT", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", + "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE", + "tFACTORY", "tMETHOD", "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", "expr", "func", @@ -698,7 +698,7 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 0, 54, 60, 0, 55, 57, 49, 56, 88, + 0, 0, 54, 60, 0, 55, 57, 56, 49, 88, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 21, 11, 22, 0, 0, 0, 19, 8, 87, 7, @@ -737,44 +737,44 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -189 +#define YYPACT_NINF -187 static const yytype_int16 yypact[] = { - 201, -49, -189, -189, 420, -189, -189, 610, -189, -189, - 6, 17, -189, 15, 18, 48, 420, 29, 59, 50, - 52, 58, 420, 420, 420, 420, 420, 10, -189, 16, - -189, -189, -189, 7, 39, 432, 588, -189, -189, -189, - -189, -189, 35, 420, -189, 588, 420, 420, -189, 36, - -189, 99, -189, 100, -189, 87, -189, 30, 24, -189, - -189, -189, -189, 446, 115, -189, -27, 420, -20, 92, - -189, -189, 55, 490, 55, 55, 539, -189, -189, 262, - 432, 420, 432, 93, 566, 420, 420, 420, 420, 420, - 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, - 446, 588, -52, 60, 121, -189, -189, 124, -189, 126, - 127, 105, -189, -189, 129, -189, 420, 420, 468, 420, - 420, 420, -189, 420, 420, -189, -189, 75, 588, 76, - 512, 79, 420, 588, 588, 588, 588, 588, 588, 588, - 588, 637, 637, 55, 55, 588, 588, 588, -189, 420, - -189, -189, -189, -189, 136, -189, 588, 588, 420, 420, - 588, 588, 588, 136, 588, 588, -189, 21, -189, -189, - 390, 588, 588, -189, -8, 588, 588, -8, 318, 113, - 420, 318, -189, -189, 139, 81, 81, -189, -189, 137, - 420, 588, -12, -13, -189, 142, -189, -189, 125, 588, - -189, 135, -189, 144, -189, -189, 144, -189, 432, -189, - 318, 318, -189, -189, 318, -189, 318, 144, 144, -189, - 432, 390, -189, 122, 128, 318, 147, 148, -189, 149, - 133, -189, -189, -189, -189, 154, 140, 150, 152, -9, - -189, 390, -189, 354, 143, -189, -189, -189, 318, -189, - -189, -189, -189, -189 + 188, -39, -187, -187, 407, -187, -187, -187, 617, -187, + 40, 122, -187, 43, 26, 48, 407, 28, 52, 49, + 51, 55, 407, 407, 407, 407, 407, 15, -187, 33, + -187, -187, -187, 4, 13, 439, 595, -187, -187, -187, + -187, -187, 34, 407, -187, 595, 407, 407, -187, 5, + -187, 91, -187, 92, -187, 76, -187, 17, 24, -187, + -187, -187, -187, 453, 93, -187, -29, 407, -23, 70, + -187, -187, 121, 497, 121, 121, 546, -187, -187, 249, + 439, 407, 439, 72, 573, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 453, 595, -22, 38, 97, -187, -187, 100, -187, 103, + 110, 94, -187, -187, 114, -187, 407, 407, 475, 407, + 407, 407, -187, 407, 407, -187, -187, 57, 595, 64, + 519, 68, 407, 595, 595, 595, 595, 595, 595, 595, + 595, 644, 644, 121, 121, 595, 595, 595, -187, 407, + -187, -187, -187, -187, 124, -187, 595, 595, 407, 407, + 595, 595, 595, 124, 595, 595, -187, 10, -187, -187, + 377, 595, 595, -187, -54, 595, 595, -54, 305, 98, + 407, 305, -187, -187, 125, 65, 65, -187, -187, 123, + 407, 595, -6, -8, -187, 126, -187, -187, 115, 595, + -187, 127, -187, 140, -187, -187, 140, -187, 439, -187, + 305, 305, -187, -187, 305, -187, 305, 140, 140, -187, + 439, 377, -187, 117, 108, 305, 142, 143, -187, 144, + 128, -187, -187, -187, -187, 145, 133, 150, 155, -13, + -187, 377, -187, 341, 134, -187, -187, -187, 305, -187, + -187, -187, -187, -187 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -189, -189, -23, 88, 2, -164, 0, -189, -189, -189, - -5, -188, -36, -77, -189, -189, -189, -186, -6, -41, - -157, 3, 8, -189, -189, -189, 131, -189, -189, -189, - 22, 1, -189, 151 + -187, -187, -24, 105, 7, -165, 0, -187, -187, -187, + -3, -186, -31, -78, -187, -187, -187, -164, -7, -170, + -65, 2, 23, -187, -187, -187, 129, -187, -187, -187, + 30, 11, -187, 156 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -784,181 +784,181 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -60 static const yytype_int16 yytable[] = { - 31, 47, 29, 127, 79, 129, 182, 45, 37, 204, - 77, 201, 181, -51, -51, 116, -10, 220, 222, 63, - 148, 41, 119, 48, 149, 72, 73, 74, 75, 76, - 222, 220, 60, 205, 202, 50, 61, 117, 84, 210, - 211, 179, 51, 214, 120, 216, 100, 52, 108, 101, - 101, 53, 54, 55, 56, 109, 225, 231, 53, 57, - 55, -51, 78, 180, 110, 62, 111, 69, 184, 70, - 118, 66, 67, 64, 65, 71, 68, 249, 80, 31, - 78, 29, 248, 84, 128, 130, -10, 37, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 81, 85, 86, 46, 154, 169, 87, - 88, 89, 104, 90, 91, 92, 163, 105, 106, 156, - 157, 107, 160, 161, 162, 170, 164, 165, 97, 98, - 99, 224, 115, 121, 131, 171, 149, 189, 150, 110, - 192, 193, 151, 230, 152, 153, 155, 166, 168, 78, - 200, 185, 172, 173, 186, 190, 194, 195, 213, 209, - 198, 175, 176, 215, 212, 223, 204, 126, 232, 234, - 236, 237, 238, 226, 239, 227, 229, 244, 246, 245, - 247, 228, 251, 191, 235, 177, 203, 197, 206, 112, - 240, 0, 242, 199, 0, 0, 0, 0, 103, 221, - 0, -6, 1, 0, 0, 0, 0, 252, 0, 253, - 0, 84, 2, 3, 4, 5, 0, 6, 7, 8, - 0, 0, 0, 84, 0, 9, 241, 10, 11, 12, - 0, 0, 13, 14, 15, 0, 0, 0, 0, 16, - 17, 18, 0, 250, 19, 0, 0, 0, 20, 21, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, - 0, 0, 23, 0, 0, 0, 24, 25, 0, 0, - 0, -6, 26, 2, 3, 4, 5, 0, 6, 7, - 8, 0, 0, 0, 0, 0, 9, 0, 10, 11, - 12, 0, 0, 13, 14, 15, 0, 0, 0, 0, - 16, 17, 18, 0, 0, 19, 0, 0, 0, 20, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 22, - 0, 0, 0, 23, 0, 0, 0, 24, 25, 2, - 3, 4, 5, 26, 6, 42, 8, 0, 0, 0, - 0, 0, 9, 0, 10, 11, 12, 0, 0, 0, - 14, 15, 0, 0, 0, 0, 16, 17, 18, 0, - 0, 19, 0, 0, 0, 2, 3, 4, 5, 0, - 6, 42, 8, 0, 0, 22, 0, 0, 9, 23, - 10, 11, 12, 24, 25, 0, 14, 15, 78, 26, - 0, 0, 16, 17, 18, 0, 0, 19, 0, 0, - 0, 2, 3, 4, 5, 0, 6, 42, 8, 0, - 0, 22, 0, 0, 9, 23, 10, 11, 0, 24, - 25, 0, 14, 15, 0, 26, 0, 0, 16, 0, - 18, 2, 3, 4, 5, 0, 6, 42, 8, 0, - 0, 0, 0, 2, 3, 4, 5, 22, 6, 42, - 8, 23, 0, 0, 0, 24, 25, 0, 43, 0, - 18, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 0, 18, 0, 0, 114, 0, 22, 0, 0, - 0, 23, 0, 0, 0, 24, 25, 0, 0, 22, - 0, 26, 0, 23, 0, 85, 86, 24, 25, 0, - 87, 88, 89, 82, 90, 91, 92, 0, 0, 0, - 158, 93, 94, 95, 96, 0, 0, 85, 86, 97, - 98, 99, 87, 88, 89, 0, 90, 91, 92, 0, - 0, 0, 159, 93, 94, 95, 96, 0, 0, 85, - 86, 97, 98, 99, 87, 88, 89, 0, 90, 91, - 92, 0, 123, 124, 0, 93, 94, 95, 96, 0, - 0, 85, 86, 97, 98, 99, 87, 88, 89, 0, - 90, 91, 92, 0, 0, 0, 132, 93, 94, 95, - 96, 0, 0, 0, 125, 97, 98, 99, 85, 86, - 0, 0, 0, 87, 88, 89, 0, 90, 91, 92, - 0, 0, 0, 0, 93, 94, 95, 96, 0, 0, + 31, 47, 127, 79, 129, 182, 45, 29, 189, -51, + -51, 192, 193, 116, 204, 77, 78, 201, 63, 119, + 222, 200, 184, 37, 72, 73, 74, 75, 76, 213, + 179, 41, 222, -10, 108, 117, 223, 84, 205, 220, + 202, 120, 109, 61, 226, 100, 227, 229, 101, 101, + 148, 110, 180, 220, 149, 235, 231, -51, 53, 48, + 55, 240, 60, 242, 66, 67, 111, 62, 69, 118, + 70, 68, 64, 65, 71, 80, 249, 81, 252, 31, + 253, 104, 84, 128, 130, 78, 29, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 37, -10, 181, 46, 154, 169, 105, 106, + 107, 121, 115, 131, 149, 163, 150, 151, 156, 157, + 152, 160, 161, 162, 170, 164, 165, 153, 110, 166, + 224, 210, 211, 155, 171, 214, 168, 216, 78, 50, + 190, 195, 230, 173, 194, 209, 198, 51, 225, 234, + 185, 172, 52, 186, 212, 215, 53, 54, 55, 56, + 175, 176, 204, 232, 57, 236, 237, 238, 244, 239, + 85, 86, 245, 251, 248, 87, 88, 89, 246, 90, + 91, 92, 191, 247, 126, 203, 228, 112, -6, 1, + 206, 0, 199, 177, 97, 98, 99, 197, 221, 2, + 3, 4, 5, 103, 6, 7, 0, 8, 0, 0, + 84, 0, 9, 0, 10, 11, 12, 0, 0, 13, + 14, 15, 84, 0, 0, 241, 16, 17, 18, 0, + 0, 19, 0, 0, 0, 20, 21, 0, 0, 0, + 0, 0, 0, 250, 0, 22, 0, 0, 0, 23, + 0, 0, 0, 24, 25, 0, 0, 0, -6, 26, + 2, 3, 4, 5, 0, 6, 7, 0, 8, 0, + 0, 0, 0, 9, 0, 10, 11, 12, 0, 0, + 13, 14, 15, 0, 0, 0, 0, 16, 17, 18, + 0, 0, 19, 0, 0, 0, 20, 21, 0, 0, + 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, + 23, 0, 0, 0, 24, 25, 2, 3, 4, 5, + 26, 6, 7, 0, 42, 0, 0, 0, 0, 9, + 0, 10, 11, 12, 0, 0, 0, 14, 15, 0, + 0, 0, 0, 16, 17, 18, 0, 0, 19, 0, + 0, 0, 2, 3, 4, 5, 0, 6, 7, 0, + 42, 0, 22, 0, 0, 9, 23, 10, 11, 12, + 24, 25, 0, 14, 15, 78, 26, 0, 0, 16, + 17, 18, 0, 0, 19, 0, 0, 0, 2, 3, + 4, 5, 0, 6, 7, 0, 42, 0, 22, 0, + 0, 9, 23, 10, 11, 0, 24, 25, 0, 14, + 15, 0, 26, 0, 0, 16, 0, 18, 2, 3, + 4, 5, 0, 6, 7, 0, 42, 0, 0, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 23, 0, + 0, 0, 24, 25, 0, 43, 0, 18, 26, 0, + 2, 3, 4, 5, 0, 6, 7, 0, 42, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 23, 0, + 0, 0, 24, 25, 0, 0, 0, 43, 26, 18, + 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, + 23, 0, 85, 86, 24, 25, 0, 87, 88, 89, + 82, 90, 91, 92, 0, 0, 0, 158, 93, 94, + 95, 96, 0, 0, 85, 86, 97, 98, 99, 87, + 88, 89, 0, 90, 91, 92, 0, 0, 0, 159, + 93, 94, 95, 96, 0, 0, 85, 86, 97, 98, + 99, 87, 88, 89, 0, 90, 91, 92, 0, 123, + 124, 0, 93, 94, 95, 96, 0, 0, 85, 86, + 97, 98, 99, 87, 88, 89, 0, 90, 91, 92, + 0, 0, 0, 132, 93, 94, 95, 96, 0, 0, 0, 125, 97, 98, 99, 85, 86, 0, 0, 0, 87, 88, 89, 0, 90, 91, 92, 0, 0, 0, - 132, 93, 94, 95, 96, 0, 0, 85, 86, 97, - 98, 99, 87, 88, 89, 0, 90, 91, 92, 0, - 0, 0, 0, 93, 94, 95, 96, 0, 0, -59, - -59, 97, 98, 99, -59, -59, -59, 0, -59, -59, - -59, 0, 0, 0, 0, 0, 0, -59, -59, 0, - 0, 46, 0, -59, -59, -59, 85, 86, 0, 0, - 0, 87, 88, 89, 0, 90, 91, 92, 0, 0, - 0, 0, 0, 0, 95, 96, 0, 0, 0, 0, - 97, 98, 99 + 0, 93, 94, 95, 96, 0, 0, 0, 125, 97, + 98, 99, 85, 86, 0, 0, 0, 87, 88, 89, + 0, 90, 91, 92, 0, 0, 0, 132, 93, 94, + 95, 96, 0, 0, 85, 86, 97, 98, 99, 87, + 88, 89, 0, 90, 91, 92, 0, 0, 0, 0, + 93, 94, 95, 96, 0, 0, -59, -59, 97, 98, + 99, -59, -59, -59, 0, -59, -59, -59, 0, 0, + 0, 0, 0, 0, -59, -59, 0, 0, 46, 0, + -59, -59, -59, 85, 86, 0, 0, 0, 87, 88, + 89, 0, 90, 91, 92, 0, 0, 0, 0, 0, + 0, 95, 96, 0, 0, 0, 0, 97, 98, 99 }; static const yytype_int16 yycheck[] = { - 0, 7, 0, 80, 27, 82, 170, 4, 0, 22, - 0, 23, 169, 22, 23, 42, 0, 203, 206, 16, - 72, 70, 42, 17, 76, 22, 23, 24, 25, 26, - 218, 217, 17, 46, 46, 18, 18, 64, 35, 196, - 197, 20, 25, 200, 64, 202, 43, 30, 18, 46, - 47, 34, 35, 36, 37, 25, 213, 221, 34, 42, - 36, 70, 70, 42, 34, 17, 42, 17, 76, 17, - 67, 12, 13, 44, 45, 17, 17, 241, 71, 79, - 70, 79, 239, 80, 81, 82, 70, 79, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 64, 49, 50, 71, 113, 131, 54, - 55, 56, 76, 58, 59, 60, 122, 18, 18, 116, - 117, 34, 119, 120, 121, 131, 123, 124, 73, 74, - 75, 208, 17, 41, 41, 132, 76, 178, 17, 34, - 181, 182, 18, 220, 18, 18, 17, 72, 72, 70, - 191, 174, 149, 17, 177, 42, 17, 76, 199, 17, - 23, 158, 159, 28, 39, 206, 22, 79, 46, 41, - 23, 23, 23, 214, 41, 216, 217, 23, 28, 39, - 28, 217, 39, 180, 225, 163, 192, 186, 193, 58, - 231, -1, 233, 190, -1, -1, -1, -1, 47, 205, - -1, 0, 1, -1, -1, -1, -1, 248, -1, 250, - -1, 208, 11, 12, 13, 14, -1, 16, 17, 18, - -1, -1, -1, 220, -1, 24, 232, 26, 27, 28, - -1, -1, 31, 32, 33, -1, -1, -1, -1, 38, - 39, 40, -1, 243, 43, -1, -1, -1, 47, 48, - -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, - -1, -1, 61, -1, -1, -1, 65, 66, -1, -1, - -1, 70, 71, 11, 12, 13, 14, -1, 16, 17, - 18, -1, -1, -1, -1, -1, 24, -1, 26, 27, - 28, -1, -1, 31, 32, 33, -1, -1, -1, -1, - 38, 39, 40, -1, -1, 43, -1, -1, -1, 47, - 48, -1, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, -1, 61, -1, -1, -1, 65, 66, 11, - 12, 13, 14, 71, 16, 17, 18, -1, -1, -1, - -1, -1, 24, -1, 26, 27, 28, -1, -1, -1, - 32, 33, -1, -1, -1, -1, 38, 39, 40, -1, - -1, 43, -1, -1, -1, 11, 12, 13, 14, -1, - 16, 17, 18, -1, -1, 57, -1, -1, 24, 61, - 26, 27, 28, 65, 66, -1, 32, 33, 70, 71, - -1, -1, 38, 39, 40, -1, -1, 43, -1, -1, - -1, 11, 12, 13, 14, -1, 16, 17, 18, -1, - -1, 57, -1, -1, 24, 61, 26, 27, -1, 65, - 66, -1, 32, 33, -1, 71, -1, -1, 38, -1, - 40, 11, 12, 13, 14, -1, 16, 17, 18, -1, - -1, -1, -1, 11, 12, 13, 14, 57, 16, 17, - 18, 61, -1, -1, -1, 65, 66, -1, 38, -1, - 40, 71, -1, -1, -1, -1, -1, -1, -1, -1, - 38, -1, 40, -1, -1, 29, -1, 57, -1, -1, - -1, 61, -1, -1, -1, 65, 66, -1, -1, 57, - -1, 71, -1, 61, -1, 49, 50, 65, 66, -1, - 54, 55, 56, 71, 58, 59, 60, -1, -1, -1, - 42, 65, 66, 67, 68, -1, -1, 49, 50, 73, - 74, 75, 54, 55, 56, -1, 58, 59, 60, -1, - -1, -1, 64, 65, 66, 67, 68, -1, -1, 49, - 50, 73, 74, 75, 54, 55, 56, -1, 58, 59, - 60, -1, 62, 63, -1, 65, 66, 67, 68, -1, - -1, 49, 50, 73, 74, 75, 54, 55, 56, -1, - 58, 59, 60, -1, -1, -1, 64, 65, 66, 67, - 68, -1, -1, -1, 72, 73, 74, 75, 49, 50, - -1, -1, -1, 54, 55, 56, -1, 58, 59, 60, - -1, -1, -1, -1, 65, 66, 67, 68, -1, -1, + 0, 8, 80, 27, 82, 170, 4, 0, 178, 22, + 23, 181, 182, 42, 22, 0, 70, 23, 16, 42, + 206, 191, 76, 0, 22, 23, 24, 25, 26, 199, + 20, 70, 218, 0, 17, 64, 206, 35, 46, 203, + 46, 64, 25, 17, 214, 43, 216, 217, 46, 47, + 72, 34, 42, 217, 76, 225, 221, 70, 34, 19, + 36, 231, 19, 233, 12, 13, 42, 19, 19, 67, + 19, 19, 44, 45, 19, 71, 241, 64, 248, 79, + 250, 76, 80, 81, 82, 70, 79, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 79, 70, 169, 71, 113, 131, 17, 17, + 34, 41, 19, 41, 76, 122, 19, 17, 116, 117, + 17, 119, 120, 121, 131, 123, 124, 17, 34, 72, + 208, 196, 197, 19, 132, 200, 72, 202, 70, 17, + 42, 76, 220, 19, 19, 19, 23, 25, 213, 41, + 174, 149, 30, 177, 39, 28, 34, 35, 36, 37, + 158, 159, 22, 46, 42, 23, 23, 23, 23, 41, + 49, 50, 39, 39, 239, 54, 55, 56, 28, 58, + 59, 60, 180, 28, 79, 192, 217, 58, 0, 1, + 193, -1, 190, 163, 73, 74, 75, 186, 205, 11, + 12, 13, 14, 47, 16, 17, -1, 19, -1, -1, + 208, -1, 24, -1, 26, 27, 28, -1, -1, 31, + 32, 33, 220, -1, -1, 232, 38, 39, 40, -1, + -1, 43, -1, -1, -1, 47, 48, -1, -1, -1, + -1, -1, -1, 243, -1, 57, -1, -1, -1, 61, + -1, -1, -1, 65, 66, -1, -1, -1, 70, 71, + 11, 12, 13, 14, -1, 16, 17, -1, 19, -1, + -1, -1, -1, 24, -1, 26, 27, 28, -1, -1, + 31, 32, 33, -1, -1, -1, -1, 38, 39, 40, + -1, -1, 43, -1, -1, -1, 47, 48, -1, -1, + -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, + 61, -1, -1, -1, 65, 66, 11, 12, 13, 14, + 71, 16, 17, -1, 19, -1, -1, -1, -1, 24, + -1, 26, 27, 28, -1, -1, -1, 32, 33, -1, + -1, -1, -1, 38, 39, 40, -1, -1, 43, -1, + -1, -1, 11, 12, 13, 14, -1, 16, 17, -1, + 19, -1, 57, -1, -1, 24, 61, 26, 27, 28, + 65, 66, -1, 32, 33, 70, 71, -1, -1, 38, + 39, 40, -1, -1, 43, -1, -1, -1, 11, 12, + 13, 14, -1, 16, 17, -1, 19, -1, 57, -1, + -1, 24, 61, 26, 27, -1, 65, 66, -1, 32, + 33, -1, 71, -1, -1, 38, -1, 40, 11, 12, + 13, 14, -1, 16, 17, -1, 19, -1, -1, -1, + -1, -1, -1, -1, 57, -1, -1, -1, 61, -1, + -1, -1, 65, 66, -1, 38, -1, 40, 71, -1, + 11, 12, 13, 14, -1, 16, 17, -1, 19, -1, + -1, -1, -1, -1, 57, -1, -1, -1, 61, -1, + -1, -1, 65, 66, -1, -1, -1, 38, 71, 40, + -1, -1, 29, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, + 61, -1, 49, 50, 65, 66, -1, 54, 55, 56, + 71, 58, 59, 60, -1, -1, -1, 42, 65, 66, + 67, 68, -1, -1, 49, 50, 73, 74, 75, 54, + 55, 56, -1, 58, 59, 60, -1, -1, -1, 64, + 65, 66, 67, 68, -1, -1, 49, 50, 73, 74, + 75, 54, 55, 56, -1, 58, 59, 60, -1, 62, + 63, -1, 65, 66, 67, 68, -1, -1, 49, 50, + 73, 74, 75, 54, 55, 56, -1, 58, 59, 60, + -1, -1, -1, 64, 65, 66, 67, 68, -1, -1, -1, 72, 73, 74, 75, 49, 50, -1, -1, -1, 54, 55, 56, -1, 58, 59, 60, -1, -1, -1, - 64, 65, 66, 67, 68, -1, -1, 49, 50, 73, - 74, 75, 54, 55, 56, -1, 58, 59, 60, -1, - -1, -1, -1, 65, 66, 67, 68, -1, -1, 49, - 50, 73, 74, 75, 54, 55, 56, -1, 58, 59, - 60, -1, -1, -1, -1, -1, -1, 67, 68, -1, - -1, 71, -1, 73, 74, 75, 49, 50, -1, -1, - -1, 54, 55, 56, -1, 58, 59, 60, -1, -1, - -1, -1, -1, -1, 67, 68, -1, -1, -1, -1, - 73, 74, 75 + -1, 65, 66, 67, 68, -1, -1, -1, 72, 73, + 74, 75, 49, 50, -1, -1, -1, 54, 55, 56, + -1, 58, 59, 60, -1, -1, -1, 64, 65, 66, + 67, 68, -1, -1, 49, 50, 73, 74, 75, 54, + 55, 56, -1, 58, 59, 60, -1, -1, -1, -1, + 65, 66, 67, 68, -1, -1, 49, 50, 73, 74, + 75, 54, 55, 56, -1, 58, 59, 60, -1, -1, + -1, -1, -1, -1, 67, 68, -1, -1, 71, -1, + 73, 74, 75, 49, 50, -1, -1, -1, 54, 55, + 56, -1, 58, 59, 60, -1, -1, -1, -1, -1, + -1, 67, 68, -1, -1, -1, -1, 73, 74, 75 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 1, 11, 12, 13, 14, 16, 17, 18, 24, + 0, 1, 11, 12, 13, 14, 16, 17, 19, 24, 26, 27, 28, 31, 32, 33, 38, 39, 40, 43, 47, 48, 57, 61, 65, 66, 71, 78, 80, 81, 82, 83, 84, 91, 92, 93, 98, 99, 101, 104, - 109, 70, 17, 38, 81, 98, 71, 95, 17, 100, - 18, 25, 30, 34, 35, 36, 37, 42, 102, 103, - 17, 18, 17, 98, 44, 45, 12, 13, 17, 17, - 17, 17, 98, 98, 98, 98, 98, 0, 70, 79, + 109, 70, 19, 38, 81, 98, 71, 95, 19, 100, + 17, 25, 30, 34, 35, 36, 37, 42, 102, 103, + 19, 17, 19, 98, 44, 45, 12, 13, 19, 19, + 19, 19, 98, 98, 98, 98, 98, 0, 70, 79, 71, 64, 71, 90, 98, 49, 50, 54, 55, 56, 58, 59, 60, 65, 66, 67, 68, 73, 74, 75, - 98, 98, 110, 110, 76, 18, 18, 34, 18, 25, - 34, 42, 103, 105, 29, 17, 42, 64, 98, 42, + 98, 98, 110, 110, 76, 17, 17, 34, 17, 25, + 34, 42, 103, 105, 29, 19, 42, 64, 98, 42, 64, 41, 106, 62, 63, 72, 80, 90, 98, 90, 98, 41, 64, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 72, 76, - 17, 18, 18, 18, 95, 17, 98, 98, 42, 64, + 19, 17, 17, 17, 95, 19, 98, 98, 42, 64, 98, 98, 98, 95, 98, 98, 72, 96, 72, 79, - 95, 98, 98, 17, 107, 98, 98, 107, 97, 20, + 95, 98, 98, 19, 107, 98, 98, 107, 97, 20, 42, 97, 82, 99, 76, 79, 79, 79, 83, 96, - 42, 98, 96, 96, 17, 76, 108, 108, 23, 98, - 96, 23, 46, 95, 22, 46, 87, 88, 94, 17, + 42, 98, 96, 96, 19, 76, 108, 108, 23, 98, + 96, 23, 46, 95, 22, 46, 87, 88, 94, 19, 97, 97, 39, 96, 97, 28, 97, 86, 87, 89, 94, 95, 88, 96, 90, 97, 96, 96, 89, 96, 90, 82, 46, 85, 41, 96, 23, 23, 23, 41, @@ -1778,12 +1778,12 @@ yyreduce: switch (yyn) { case 4: -#line 104 "engines/director/lingo/lingo-gr.y" +#line 106 "engines/director/lingo/lingo-gr.y" { yyerrok; ;} break; case 5: -#line 107 "engines/director/lingo/lingo-gr.y" +#line 109 "engines/director/lingo/lingo-gr.y" { g_lingo->_linenumber++; g_lingo->_colnumber = 1; @@ -1791,12 +1791,12 @@ yyreduce: break; case 10: -#line 116 "engines/director/lingo/lingo-gr.y" +#line 118 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_xpop); ;} break; case 12: -#line 120 "engines/director/lingo/lingo-gr.y" +#line 122 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_varpush); g_lingo->codeString((yyvsp[(4) - (4)].s)->c_str()); @@ -1806,7 +1806,7 @@ yyreduce: break; case 13: -#line 126 "engines/director/lingo/lingo-gr.y" +#line 128 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_varpush); g_lingo->codeString((yyvsp[(2) - (4)].s)->c_str()); @@ -1816,7 +1816,7 @@ yyreduce: break; case 14: -#line 132 "engines/director/lingo/lingo-gr.y" +#line 134 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_constpush, 0); // Put dummy id g_lingo->code1(g_lingo->c_theentityassign); @@ -1828,7 +1828,7 @@ yyreduce: break; case 15: -#line 140 "engines/director/lingo/lingo-gr.y" +#line 142 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_swap); g_lingo->code1(g_lingo->c_theentityassign); @@ -1840,7 +1840,7 @@ yyreduce: break; case 16: -#line 148 "engines/director/lingo/lingo-gr.y" +#line 150 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_varpush); g_lingo->codeString((yyvsp[(2) - (4)].s)->c_str()); @@ -1850,7 +1850,7 @@ yyreduce: break; case 17: -#line 154 "engines/director/lingo/lingo-gr.y" +#line 156 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_constpush, 0); // Put dummy id g_lingo->code1(g_lingo->c_theentityassign); @@ -1862,7 +1862,7 @@ yyreduce: break; case 18: -#line 162 "engines/director/lingo/lingo-gr.y" +#line 164 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_swap); g_lingo->code1(g_lingo->c_theentityassign); @@ -1874,12 +1874,12 @@ yyreduce: break; case 19: -#line 171 "engines/director/lingo/lingo-gr.y" +#line 173 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_xpop); ;} break; case 23: -#line 180 "engines/director/lingo/lingo-gr.y" +#line 182 "engines/director/lingo/lingo-gr.y" { inst body = 0, end = 0; WRITE_UINT32(&body, (yyvsp[(5) - (8)].code)); @@ -1889,7 +1889,7 @@ yyreduce: break; case 24: -#line 191 "engines/director/lingo/lingo-gr.y" +#line 193 "engines/director/lingo/lingo-gr.y" { inst init = 0, finish = 0, body = 0, end = 0, inc = 0; WRITE_UINT32(&init, (yyvsp[(3) - (11)].code)); @@ -1905,7 +1905,7 @@ yyreduce: break; case 25: -#line 207 "engines/director/lingo/lingo-gr.y" +#line 209 "engines/director/lingo/lingo-gr.y" { inst init = 0, finish = 0, body = 0, end = 0, inc = 0; WRITE_UINT32(&init, (yyvsp[(3) - (12)].code)); @@ -1921,14 +1921,14 @@ yyreduce: break; case 26: -#line 219 "engines/director/lingo/lingo-gr.y" +#line 221 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_ifcode); ;} break; case 27: -#line 224 "engines/director/lingo/lingo-gr.y" +#line 226 "engines/director/lingo/lingo-gr.y" { inst then = 0, end = 0; WRITE_UINT32(&then, (yyvsp[(5) - (8)].code)); @@ -1939,7 +1939,7 @@ yyreduce: break; case 28: -#line 231 "engines/director/lingo/lingo-gr.y" +#line 233 "engines/director/lingo/lingo-gr.y" { inst then = 0, else1 = 0, end = 0; WRITE_UINT32(&then, (yyvsp[(5) - (11)].code)); @@ -1952,7 +1952,7 @@ yyreduce: break; case 29: -#line 240 "engines/director/lingo/lingo-gr.y" +#line 242 "engines/director/lingo/lingo-gr.y" { inst then = 0, else1 = 0, end = 0; WRITE_UINT32(&then, (yyvsp[(5) - (11)].code)); @@ -1965,7 +1965,7 @@ yyreduce: break; case 30: -#line 249 "engines/director/lingo/lingo-gr.y" +#line 251 "engines/director/lingo/lingo-gr.y" { inst then = 0, else1 = 0, end = 0; WRITE_UINT32(&then, (yyvsp[(4) - (6)].code)); @@ -1979,7 +1979,7 @@ yyreduce: break; case 31: -#line 259 "engines/director/lingo/lingo-gr.y" +#line 261 "engines/director/lingo/lingo-gr.y" { inst then = 0, else1 = 0, end = 0; WRITE_UINT32(&then, (yyvsp[(4) - (10)].code)); @@ -1993,7 +1993,7 @@ yyreduce: break; case 32: -#line 269 "engines/director/lingo/lingo-gr.y" +#line 271 "engines/director/lingo/lingo-gr.y" { inst then = 0, else1 = 0, end = 0; WRITE_UINT32(&then, (yyvsp[(4) - (10)].code)); @@ -2007,17 +2007,17 @@ yyreduce: break; case 33: -#line 280 "engines/director/lingo/lingo-gr.y" +#line 282 "engines/director/lingo/lingo-gr.y" { (yyval.code) = 0; ;} break; case 34: -#line 281 "engines/director/lingo/lingo-gr.y" +#line 283 "engines/director/lingo/lingo-gr.y" { (yyval.code) = (yyvsp[(2) - (3)].code); ;} break; case 39: -#line 292 "engines/director/lingo/lingo-gr.y" +#line 294 "engines/director/lingo/lingo-gr.y" { inst then = 0; WRITE_UINT32(&then, (yyvsp[(4) - (6)].code)); @@ -2027,7 +2027,7 @@ yyreduce: break; case 41: -#line 301 "engines/director/lingo/lingo-gr.y" +#line 303 "engines/director/lingo/lingo-gr.y" { inst then = 0; WRITE_UINT32(&then, (yyvsp[(4) - (5)].code)); @@ -2037,22 +2037,22 @@ yyreduce: break; case 42: -#line 309 "engines/director/lingo/lingo-gr.y" +#line 311 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(STOP); ;} break; case 43: -#line 310 "engines/director/lingo/lingo-gr.y" +#line 312 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_eq, STOP); ;} break; case 45: -#line 313 "engines/director/lingo/lingo-gr.y" +#line 315 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code3(g_lingo->c_repeatwhilecode, STOP, STOP); ;} break; case 46: -#line 315 "engines/director/lingo/lingo-gr.y" +#line 317 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code3(g_lingo->c_repeatwithcode, STOP, STOP); g_lingo->code3(STOP, STOP, STOP); @@ -2061,7 +2061,7 @@ yyreduce: break; case 47: -#line 321 "engines/director/lingo/lingo-gr.y" +#line 323 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->c_ifcode); g_lingo->code3(STOP, STOP, STOP); @@ -2070,7 +2070,7 @@ yyreduce: break; case 48: -#line 327 "engines/director/lingo/lingo-gr.y" +#line 329 "engines/director/lingo/lingo-gr.y" { inst skipEnd; WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions @@ -2080,22 +2080,22 @@ yyreduce: break; case 49: -#line 334 "engines/director/lingo/lingo-gr.y" +#line 336 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->_currentScript->size(); ;} break; case 50: -#line 336 "engines/director/lingo/lingo-gr.y" +#line 338 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); ;} break; case 51: -#line 338 "engines/director/lingo/lingo-gr.y" +#line 340 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->_currentScript->size(); ;} break; case 54: -#line 343 "engines/director/lingo/lingo-gr.y" +#line 345 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->c_constpush); inst i = 0; @@ -2104,21 +2104,21 @@ yyreduce: break; case 55: -#line 348 "engines/director/lingo/lingo-gr.y" +#line 350 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->c_fconstpush); g_lingo->codeFloat((yyvsp[(1) - (1)].f)); ;} break; case 56: -#line 351 "engines/director/lingo/lingo-gr.y" +#line 353 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->c_stringpush); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); ;} break; case 57: -#line 354 "engines/director/lingo/lingo-gr.y" +#line 356 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->_handlers[*(yyvsp[(1) - (1)].s)]->u.func); (yyval.code) = g_lingo->code2(g_lingo->c_constpush, 0); // Put dummy value @@ -2126,14 +2126,14 @@ yyreduce: break; case 58: -#line 358 "engines/director/lingo/lingo-gr.y" +#line 360 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); delete (yyvsp[(1) - (4)].s); ;} break; case 59: -#line 361 "engines/director/lingo/lingo-gr.y" +#line 363 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->c_eval); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); @@ -2141,7 +2141,7 @@ yyreduce: break; case 60: -#line 365 "engines/director/lingo/lingo-gr.y" +#line 367 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code2(g_lingo->c_constpush, 0); // Put dummy id g_lingo->code1(g_lingo->c_theentitypush); @@ -2152,7 +2152,7 @@ yyreduce: break; case 61: -#line 372 "engines/director/lingo/lingo-gr.y" +#line 374 "engines/director/lingo/lingo-gr.y" { (yyval.code) = g_lingo->code1(g_lingo->c_theentitypush); inst e = 0, f = 0; @@ -2162,158 +2162,158 @@ yyreduce: break; case 63: -#line 379 "engines/director/lingo/lingo-gr.y" +#line 381 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_add); ;} break; case 64: -#line 380 "engines/director/lingo/lingo-gr.y" +#line 382 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_sub); ;} break; case 65: -#line 381 "engines/director/lingo/lingo-gr.y" +#line 383 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_mul); ;} break; case 66: -#line 382 "engines/director/lingo/lingo-gr.y" +#line 384 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_div); ;} break; case 67: -#line 383 "engines/director/lingo/lingo-gr.y" +#line 385 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gt); ;} break; case 68: -#line 384 "engines/director/lingo/lingo-gr.y" +#line 386 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_lt); ;} break; case 69: -#line 385 "engines/director/lingo/lingo-gr.y" +#line 387 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_neq); ;} break; case 70: -#line 386 "engines/director/lingo/lingo-gr.y" +#line 388 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_ge); ;} break; case 71: -#line 387 "engines/director/lingo/lingo-gr.y" +#line 389 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_le); ;} break; case 72: -#line 388 "engines/director/lingo/lingo-gr.y" +#line 390 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_and); ;} break; case 73: -#line 389 "engines/director/lingo/lingo-gr.y" +#line 391 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_or); ;} break; case 74: -#line 390 "engines/director/lingo/lingo-gr.y" +#line 392 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_not); ;} break; case 75: -#line 391 "engines/director/lingo/lingo-gr.y" +#line 393 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_ampersand); ;} break; case 76: -#line 392 "engines/director/lingo/lingo-gr.y" +#line 394 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_concat); ;} break; case 77: -#line 393 "engines/director/lingo/lingo-gr.y" +#line 395 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_contains); ;} break; case 78: -#line 394 "engines/director/lingo/lingo-gr.y" +#line 396 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_starts); ;} break; case 79: -#line 395 "engines/director/lingo/lingo-gr.y" +#line 397 "engines/director/lingo/lingo-gr.y" { (yyval.code) = (yyvsp[(2) - (2)].code); ;} break; case 80: -#line 396 "engines/director/lingo/lingo-gr.y" +#line 398 "engines/director/lingo/lingo-gr.y" { (yyval.code) = (yyvsp[(2) - (2)].code); g_lingo->code1(g_lingo->c_negate); ;} break; case 81: -#line 397 "engines/director/lingo/lingo-gr.y" +#line 399 "engines/director/lingo/lingo-gr.y" { (yyval.code) = (yyvsp[(2) - (3)].code); ;} break; case 82: -#line 398 "engines/director/lingo/lingo-gr.y" +#line 400 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_intersects); ;} break; case 83: -#line 399 "engines/director/lingo/lingo-gr.y" +#line 401 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_within); ;} break; case 84: -#line 402 "engines/director/lingo/lingo-gr.y" +#line 404 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_mci); g_lingo->codeString((yyvsp[(2) - (2)].s)->c_str()); delete (yyvsp[(2) - (2)].s); ;} break; case 85: -#line 403 "engines/director/lingo/lingo-gr.y" +#line 405 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_mciwait); g_lingo->codeString((yyvsp[(2) - (2)].s)->c_str()); delete (yyvsp[(2) - (2)].s); ;} break; case 86: -#line 404 "engines/director/lingo/lingo-gr.y" +#line 406 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_printtop); ;} break; case 88: -#line 406 "engines/director/lingo/lingo-gr.y" +#line 408 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_constpush, (inst)0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); ;} break; case 90: -#line 411 "engines/director/lingo/lingo-gr.y" +#line 413 "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); ;} break; case 91: -#line 412 "engines/director/lingo/lingo-gr.y" +#line 414 "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 92: -#line 423 "engines/director/lingo/lingo-gr.y" +#line 425 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gotoloop); ;} break; case 93: -#line 424 "engines/director/lingo/lingo-gr.y" +#line 426 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gotonext); ;} break; case 94: -#line 425 "engines/director/lingo/lingo-gr.y" +#line 427 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gotoprevious); ;} break; case 95: -#line 426 "engines/director/lingo/lingo-gr.y" +#line 428 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_goto); g_lingo->codeString((yyvsp[(2) - (2)].s)->c_str()); @@ -2322,7 +2322,7 @@ yyreduce: break; case 96: -#line 431 "engines/director/lingo/lingo-gr.y" +#line 433 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_goto); g_lingo->codeString((yyvsp[(2) - (3)].s)->c_str()); @@ -2332,7 +2332,7 @@ yyreduce: break; case 97: -#line 437 "engines/director/lingo/lingo-gr.y" +#line 439 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_goto); g_lingo->codeString(""); @@ -2341,47 +2341,47 @@ yyreduce: break; case 98: -#line 444 "engines/director/lingo/lingo-gr.y" +#line 446 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(3) - (3)].s); ;} break; case 99: -#line 445 "engines/director/lingo/lingo-gr.y" +#line 447 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(2) - (2)].s); ;} break; case 100: -#line 446 "engines/director/lingo/lingo-gr.y" +#line 448 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(2) - (2)].s); ;} break; case 101: -#line 447 "engines/director/lingo/lingo-gr.y" +#line 449 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(1) - (1)].s); ;} break; case 102: -#line 450 "engines/director/lingo/lingo-gr.y" +#line 452 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(3) - (3)].s); ;} break; case 103: -#line 451 "engines/director/lingo/lingo-gr.y" +#line 453 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(2) - (2)].s); ;} break; case 104: -#line 452 "engines/director/lingo/lingo-gr.y" +#line 454 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(3) - (3)].s); ;} break; case 105: -#line 480 "engines/director/lingo/lingo-gr.y" +#line 482 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;} break; case 106: -#line 481 "engines/director/lingo/lingo-gr.y" +#line 483 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_constpush, (inst)0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2390,19 +2390,19 @@ yyreduce: break; case 107: -#line 486 "engines/director/lingo/lingo-gr.y" +#line 488 "engines/director/lingo/lingo-gr.y" { g_lingo->codeFactory(*(yyvsp[(2) - (2)].s)); ;} break; case 108: -#line 489 "engines/director/lingo/lingo-gr.y" +#line 491 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; ;} break; case 109: -#line 490 "engines/director/lingo/lingo-gr.y" +#line 492 "engines/director/lingo/lingo-gr.y" { g_lingo->code2(g_lingo->c_constpush, (inst)0); // Push fake value on stack g_lingo->code1(g_lingo->c_procret); @@ -2411,32 +2411,32 @@ yyreduce: break; case 110: -#line 495 "engines/director/lingo/lingo-gr.y" +#line 497 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; case 111: -#line 496 "engines/director/lingo/lingo-gr.y" +#line 498 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;} break; case 112: -#line 497 "engines/director/lingo/lingo-gr.y" +#line 499 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; case 113: -#line 498 "engines/director/lingo/lingo-gr.y" +#line 500 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;} break; case 114: -#line 500 "engines/director/lingo/lingo-gr.y" +#line 502 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArgStore(); ;} break; case 115: -#line 504 "engines/director/lingo/lingo-gr.y" +#line 506 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_call); g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); @@ -2446,17 +2446,17 @@ yyreduce: break; case 116: -#line 512 "engines/director/lingo/lingo-gr.y" +#line 514 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; case 117: -#line 513 "engines/director/lingo/lingo-gr.y" +#line 515 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 1; ;} break; case 118: -#line 514 "engines/director/lingo/lingo-gr.y" +#line 516 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; @@ -2676,6 +2676,6 @@ yyreturn: } -#line 517 "engines/director/lingo/lingo-gr.y" +#line 519 "engines/director/lingo/lingo-gr.y" |