diff options
Diffstat (limited to 'engines/director/lingo/lingo-gr.cpp')
-rw-r--r-- | engines/director/lingo/lingo-gr.cpp | 680 |
1 files changed, 367 insertions, 313 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp index da427d3e39..2077d5c9ba 100644 --- a/engines/director/lingo/lingo-gr.cpp +++ b/engines/director/lingo/lingo-gr.cpp @@ -107,7 +107,11 @@ tGT = 296, tLT = 297, tEQ = 298, - tNEQ = 299 + tNEQ = 299, + tAND = 300, + tOR = 301, + tNOT = 302, + tCONCAT = 303 }; #endif /* Tokens. */ @@ -153,6 +157,10 @@ #define tLT 297 #define tEQ 298 #define tNEQ 299 +#define tAND 300 +#define tOR 301 +#define tNOT 302 +#define tCONCAT 303 @@ -204,7 +212,7 @@ typedef union YYSTYPE int narg; /* number of arguments */ } /* Line 193 of yacc.c. */ -#line 208 "engines/director/lingo/lingo-gr.cpp" +#line 216 "engines/director/lingo/lingo-gr.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -217,7 +225,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 221 "engines/director/lingo/lingo-gr.cpp" +#line 229 "engines/director/lingo/lingo-gr.cpp" #ifdef short # undef short @@ -430,22 +438,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 62 +#define YYFINAL 64 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 439 +#define YYLAST 540 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 58 +#define YYNTOKENS 62 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 33 /* YYNRULES -- Number of rules. */ -#define YYNRULES 100 +#define YYNRULES 104 /* YYNRULES -- Number of states. */ -#define YYNSTATES 211 +#define YYNSTATES 219 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 299 +#define YYMAXUTOK 303 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -454,12 +462,12 @@ union yyalloc static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 51, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 55, 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, 50, 56, 2, - 52, 53, 48, 46, 57, 47, 2, 49, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 54, 60, 2, + 56, 57, 52, 50, 61, 51, 2, 53, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 55, 45, 54, 2, 2, 2, 2, 2, 2, 2, + 59, 49, 58, 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, @@ -482,7 +490,8 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48 }; #if YYDEBUG @@ -496,54 +505,55 @@ static const yytype_uint16 yyprhs[] = 149, 152, 154, 157, 159, 166, 168, 174, 176, 180, 184, 187, 191, 193, 195, 196, 197, 198, 201, 204, 206, 208, 210, 215, 220, 222, 224, 228, 232, 236, - 240, 244, 248, 252, 256, 260, 264, 267, 270, 274, - 277, 280, 283, 285, 287, 290, 292, 296, 299, 302, - 305, 308, 312, 315, 319, 322, 325, 327, 331, 334, - 338, 339, 348, 349, 351, 355, 360, 361, 365, 366, - 368 + 240, 244, 248, 252, 256, 260, 264, 268, 271, 275, + 279, 282, 285, 289, 292, 295, 298, 300, 302, 305, + 307, 311, 314, 317, 320, 323, 327, 330, 334, 337, + 340, 342, 346, 349, 353, 354, 363, 364, 366, 370, + 375, 376, 380, 381, 383 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 59, 0, -1, 59, 60, 61, -1, 61, -1, 51, - -1, -1, 85, -1, 80, -1, 89, -1, 62, -1, - 64, -1, 1, -1, 31, 79, 22, 10, -1, 33, - 10, 45, 79, -1, 33, 10, 35, 79, -1, 79, - -1, 80, -1, 63, -1, 65, -1, 72, 52, 71, - 53, 78, 77, 16, 32, -1, 73, 45, 79, 77, - 35, 79, 77, 78, 77, 16, 32, -1, 73, 45, - 79, 77, 13, 35, 79, 77, 78, 77, 16, 32, - -1, 74, 71, 34, 60, 78, 77, 16, 21, -1, - 74, 71, 34, 60, 78, 77, 14, 78, 77, 16, - 21, -1, 74, 71, 34, 60, 78, 77, 76, 67, - 77, 60, 16, 21, -1, 74, 71, 34, 76, 63, - 77, -1, 74, 71, 34, 76, 63, 77, 38, 76, - 63, 77, -1, 74, 71, 34, 76, 63, 77, 68, - 77, 66, 77, -1, -1, 38, 76, 63, -1, 67, - 70, -1, 70, -1, 68, 69, -1, 69, -1, 75, - 71, 34, 76, 64, 77, -1, 68, -1, 75, 71, - 34, 78, 77, -1, 79, -1, 79, 45, 79, -1, - 52, 71, 53, -1, 32, 37, -1, 32, 36, 10, - -1, 21, -1, 15, -1, -1, -1, -1, 78, 60, - -1, 78, 64, -1, 7, -1, 8, -1, 11, -1, - 9, 52, 90, 53, -1, 10, 52, 90, 53, -1, - 10, -1, 62, -1, 79, 46, 79, -1, 79, 47, - 79, -1, 79, 48, 79, -1, 79, 49, 79, -1, - 79, 54, 79, -1, 79, 55, 79, -1, 79, 44, - 79, -1, 79, 39, 79, -1, 79, 40, 79, -1, - 79, 56, 79, -1, 46, 79, -1, 47, 79, -1, - 52, 79, 53, -1, 25, 11, -1, 26, 10, -1, - 31, 79, -1, 82, -1, 17, -1, 19, 81, -1, - 10, -1, 81, 57, 10, -1, 20, 23, -1, 20, - 28, -1, 20, 30, -1, 20, 83, -1, 20, 83, - 84, -1, 20, 84, -1, 35, 18, 11, -1, 18, - 11, -1, 35, 11, -1, 11, -1, 29, 27, 11, - -1, 27, 11, -1, 35, 27, 11, -1, -1, 24, - 10, 86, 76, 87, 60, 88, 78, -1, -1, 10, - -1, 87, 57, 10, -1, 87, 60, 57, 10, -1, - -1, 10, 76, 90, -1, -1, 79, -1, 90, 57, - 79, -1 + 63, 0, -1, 63, 64, 65, -1, 65, -1, 55, + -1, -1, 89, -1, 84, -1, 93, -1, 66, -1, + 68, -1, 1, -1, 31, 83, 22, 10, -1, 33, + 10, 49, 83, -1, 33, 10, 35, 83, -1, 83, + -1, 84, -1, 67, -1, 69, -1, 76, 56, 75, + 57, 82, 81, 16, 32, -1, 77, 49, 83, 81, + 35, 83, 81, 82, 81, 16, 32, -1, 77, 49, + 83, 81, 13, 35, 83, 81, 82, 81, 16, 32, + -1, 78, 75, 34, 64, 82, 81, 16, 21, -1, + 78, 75, 34, 64, 82, 81, 14, 82, 81, 16, + 21, -1, 78, 75, 34, 64, 82, 81, 80, 71, + 81, 64, 16, 21, -1, 78, 75, 34, 80, 67, + 81, -1, 78, 75, 34, 80, 67, 81, 38, 80, + 67, 81, -1, 78, 75, 34, 80, 67, 81, 72, + 81, 70, 81, -1, -1, 38, 80, 67, -1, 71, + 74, -1, 74, -1, 72, 73, -1, 73, -1, 79, + 75, 34, 80, 68, 81, -1, 72, -1, 79, 75, + 34, 82, 81, -1, 83, -1, 83, 49, 83, -1, + 56, 75, 57, -1, 32, 37, -1, 32, 36, 10, + -1, 21, -1, 15, -1, -1, -1, -1, 82, 64, + -1, 82, 68, -1, 7, -1, 8, -1, 11, -1, + 9, 56, 94, 57, -1, 10, 56, 94, 57, -1, + 10, -1, 66, -1, 83, 50, 83, -1, 83, 51, + 83, -1, 83, 52, 83, -1, 83, 53, 83, -1, + 83, 58, 83, -1, 83, 59, 83, -1, 83, 44, + 83, -1, 83, 39, 83, -1, 83, 40, 83, -1, + 83, 45, 83, -1, 83, 46, 83, -1, 47, 83, + -1, 83, 60, 83, -1, 83, 48, 83, -1, 50, + 83, -1, 51, 83, -1, 56, 83, 57, -1, 25, + 11, -1, 26, 10, -1, 31, 83, -1, 86, -1, + 17, -1, 19, 85, -1, 10, -1, 85, 61, 10, + -1, 20, 23, -1, 20, 28, -1, 20, 30, -1, + 20, 87, -1, 20, 87, 88, -1, 20, 88, -1, + 35, 18, 11, -1, 18, 11, -1, 35, 11, -1, + 11, -1, 29, 27, 11, -1, 27, 11, -1, 35, + 27, 11, -1, -1, 24, 10, 90, 80, 91, 64, + 92, 82, -1, -1, 10, -1, 91, 61, 10, -1, + 91, 64, 61, 10, -1, -1, 10, 80, 94, -1, + -1, 83, -1, 94, 61, 83, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -555,11 +565,11 @@ static const yytype_uint16 yyrline[] = 240, 241, 244, 245, 248, 256, 257, 265, 266, 267, 269, 271, 277, 283, 290, 292, 294, 295, 296, 299, 304, 307, 310, 316, 324, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 343, - 344, 345, 346, 347, 349, 352, 353, 364, 365, 366, - 367, 372, 378, 385, 386, 387, 388, 391, 392, 393, - 421, 421, 428, 429, 430, 431, 433, 436, 444, 445, - 446 + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 347, 348, 349, 350, 351, 353, 356, + 357, 368, 369, 370, 371, 376, 382, 389, 390, 391, + 392, 395, 396, 397, 425, 425, 432, 433, 434, 435, + 437, 440, 448, 449, 450 }; #endif @@ -573,14 +583,15 @@ static const char *const yytname[] = "tNLELSIF", "tEND", "tEXIT", "tFRAME", "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP", "tMACRO", "tMCI", "tMCIWAIT", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO", "tWITH", - "tWHILE", "tNLELSE", "tGE", "tLE", "tGT", "tLT", "tEQ", "tNEQ", "'='", - "'+'", "'-'", "'*'", "'/'", "'%'", "'\\n'", "'('", "')'", "'>'", "'<'", - "'&'", "','", "$accept", "program", "nl", "programline", "asgn", - "stmtoneliner", "stmt", "ifstmt", "elsestmtoneliner", "elseifstmt", - "elseifstmtoneliner", "elseifstmtoneliner1", "elseifstmt1", "cond", - "repeatwhile", "repeatwith", "if", "elseif", "begin", "end", "stmtlist", - "expr", "func", "globallist", "gotofunc", "gotoframe", "gotomovie", - "defn", "@1", "argdef", "argstore", "macro", "arglist", 0 + "tWHILE", "tNLELSE", "tGE", "tLE", "tGT", "tLT", "tEQ", "tNEQ", "tAND", + "tOR", "tNOT", "tCONCAT", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", + "'\\n'", "'('", "')'", "'>'", "'<'", "'&'", "','", "$accept", "program", + "nl", "programline", "asgn", "stmtoneliner", "stmt", "ifstmt", + "elsestmtoneliner", "elseifstmt", "elseifstmtoneliner", + "elseifstmtoneliner1", "elseifstmt1", "cond", "repeatwhile", + "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "expr", "func", + "globallist", "gotofunc", "gotoframe", "gotomovie", "defn", "@1", + "argdef", "argstore", "macro", "arglist", 0 }; #endif @@ -593,25 +604,26 @@ static const yytype_uint16 yytoknum[] = 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 61, 43, 45, 42, 47, - 37, 10, 40, 41, 62, 60, 38, 44 + 295, 296, 297, 298, 299, 300, 301, 302, 303, 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, 58, 59, 59, 60, 61, 61, 61, 61, 61, - 61, 61, 62, 62, 62, 63, 63, 64, 64, 64, - 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, - 67, 67, 68, 68, 69, 70, 70, 71, 71, 71, - 72, 73, 74, 75, 76, 77, 78, 78, 78, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, - 80, 80, 80, 80, 80, 81, 81, 82, 82, 82, - 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, - 86, 85, 87, 87, 87, 87, 88, 89, 90, 90, - 90 + 0, 62, 63, 63, 64, 65, 65, 65, 65, 65, + 65, 65, 66, 66, 66, 67, 67, 68, 68, 68, + 68, 68, 69, 69, 69, 69, 69, 69, 70, 70, + 71, 71, 72, 72, 73, 74, 74, 75, 75, 75, + 76, 77, 78, 79, 80, 81, 82, 82, 82, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 84, 84, 84, 84, 84, 84, 85, + 85, 86, 86, 86, 86, 86, 86, 87, 87, 87, + 87, 88, 88, 88, 90, 89, 91, 91, 91, 91, + 92, 93, 94, 94, 94 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -623,11 +635,11 @@ static const yytype_uint8 yyr2[] = 2, 1, 2, 1, 6, 1, 5, 1, 3, 3, 2, 3, 1, 1, 0, 0, 0, 2, 2, 1, 1, 1, 4, 4, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 3, 2, - 2, 2, 1, 1, 2, 1, 3, 2, 2, 2, - 2, 3, 2, 3, 2, 2, 1, 3, 2, 3, - 0, 8, 0, 1, 3, 4, 0, 3, 0, 1, - 3 + 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, + 2, 2, 3, 2, 2, 2, 1, 1, 2, 1, + 3, 2, 2, 2, 2, 3, 2, 3, 2, 2, + 1, 3, 2, 3, 0, 8, 0, 1, 3, 4, + 0, 3, 0, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -635,75 +647,75 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 11, 49, 50, 0, 44, 51, 73, 0, 0, + 0, 11, 49, 50, 0, 44, 51, 77, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 55, 17, 10, 18, 0, 0, 0, 15, - 7, 72, 6, 8, 98, 98, 98, 75, 74, 86, - 0, 77, 0, 78, 0, 79, 0, 80, 82, 90, - 69, 70, 54, 0, 55, 71, 0, 40, 0, 66, - 67, 0, 1, 4, 0, 0, 0, 0, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 99, 0, 0, 97, 0, 84, 88, 0, 85, 0, - 0, 0, 81, 44, 0, 0, 41, 0, 0, 68, - 2, 0, 45, 0, 0, 44, 0, 63, 64, 62, - 56, 57, 58, 59, 60, 61, 65, 52, 0, 53, - 76, 87, 83, 89, 92, 12, 14, 13, 46, 0, - 39, 46, 0, 38, 100, 93, 0, 45, 0, 0, - 45, 45, 16, 0, 96, 47, 48, 0, 0, 45, - 44, 25, 94, 0, 46, 0, 45, 46, 46, 0, - 0, 43, 44, 45, 33, 0, 95, 91, 19, 46, - 45, 45, 22, 45, 35, 31, 0, 0, 32, 28, - 0, 45, 0, 0, 30, 0, 0, 45, 44, 45, - 44, 0, 0, 0, 0, 44, 26, 0, 27, 0, - 0, 20, 23, 0, 45, 29, 45, 21, 24, 36, - 34 + 0, 0, 3, 55, 17, 10, 18, 0, 0, 0, + 15, 7, 76, 6, 8, 102, 102, 102, 79, 78, + 90, 0, 81, 0, 82, 0, 83, 0, 84, 86, + 94, 73, 74, 54, 0, 55, 75, 0, 40, 0, + 67, 70, 71, 0, 1, 4, 0, 0, 0, 0, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 101, 0, + 88, 92, 0, 89, 0, 0, 0, 85, 44, 0, + 0, 41, 0, 0, 72, 2, 0, 45, 0, 0, + 44, 0, 63, 64, 62, 65, 66, 69, 56, 57, + 58, 59, 60, 61, 68, 52, 0, 53, 80, 91, + 87, 93, 96, 12, 14, 13, 46, 0, 39, 46, + 0, 38, 104, 97, 0, 45, 0, 0, 45, 45, + 16, 0, 100, 47, 48, 0, 0, 45, 44, 25, + 98, 0, 46, 0, 45, 46, 46, 0, 0, 43, + 44, 45, 33, 0, 99, 95, 19, 46, 45, 45, + 22, 45, 35, 31, 0, 0, 32, 28, 0, 45, + 0, 0, 30, 0, 0, 45, 44, 45, 44, 0, + 0, 0, 0, 44, 26, 0, 27, 0, 0, 20, + 23, 0, 45, 29, 45, 21, 24, 36, 34 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 20, 145, 21, 54, 23, 146, 25, 189, 173, - 174, 164, 175, 68, 26, 27, 28, 165, 199, 129, - 137, 29, 142, 38, 31, 47, 48, 32, 93, 136, - 154, 33, 81 + -1, 21, 153, 22, 55, 24, 154, 26, 197, 181, + 182, 172, 183, 70, 27, 28, 29, 173, 207, 137, + 145, 30, 150, 39, 32, 48, 49, 33, 98, 144, + 162, 34, 86 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -150 +#define YYPACT_NINF -156 static const yytype_int16 yypact[] = { - 162, -150, -150, -150, -21, 383, -150, -150, 15, 329, - -150, 32, 42, 50, 84, -23, 52, 84, 84, 84, - 7, -150, 8, -150, -150, -150, 13, 18, 236, 370, - -150, -150, -150, -150, 84, 84, 84, -150, 25, -150, - 72, -150, 73, -150, 59, -150, 5, 12, -150, -150, - -150, -150, 36, 84, -150, 295, 80, -150, 11, 83, - 83, 339, -150, -150, 162, 236, 84, 236, 62, 357, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 370, -27, 4, 40, 90, -150, -150, 91, -150, 93, - 94, 79, -150, -150, 295, 98, -150, 84, 84, -150, - -150, 57, 370, 58, 321, 65, 84, 370, 370, 370, - 182, 182, 83, 83, 370, 370, 370, -150, 84, -150, - -150, -150, -150, -150, 110, -150, 370, 370, -150, -1, - -150, -150, 285, 370, 370, -150, -29, 208, 89, 84, - 208, -150, -150, 115, 69, -150, -150, 113, 84, 370, - 34, -5, -150, 122, -150, 101, 370, -150, -150, 120, - 119, -150, -150, 119, -150, 236, -150, 208, -150, -150, - 208, 208, -150, 119, 119, -150, 236, 285, -150, 106, - 114, 208, 131, 134, -150, 65, 117, -150, -150, -150, - -150, 136, 123, 133, 140, -6, -150, 285, -150, 254, - 125, -150, -150, 139, 208, -150, -150, -150, -150, -150, - -150 + 170, -156, -156, -156, -48, 441, -156, -156, 36, 108, + -156, 39, 43, 45, 326, 5, 50, 326, 326, 326, + 326, 4, -156, 9, -156, -156, -156, 11, 12, 333, + 424, -156, -156, -156, -156, 326, 326, 326, -156, 26, + -156, 51, -156, 54, -156, 63, -156, 16, 18, -156, + -156, -156, -156, 37, 326, -156, 346, 82, -156, -21, + 480, 480, 480, 385, -156, -156, 170, 333, 326, 333, + 61, 407, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 424, -25, -17, 40, 87, + -156, -156, 91, -156, 92, 96, 71, -156, -156, 346, + 100, -156, 326, 326, -156, -156, 55, 424, 57, 363, + 56, 326, 424, 424, 424, 424, 424, 424, 463, 463, + 480, 480, 424, 424, 424, -156, 326, -156, -156, -156, + -156, -156, 106, -156, 424, 424, -156, -2, -156, -156, + 299, 424, 424, -156, -31, 220, 83, 326, 220, -156, + -156, 107, 60, -156, -156, 111, 326, 424, 1, -3, + -156, 113, -156, 101, 424, -156, -156, 103, 119, -156, + -156, 119, -156, 333, -156, 220, -156, -156, 220, 220, + -156, 119, 119, -156, 333, 299, -156, 104, 105, 220, + 125, 128, -156, 56, 116, -156, -156, -156, -156, 129, + 115, 130, 136, -5, -156, 299, -156, 270, 121, -156, + -156, 134, 220, -156, -156, -156, -156, -156, -156 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -150, -150, -18, 100, 6, -128, 0, -150, -150, -150, - 14, -136, 2, -62, -150, -150, -150, -149, -4, -28, - -114, 1, 21, -150, -150, -150, 121, -150, -150, -150, - -150, -150, 16 + -156, -156, -19, 90, 6, -117, 0, -156, -156, -156, + 3, -153, -24, -64, -156, -156, -156, -155, -4, -49, + -114, 2, 7, -156, -156, -156, 112, -156, -156, -156, + -156, -156, 21 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -713,98 +725,120 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -55 static const yytype_int16 yytable[] = { - 24, 36, 64, 101, 141, 103, 22, 62, -9, -46, - 161, 176, 138, 56, 57, 55, 88, 140, 59, 60, - 61, 30, 63, 89, 176, 37, 117, 178, 143, 69, - 118, 34, 90, 162, 139, 80, 80, 80, 178, 42, - 167, 44, 49, 170, 171, -46, 97, 91, 158, 187, - 159, 82, 83, 50, 94, 181, 98, 119, 63, -9, - 51, 118, 58, 66, 24, 65, 69, 102, 104, 205, - 22, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 204, 84, 85, 86, 30, 87, 131, 35, 124, - 96, 2, 3, 4, 52, 6, 105, 118, 126, 127, - 120, 132, 121, 180, 122, 123, 90, 133, 125, 147, - 128, 130, 150, 151, 186, 53, 63, 16, 144, 134, - 135, 157, 70, 71, 148, 152, 153, 72, 169, 155, - 17, 18, 166, 168, 161, 179, 19, 77, 78, 79, - 149, 172, 182, 183, 188, 185, 160, 192, 190, 156, - 193, 195, 200, 191, 202, 201, 203, 207, 177, 196, - 208, 198, -5, 1, 100, 163, 69, 194, 92, 2, - 3, 4, 5, 6, 0, 184, 209, 69, 210, 7, - 0, 8, 9, 10, 197, 0, 11, 12, 13, 0, - 0, 0, 0, 14, 15, 16, 0, 0, 0, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, - 0, 0, 0, -5, 19, 2, 3, 4, 52, 6, - 0, 70, 71, 0, 0, 7, 72, 8, 9, 10, - 75, 76, 0, 12, 13, 0, 77, 78, 79, 14, - 15, 16, 0, 2, 3, 4, 52, 6, 0, 0, - 0, 0, 0, 0, 17, 18, 0, 0, 0, 63, - 19, 2, 3, 4, 52, 6, 0, 53, 0, 16, - 0, 7, 0, 8, 9, 10, 0, 0, 0, 12, - 13, 0, 17, 18, 0, 14, 15, 16, 67, 0, - 0, 0, 2, 3, 4, 52, 6, 0, 0, 0, - 17, 18, 7, 0, 8, 9, 19, 0, 0, 0, - 12, 13, 0, 0, 0, 0, 14, 95, 16, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 18, 0, 70, 71, 0, 19, 0, 72, - 39, 73, 74, 75, 76, 0, 0, 40, 0, 77, - 78, 79, 41, 0, 0, 0, 42, 43, 44, 45, - 70, 71, 0, 0, 46, 72, 106, 73, 74, 75, - 76, 0, 0, 0, 99, 77, 78, 79, 70, 71, - 0, 0, 0, 72, 0, 73, 74, 75, 76, 0, - 0, 0, 99, 77, 78, 79, 70, 71, 0, 0, - 0, 72, 106, 73, 74, 75, 76, 0, 0, 70, - 71, 77, 78, 79, 72, 0, 73, 74, 75, 76, - 0, 0, -54, -54, 77, 78, 79, -54, 0, 0, - 0, -54, -54, 0, 0, 35, 0, -54, -54, -54 + 25, 37, 66, 106, 64, 108, 23, 31, 35, -9, + -46, 146, 169, 184, 102, 166, 56, 167, 186, 60, + 61, 62, 63, 149, 65, 148, 184, 93, 103, 186, + 151, 71, 125, 147, 94, 170, 126, 85, 85, 85, + 127, 57, 58, 95, 126, 43, 38, 45, 175, 50, + -46, 178, 179, 96, 51, 52, 99, 87, 88, 65, + 59, 68, 90, 189, -9, 91, 25, 67, 195, 71, + 107, 109, 23, 31, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 89, 213, 212, + 92, 139, 101, 36, 132, 110, 155, 128, 95, 158, + 159, 126, 129, 130, 134, 135, 140, 131, 165, 188, + 133, 65, 136, 141, 138, 177, 143, 160, 156, 40, + 194, 161, 187, 174, 180, 152, 41, 163, 142, 190, + 191, 42, 193, 176, 169, 43, 44, 45, 46, 198, + 199, 200, 196, 47, 201, 208, 204, 209, 206, 157, + 203, 210, 211, 215, 168, 216, 105, 192, 164, 0, + 97, 0, 171, 217, 0, 218, 185, 0, 0, 0, + -5, 1, 0, 0, 202, 71, 0, 2, 3, 4, + 5, 6, 0, 0, 0, 0, 71, 7, 0, 8, + 9, 10, 205, 0, 11, 12, 13, 0, 0, 0, + 0, 14, 15, 16, 0, 0, 0, 214, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, + 18, 19, 0, 0, 0, -5, 20, 2, 3, 4, + 53, 6, 0, 0, 0, 0, 0, 7, 0, 8, + 9, 10, 0, 0, 0, 12, 13, 0, 0, 0, + 0, 14, 15, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, + 18, 19, 0, 0, 0, 65, 20, 2, 3, 4, + 53, 6, 0, 0, 0, 0, 0, 7, 0, 8, + 9, 10, 0, 0, 0, 12, 13, 0, 0, 0, + 0, 14, 15, 16, 0, 0, 2, 3, 4, 53, + 6, 0, 0, 0, 0, 0, 7, 17, 8, 9, + 18, 19, 0, 0, 12, 13, 20, 0, 0, 0, + 14, 0, 16, 2, 3, 4, 53, 6, 0, 0, + 2, 3, 4, 53, 6, 0, 17, 0, 0, 18, + 19, 0, 0, 0, 0, 20, 0, 54, 0, 16, + 0, 0, 0, 0, 54, 0, 16, 0, 100, 0, + 0, 0, 0, 17, 0, 0, 18, 19, 0, 0, + 17, 0, 20, 18, 19, 72, 73, 0, 0, 69, + 74, 75, 76, 0, 77, 0, 78, 79, 80, 81, + 0, 0, 72, 73, 82, 83, 84, 74, 75, 76, + 0, 77, 111, 78, 79, 80, 81, 0, 0, 0, + 104, 82, 83, 84, 72, 73, 0, 0, 0, 74, + 75, 76, 0, 77, 0, 78, 79, 80, 81, 0, + 0, 0, 104, 82, 83, 84, 72, 73, 0, 0, + 0, 74, 75, 76, 0, 77, 111, 78, 79, 80, + 81, 0, 0, 72, 73, 82, 83, 84, 74, 75, + 76, 0, 77, 0, 78, 79, 80, 81, 0, 0, + -54, -54, 82, 83, 84, -54, -54, -54, 0, -54, + 0, 0, 0, -54, -54, 0, 0, 36, 0, -54, + -54, -54, 72, 73, 0, 0, 0, 74, 75, 76, + 0, 77, 0, 0, 0, 80, 81, 0, 0, 72, + 73, 82, 83, 84, 74, 75, 76, 0, 77, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 83, + 84 }; static const yytype_int16 yycheck[] = { - 0, 5, 20, 65, 132, 67, 0, 0, 0, 15, - 15, 160, 13, 36, 37, 14, 11, 131, 17, 18, - 19, 0, 51, 18, 173, 10, 53, 163, 57, 28, - 57, 52, 27, 38, 35, 34, 35, 36, 174, 27, - 154, 29, 10, 157, 158, 51, 35, 35, 14, 177, - 16, 35, 36, 11, 53, 169, 45, 53, 51, 51, - 10, 57, 10, 45, 64, 52, 65, 66, 67, 197, - 64, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 195, 57, 11, 11, 64, 27, 105, 52, 93, - 10, 7, 8, 9, 10, 11, 34, 57, 97, 98, - 10, 105, 11, 165, 11, 11, 27, 106, 10, 137, - 53, 53, 140, 141, 176, 31, 51, 33, 136, 118, - 10, 149, 39, 40, 35, 10, 57, 44, 156, 16, - 46, 47, 10, 32, 15, 163, 52, 54, 55, 56, - 139, 21, 170, 171, 38, 173, 150, 16, 34, 148, - 16, 34, 16, 181, 21, 32, 16, 32, 162, 187, - 21, 189, 0, 1, 64, 151, 165, 185, 47, 7, - 8, 9, 10, 11, -1, 173, 204, 176, 206, 17, - -1, 19, 20, 21, 188, -1, 24, 25, 26, -1, - -1, -1, -1, 31, 32, 33, -1, -1, -1, 199, - -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, - -1, -1, -1, 51, 52, 7, 8, 9, 10, 11, - -1, 39, 40, -1, -1, 17, 44, 19, 20, 21, - 48, 49, -1, 25, 26, -1, 54, 55, 56, 31, - 32, 33, -1, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, 46, 47, -1, -1, -1, 51, - 52, 7, 8, 9, 10, 11, -1, 31, -1, 33, - -1, 17, -1, 19, 20, 21, -1, -1, -1, 25, - 26, -1, 46, 47, -1, 31, 32, 33, 52, -1, - -1, -1, 7, 8, 9, 10, 11, -1, -1, -1, - 46, 47, 17, -1, 19, 20, 52, -1, -1, -1, - 25, 26, -1, -1, -1, -1, 31, 22, 33, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 46, 47, -1, 39, 40, -1, 52, -1, 44, - 11, 46, 47, 48, 49, -1, -1, 18, -1, 54, - 55, 56, 23, -1, -1, -1, 27, 28, 29, 30, - 39, 40, -1, -1, 35, 44, 45, 46, 47, 48, - 49, -1, -1, -1, 53, 54, 55, 56, 39, 40, - -1, -1, -1, 44, -1, 46, 47, 48, 49, -1, - -1, -1, 53, 54, 55, 56, 39, 40, -1, -1, - -1, 44, 45, 46, 47, 48, 49, -1, -1, 39, - 40, 54, 55, 56, 44, -1, 46, 47, 48, 49, - -1, -1, 39, 40, 54, 55, 56, 44, -1, -1, - -1, 48, 49, -1, -1, 52, -1, 54, 55, 56 + 0, 5, 21, 67, 0, 69, 0, 0, 56, 0, + 15, 13, 15, 168, 35, 14, 14, 16, 171, 17, + 18, 19, 20, 140, 55, 139, 181, 11, 49, 182, + 61, 29, 57, 35, 18, 38, 61, 35, 36, 37, + 57, 36, 37, 27, 61, 27, 10, 29, 162, 10, + 55, 165, 166, 35, 11, 10, 54, 36, 37, 55, + 10, 49, 11, 177, 55, 11, 66, 56, 185, 67, + 68, 69, 66, 66, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 61, 205, 203, + 27, 110, 10, 56, 98, 34, 145, 10, 27, 148, + 149, 61, 11, 11, 102, 103, 110, 11, 157, 173, + 10, 55, 57, 111, 57, 164, 10, 10, 35, 11, + 184, 61, 171, 10, 21, 144, 18, 16, 126, 178, + 179, 23, 181, 32, 15, 27, 28, 29, 30, 34, + 189, 16, 38, 35, 16, 16, 195, 32, 197, 147, + 34, 21, 16, 32, 158, 21, 66, 181, 156, -1, + 48, -1, 159, 212, -1, 214, 170, -1, -1, -1, + 0, 1, -1, -1, 193, 173, -1, 7, 8, 9, + 10, 11, -1, -1, -1, -1, 184, 17, -1, 19, + 20, 21, 196, -1, 24, 25, 26, -1, -1, -1, + -1, 31, 32, 33, -1, -1, -1, 207, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, + 50, 51, -1, -1, -1, 55, 56, 7, 8, 9, + 10, 11, -1, -1, -1, -1, -1, 17, -1, 19, + 20, 21, -1, -1, -1, 25, 26, -1, -1, -1, + -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, + 50, 51, -1, -1, -1, 55, 56, 7, 8, 9, + 10, 11, -1, -1, -1, -1, -1, 17, -1, 19, + 20, 21, -1, -1, -1, 25, 26, -1, -1, -1, + -1, 31, 32, 33, -1, -1, 7, 8, 9, 10, + 11, -1, -1, -1, -1, -1, 17, 47, 19, 20, + 50, 51, -1, -1, 25, 26, 56, -1, -1, -1, + 31, -1, 33, 7, 8, 9, 10, 11, -1, -1, + 7, 8, 9, 10, 11, -1, 47, -1, -1, 50, + 51, -1, -1, -1, -1, 56, -1, 31, -1, 33, + -1, -1, -1, -1, 31, -1, 33, -1, 22, -1, + -1, -1, -1, 47, -1, -1, 50, 51, -1, -1, + 47, -1, 56, 50, 51, 39, 40, -1, -1, 56, + 44, 45, 46, -1, 48, -1, 50, 51, 52, 53, + -1, -1, 39, 40, 58, 59, 60, 44, 45, 46, + -1, 48, 49, 50, 51, 52, 53, -1, -1, -1, + 57, 58, 59, 60, 39, 40, -1, -1, -1, 44, + 45, 46, -1, 48, -1, 50, 51, 52, 53, -1, + -1, -1, 57, 58, 59, 60, 39, 40, -1, -1, + -1, 44, 45, 46, -1, 48, 49, 50, 51, 52, + 53, -1, -1, 39, 40, 58, 59, 60, 44, 45, + 46, -1, 48, -1, 50, 51, 52, 53, -1, -1, + 39, 40, 58, 59, 60, 44, 45, 46, -1, 48, + -1, -1, -1, 52, 53, -1, -1, 56, -1, 58, + 59, 60, 39, 40, -1, -1, -1, 44, 45, 46, + -1, 48, -1, -1, -1, 52, 53, -1, -1, 39, + 40, 58, 59, 60, 44, 45, 46, -1, 48, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, + 60 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -812,27 +846,27 @@ static const yytype_int16 yycheck[] = static const yytype_uint8 yystos[] = { 0, 1, 7, 8, 9, 10, 11, 17, 19, 20, - 21, 24, 25, 26, 31, 32, 33, 46, 47, 52, - 59, 61, 62, 63, 64, 65, 72, 73, 74, 79, - 80, 82, 85, 89, 52, 52, 76, 10, 81, 11, - 18, 23, 27, 28, 29, 30, 35, 83, 84, 10, - 11, 10, 10, 31, 62, 79, 36, 37, 10, 79, - 79, 79, 0, 51, 60, 52, 45, 52, 71, 79, - 39, 40, 44, 46, 47, 48, 49, 54, 55, 56, - 79, 90, 90, 90, 57, 11, 11, 27, 11, 18, - 27, 35, 84, 86, 79, 22, 10, 35, 45, 53, - 61, 71, 79, 71, 79, 34, 45, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 53, 57, 53, - 10, 11, 11, 11, 76, 10, 79, 79, 53, 77, - 53, 60, 76, 79, 79, 10, 87, 78, 13, 35, - 78, 63, 80, 57, 60, 60, 64, 77, 35, 79, - 77, 77, 10, 57, 88, 16, 79, 77, 14, 16, - 76, 15, 38, 68, 69, 75, 10, 78, 32, 77, - 78, 78, 21, 67, 68, 70, 75, 76, 69, 77, - 71, 78, 77, 77, 70, 77, 71, 63, 38, 66, - 34, 77, 16, 16, 60, 34, 77, 76, 77, 76, - 16, 32, 21, 16, 78, 63, 64, 32, 21, 77, - 77 + 21, 24, 25, 26, 31, 32, 33, 47, 50, 51, + 56, 63, 65, 66, 67, 68, 69, 76, 77, 78, + 83, 84, 86, 89, 93, 56, 56, 80, 10, 85, + 11, 18, 23, 27, 28, 29, 30, 35, 87, 88, + 10, 11, 10, 10, 31, 66, 83, 36, 37, 10, + 83, 83, 83, 83, 0, 55, 64, 56, 49, 56, + 75, 83, 39, 40, 44, 45, 46, 48, 50, 51, + 52, 53, 58, 59, 60, 83, 94, 94, 94, 61, + 11, 11, 27, 11, 18, 27, 35, 88, 90, 83, + 22, 10, 35, 49, 57, 65, 75, 83, 75, 83, + 34, 49, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 57, 61, 57, 10, 11, + 11, 11, 80, 10, 83, 83, 57, 81, 57, 64, + 80, 83, 83, 10, 91, 82, 13, 35, 82, 67, + 84, 61, 64, 64, 68, 81, 35, 83, 81, 81, + 10, 61, 92, 16, 83, 81, 14, 16, 80, 15, + 38, 72, 73, 79, 10, 82, 32, 81, 82, 82, + 21, 71, 72, 74, 79, 80, 73, 81, 75, 82, + 81, 81, 74, 81, 75, 67, 38, 70, 34, 81, + 16, 16, 64, 34, 81, 80, 81, 80, 16, 32, + 21, 16, 82, 67, 68, 32, 21, 81, 81 }; #define yyerrok (yyerrstatus = 0) @@ -2007,72 +2041,92 @@ yyreduce: case 65: #line 337 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_ampersand); ;} + { g_lingo->code1(g_lingo->c_and); ;} break; case 66: #line 338 "engines/director/lingo/lingo-gr.y" - { (yyval.code) = (yyvsp[(2) - (2)].code); ;} + { g_lingo->code1(g_lingo->c_or); ;} break; case 67: #line 339 "engines/director/lingo/lingo-gr.y" - { (yyval.code) = (yyvsp[(2) - (2)].code); g_lingo->code1(g_lingo->c_negate); ;} + { g_lingo->code1(g_lingo->c_not); ;} break; case 68: #line 340 "engines/director/lingo/lingo-gr.y" - { (yyval.code) = (yyvsp[(2) - (3)].code); ;} + { g_lingo->code1(g_lingo->c_ampersand); ;} break; case 69: -#line 343 "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); ;} +#line 341 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_concat); ;} break; case 70: -#line 344 "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); ;} +#line 342 "engines/director/lingo/lingo-gr.y" + { (yyval.code) = (yyvsp[(2) - (2)].code); ;} break; case 71: -#line 345 "engines/director/lingo/lingo-gr.y" - { g_lingo->code1(g_lingo->c_printtop); ;} +#line 343 "engines/director/lingo/lingo-gr.y" + { (yyval.code) = (yyvsp[(2) - (2)].code); g_lingo->code1(g_lingo->c_negate); ;} + break; + + case 72: +#line 344 "engines/director/lingo/lingo-gr.y" + { (yyval.code) = (yyvsp[(2) - (3)].code); ;} break; case 73: #line 347 "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 74: +#line 348 "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 75: +#line 349 "engines/director/lingo/lingo-gr.y" + { g_lingo->code1(g_lingo->c_printtop); ;} + break; + + case 77: +#line 351 "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 75: -#line 352 "engines/director/lingo/lingo-gr.y" + case 79: +#line 356 "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 76: -#line 353 "engines/director/lingo/lingo-gr.y" + case 80: +#line 357 "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 77: -#line 364 "engines/director/lingo/lingo-gr.y" + case 81: +#line 368 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gotoloop); ;} break; - case 78: -#line 365 "engines/director/lingo/lingo-gr.y" + case 82: +#line 369 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gotonext); ;} break; - case 79: -#line 366 "engines/director/lingo/lingo-gr.y" + case 83: +#line 370 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_gotoprevious); ;} break; - case 80: -#line 367 "engines/director/lingo/lingo-gr.y" + case 84: +#line 371 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_goto); g_lingo->codeString((yyvsp[(2) - (2)].s)->c_str()); @@ -2080,8 +2134,8 @@ yyreduce: delete (yyvsp[(2) - (2)].s); ;} break; - case 81: -#line 372 "engines/director/lingo/lingo-gr.y" + case 85: +#line 376 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_goto); g_lingo->codeString((yyvsp[(2) - (3)].s)->c_str()); @@ -2090,8 +2144,8 @@ yyreduce: delete (yyvsp[(3) - (3)].s); ;} break; - case 82: -#line 378 "engines/director/lingo/lingo-gr.y" + case 86: +#line 382 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_goto); g_lingo->codeString(""); @@ -2099,48 +2153,48 @@ yyreduce: delete (yyvsp[(2) - (2)].s); ;} break; - case 83: -#line 385 "engines/director/lingo/lingo-gr.y" + case 87: +#line 389 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(3) - (3)].s); ;} break; - case 84: -#line 386 "engines/director/lingo/lingo-gr.y" + case 88: +#line 390 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(2) - (2)].s); ;} break; - case 85: -#line 387 "engines/director/lingo/lingo-gr.y" + case 89: +#line 391 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(2) - (2)].s); ;} break; - case 86: -#line 388 "engines/director/lingo/lingo-gr.y" + case 90: +#line 392 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(1) - (1)].s); ;} break; - case 87: -#line 391 "engines/director/lingo/lingo-gr.y" + case 91: +#line 395 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(3) - (3)].s); ;} break; - case 88: -#line 392 "engines/director/lingo/lingo-gr.y" + case 92: +#line 396 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(2) - (2)].s); ;} break; - case 89: -#line 393 "engines/director/lingo/lingo-gr.y" + case 93: +#line 397 "engines/director/lingo/lingo-gr.y" { (yyval.s) = (yyvsp[(3) - (3)].s); ;} break; - case 90: -#line 421 "engines/director/lingo/lingo-gr.y" + case 94: +#line 425 "engines/director/lingo/lingo-gr.y" { g_lingo->_indef = true; ;} break; - case 91: -#line 422 "engines/director/lingo/lingo-gr.y" + case 95: +#line 426 "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); @@ -2148,33 +2202,33 @@ yyreduce: g_lingo->_indef = false; ;} break; - case 92: -#line 428 "engines/director/lingo/lingo-gr.y" + case 96: +#line 432 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; - case 93: -#line 429 "engines/director/lingo/lingo-gr.y" + case 97: +#line 433 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;} break; - case 94: -#line 430 "engines/director/lingo/lingo-gr.y" + case 98: +#line 434 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; - case 95: -#line 431 "engines/director/lingo/lingo-gr.y" + case 99: +#line 435 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;} break; - case 96: -#line 433 "engines/director/lingo/lingo-gr.y" + case 100: +#line 437 "engines/director/lingo/lingo-gr.y" { g_lingo->codeArgStore(); ;} break; - case 97: -#line 436 "engines/director/lingo/lingo-gr.y" + case 101: +#line 440 "engines/director/lingo/lingo-gr.y" { g_lingo->code1(g_lingo->c_call); g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); @@ -2183,24 +2237,24 @@ yyreduce: g_lingo->code1(numpar); ;} break; - case 98: -#line 444 "engines/director/lingo/lingo-gr.y" + case 102: +#line 448 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 0; ;} break; - case 99: -#line 445 "engines/director/lingo/lingo-gr.y" + case 103: +#line 449 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = 1; ;} break; - case 100: -#line 446 "engines/director/lingo/lingo-gr.y" + case 104: +#line 450 "engines/director/lingo/lingo-gr.y" { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;} break; /* Line 1267 of yacc.c. */ -#line 2204 "engines/director/lingo/lingo-gr.cpp" +#line 2258 "engines/director/lingo/lingo-gr.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2414,6 +2468,6 @@ yyreturn: } -#line 449 "engines/director/lingo/lingo-gr.y" +#line 453 "engines/director/lingo/lingo-gr.y" |