aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/lingo/lingo-gr.cpp804
-rw-r--r--engines/director/lingo/lingo-gr.h104
-rw-r--r--engines/director/lingo/lingo-gr.y10
-rw-r--r--engines/director/lingo/lingo-lex.cpp418
-rw-r--r--engines/director/lingo/lingo-lex.l12
5 files changed, 694 insertions, 654 deletions
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 14902d00d1..489efbe762 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -99,32 +99,32 @@
SYMBOL = 288,
ENDCLAUSE = 289,
tPLAYACCEL = 290,
- tDOWN = 291,
- tELSE = 292,
- tELSIF = 293,
- tEXIT = 294,
- tFRAME = 295,
- tGLOBAL = 296,
- tGO = 297,
- tIF = 298,
- tINTO = 299,
- tLOOP = 300,
- tMACRO = 301,
- tMOVIE = 302,
- tNEXT = 303,
- tOF = 304,
- tPREVIOUS = 305,
- tPUT = 306,
- tREPEAT = 307,
- tSET = 308,
- tTHEN = 309,
- tTO = 310,
- tWHEN = 311,
- tWITH = 312,
- tWHILE = 313,
- tNLELSE = 314,
- tFACTORY = 315,
- tMETHOD = 316,
+ tMETHOD = 291,
+ tDOWN = 292,
+ tELSE = 293,
+ tELSIF = 294,
+ tEXIT = 295,
+ tFRAME = 296,
+ tGLOBAL = 297,
+ tGO = 298,
+ tIF = 299,
+ tINTO = 300,
+ tLOOP = 301,
+ tMACRO = 302,
+ tMOVIE = 303,
+ tNEXT = 304,
+ tOF = 305,
+ tPREVIOUS = 306,
+ tPUT = 307,
+ tREPEAT = 308,
+ tSET = 309,
+ tTHEN = 310,
+ tTO = 311,
+ tWHEN = 312,
+ tWITH = 313,
+ tWHILE = 314,
+ tNLELSE = 315,
+ tFACTORY = 316,
tOPEN = 317,
tPLAY = 318,
tDONE = 319,
@@ -192,32 +192,32 @@
#define SYMBOL 288
#define ENDCLAUSE 289
#define tPLAYACCEL 290
-#define tDOWN 291
-#define tELSE 292
-#define tELSIF 293
-#define tEXIT 294
-#define tFRAME 295
-#define tGLOBAL 296
-#define tGO 297
-#define tIF 298
-#define tINTO 299
-#define tLOOP 300
-#define tMACRO 301
-#define tMOVIE 302
-#define tNEXT 303
-#define tOF 304
-#define tPREVIOUS 305
-#define tPUT 306
-#define tREPEAT 307
-#define tSET 308
-#define tTHEN 309
-#define tTO 310
-#define tWHEN 311
-#define tWITH 312
-#define tWHILE 313
-#define tNLELSE 314
-#define tFACTORY 315
-#define tMETHOD 316
+#define tMETHOD 291
+#define tDOWN 292
+#define tELSE 293
+#define tELSIF 294
+#define tEXIT 295
+#define tFRAME 296
+#define tGLOBAL 297
+#define tGO 298
+#define tIF 299
+#define tINTO 300
+#define tLOOP 301
+#define tMACRO 302
+#define tMOVIE 303
+#define tNEXT 304
+#define tOF 305
+#define tPREVIOUS 306
+#define tPUT 307
+#define tREPEAT 308
+#define tSET 309
+#define tTHEN 310
+#define tTO 311
+#define tWHEN 312
+#define tWITH 313
+#define tWHILE 314
+#define tNLELSE 315
+#define tFACTORY 316
#define tOPEN 317
#define tPLAY 318
#define tDONE 319
@@ -544,7 +544,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 126
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1445
+#define YYLAST 1526
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 107
@@ -553,7 +553,7 @@ union yyalloc
/* YYNRULES -- Number of rules. */
#define YYNRULES 154
/* YYNRULES -- Number of states. */
-#define YYNSTATES 327
+#define YYNSTATES 326
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -620,33 +620,33 @@ static const yytype_uint16 yyprhs[] =
385, 388, 390, 393, 396, 398, 401, 406, 413, 418,
421, 425, 427, 431, 433, 437, 439, 443, 446, 449,
452, 455, 459, 462, 465, 467, 471, 474, 477, 480,
- 484, 487, 488, 492, 493, 502, 505, 506, 515, 524,
- 531, 534, 535, 537, 541, 546, 547, 549, 553, 554,
- 557, 558, 560, 564, 566
+ 484, 487, 488, 492, 493, 502, 505, 506, 514, 523,
+ 530, 533, 534, 536, 540, 545, 546, 548, 552, 553,
+ 556, 557, 559, 563, 565
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
108, 0, -1, 108, 101, 109, -1, 109, -1, 1,
- 101, -1, -1, 137, -1, 112, -1, 51, 126, 44,
- 30, -1, 51, 126, 44, 127, -1, 51, 126, 74,
- 126, -1, 51, 126, 75, 126, -1, 53, 30, 68,
- 126, -1, 53, 15, 68, 126, -1, 53, 30, 55,
- 126, -1, 53, 15, 55, 126, -1, 53, 16, 126,
- 55, 126, -1, 53, 16, 125, 68, 126, -1, 144,
+ 101, -1, -1, 137, -1, 112, -1, 52, 126, 45,
+ 30, -1, 52, 126, 45, 127, -1, 52, 126, 74,
+ 126, -1, 52, 126, 75, 126, -1, 54, 30, 68,
+ 126, -1, 54, 15, 68, 126, -1, 54, 30, 56,
+ 126, -1, 54, 15, 56, 126, -1, 54, 16, 126,
+ 56, 126, -1, 54, 16, 125, 68, 126, -1, 144,
-1, 126, -1, 128, -1, 111, -1, 113, -1, 116,
126, 121, 122, 121, 91, -1, 117, 68, 126, 121,
- 55, 126, 121, 122, 121, 91, -1, 117, 68, 126,
- 121, 36, 55, 126, 121, 122, 121, 91, -1, 123,
+ 56, 126, 121, 122, 121, 91, -1, 117, 68, 126,
+ 121, 37, 56, 126, 121, 122, 121, 91, -1, 123,
111, 121, -1, 124, 126, 101, 122, 121, 92, -1,
- 124, 126, 55, 126, -1, 118, 126, 121, 54, 122,
- 121, 114, 121, 90, -1, 118, 126, 121, 54, 122,
- 121, 114, 37, 120, 122, 121, 90, -1, -1, 115,
- 114, -1, 119, 126, 121, 54, 122, 121, -1, 52,
- 58, -1, 52, 57, 30, -1, 43, -1, 38, -1,
- -1, -1, -1, 122, 101, -1, 122, 112, -1, 56,
- 30, 54, -1, 86, -1, 12, -1, 17, -1, 33,
+ 124, 126, 56, 126, -1, 118, 126, 121, 55, 122,
+ 121, 114, 121, 90, -1, 118, 126, 121, 55, 122,
+ 121, 114, 38, 120, 122, 121, 90, -1, -1, 115,
+ 114, -1, 119, 126, 121, 55, 122, 121, -1, 53,
+ 59, -1, 53, 58, 30, -1, 44, -1, 39, -1,
+ -1, -1, -1, 122, 101, -1, 122, 112, -1, 57,
+ 30, 55, -1, 86, -1, 12, -1, 17, -1, 33,
-1, 31, -1, 30, -1, 125, -1, 127, -1, 25,
-1, 26, 126, -1, 27, 146, -1, 30, 102, 145,
103, -1, 15, -1, 16, 126, -1, 110, -1, 126,
@@ -659,32 +659,32 @@ static const yytype_int16 yyrhs[] =
126, -1, 126, 77, 126, -1, 126, 78, 126, -1,
96, 126, -1, 97, 126, -1, 102, 126, 103, -1,
104, 145, 105, -1, 83, 126, 84, 126, -1, 83,
- 126, 85, 126, -1, 79, 126, 49, 126, -1, 79,
- 126, 55, 126, 49, 126, -1, 80, 126, 49, 126,
- -1, 80, 126, 55, 126, 49, 126, -1, 81, 126,
- 49, 126, -1, 81, 126, 55, 126, 49, 126, -1,
- 82, 126, 49, 126, -1, 82, 126, 55, 126, 49,
- 126, -1, 89, -1, 29, 126, -1, 51, 126, -1,
- 132, -1, 135, -1, 39, 52, -1, 39, -1, 41,
+ 126, 85, 126, -1, 79, 126, 50, 126, -1, 79,
+ 126, 56, 126, 50, 126, -1, 80, 126, 50, 126,
+ -1, 80, 126, 56, 126, 50, 126, -1, 81, 126,
+ 50, 126, -1, 81, 126, 56, 126, 50, 126, -1,
+ 82, 126, 50, 126, -1, 82, 126, 56, 126, 50,
+ 126, -1, 89, -1, 29, 126, -1, 52, 126, -1,
+ 132, -1, 135, -1, 40, 53, -1, 40, -1, 42,
129, -1, 87, 130, -1, 65, 131, -1, 19, -1,
21, 126, -1, 20, 126, -1, 20, -1, 22, 146,
-1, 89, 102, 30, 103, -1, 89, 102, 30, 106,
- 145, 103, -1, 62, 126, 57, 126, -1, 62, 126,
+ 145, 103, -1, 62, 126, 58, 126, -1, 62, 126,
-1, 23, 30, 145, -1, 30, -1, 129, 106, 30,
-1, 30, -1, 130, 106, 30, -1, 30, -1, 131,
- 106, 30, -1, 42, 45, -1, 42, 48, -1, 42,
- 50, -1, 42, 133, -1, 42, 133, 134, -1, 42,
- 134, -1, 40, 126, -1, 126, -1, 49, 47, 126,
- -1, 47, 126, -1, 63, 64, -1, 63, 133, -1,
+ 106, 30, -1, 43, 46, -1, 43, 49, -1, 43,
+ 51, -1, 43, 133, -1, 43, 133, 134, -1, 43,
+ 134, -1, 41, 126, -1, 126, -1, 50, 48, 126,
+ -1, 48, 126, -1, 63, 64, -1, 63, 133, -1,
63, 133, 134, -1, 63, 134, -1, -1, 35, 136,
- 145, -1, -1, 46, 30, 138, 120, 141, 101, 143,
- 122, -1, 60, 30, -1, -1, 61, 30, 139, 120,
- 141, 101, 143, 122, -1, 140, 120, 141, 101, 143,
- 122, 34, 142, -1, 140, 120, 141, 101, 143, 122,
- -1, 88, 30, -1, -1, 30, -1, 141, 106, 30,
- -1, 141, 101, 106, 30, -1, -1, 30, -1, 142,
- 106, 30, -1, -1, 30, 146, -1, -1, 126, -1,
- 145, 106, 126, -1, 126, -1, 146, 106, 126, -1
+ 145, -1, -1, 47, 30, 138, 120, 141, 101, 143,
+ 122, -1, 61, 30, -1, -1, 36, 139, 120, 141,
+ 101, 143, 122, -1, 140, 120, 141, 101, 143, 122,
+ 34, 142, -1, 140, 120, 141, 101, 143, 122, -1,
+ 88, 30, -1, -1, 30, -1, 141, 106, 30, -1,
+ 141, 101, 106, 30, -1, -1, 30, -1, 142, 106,
+ 30, -1, -1, 30, 146, -1, -1, 126, -1, 145,
+ 106, 126, -1, 126, -1, 146, 106, 126, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -720,17 +720,17 @@ static const char *const yytname[] =
"BLTINNOARGS", "BLTINNOARGSORONE", "BLTINONEARG", "BLTINARGLIST",
"TWOWORDBUILTIN", "FBLTIN", "FBLTINNOARGS", "FBLTINONEARG",
"FBLTINARGLIST", "RBLTIN", "RBLTINONEARG", "ID", "STRING", "HANDLER",
- "SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tDOWN", "tELSE", "tELSIF", "tEXIT",
- "tFRAME", "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP", "tMACRO", "tMOVIE",
- "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT", "tSET", "tTHEN", "tTO",
- "tWHEN", "tWITH", "tWHILE", "tNLELSE", "tFACTORY", "tMETHOD", "tOPEN",
- "tPLAY", "tDONE", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ", "tAND",
- "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT", "tCONTAINS",
- "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE", "tINTERSECTS",
- "tWITHIN", "tTELL", "tPROPERTY", "tON", "tME", "tENDIF", "tENDREPEAT",
- "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'",
- "'\\n'", "'('", "')'", "'['", "']'", "','", "$accept", "program",
- "programline", "asgn", "stmtoneliner", "stmt", "ifstmt",
+ "SYMBOL", "ENDCLAUSE", "tPLAYACCEL", "tMETHOD", "tDOWN", "tELSE",
+ "tELSIF", "tEXIT", "tFRAME", "tGLOBAL", "tGO", "tIF", "tINTO", "tLOOP",
+ "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT", "tREPEAT",
+ "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE",
+ "tFACTORY", "tOPEN", "tPLAY", "tDONE", "tINSTANCE", "tGE", "tLE", "tEQ",
+ "tNEQ", "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
+ "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
+ "tINTERSECTS", "tWITHIN", "tTELL", "tPROPERTY", "tON", "tME", "tENDIF",
+ "tENDREPEAT", "tENDTELL", "'<'", "'>'", "'&'", "'+'", "'-'", "'*'",
+ "'/'", "'%'", "'\\n'", "'('", "')'", "'['", "']'", "','", "$accept",
+ "program", "programline", "asgn", "stmtoneliner", "stmt", "ifstmt",
"elseifstmtlist", "elseifstmt", "repeatwhile", "repeatwith", "if",
"elseif", "begin", "end", "stmtlist", "when", "tell", "simpleexpr",
"expr", "reference", "proc", "globallist", "propertylist",
@@ -796,7 +796,7 @@ static const yytype_uint8 yyr2[] =
2, 1, 2, 2, 1, 2, 4, 6, 4, 2,
3, 1, 3, 1, 3, 1, 3, 2, 2, 2,
2, 3, 2, 2, 1, 3, 2, 2, 2, 3,
- 2, 0, 3, 0, 8, 2, 0, 8, 8, 6,
+ 2, 0, 3, 0, 8, 2, 0, 7, 8, 6,
2, 0, 1, 3, 4, 0, 1, 3, 0, 2,
0, 1, 3, 1, 3
};
@@ -807,38 +807,38 @@ static const yytype_uint8 yyr2[] =
static const yytype_uint8 yydefact[] =
{
0, 0, 45, 56, 0, 46, 101, 104, 0, 0,
- 0, 52, 0, 0, 0, 49, 48, 47, 131, 97,
- 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
+ 0, 52, 0, 0, 0, 49, 48, 47, 131, 136,
+ 97, 0, 0, 36, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 44,
0, 0, 91, 0, 0, 0, 150, 0, 3, 58,
21, 7, 22, 0, 0, 0, 0, 0, 50, 19,
51, 20, 94, 95, 6, 38, 18, 4, 49, 0,
91, 57, 103, 102, 153, 105, 150, 53, 54, 92,
- 150, 149, 150, 96, 111, 98, 0, 117, 0, 118,
- 0, 119, 124, 120, 122, 133, 93, 0, 34, 0,
- 0, 0, 0, 135, 136, 109, 127, 128, 130, 115,
+ 150, 149, 150, 38, 96, 111, 98, 0, 117, 0,
+ 118, 0, 119, 124, 120, 122, 133, 93, 0, 34,
+ 0, 0, 0, 0, 135, 109, 127, 128, 130, 115,
100, 72, 0, 0, 0, 0, 0, 113, 99, 140,
0, 77, 78, 0, 151, 0, 1, 5, 39, 0,
39, 39, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 141, 150, 0, 0, 110, 151, 0, 132, 0, 123,
- 126, 0, 121, 38, 0, 0, 0, 35, 0, 0,
- 50, 0, 0, 0, 43, 38, 0, 129, 0, 0,
+ 141, 150, 0, 0, 110, 151, 0, 132, 141, 0,
+ 123, 126, 0, 121, 38, 0, 0, 0, 35, 0,
+ 0, 50, 0, 0, 0, 43, 0, 129, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 79, 80, 0, 2, 40, 39, 0, 26, 0,
40, 68, 69, 66, 67, 70, 71, 63, 74, 75,
76, 65, 64, 73, 59, 60, 61, 62, 142, 0,
- 154, 55, 112, 125, 141, 8, 9, 10, 11, 15,
- 13, 0, 0, 14, 12, 141, 108, 116, 83, 0,
+ 154, 55, 0, 112, 125, 141, 8, 9, 10, 11,
+ 15, 13, 0, 0, 14, 12, 108, 116, 83, 0,
85, 0, 87, 0, 89, 0, 81, 82, 114, 106,
- 150, 152, 39, 0, 40, 28, 39, 148, 0, 0,
- 17, 16, 0, 0, 0, 0, 0, 0, 41, 42,
- 0, 0, 0, 39, 0, 0, 40, 143, 148, 148,
+ 150, 152, 39, 0, 40, 28, 39, 148, 0, 148,
+ 0, 17, 16, 0, 0, 0, 0, 0, 41, 42,
+ 0, 0, 0, 39, 0, 0, 40, 143, 40, 148,
84, 86, 88, 90, 107, 23, 0, 39, 31, 27,
- 144, 139, 40, 40, 39, 40, 37, 39, 31, 0,
- 145, 134, 137, 40, 39, 38, 0, 32, 39, 146,
- 138, 39, 0, 40, 29, 0, 0, 0, 24, 39,
- 40, 147, 25, 0, 39, 30, 33
+ 144, 139, 137, 40, 39, 40, 37, 39, 31, 0,
+ 145, 134, 40, 39, 38, 0, 32, 39, 146, 138,
+ 39, 0, 40, 29, 0, 0, 0, 24, 39, 40,
+ 147, 25, 0, 39, 30, 33
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -846,57 +846,57 @@ static const yytype_int16 yydefgoto[] =
{
-1, 47, 48, 49, 50, 269, 52, 297, 298, 53,
54, 55, 299, 150, 195, 252, 56, 57, 58, 59,
- 60, 61, 85, 118, 110, 62, 93, 94, 63, 82,
- 64, 163, 175, 65, 219, 310, 276, 66, 156, 75
+ 60, 61, 86, 118, 110, 62, 94, 95, 63, 82,
+ 64, 164, 83, 65, 219, 309, 276, 66, 156, 75
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -170
+#define YYPACT_NINF -244
static const yytype_int16 yypact[] =
{
- 271, -80, -170, -170, 819, -170, -170, 819, 819, 819,
- 26, -170, 819, 819, 819, 880, -170, -170, -170, 10,
- 37, 718, -170, 49, 819, -42, -2, 55, 57, 59,
- 819, 779, 78, 819, 819, 819, 819, 819, 819, -170,
- 80, 83, 14, 819, 819, 819, 819, 2, -170, -170,
- -170, -170, -170, 819, 56, 819, 635, 819, -170, 1346,
- -170, -170, -170, -170, -170, -170, -170, -170, 44, 819,
- -170, 1346, 1346, 1346, 1346, 46, 819, 1346, 46, 1346,
- 819, 46, 819, -170, -170, 47, 819, -170, 819, -170,
- 107, -170, 1346, 5, -170, -170, 24, 125, -170, -32,
- 819, -5, 102, -170, -170, 1261, -170, 5, -170, -170,
- 52, -170, 919, 953, 987, 1021, 1312, -170, 53, -170,
- 133, -170, -170, 1274, 1346, 9, -170, 362, 1346, 819,
- 1346, -170, 1191, 819, 819, 819, 819, 819, 819, 819,
- 819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
- 136, 819, 24, 819, 64, 1274, -26, 64, 143, 1346,
- 1346, 819, -170, -170, 97, 819, 819, -170, 819, 819,
- 106, 1227, 819, 819, -170, -170, 819, -170, 155, 819,
- 819, 819, 819, 819, 819, 819, 819, 819, 819, 156,
- -20, -170, -170, 819, -170, -170, 1346, 137, -170, 819,
- -170, -38, -38, -38, -38, 851, 851, -170, 8, -38,
- -38, -38, -38, 8, -51, -51, -170, -170, -170, -82,
- 1346, -170, -170, 1346, 136, -170, -170, 1346, 1346, 1346,
- -38, 819, 819, 1346, -38, 136, 1346, -170, 1346, 1055,
- 1346, 1089, 1346, 1123, 1346, 1157, 1346, 1346, -170, -170,
- 819, 1346, 544, -11, -170, 1346, 544, 81, 160, -37,
- -38, 1346, -31, 819, 819, 819, 819, 6, -170, -170,
- 101, 138, 819, 544, 104, 164, -170, -170, 81, 81,
- 1346, 1346, 1346, 1346, -170, -170, 819, 1346, 159, -170,
- -170, 453, -170, -170, 1346, -170, -170, 161, 159, 819,
- 169, 544, 544, -170, 544, -170, 110, -170, 1346, -170,
- 95, 544, 112, -170, -170, 150, 175, 115, -170, 544,
- -170, -170, -170, 117, 544, -170, -170
+ 302, -84, -244, -244, 893, -244, -244, 893, 893, 893,
+ 24, -244, 893, 893, 893, 926, -244, -244, -244, -244,
+ 9, 36, 749, -244, 57, 893, 12, -2, 66, 70,
+ 893, 832, 71, 893, 893, 893, 893, 893, 893, -244,
+ 72, 74, 3, 893, 893, 893, 893, 2, -244, -244,
+ -244, -244, -244, 893, 38, 893, 666, 893, -244, 1427,
+ -244, -244, -244, -244, -244, -244, -244, -244, 5, 893,
+ -244, 1427, 1427, 1427, 1427, 4, 893, 1427, 4, 1427,
+ 893, 4, 893, -244, -244, -244, 6, 893, -244, 893,
+ -244, 60, -244, 1427, 44, -244, -244, 965, 79, -244,
+ -1, 893, 0, 56, -244, 1321, -244, 44, -244, -244,
+ 7, -244, 999, 1033, 1067, 1101, 1393, -244, 8, -244,
+ 85, -244, -244, 1355, 1427, -7, -244, 393, 1427, 893,
+ 1427, -244, 1271, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
+ 86, 893, 965, 893, 11, 1355, -26, 11, 86, 88,
+ 1427, 1427, 893, -244, -244, -6, 893, 893, -244, 893,
+ 893, 51, 1307, 893, 893, -244, 893, -244, 90, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 91,
+ -22, -244, -244, 893, -244, -244, 1427, 67, -244, 893,
+ -244, -51, -51, -51, -51, 141, 141, -244, -38, -51,
+ -51, -51, -51, -38, -35, -35, -244, -244, -244, -86,
+ 1427, -244, -49, -244, 1427, 86, -244, -244, 1427, 1427,
+ 1427, -51, 893, 893, 1427, -51, 1427, -244, 1427, 1135,
+ 1427, 1169, 1427, 1203, 1427, 1237, 1427, 1427, -244, -244,
+ 893, 1427, 575, 13, -244, 1427, 575, 17, 94, 17,
+ -27, -51, 1427, 893, 893, 893, 893, -17, -244, -244,
+ 35, 92, 893, 575, 58, 97, -244, -244, -244, 17,
+ 1427, 1427, 1427, 1427, -244, -244, 893, 1427, 89, -244,
+ -244, 484, 575, -244, 1427, -244, -244, 113, 89, 893,
+ 122, 575, -244, 575, -244, 63, -244, 1427, -244, 48,
+ 575, 64, -244, -244, 102, 129, 69, -244, 575, -244,
+ -244, -244, 77, 575, -244, -244
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -170, -170, 86, -170, 152, 1, -170, -88, -170, -170,
- -170, -170, -170, -157, -85, -40, -170, -170, 116, -4,
- 51, -170, -170, -170, -170, -170, 186, -19, -170, -170,
- -170, -170, -170, -170, -169, -170, -128, -170, -39, 58
+ -244, -244, 34, -244, 108, 19, -244, -130, -244, -244,
+ -244, -244, -244, -82, -40, -3, -244, -244, 73, -4,
+ 20, -244, -244, -244, -244, -244, 140, -19, -244, -244,
+ -244, -244, -244, -244, -152, -244, -243, -244, -39, 80
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -906,300 +906,316 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -6
static const yytype_int16 yytable[] =
{
- 71, 51, 126, 72, 73, 74, 224, 125, 77, 74,
- 79, 74, 108, 99, 100, 97, 98, 92, 235, 257,
- 96, 67, 139, 168, 258, 271, 105, 92, 101, 111,
- 112, 113, 114, 115, 116, 139, 169, 154, 140, 121,
- 122, 123, 124, 157, 272, 197, 198, 148, 149, 128,
- 172, 130, 88, 132, 90, 259, 76, 145, 146, 147,
- 148, 149, 83, 173, 278, 152, 262, 84, 164, 258,
- 279, 78, 124, 81, 162, 258, 155, 221, 124, 95,
- 193, 139, 159, 249, 160, 102, 250, 103, 177, 104,
- 133, 134, 135, 136, 137, 138, 171, 139, 165, 166,
- 140, 141, 142, 127, 146, 147, 148, 149, 109, 284,
- 117, 253, 193, 119, 192, 193, 120, 143, 144, 145,
- 146, 147, 148, 149, 129, 196, 14, 225, 51, 201,
+ 71, 158, 126, 72, 73, 74, 222, 125, 77, 74,
+ 79, 74, 108, 100, 101, 257, 278, 67, 93, 51,
+ 258, 97, 139, 14, 226, 140, 105, 93, 102, 111,
+ 112, 113, 114, 115, 116, 139, 293, 154, 139, 121,
+ 122, 123, 124, 157, 145, 146, 147, 148, 149, 128,
+ 271, 130, 259, 132, 76, 169, 173, 258, 146, 147,
+ 148, 149, 84, 148, 149, 152, 85, 170, 174, 272,
+ 98, 99, 124, 260, 279, 163, 155, 221, 124, 258,
+ 193, 249, 225, 160, 250, 161, 284, 96, 177, 193,
+ 197, 198, 89, 78, 91, 81, 103, 172, 192, 193,
+ 104, 109, 117, 127, 119, 120, 129, 151, 162, 168,
+ 153, 175, 159, 178, 189, 190, 218, 193, 223, 232,
+ 237, 248, 254, 275, 277, 196, 285, 290, 296, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 151, 124, 313, 220,
- 292, 293, 153, 158, 161, 167, 174, 223, 178, 189,
- 256, 227, 228, 190, 229, 230, 218, 270, 233, 234,
- 193, 274, 236, 222, 231, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 237, 248, 275, 288, 251,
- 277, 254, 285, 286, 290, 255, 289, 296, 305, 309,
- 314, 316, 295, 318, 320, 321, 322, 325, 131, 303,
- 307, 267, 306, 194, 273, 226, 170, 107, 0, 312,
- 0, 0, 0, 315, 0, 0, 317, 260, 261, 0,
- 0, 0, 0, 0, 323, 0, 291, 0, 0, 326,
- 0, 0, 0, 0, 0, 0, 124, 0, 0, 0,
- 0, 0, 301, 302, 0, 304, 0, 0, 0, 280,
- 281, 282, 283, 311, 0, 0, 0, 0, 287, 0,
- 0, -5, 1, 319, 0, 0, 0, 0, 0, 0,
- 324, 0, 294, 2, 0, 0, 3, 4, 5, 0,
- 6, 7, 8, 9, 10, 308, 11, 12, 13, 0,
- 14, 15, 16, 0, 17, 0, 18, 0, 0, 0,
- 19, 0, 20, 21, 22, 0, 0, 23, 0, 0,
- 0, 0, 24, 25, 26, 0, 0, 27, 0, 0,
- 0, 28, 29, 30, 31, 0, 32, 0, 0, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
- 34, 35, 36, 37, 38, 0, 0, 39, 40, 41,
- 42, 0, 0, 0, 0, 0, 0, 43, 44, 0,
- 0, 0, -5, 45, 2, 46, 0, 3, 4, 5,
+ 212, 213, 214, 215, 216, 217, 51, 124, 286, 220,
+ 289, 304, 308, 313, 315, 317, 253, 319, 224, 320,
+ 321, 194, 228, 229, 131, 230, 231, 324, 306, 234,
+ 235, 107, 236, 0, 171, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 227, 0, 0, 0, 251,
+ 0, 0, 0, 0, 0, 255, 0, 256, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 133, 134, 135,
+ 136, 267, 270, 0, 139, 0, 274, 140, 141, 142,
+ 0, 0, 312, 0, 0, 0, 0, 0, 261, 262,
+ 0, 0, 0, 288, 143, 144, 145, 146, 147, 148,
+ 149, 0, 0, 0, 0, 0, 124, 295, 0, 0,
+ 0, 273, 0, 0, 302, 0, 0, 305, 0, 280,
+ 281, 282, 283, 311, 0, 0, 0, 314, 287, 0,
+ 316, 0, 0, 291, 0, 292, 0, 0, 322, 0,
+ 0, 0, 294, 325, 0, 0, 0, 0, 0, 0,
+ 301, 0, 303, 0, 0, 307, 0, 0, 0, 310,
+ 0, 0, -5, 1, 0, 0, 0, 0, 0, 318,
+ 0, 0, 0, 0, 2, 0, 323, 3, 4, 5,
0, 6, 7, 8, 9, 10, 0, 11, 12, 13,
- 0, 14, 15, 16, 0, 17, 0, 18, 0, 0,
- 0, 19, 0, 20, 21, 22, 0, 0, 23, 0,
- 0, 0, 0, 24, 25, 26, 0, 0, 27, 0,
- 0, 0, 28, 29, 30, 31, 0, 32, 0, 0,
+ 0, 14, 15, 16, 0, 17, 0, 18, 19, 0,
+ 0, 0, 20, 0, 21, 22, 23, 0, 0, 24,
+ 0, 0, 0, 0, 25, 26, 27, 0, 0, 28,
+ 0, 0, 0, 29, 30, 31, 0, 32, 0, 0,
0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
0, 34, 35, 36, 37, 38, 0, 0, 39, 40,
41, 42, 0, 0, 0, 0, 0, 0, 43, 44,
- 0, 0, 0, 0, 45, 2, 46, 0, 3, 4,
+ 0, 0, 0, -5, 45, 2, 46, 0, 3, 4,
5, 0, 6, 7, 8, 9, 10, 0, 11, 12,
- 13, 0, 14, 15, 16, 0, 17, 300, 18, 0,
- 0, 0, 19, 0, 20, 21, 22, 0, 0, 0,
- 0, 0, 0, 0, 24, 25, 26, 0, 0, 27,
- 0, 0, 0, 0, 0, 30, 31, 0, 32, 0,
+ 13, 0, 14, 15, 16, 0, 17, 0, 18, 19,
+ 0, 0, 0, 20, 0, 21, 22, 23, 0, 0,
+ 24, 0, 0, 0, 0, 25, 26, 27, 0, 0,
+ 28, 0, 0, 0, 29, 30, 31, 0, 32, 0,
0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
0, 0, 34, 35, 36, 37, 38, 0, 0, 39,
- 40, 0, 42, 0, 0, 0, 0, 0, 0, 43,
- 44, 0, 0, 0, 268, 45, 2, 46, 0, 3,
+ 40, 41, 42, 0, 0, 0, 0, 0, 0, 43,
+ 44, 0, 0, 0, 0, 45, 2, 46, 0, 3,
4, 5, 0, 6, 7, 8, 9, 10, 0, 11,
- 12, 13, 0, 14, 15, 16, 0, 17, 0, 18,
- 0, 0, 0, 19, 0, 20, 21, 22, 0, 0,
- 0, 0, 0, 0, 0, 24, 25, 26, 0, 0,
- 27, 0, 0, 0, 0, 0, 30, 31, 0, 32,
+ 12, 13, 0, 14, 15, 16, 0, 17, 300, 18,
+ 0, 0, 0, 0, 20, 0, 21, 22, 23, 0,
+ 0, 0, 0, 0, 0, 0, 25, 26, 27, 0,
+ 0, 28, 0, 0, 0, 0, 30, 31, 0, 32,
0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
0, 0, 0, 34, 35, 36, 37, 38, 0, 0,
39, 40, 0, 42, 0, 0, 0, 0, 0, 0,
43, 44, 0, 0, 0, 268, 45, 2, 46, 0,
3, 4, 5, 0, 6, 7, 8, 9, 10, 0,
11, 12, 13, 0, 14, 15, 16, 0, 17, 0,
- 18, 0, 0, 0, 19, 0, 20, 21, 0, 0,
- 0, 0, 0, 0, 0, 0, 24, 0, 26, 0,
- 0, 0, 0, 0, 0, 0, 0, 30, 31, 0,
+ 18, 0, 0, 0, 0, 20, 0, 21, 22, 23,
+ 0, 0, 0, 0, 0, 0, 0, 25, 26, 27,
+ 0, 0, 28, 0, 0, 0, 0, 30, 31, 0,
32, 0, 0, 0, 0, 0, 0, 33, 0, 0,
0, 0, 0, 0, 34, 35, 36, 37, 38, 0,
- 0, 0, 40, 0, 42, 0, 0, 0, 0, 0,
- 2, 43, 44, 3, 4, 5, 0, 45, 0, 46,
- 0, 0, 0, 11, 12, 13, 0, 14, 68, 16,
- 0, 17, 0, 0, 0, 0, 0, 0, 86, 0,
- 0, 0, 0, 87, 0, 88, 89, 90, 91, 69,
- 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 39, 40, 0, 42, 0, 0, 0, 0, 0,
+ 0, 43, 44, 0, 0, 0, 268, 45, 2, 46,
+ 0, 3, 4, 5, 0, 6, 7, 8, 9, 10,
+ 0, 11, 12, 13, 0, 14, 15, 16, 0, 17,
+ 0, 18, 0, 0, 0, 0, 20, 0, 21, 22,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
+ 27, 0, 0, 0, 0, 0, 0, 0, 30, 31,
+ 0, 32, 0, 0, 0, 0, 0, 0, 33, 0,
+ 0, 0, 0, 0, 0, 34, 35, 36, 37, 38,
+ 0, 0, 0, 40, 0, 42, 0, 0, 0, 0,
+ 0, 2, 43, 44, 3, 4, 5, 0, 45, 0,
+ 46, 0, 0, 0, 11, 12, 13, 0, 14, 68,
+ 16, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+ 87, 0, 0, 0, 0, 88, 0, 89, 90, 91,
+ 92, 69, 0, 27, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 2, 0, 0, 3, 4, 5, 34, 35, 36,
- 37, 38, 0, 0, 11, 12, 13, 70, 14, 68,
- 16, 0, 17, 0, 43, 44, 0, 0, 0, 86,
- 45, 0, 46, 0, 0, 0, 88, 0, 90, 0,
- 69, 2, 26, 0, 3, 4, 5, 0, 0, 0,
- 0, 0, 0, 106, 11, 12, 13, 0, 14, 68,
- 16, 33, 17, 0, 0, 0, 0, 0, 34, 35,
+ 0, 33, 0, 0, 0, 0, 0, 0, 34, 35,
36, 37, 38, 0, 0, 0, 0, 0, 70, 0,
- 69, 0, 26, 0, 0, 43, 44, 0, 0, 0,
- 0, 45, 0, 46, 0, 0, 0, 0, 0, 0,
- 0, 33, 2, 0, 0, 3, 4, 5, 34, 35,
- 36, 37, 38, 0, 0, 11, 12, 13, 70, 14,
- 68, 16, 0, 17, 0, 43, 44, 133, 134, 135,
- 136, 45, 0, 46, 139, 0, 0, 140, 141, 142,
- 0, 69, 0, 26, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 143, 144, 145, 146, 147, 148,
- 149, 0, 33, 0, 0, 0, 0, 0, 0, 34,
- 35, 36, 37, 38, 0, 0, 0, 0, 179, 70,
- 0, 0, 0, 0, 180, 0, 43, 44, 0, 0,
- 0, 0, 80, 0, 46, 133, 134, 135, 136, 137,
+ 0, 0, 0, 0, 2, 43, 44, 3, 4, 5,
+ 0, 45, 0, 46, 0, 0, 0, 11, 12, 13,
+ 0, 14, 68, 16, 0, 17, 0, 0, 0, 0,
+ 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
+ 89, 0, 91, 0, 69, 0, 27, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
+ 0, 0, 0, 0, 33, 2, 0, 0, 3, 4,
+ 5, 34, 35, 36, 37, 38, 0, 0, 11, 12,
+ 13, 70, 14, 68, 16, 0, 17, 0, 43, 44,
+ 0, 0, 0, 0, 45, 0, 46, 0, 2, 0,
+ 0, 3, 4, 5, 0, 69, 0, 27, 0, 0,
+ 0, 11, 12, 13, 0, 14, 68, 16, 0, 17,
+ 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
+ 0, 0, 34, 35, 36, 37, 38, 0, 69, 0,
+ 27, 0, 70, 0, 0, 0, 0, 0, 0, 43,
+ 44, 0, 0, 0, 0, 45, 0, 46, 33, 0,
+ 0, 0, 0, 0, 0, 34, 35, 36, 37, 38,
+ 165, 0, 0, 0, 0, 70, 0, 0, 0, 0,
+ 0, 0, 43, 44, 0, 0, 0, 0, 80, 0,
+ 46, 133, 134, 135, 136, 137, 138, 0, 139, 166,
+ 167, 140, 141, 142, 0, 0, 0, 0, 0, 179,
+ 0, 0, 0, 0, 0, 180, 0, 0, 143, 144,
+ 145, 146, 147, 148, 149, 133, 134, 135, 136, 137,
138, 0, 139, 0, 0, 140, 141, 142, 0, 0,
- 0, 0, 181, 0, 0, 0, 0, 0, 182, 0,
+ 0, 0, 0, 181, 0, 0, 0, 0, 0, 182,
0, 0, 143, 144, 145, 146, 147, 148, 149, 133,
134, 135, 136, 137, 138, 0, 139, 0, 0, 140,
- 141, 142, 0, 0, 0, 0, 183, 0, 0, 0,
- 0, 0, 184, 0, 0, 0, 143, 144, 145, 146,
+ 141, 142, 0, 0, 0, 0, 0, 183, 0, 0,
+ 0, 0, 0, 184, 0, 0, 143, 144, 145, 146,
147, 148, 149, 133, 134, 135, 136, 137, 138, 0,
139, 0, 0, 140, 141, 142, 0, 0, 0, 0,
- 185, 0, 0, 0, 0, 0, 186, 0, 0, 0,
+ 0, 185, 0, 0, 0, 0, 0, 186, 0, 0,
143, 144, 145, 146, 147, 148, 149, 133, 134, 135,
136, 137, 138, 0, 139, 0, 0, 140, 141, 142,
- 0, 0, 0, 0, 263, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 263, 0, 0, 0, 0,
0, 0, 0, 0, 143, 144, 145, 146, 147, 148,
149, 133, 134, 135, 136, 137, 138, 0, 139, 0,
- 0, 140, 141, 142, 0, 0, 0, 0, 264, 0,
+ 0, 140, 141, 142, 0, 0, 0, 0, 0, 264,
0, 0, 0, 0, 0, 0, 0, 0, 143, 144,
145, 146, 147, 148, 149, 133, 134, 135, 136, 137,
138, 0, 139, 0, 0, 140, 141, 142, 0, 0,
- 0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 265, 0, 0, 0, 0, 0, 0,
0, 0, 143, 144, 145, 146, 147, 148, 149, 133,
134, 135, 136, 137, 138, 0, 139, 0, 0, 140,
- 141, 142, 0, 0, 0, 0, 266, 0, 0, 0,
+ 141, 142, 0, 0, 0, 0, 0, 266, 0, 0,
0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
147, 148, 149, 133, 134, 135, 136, 137, 138, 0,
139, 0, 0, 140, 141, 142, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 199, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 199, 0, 0,
143, 144, 145, 146, 147, 148, 149, 133, 134, 135,
136, 137, 138, 0, 139, 0, 0, 140, 141, 142,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 232, 0, 143, 144, 145, 146, 147, 148,
- 149, 0, 200, 133, 134, 135, 136, 137, 138, 0,
- 139, 0, 0, 140, 141, 142, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 176, 0,
- 143, 144, 145, 146, 147, 148, 149, 133, 134, 135,
+ 0, 0, 0, 233, 143, 144, 145, 146, 147, 148,
+ 149, 0, 200, 133, 134, 135, 136, 137, 138, 176,
+ 139, 0, 0, 140, 141, 142, 0, 133, 134, 135,
136, 137, 138, 0, 139, 0, 0, 140, 141, 142,
- 133, 134, 135, 136, 137, 138, 0, 139, 0, 0,
- 140, 141, 142, 0, 143, 144, 145, 146, 147, 148,
- 149, 0, 0, 0, 0, 0, 0, 143, 144, 145,
- 146, 147, 148, 149, 0, 0, 0, 191, 133, 134,
- 135, 136, 137, 138, 0, 139, 0, 0, 140, 141,
- 142, 0, 0, 0, 0, 0, 187, 188, 0, 0,
- 0, 0, 0, 0, 0, 143, 144, 145, 146, 147,
- 148, 149, 133, 134, 135, 136, 137, 138, 0, 139,
- 0, 0, 140, 141, 142, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 143,
- 144, 145, 146, 147, 148, 149
+ 143, 144, 145, 146, 147, 148, 149, 0, 0, 0,
+ 0, 0, 0, 0, 143, 144, 145, 146, 147, 148,
+ 149, 133, 134, 135, 136, 137, 138, 0, 139, 0,
+ 0, 140, 141, 142, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 143, 144,
+ 145, 146, 147, 148, 149, 0, 0, 0, 191, 133,
+ 134, 135, 136, 137, 138, 0, 139, 0, 0, 140,
+ 141, 142, 0, 0, 0, 0, 0, 187, 188, 0,
+ 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
+ 147, 148, 149, 133, 134, 135, 136, 137, 138, 0,
+ 139, 0, 0, 140, 141, 142, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 143, 144, 145, 146, 147, 148, 149
};
static const yytype_int16 yycheck[] =
{
- 4, 0, 0, 7, 8, 9, 163, 46, 12, 13,
- 14, 15, 31, 15, 16, 57, 58, 21, 175, 101,
- 24, 101, 73, 55, 106, 36, 30, 31, 30, 33,
- 34, 35, 36, 37, 38, 73, 68, 76, 76, 43,
- 44, 45, 46, 82, 55, 130, 131, 98, 99, 53,
- 55, 55, 47, 57, 49, 224, 30, 95, 96, 97,
- 98, 99, 52, 68, 101, 69, 235, 30, 44, 106,
- 101, 13, 76, 15, 93, 106, 80, 103, 82, 30,
- 106, 73, 86, 103, 88, 30, 106, 30, 107, 30,
- 66, 67, 68, 69, 70, 71, 100, 73, 74, 75,
- 76, 77, 78, 101, 96, 97, 98, 99, 30, 103,
- 30, 196, 106, 30, 105, 106, 102, 93, 94, 95,
- 96, 97, 98, 99, 68, 129, 29, 30, 127, 133,
+ 4, 83, 0, 7, 8, 9, 158, 46, 12, 13,
+ 14, 15, 31, 15, 16, 101, 259, 101, 22, 0,
+ 106, 25, 73, 29, 30, 76, 30, 31, 30, 33,
+ 34, 35, 36, 37, 38, 73, 279, 76, 73, 43,
+ 44, 45, 46, 82, 95, 96, 97, 98, 99, 53,
+ 37, 55, 101, 57, 30, 56, 56, 106, 96, 97,
+ 98, 99, 53, 98, 99, 69, 30, 68, 68, 56,
+ 58, 59, 76, 225, 101, 94, 80, 103, 82, 106,
+ 106, 103, 164, 87, 106, 89, 103, 30, 107, 106,
+ 130, 131, 48, 13, 50, 15, 30, 101, 105, 106,
+ 30, 30, 30, 101, 30, 102, 68, 102, 48, 30,
+ 106, 55, 106, 106, 106, 30, 30, 106, 30, 68,
+ 30, 30, 55, 106, 30, 129, 91, 30, 39, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 102, 151, 305, 153,
- 278, 279, 106, 106, 47, 30, 54, 161, 106, 106,
- 200, 165, 166, 30, 168, 169, 30, 252, 172, 173,
- 106, 256, 176, 30, 68, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 30, 30, 106, 273, 193,
- 30, 54, 91, 55, 30, 199, 92, 38, 37, 30,
- 90, 106, 287, 91, 54, 30, 91, 90, 56, 294,
- 298, 250, 297, 127, 254, 164, 100, 31, -1, 304,
- -1, -1, -1, 308, -1, -1, 311, 231, 232, -1,
- -1, -1, -1, -1, 319, -1, 276, -1, -1, 324,
- -1, -1, -1, -1, -1, -1, 250, -1, -1, -1,
- -1, -1, 292, 293, -1, 295, -1, -1, -1, 263,
- 264, 265, 266, 303, -1, -1, -1, -1, 272, -1,
- -1, 0, 1, 313, -1, -1, -1, -1, -1, -1,
- 320, -1, 286, 12, -1, -1, 15, 16, 17, -1,
- 19, 20, 21, 22, 23, 299, 25, 26, 27, -1,
- 29, 30, 31, -1, 33, -1, 35, -1, -1, -1,
- 39, -1, 41, 42, 43, -1, -1, 46, -1, -1,
- -1, -1, 51, 52, 53, -1, -1, 56, -1, -1,
- -1, 60, 61, 62, 63, -1, 65, -1, -1, -1,
- -1, -1, -1, 72, -1, -1, -1, -1, -1, -1,
- 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
- 89, -1, -1, -1, -1, -1, -1, 96, 97, -1,
- -1, -1, 101, 102, 12, 104, -1, 15, 16, 17,
+ 144, 145, 146, 147, 148, 149, 127, 151, 56, 153,
+ 92, 38, 30, 90, 106, 91, 196, 55, 162, 30,
+ 91, 127, 166, 167, 56, 169, 170, 90, 298, 173,
+ 174, 31, 176, -1, 101, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 165, -1, -1, -1, 193,
+ -1, -1, -1, -1, -1, 199, -1, 200, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
+ 69, 250, 252, -1, 73, -1, 256, 76, 77, 78,
+ -1, -1, 304, -1, -1, -1, -1, -1, 232, 233,
+ -1, -1, -1, 273, 93, 94, 95, 96, 97, 98,
+ 99, -1, -1, -1, -1, -1, 250, 287, -1, -1,
+ -1, 254, -1, -1, 294, -1, -1, 297, -1, 263,
+ 264, 265, 266, 303, -1, -1, -1, 307, 272, -1,
+ 310, -1, -1, 276, -1, 278, -1, -1, 318, -1,
+ -1, -1, 286, 323, -1, -1, -1, -1, -1, -1,
+ 293, -1, 295, -1, -1, 299, -1, -1, -1, 302,
+ -1, -1, 0, 1, -1, -1, -1, -1, -1, 312,
+ -1, -1, -1, -1, 12, -1, 319, 15, 16, 17,
-1, 19, 20, 21, 22, 23, -1, 25, 26, 27,
- -1, 29, 30, 31, -1, 33, -1, 35, -1, -1,
- -1, 39, -1, 41, 42, 43, -1, -1, 46, -1,
- -1, -1, -1, 51, 52, 53, -1, -1, 56, -1,
- -1, -1, 60, 61, 62, 63, -1, 65, -1, -1,
+ -1, 29, 30, 31, -1, 33, -1, 35, 36, -1,
+ -1, -1, 40, -1, 42, 43, 44, -1, -1, 47,
+ -1, -1, -1, -1, 52, 53, 54, -1, -1, 57,
+ -1, -1, -1, 61, 62, 63, -1, 65, -1, -1,
-1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
-1, 79, 80, 81, 82, 83, -1, -1, 86, 87,
88, 89, -1, -1, -1, -1, -1, -1, 96, 97,
- -1, -1, -1, -1, 102, 12, 104, -1, 15, 16,
+ -1, -1, -1, 101, 102, 12, 104, -1, 15, 16,
17, -1, 19, 20, 21, 22, 23, -1, 25, 26,
- 27, -1, 29, 30, 31, -1, 33, 34, 35, -1,
- -1, -1, 39, -1, 41, 42, 43, -1, -1, -1,
- -1, -1, -1, -1, 51, 52, 53, -1, -1, 56,
- -1, -1, -1, -1, -1, 62, 63, -1, 65, -1,
+ 27, -1, 29, 30, 31, -1, 33, -1, 35, 36,
+ -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
+ 47, -1, -1, -1, -1, 52, 53, 54, -1, -1,
+ 57, -1, -1, -1, 61, 62, 63, -1, 65, -1,
-1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
-1, -1, 79, 80, 81, 82, 83, -1, -1, 86,
- 87, -1, 89, -1, -1, -1, -1, -1, -1, 96,
- 97, -1, -1, -1, 101, 102, 12, 104, -1, 15,
+ 87, 88, 89, -1, -1, -1, -1, -1, -1, 96,
+ 97, -1, -1, -1, -1, 102, 12, 104, -1, 15,
16, 17, -1, 19, 20, 21, 22, 23, -1, 25,
- 26, 27, -1, 29, 30, 31, -1, 33, -1, 35,
- -1, -1, -1, 39, -1, 41, 42, 43, -1, -1,
- -1, -1, -1, -1, -1, 51, 52, 53, -1, -1,
- 56, -1, -1, -1, -1, -1, 62, 63, -1, 65,
+ 26, 27, -1, 29, 30, 31, -1, 33, 34, 35,
+ -1, -1, -1, -1, 40, -1, 42, 43, 44, -1,
+ -1, -1, -1, -1, -1, -1, 52, 53, 54, -1,
+ -1, 57, -1, -1, -1, -1, 62, 63, -1, 65,
-1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
-1, -1, -1, 79, 80, 81, 82, 83, -1, -1,
86, 87, -1, 89, -1, -1, -1, -1, -1, -1,
96, 97, -1, -1, -1, 101, 102, 12, 104, -1,
15, 16, 17, -1, 19, 20, 21, 22, 23, -1,
25, 26, 27, -1, 29, 30, 31, -1, 33, -1,
- 35, -1, -1, -1, 39, -1, 41, 42, -1, -1,
- -1, -1, -1, -1, -1, -1, 51, -1, 53, -1,
- -1, -1, -1, -1, -1, -1, -1, 62, 63, -1,
+ 35, -1, -1, -1, -1, 40, -1, 42, 43, 44,
+ -1, -1, -1, -1, -1, -1, -1, 52, 53, 54,
+ -1, -1, 57, -1, -1, -1, -1, 62, 63, -1,
65, -1, -1, -1, -1, -1, -1, 72, -1, -1,
-1, -1, -1, -1, 79, 80, 81, 82, 83, -1,
- -1, -1, 87, -1, 89, -1, -1, -1, -1, -1,
- 12, 96, 97, 15, 16, 17, -1, 102, -1, 104,
- -1, -1, -1, 25, 26, 27, -1, 29, 30, 31,
- -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
- -1, -1, -1, 45, -1, 47, 48, 49, 50, 51,
- -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 86, 87, -1, 89, -1, -1, -1, -1, -1,
+ -1, 96, 97, -1, -1, -1, 101, 102, 12, 104,
+ -1, 15, 16, 17, -1, 19, 20, 21, 22, 23,
+ -1, 25, 26, 27, -1, 29, 30, 31, -1, 33,
+ -1, 35, -1, -1, -1, -1, 40, -1, 42, 43,
+ -1, -1, -1, -1, -1, -1, -1, -1, 52, -1,
+ 54, -1, -1, -1, -1, -1, -1, -1, 62, 63,
+ -1, 65, -1, -1, -1, -1, -1, -1, 72, -1,
+ -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
+ -1, -1, -1, 87, -1, 89, -1, -1, -1, -1,
+ -1, 12, 96, 97, 15, 16, 17, -1, 102, -1,
+ 104, -1, -1, -1, 25, 26, 27, -1, 29, 30,
+ 31, -1, 33, -1, -1, -1, -1, -1, -1, -1,
+ 41, -1, -1, -1, -1, 46, -1, 48, 49, 50,
+ 51, 52, -1, 54, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 72, 12, -1, -1, 15, 16, 17, 79, 80, 81,
- 82, 83, -1, -1, 25, 26, 27, 89, 29, 30,
- 31, -1, 33, -1, 96, 97, -1, -1, -1, 40,
- 102, -1, 104, -1, -1, -1, 47, -1, 49, -1,
- 51, 12, 53, -1, 15, 16, 17, -1, -1, -1,
- -1, -1, -1, 64, 25, 26, 27, -1, 29, 30,
- 31, 72, 33, -1, -1, -1, -1, -1, 79, 80,
+ -1, 72, -1, -1, -1, -1, -1, -1, 79, 80,
81, 82, 83, -1, -1, -1, -1, -1, 89, -1,
- 51, -1, 53, -1, -1, 96, 97, -1, -1, -1,
- -1, 102, -1, 104, -1, -1, -1, -1, -1, -1,
- -1, 72, 12, -1, -1, 15, 16, 17, 79, 80,
- 81, 82, 83, -1, -1, 25, 26, 27, 89, 29,
- 30, 31, -1, 33, -1, 96, 97, 66, 67, 68,
- 69, 102, -1, 104, 73, -1, -1, 76, 77, 78,
- -1, 51, -1, 53, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, 94, 95, 96, 97, 98,
- 99, -1, 72, -1, -1, -1, -1, -1, -1, 79,
- 80, 81, 82, 83, -1, -1, -1, -1, 49, 89,
- -1, -1, -1, -1, 55, -1, 96, 97, -1, -1,
- -1, -1, 102, -1, 104, 66, 67, 68, 69, 70,
+ -1, -1, -1, -1, 12, 96, 97, 15, 16, 17,
+ -1, 102, -1, 104, -1, -1, -1, 25, 26, 27,
+ -1, 29, 30, 31, -1, 33, -1, -1, -1, -1,
+ -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
+ 48, -1, 50, -1, 52, -1, 54, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
+ -1, -1, -1, -1, 72, 12, -1, -1, 15, 16,
+ 17, 79, 80, 81, 82, 83, -1, -1, 25, 26,
+ 27, 89, 29, 30, 31, -1, 33, -1, 96, 97,
+ -1, -1, -1, -1, 102, -1, 104, -1, 12, -1,
+ -1, 15, 16, 17, -1, 52, -1, 54, -1, -1,
+ -1, 25, 26, 27, -1, 29, 30, 31, -1, 33,
+ -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
+ -1, -1, 79, 80, 81, 82, 83, -1, 52, -1,
+ 54, -1, 89, -1, -1, -1, -1, -1, -1, 96,
+ 97, -1, -1, -1, -1, 102, -1, 104, 72, -1,
+ -1, -1, -1, -1, -1, 79, 80, 81, 82, 83,
+ 45, -1, -1, -1, -1, 89, -1, -1, -1, -1,
+ -1, -1, 96, 97, -1, -1, -1, -1, 102, -1,
+ 104, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, 78, -1, -1, -1, -1, -1, 50,
+ -1, -1, -1, -1, -1, 56, -1, -1, 93, 94,
+ 95, 96, 97, 98, 99, 66, 67, 68, 69, 70,
71, -1, 73, -1, -1, 76, 77, 78, -1, -1,
- -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
+ -1, -1, -1, 50, -1, -1, -1, -1, -1, 56,
-1, -1, 93, 94, 95, 96, 97, 98, 99, 66,
67, 68, 69, 70, 71, -1, 73, -1, -1, 76,
- 77, 78, -1, -1, -1, -1, 49, -1, -1, -1,
- -1, -1, 55, -1, -1, -1, 93, 94, 95, 96,
+ 77, 78, -1, -1, -1, -1, -1, 50, -1, -1,
+ -1, -1, -1, 56, -1, -1, 93, 94, 95, 96,
97, 98, 99, 66, 67, 68, 69, 70, 71, -1,
73, -1, -1, 76, 77, 78, -1, -1, -1, -1,
- 49, -1, -1, -1, -1, -1, 55, -1, -1, -1,
+ -1, 50, -1, -1, -1, -1, -1, 56, -1, -1,
93, 94, 95, 96, 97, 98, 99, 66, 67, 68,
69, 70, 71, -1, 73, -1, -1, 76, 77, 78,
- -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
-1, -1, -1, -1, 93, 94, 95, 96, 97, 98,
99, 66, 67, 68, 69, 70, 71, -1, 73, -1,
- -1, 76, 77, 78, -1, -1, -1, -1, 49, -1,
+ -1, 76, 77, 78, -1, -1, -1, -1, -1, 50,
-1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
95, 96, 97, 98, 99, 66, 67, 68, 69, 70,
71, -1, 73, -1, -1, 76, 77, 78, -1, -1,
- -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
-1, -1, 93, 94, 95, 96, 97, 98, 99, 66,
67, 68, 69, 70, 71, -1, 73, -1, -1, 76,
- 77, 78, -1, -1, -1, -1, 49, -1, -1, -1,
+ 77, 78, -1, -1, -1, -1, -1, 50, -1, -1,
-1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
97, 98, 99, 66, 67, 68, 69, 70, 71, -1,
73, -1, -1, 76, 77, 78, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 55, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 56, -1, -1,
93, 94, 95, 96, 97, 98, 99, 66, 67, 68,
69, 70, 71, -1, 73, -1, -1, 76, 77, 78,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 55, -1, 93, 94, 95, 96, 97, 98,
- 99, -1, 101, 66, 67, 68, 69, 70, 71, -1,
- 73, -1, -1, 76, 77, 78, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
- 93, 94, 95, 96, 97, 98, 99, 66, 67, 68,
+ -1, -1, -1, 56, 93, 94, 95, 96, 97, 98,
+ 99, -1, 101, 66, 67, 68, 69, 70, 71, 58,
+ 73, -1, -1, 76, 77, 78, -1, 66, 67, 68,
69, 70, 71, -1, 73, -1, -1, 76, 77, 78,
- 66, 67, 68, 69, 70, 71, -1, 73, -1, -1,
- 76, 77, 78, -1, 93, 94, 95, 96, 97, 98,
- 99, -1, -1, -1, -1, -1, -1, 93, 94, 95,
- 96, 97, 98, 99, -1, -1, -1, 103, 66, 67,
- 68, 69, 70, 71, -1, 73, -1, -1, 76, 77,
- 78, -1, -1, -1, -1, -1, 84, 85, -1, -1,
- -1, -1, -1, -1, -1, 93, 94, 95, 96, 97,
- 98, 99, 66, 67, 68, 69, 70, 71, -1, 73,
- -1, -1, 76, 77, 78, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
- 94, 95, 96, 97, 98, 99
+ 93, 94, 95, 96, 97, 98, 99, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, 95, 96, 97, 98,
+ 99, 66, 67, 68, 69, 70, 71, -1, 73, -1,
+ -1, 76, 77, 78, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
+ 95, 96, 97, 98, 99, -1, -1, -1, 103, 66,
+ 67, 68, 69, 70, 71, -1, 73, -1, -1, 76,
+ 77, 78, -1, -1, -1, -1, -1, 84, 85, -1,
+ -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
+ 97, 98, 99, 66, 67, 68, 69, 70, 71, -1,
+ 73, -1, -1, 76, 77, 78, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 93, 94, 95, 96, 97, 98, 99
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1207,38 +1223,38 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 1, 12, 15, 16, 17, 19, 20, 21, 22,
- 23, 25, 26, 27, 29, 30, 31, 33, 35, 39,
- 41, 42, 43, 46, 51, 52, 53, 56, 60, 61,
+ 23, 25, 26, 27, 29, 30, 31, 33, 35, 36,
+ 40, 42, 43, 44, 47, 52, 53, 54, 57, 61,
62, 63, 65, 72, 79, 80, 81, 82, 83, 86,
87, 88, 89, 96, 97, 102, 104, 108, 109, 110,
111, 112, 113, 116, 117, 118, 123, 124, 125, 126,
- 127, 128, 132, 135, 137, 140, 144, 101, 30, 51,
+ 127, 128, 132, 135, 137, 140, 144, 101, 30, 52,
89, 126, 126, 126, 126, 146, 30, 126, 146, 126,
- 102, 146, 136, 52, 30, 129, 40, 45, 47, 48,
- 49, 50, 126, 133, 134, 30, 126, 57, 58, 15,
- 16, 30, 30, 30, 30, 126, 64, 133, 134, 30,
+ 102, 146, 136, 139, 53, 30, 129, 41, 46, 48,
+ 49, 50, 51, 126, 133, 134, 30, 126, 58, 59,
+ 15, 16, 30, 30, 30, 126, 64, 133, 134, 30,
131, 126, 126, 126, 126, 126, 126, 30, 130, 30,
102, 126, 126, 126, 126, 145, 0, 101, 126, 68,
126, 111, 126, 66, 67, 68, 69, 70, 71, 73,
76, 77, 78, 93, 94, 95, 96, 97, 98, 99,
- 120, 102, 126, 106, 145, 126, 145, 145, 106, 126,
- 126, 47, 134, 138, 44, 74, 75, 30, 55, 68,
- 125, 126, 55, 68, 54, 139, 57, 134, 106, 49,
- 55, 49, 55, 49, 55, 49, 55, 84, 85, 106,
- 30, 103, 105, 106, 109, 121, 126, 121, 121, 55,
+ 120, 102, 126, 106, 145, 126, 145, 145, 120, 106,
+ 126, 126, 48, 134, 138, 45, 74, 75, 30, 56,
+ 68, 125, 126, 56, 68, 55, 58, 134, 106, 50,
+ 56, 50, 56, 50, 56, 50, 56, 84, 85, 106,
+ 30, 103, 105, 106, 109, 121, 126, 121, 121, 56,
101, 126, 126, 126, 126, 126, 126, 126, 126, 126,
126, 126, 126, 126, 126, 126, 126, 126, 30, 141,
- 126, 103, 30, 126, 120, 30, 127, 126, 126, 126,
- 126, 68, 55, 126, 126, 120, 126, 30, 126, 126,
+ 126, 103, 141, 30, 126, 120, 30, 127, 126, 126,
+ 126, 126, 68, 56, 126, 126, 126, 30, 126, 126,
126, 126, 126, 126, 126, 126, 126, 126, 30, 103,
- 106, 126, 122, 121, 54, 126, 122, 101, 106, 141,
- 126, 126, 141, 49, 49, 49, 49, 145, 101, 112,
- 121, 36, 55, 122, 121, 106, 143, 30, 101, 101,
- 126, 126, 126, 126, 103, 91, 55, 126, 121, 92,
- 30, 122, 143, 143, 126, 121, 38, 114, 115, 119,
- 34, 122, 122, 121, 122, 37, 121, 114, 126, 30,
- 142, 122, 121, 120, 90, 121, 106, 121, 91, 122,
- 54, 30, 91, 121, 122, 90, 121
+ 106, 126, 122, 121, 55, 126, 122, 101, 106, 101,
+ 141, 126, 126, 50, 50, 50, 50, 145, 101, 112,
+ 121, 37, 56, 122, 121, 106, 143, 30, 143, 101,
+ 126, 126, 126, 126, 103, 91, 56, 126, 121, 92,
+ 30, 122, 122, 143, 126, 121, 39, 114, 115, 119,
+ 34, 122, 121, 122, 38, 121, 114, 126, 30, 142,
+ 122, 121, 120, 90, 121, 106, 121, 91, 122, 55,
+ 30, 91, 121, 122, 90, 121
};
#define yyerrok (yyerrstatus = 0)
@@ -2784,7 +2800,7 @@ yyreduce:
#line 533 "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->define(*(yyvsp[(1) - (7)].s), (yyvsp[(3) - (7)].code), (yyvsp[(4) - (7)].narg) + 1, &g_lingo->_currentFactory);
g_lingo->_indef = false; ;}
break;
@@ -2875,7 +2891,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
-#line 2879 "engines/director/lingo/lingo-gr.cpp"
+#line 2895 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 1917368eee..b90f411ed4 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -72,32 +72,32 @@
SYMBOL = 288,
ENDCLAUSE = 289,
tPLAYACCEL = 290,
- tDOWN = 291,
- tELSE = 292,
- tELSIF = 293,
- tEXIT = 294,
- tFRAME = 295,
- tGLOBAL = 296,
- tGO = 297,
- tIF = 298,
- tINTO = 299,
- tLOOP = 300,
- tMACRO = 301,
- tMOVIE = 302,
- tNEXT = 303,
- tOF = 304,
- tPREVIOUS = 305,
- tPUT = 306,
- tREPEAT = 307,
- tSET = 308,
- tTHEN = 309,
- tTO = 310,
- tWHEN = 311,
- tWITH = 312,
- tWHILE = 313,
- tNLELSE = 314,
- tFACTORY = 315,
- tMETHOD = 316,
+ tMETHOD = 291,
+ tDOWN = 292,
+ tELSE = 293,
+ tELSIF = 294,
+ tEXIT = 295,
+ tFRAME = 296,
+ tGLOBAL = 297,
+ tGO = 298,
+ tIF = 299,
+ tINTO = 300,
+ tLOOP = 301,
+ tMACRO = 302,
+ tMOVIE = 303,
+ tNEXT = 304,
+ tOF = 305,
+ tPREVIOUS = 306,
+ tPUT = 307,
+ tREPEAT = 308,
+ tSET = 309,
+ tTHEN = 310,
+ tTO = 311,
+ tWHEN = 312,
+ tWITH = 313,
+ tWHILE = 314,
+ tNLELSE = 315,
+ tFACTORY = 316,
tOPEN = 317,
tPLAY = 318,
tDONE = 319,
@@ -165,32 +165,32 @@
#define SYMBOL 288
#define ENDCLAUSE 289
#define tPLAYACCEL 290
-#define tDOWN 291
-#define tELSE 292
-#define tELSIF 293
-#define tEXIT 294
-#define tFRAME 295
-#define tGLOBAL 296
-#define tGO 297
-#define tIF 298
-#define tINTO 299
-#define tLOOP 300
-#define tMACRO 301
-#define tMOVIE 302
-#define tNEXT 303
-#define tOF 304
-#define tPREVIOUS 305
-#define tPUT 306
-#define tREPEAT 307
-#define tSET 308
-#define tTHEN 309
-#define tTO 310
-#define tWHEN 311
-#define tWITH 312
-#define tWHILE 313
-#define tNLELSE 314
-#define tFACTORY 315
-#define tMETHOD 316
+#define tMETHOD 291
+#define tDOWN 292
+#define tELSE 293
+#define tELSIF 294
+#define tEXIT 295
+#define tFRAME 296
+#define tGLOBAL 297
+#define tGO 298
+#define tIF 299
+#define tINTO 300
+#define tLOOP 301
+#define tMACRO 302
+#define tMOVIE 303
+#define tNEXT 304
+#define tOF 305
+#define tPREVIOUS 306
+#define tPUT 307
+#define tREPEAT 308
+#define tSET 309
+#define tTHEN 310
+#define tTO 311
+#define tWHEN 312
+#define tWITH 313
+#define tWHILE 314
+#define tNLELSE 315
+#define tFACTORY 316
#define tOPEN 317
#define tPLAY 318
#define tDONE 319
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index cf8cad97c6..025555287c 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -94,10 +94,10 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
%token<s> BLTIN BLTINNOARGS BLTINNOARGSORONE BLTINONEARG BLTINARGLIST TWOWORDBUILTIN
%token<s> FBLTIN FBLTINNOARGS FBLTINONEARG FBLTINARGLIST RBLTIN RBLTINONEARG
%token<s> ID STRING HANDLER SYMBOL
-%token<s> ENDCLAUSE tPLAYACCEL
+%token<s> ENDCLAUSE tPLAYACCEL tMETHOD
%token tDOWN tELSE tELSIF tEXIT tFRAME tGLOBAL tGO tIF tINTO tLOOP tMACRO
%token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
-%token tWITH tWHILE tNLELSE tFACTORY tMETHOD tOPEN tPLAY tDONE tINSTANCE
+%token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tDONE tINSTANCE
%token tGE tLE tEQ tNEQ tAND tOR tNOT tMOD
%token tAFTER tBEFORE tCONCAT tCONTAINS tSTARTS tCHAR tITEM tLINE tWORD
%token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY
@@ -529,12 +529,12 @@ defn: tMACRO ID { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); }
g_lingo->define(*$2, $4, $5);
g_lingo->_indef = false; }
| tFACTORY ID { g_lingo->codeFactory(*$2); }
- | tMETHOD ID { g_lingo->_indef = true; }
+ | tMETHOD { g_lingo->_indef = true; }
begin argdef '\n' argstore stmtlist {
g_lingo->code1(g_lingo->c_procret);
- g_lingo->define(*$2, $4, $5 + 1, &g_lingo->_currentFactory);
+ g_lingo->define(*$1, $3, $4 + 1, &g_lingo->_currentFactory);
g_lingo->_indef = false; }
- | on begin argdef '\n' argstore stmtlist ENDCLAUSE endargdef { // D3
+ | on begin argdef '\n' argstore stmtlist ENDCLAUSE endargdef { // D3
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$1, $2, $3);
g_lingo->_indef = false;
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 40fb773c68..03c329474f 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -373,7 +373,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[279] =
+static yyconst flex_int16_t yy_accept[284] =
{ 0,
0, 0, 75, 73, 4, 71, 71, 73, 73, 73,
70, 70, 70, 69, 70, 66, 70, 67, 67, 67,
@@ -398,13 +398,14 @@ static yyconst flex_int16_t yy_accept[279] =
67, 32, 67, 67, 67, 67, 67, 67, 53, 53,
53, 53, 60, 67, 8, 67, 0, 16, 67, 20,
- 67, 67, 30, 67, 67, 67, 44, 56, 46, 0,
+ 67, 67, 67, 67, 67, 67, 44, 56, 46, 0,
0, 53, 53, 53, 58, 67, 14, 17, 67, 67,
- 67, 67, 67, 0, 0, 0, 0, 53, 53, 53,
- 10, 23, 67, 67, 41, 42, 0, 0, 0, 53,
- 53, 53, 67, 40, 0, 0, 0, 0, 0, 53,
- 24, 52, 51, 52, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 48, 49, 50, 50, 0
+ 0, 30, 67, 67, 67, 0, 0, 0, 0, 53,
+ 53, 53, 10, 23, 67, 30, 30, 67, 41, 42,
+ 0, 0, 0, 53, 53, 53, 67, 30, 40, 0,
+ 0, 0, 0, 0, 53, 24, 52, 51, 52, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 48, 49,
+ 50, 50, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -450,18 +451,18 @@ static yyconst flex_int32_t yy_meta[66] =
5, 5, 5, 5, 1
} ;
-static yyconst flex_int16_t yy_base[290] =
+static yyconst flex_int16_t yy_base[299] =
{ 0,
- 0, 64, 177, 736, 68, 736, 736, 72, 159, 0,
- 736, 113, 107, 55, 63, 736, 94, 58, 60, 58,
+ 0, 64, 177, 752, 68, 752, 752, 72, 159, 0,
+ 752, 113, 107, 55, 63, 752, 94, 58, 60, 58,
54, 62, 77, 63, 0, 94, 70, 109, 106, 109,
- 121, 75, 138, 137, 146, 82, 141, 185, 199, 736,
- 205, 94, 93, 736, 0, 736, 0, 79, 90, 736,
- 736, 736, 0, 69, 129, 128, 163, 139, 182, 160,
+ 121, 75, 138, 137, 146, 82, 141, 185, 199, 752,
+ 205, 94, 93, 752, 0, 752, 0, 79, 90, 752,
+ 752, 752, 0, 69, 129, 128, 163, 139, 182, 160,
178, 174, 193, 196, 185, 130, 0, 182, 200, 190,
195, 203, 192, 208, 191, 196, 0, 0, 211, 0,
216, 231, 201, 211, 213, 223, 217, 235, 242, 0,
- 246, 230, 240, 736, 279, 296, 0, 0, 70, 247,
+ 246, 230, 240, 752, 279, 296, 0, 0, 70, 247,
0, 248, 246, 252, 269, 265, 270, 304, 260, 269,
277, 289, 308, 277, 293, 293, 287, 291, 291, 301,
@@ -471,56 +472,60 @@ static yyconst flex_int16_t yy_base[290] =
353, 358, 347, 361, 349, 0, 0, 0, 0, 353,
355, 365, 0, 0, 370, 365, 370, 377, 362, 363,
0, 400, 0, 0, 387, 385, 0, 0, 392, 389,
- 415, 0, 0, 385, 0, 396, 736, 395, 391, 0,
+ 415, 0, 0, 385, 0, 396, 752, 395, 391, 0,
408, 0, 410, 396, 398, 397, 420, 402, 457, 466,
467, 468, 0, 428, 0, 434, 442, 0, 434, 0,
- 456, 458, 0, 461, 446, 453, 0, 0, 0, 489,
- 466, 511, 525, 512, 0, 462, 736, 0, 469, 474,
- 482, 468, 467, 527, 519, 515, 515, 536, 542, 549,
- 0, 0, 507, 522, 0, 0, 515, 374, 527, 562,
- 573, 582, 522, 0, 547, 441, 565, 586, 592, 594,
- 0, 736, 490, 736, 600, 567, 605, 568, 618, 624,
- 631, 637, 578, 639, 645, 647, 653, 736, 691, 693,
- 696, 699, 705, 710, 715, 718, 723, 725, 730
+ 456, 458, 488, 461, 446, 453, 0, 0, 0, 489,
+ 472, 511, 520, 527, 0, 462, 752, 0, 465, 483,
+ 374, 0, 482, 480, 475, 531, 509, 513, 515, 539,
+ 545, 554, 0, 0, 483, 0, 0, 519, 0, 0,
+ 517, 441, 529, 561, 577, 581, 534, 0, 0, 551,
+ 591, 554, 601, 603, 605, 0, 752, 607, 752, 611,
+ 572, 615, 577, 623, 624, 630, 637, 600, 632, 647,
+ 649, 654, 752, 691, 693, 696, 699, 705, 710, 715,
+ 718, 723, 725, 730, 735, 738, 741, 746
+
} ;
-static yyconst flex_int16_t yy_def[290] =
+static yyconst flex_int16_t yy_def[299] =
{ 0,
- 278, 1, 278, 278, 278, 278, 278, 278, 279, 280,
- 278, 278, 278, 278, 278, 278, 278, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 278, 278, 278, 278, 278,
- 278, 278, 279, 278, 282, 278, 283, 278, 278, 278,
- 278, 278, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 278, 278, 278, 282, 283, 278, 281,
-
- 281, 281, 281, 281, 281, 281, 281, 284, 281, 281,
- 281, 281, 278, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 285, 286, 281, 281,
- 281, 281, 278, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 287, 281, 281, 281, 281, 281, 281, 281, 281,
- 278, 288, 286, 281, 281, 281, 278, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 287, 287,
-
- 287, 287, 281, 281, 281, 281, 278, 288, 281, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 278,
- 278, 287, 287, 287, 281, 281, 278, 281, 281, 281,
- 281, 281, 281, 278, 278, 278, 278, 287, 287, 287,
- 281, 281, 281, 281, 281, 281, 278, 278, 278, 287,
- 287, 287, 281, 281, 278, 289, 278, 278, 278, 287,
- 281, 278, 289, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 289, 289, 278, 289, 0, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278
+ 283, 1, 283, 283, 283, 283, 283, 283, 284, 285,
+ 283, 283, 283, 283, 283, 283, 283, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 283, 283, 283, 283, 283,
+ 283, 283, 284, 283, 287, 283, 288, 283, 283, 283,
+ 283, 283, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 283, 283, 283, 287, 288, 283, 286,
+
+ 286, 286, 286, 286, 286, 286, 286, 289, 286, 286,
+ 286, 286, 283, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 290, 291, 286, 286,
+ 286, 286, 283, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 292, 286, 286, 286, 286, 286, 286, 286, 286,
+ 283, 293, 291, 286, 286, 286, 283, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 292, 292,
+
+ 292, 292, 286, 286, 286, 286, 283, 293, 286, 286,
+ 286, 286, 294, 286, 286, 286, 286, 286, 286, 283,
+ 283, 292, 292, 292, 286, 286, 283, 286, 286, 286,
+ 295, 296, 286, 286, 286, 283, 283, 283, 283, 292,
+ 292, 292, 286, 286, 286, 297, 296, 286, 286, 286,
+ 283, 283, 283, 292, 292, 292, 286, 297, 286, 283,
+ 298, 283, 283, 283, 292, 286, 283, 298, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 298, 298,
+ 283, 298, 0, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283
+
} ;
-static yyconst flex_int16_t yy_nxt[802] =
+static yyconst flex_int16_t yy_nxt[818] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 16, 17, 18, 19, 20, 21,
@@ -540,80 +545,81 @@ static yyconst flex_int16_t yy_nxt[802] =
67, 80, 95, 40, 40, 96, 68, 81, 101, 102,
72, 75, 69, 82, 73, 77, 83, 88, 85, 76,
89, 78, 74, 79, 44, 80, 90, 104, 86, 91,
- 92, 81, 87, 101, 102, 93, 278, 82, 181, 103,
- 83, 181, 88, 85, 278, 89, 96, 40, 40, 96,
+ 92, 81, 87, 101, 102, 93, 283, 82, 181, 103,
+ 83, 181, 88, 85, 283, 89, 96, 40, 40, 96,
90, 104, 86, 107, 91, 92, 87, 108, 109, 93,
39, 40, 40, 41, 103, 42, 41, 40, 40, 41,
- 105, 110, 111, 278, 112, 114, 115, 107, 117, 106,
+ 105, 110, 111, 283, 112, 114, 115, 107, 117, 106,
116, 119, 108, 109, 118, 147, 120, 121, 147, 123,
124, 125, 126, 133, 105, 129, 110, 111, 112, 114,
115, 130, 117, 106, 122, 116, 119, 131, 118, 42,
120, 127, 121, 123, 124, 132, 125, 126, 133, 129,
128, 134, 135, 42, 138, 130, 136, 140, 122, 42,
- 137, 131, 139, 278, 278, 278, 127, 141, 142, 132,
+ 137, 131, 139, 283, 283, 283, 127, 141, 142, 132,
95, 40, 40, 96, 128, 134, 143, 135, 138, 144,
146, 136, 140, 145, 149, 137, 139, 96, 40, 40,
96, 141, 142, 150, 151, 147, 152, 158, 147, 113,
- 143, 154, 113, 155, 144, 146, 53, 145, 149, 278,
+ 143, 154, 113, 155, 144, 146, 53, 145, 149, 283,
157, 159, 156, 160, 161, 162, 168, 150, 151, 163,
- 164, 152, 158, 165, 166, 154, 278, 167, 155, 169,
- 278, 170, 153, 42, 157, 159, 156, 160, 171, 161,
+ 164, 152, 158, 165, 166, 154, 283, 167, 155, 169,
+ 283, 170, 153, 42, 157, 159, 156, 160, 171, 161,
162, 168, 172, 163, 164, 172, 174, 165, 166, 175,
42, 167, 176, 177, 169, 170, 153, 178, 179, 180,
- 278, 184, 171, 185, 186, 256, 187, 188, 256, 173,
+ 283, 184, 171, 185, 186, 231, 187, 188, 231, 173,
174, 189, 190, 175, 191, 192, 193, 176, 177, 194,
195, 178, 179, 196, 180, 184, 197, 198, 185, 186,
187, 172, 188, 173, 172, 189, 190, 203, 191, 204,
192, 193, 205, 206, 194, 195, 181, 209, 196, 181,
- 197, 198, 210, 211, 212, 215, 200, 213, 214, 278,
+ 197, 198, 210, 211, 212, 215, 200, 213, 214, 283,
216, 217, 203, 201, 204, 219, 202, 205, 206, 207,
- 218, 209, 256, 278, 278, 256, 210, 211, 212, 215,
- 200, 278, 213, 214, 216, 217, 225, 201, 220, 219,
+ 218, 209, 261, 283, 283, 261, 210, 211, 212, 215,
+ 200, 283, 213, 214, 216, 217, 225, 201, 220, 219,
202, 220, 226, 227, 207, 218, 221, 220, 220, 220,
- 220, 220, 220, 228, 229, 221, 221, 221, 230, 231,
- 225, 232, 222, 278, 224, 235, 226, 233, 227, 242,
- 234, 278, 243, 234, 278, 241, 278, 228, 223, 229,
-
- 237, 245, 244, 230, 231, 232, 246, 222, 235, 224,
- 235, 233, 220, 220, 242, 220, 220, 243, 236, 241,
- 221, 221, 223, 237, 237, 245, 220, 244, 234, 220,
- 246, 234, 278, 235, 221, 247, 248, 220, 240, 249,
- 220, 253, 236, 220, 238, 221, 220, 237, 254, 255,
- 220, 221, 278, 220, 257, 261, 236, 239, 221, 278,
- 247, 248, 240, 258, 249, 253, 258, 262, 238, 278,
- 250, 221, 254, 255, 259, 278, 251, 259, 257, 261,
- 236, 239, 221, 220, 252, 264, 220, 265, 270, 271,
- 265, 221, 262, 267, 250, 269, 267, 278, 269, 276,
-
- 251, 265, 260, 221, 265, 235, 267, 278, 252, 267,
- 264, 235, 278, 270, 271, 266, 278, 278, 278, 272,
- 237, 268, 272, 278, 276, 274, 237, 260, 274, 266,
- 235, 278, 275, 278, 268, 275, 235, 235, 272, 266,
- 274, 272, 278, 274, 237, 268, 275, 273, 277, 275,
- 237, 277, 237, 266, 277, 278, 278, 277, 268, 278,
- 278, 278, 235, 278, 278, 278, 273, 278, 278, 278,
- 278, 273, 278, 278, 278, 278, 237, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 273, 43, 43, 278, 43, 43, 43, 45, 45, 53,
-
- 53, 53, 97, 97, 97, 98, 98, 278, 98, 98,
- 98, 148, 278, 148, 148, 148, 182, 278, 278, 182,
- 182, 183, 183, 183, 199, 278, 278, 199, 208, 208,
- 208, 263, 278, 278, 263, 3, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
-
- 278
+ 220, 220, 220, 228, 229, 221, 221, 221, 230, 233,
+ 225, 234, 222, 283, 224, 244, 226, 235, 227, 231,
+ 236, 237, 231, 236, 283, 243, 283, 228, 223, 229,
+
+ 53, 245, 248, 230, 233, 234, 239, 222, 237, 224,
+ 244, 235, 220, 249, 250, 220, 237, 257, 238, 243,
+ 221, 220, 223, 239, 220, 251, 245, 248, 220, 221,
+ 239, 220, 236, 237, 252, 236, 221, 249, 250, 253,
+ 220, 257, 238, 220, 240, 259, 220, 239, 221, 220,
+ 251, 260, 241, 242, 221, 220, 262, 283, 220, 252,
+ 238, 283, 263, 221, 253, 263, 283, 266, 240, 259,
+ 221, 267, 283, 254, 269, 260, 241, 242, 264, 255,
+ 262, 264, 220, 283, 238, 220, 221, 283, 283, 256,
+ 221, 266, 261, 275, 283, 261, 267, 254, 276, 269,
+
+ 283, 265, 270, 255, 272, 270, 274, 272, 283, 274,
+ 283, 283, 270, 256, 221, 270, 272, 283, 275, 272,
+ 237, 281, 237, 276, 277, 279, 265, 277, 279, 283,
+ 271, 280, 273, 279, 280, 239, 279, 239, 277, 283,
+ 271, 277, 237, 283, 273, 237, 281, 237, 280, 283,
+ 282, 280, 278, 282, 271, 282, 273, 239, 282, 239,
+ 283, 239, 283, 283, 271, 283, 278, 237, 273, 283,
+ 283, 283, 283, 283, 283, 283, 278, 283, 283, 283,
+ 283, 239, 283, 283, 283, 283, 283, 283, 283, 283,
+ 278, 43, 43, 283, 43, 43, 43, 45, 45, 53,
+
+ 53, 53, 97, 97, 97, 98, 98, 283, 98, 98,
+ 98, 148, 283, 148, 148, 148, 182, 283, 283, 182,
+ 182, 183, 183, 183, 199, 283, 283, 199, 208, 208,
+ 208, 232, 283, 232, 232, 232, 246, 283, 283, 246,
+ 246, 247, 247, 247, 258, 258, 258, 268, 283, 283,
+ 268, 3, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283
} ;
-static yyconst flex_int16_t yy_chk[802] =
+static yyconst flex_int16_t yy_chk[818] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -655,7 +661,7 @@ static yyconst flex_int16_t yy_chk[802] =
0, 133, 113, 95, 116, 118, 115, 119, 134, 120,
122, 130, 135, 123, 125, 135, 136, 126, 127, 137,
96, 128, 138, 139, 132, 133, 113, 140, 141, 143,
- 0, 150, 134, 151, 152, 248, 153, 154, 248, 135,
+ 0, 150, 134, 151, 152, 231, 153, 154, 231, 135,
136, 155, 160, 137, 161, 162, 165, 138, 139, 166,
167, 140, 141, 168, 143, 150, 169, 170, 151, 152,
@@ -663,47 +669,48 @@ static yyconst flex_int16_t yy_chk[802] =
162, 165, 179, 180, 166, 167, 181, 184, 168, 181,
169, 170, 186, 188, 189, 194, 172, 191, 193, 0,
195, 196, 175, 172, 176, 198, 172, 179, 180, 181,
- 197, 184, 256, 0, 0, 256, 186, 188, 189, 194,
+ 197, 184, 252, 0, 0, 252, 186, 188, 189, 194,
172, 0, 191, 193, 195, 196, 204, 172, 199, 198,
172, 199, 206, 207, 181, 197, 199, 200, 201, 202,
200, 201, 202, 209, 211, 200, 201, 202, 212, 214,
- 204, 215, 200, 0, 202, 221, 206, 216, 207, 229,
- 220, 263, 230, 220, 263, 226, 0, 209, 201, 211,
-
- 221, 232, 231, 212, 214, 215, 233, 200, 220, 202,
- 221, 216, 222, 224, 229, 222, 224, 230, 220, 226,
- 222, 224, 201, 220, 221, 232, 223, 231, 234, 223,
- 233, 234, 0, 220, 223, 235, 236, 238, 224, 237,
- 238, 243, 220, 239, 222, 238, 239, 220, 244, 247,
- 240, 239, 0, 240, 249, 253, 234, 223, 240, 0,
- 235, 236, 224, 250, 237, 243, 250, 255, 222, 0,
- 238, 250, 244, 247, 251, 0, 239, 251, 249, 253,
- 234, 223, 251, 252, 240, 257, 252, 258, 266, 268,
- 258, 252, 255, 259, 238, 260, 259, 0, 260, 273,
-
- 239, 265, 252, 260, 265, 258, 267, 0, 240, 267,
- 257, 259, 0, 266, 268, 258, 0, 0, 0, 269,
- 258, 259, 269, 0, 273, 270, 259, 252, 270, 265,
- 258, 0, 271, 0, 267, 271, 259, 269, 272, 258,
- 274, 272, 0, 274, 258, 259, 275, 269, 276, 275,
- 259, 276, 269, 265, 277, 0, 0, 277, 267, 0,
- 0, 0, 269, 0, 0, 0, 272, 0, 0, 0,
- 0, 269, 0, 0, 0, 0, 269, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 272, 279, 279, 0, 279, 279, 279, 280, 280, 281,
-
- 281, 281, 282, 282, 282, 283, 283, 0, 283, 283,
- 283, 284, 0, 284, 284, 284, 285, 0, 0, 285,
- 285, 286, 286, 286, 287, 0, 0, 287, 288, 288,
- 288, 289, 0, 0, 289, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
-
- 278
+ 204, 215, 200, 0, 202, 229, 206, 216, 207, 213,
+ 220, 221, 213, 220, 0, 226, 0, 209, 201, 211,
+
+ 213, 230, 233, 212, 214, 215, 221, 200, 220, 202,
+ 229, 216, 222, 234, 235, 222, 221, 245, 220, 226,
+ 222, 223, 201, 220, 223, 237, 230, 233, 224, 223,
+ 221, 224, 236, 220, 238, 236, 224, 234, 235, 239,
+ 240, 245, 220, 240, 222, 248, 241, 220, 240, 241,
+ 237, 251, 223, 224, 241, 242, 253, 0, 242, 238,
+ 236, 0, 254, 242, 239, 254, 0, 257, 222, 248,
+ 254, 260, 0, 240, 262, 251, 223, 224, 255, 241,
+ 253, 255, 256, 0, 236, 256, 255, 0, 0, 242,
+ 256, 257, 261, 271, 0, 261, 260, 240, 273, 262,
+
+ 0, 256, 263, 241, 264, 263, 265, 264, 268, 265,
+ 0, 268, 270, 242, 265, 270, 272, 0, 271, 272,
+ 263, 278, 264, 273, 274, 275, 256, 274, 275, 0,
+ 263, 276, 264, 279, 276, 263, 279, 264, 277, 0,
+ 270, 277, 274, 0, 272, 263, 278, 264, 280, 0,
+ 281, 280, 274, 281, 263, 282, 264, 274, 282, 263,
+ 0, 264, 0, 0, 270, 0, 277, 274, 272, 0,
+ 0, 0, 0, 0, 0, 0, 274, 0, 0, 0,
+ 0, 274, 0, 0, 0, 0, 0, 0, 0, 0,
+ 277, 284, 284, 0, 284, 284, 284, 285, 285, 286,
+
+ 286, 286, 287, 287, 287, 288, 288, 0, 288, 288,
+ 288, 289, 0, 289, 289, 289, 290, 0, 0, 290,
+ 290, 291, 291, 291, 292, 0, 0, 292, 293, 293,
+ 293, 294, 0, 294, 294, 294, 295, 0, 0, 295,
+ 295, 296, 296, 296, 297, 297, 297, 298, 0, 0,
+ 298, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+
+ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283
} ;
static yy_state_type yy_last_accepting_state;
@@ -790,7 +797,7 @@ static int checkImmediate(int token) {
return token;
}
-#line 794 "engines/director/lingo/lingo-lex.cpp"
+#line 801 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -976,7 +983,7 @@ YY_DECL
#line 85 "engines/director/lingo/lingo-lex.l"
-#line 980 "engines/director/lingo/lingo-lex.cpp"
+#line 987 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@@ -1030,13 +1037,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 279 )
+ if ( yy_current_state >= 284 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 278 );
+ while ( yy_current_state != 283 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1222,96 +1229,106 @@ YY_RULE_SETUP
case 30:
YY_RULE_SETUP
#line 135 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMETHOD; }
+{
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'method '
+ while (*ptr == ' ' || *ptr == '\t')
+ ptr++;
+
+ yylval.s = new Common::String(ptr);
+
+ return tMETHOD;
+ }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 136 "engines/director/lingo/lingo-lex.l"
+#line 146 "engines/director/lingo/lingo-lex.l"
{ count(); return tMOD; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 137 "engines/director/lingo/lingo-lex.l"
+#line 147 "engines/director/lingo/lingo-lex.l"
{ count(); return tMOVIE; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 138 "engines/director/lingo/lingo-lex.l"
+#line 148 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEXT; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 139 "engines/director/lingo/lingo-lex.l"
+#line 149 "engines/director/lingo/lingo-lex.l"
{ count(); return tNOT; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 140 "engines/director/lingo/lingo-lex.l"
+#line 150 "engines/director/lingo/lingo-lex.l"
{ count(); return tOF; }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 141 "engines/director/lingo/lingo-lex.l"
+#line 151 "engines/director/lingo/lingo-lex.l"
{ count(); return tON; } // D3
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 142 "engines/director/lingo/lingo-lex.l"
+#line 152 "engines/director/lingo/lingo-lex.l"
{ count(); return tOPEN; }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 143 "engines/director/lingo/lingo-lex.l"
+#line 153 "engines/director/lingo/lingo-lex.l"
{ count(); return tOR; }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 144 "engines/director/lingo/lingo-lex.l"
+#line 154 "engines/director/lingo/lingo-lex.l"
{ count(); return tPLAY; }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 145 "engines/director/lingo/lingo-lex.l"
+#line 155 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 146 "engines/director/lingo/lingo-lex.l"
+#line 156 "engines/director/lingo/lingo-lex.l"
{ count(); return tPREVIOUS; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 147 "engines/director/lingo/lingo-lex.l"
+#line 157 "engines/director/lingo/lingo-lex.l"
{ count(); return tPROPERTY; } // D4
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 148 "engines/director/lingo/lingo-lex.l"
+#line 158 "engines/director/lingo/lingo-lex.l"
{ count(); return tPUT; }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 149 "engines/director/lingo/lingo-lex.l"
+#line 159 "engines/director/lingo/lingo-lex.l"
{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 150 "engines/director/lingo/lingo-lex.l"
+#line 160 "engines/director/lingo/lingo-lex.l"
{ count(); return tSET; }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 151 "engines/director/lingo/lingo-lex.l"
+#line 161 "engines/director/lingo/lingo-lex.l"
{ count(); return tSTARTS; }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 152 "engines/director/lingo/lingo-lex.l"
+#line 162 "engines/director/lingo/lingo-lex.l"
{ count(); return tTELL; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 153 "engines/director/lingo/lingo-lex.l"
+#line 163 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1323,7 +1340,7 @@ YY_RULE_SETUP
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 161 "engines/director/lingo/lingo-lex.l"
+#line 171 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1335,7 +1352,7 @@ YY_RULE_SETUP
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 169 "engines/director/lingo/lingo-lex.l"
+#line 179 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1346,7 +1363,7 @@ YY_RULE_SETUP
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 176 "engines/director/lingo/lingo-lex.l"
+#line 186 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1390,7 +1407,7 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 216 "engines/director/lingo/lingo-lex.l"
+#line 226 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1425,7 +1442,7 @@ YY_RULE_SETUP
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 247 "engines/director/lingo/lingo-lex.l"
+#line 257 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1448,72 +1465,72 @@ YY_RULE_SETUP
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 266 "engines/director/lingo/lingo-lex.l"
+#line 276 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 267 "engines/director/lingo/lingo-lex.l"
+#line 277 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 268 "engines/director/lingo/lingo-lex.l"
+#line 278 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 269 "engines/director/lingo/lingo-lex.l"
+#line 279 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 270 "engines/director/lingo/lingo-lex.l"
+#line 280 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 271 "engines/director/lingo/lingo-lex.l"
+#line 281 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 272 "engines/director/lingo/lingo-lex.l"
+#line 282 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 273 "engines/director/lingo/lingo-lex.l"
+#line 283 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 275 "engines/director/lingo/lingo-lex.l"
+#line 285 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 276 "engines/director/lingo/lingo-lex.l"
+#line 286 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 277 "engines/director/lingo/lingo-lex.l"
+#line 287 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 278 "engines/director/lingo/lingo-lex.l"
+#line 288 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 279 "engines/director/lingo/lingo-lex.l"
+#line 289 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 281 "engines/director/lingo/lingo-lex.l"
+#line 291 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1562,41 +1579,41 @@ YY_RULE_SETUP
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 326 "engines/director/lingo/lingo-lex.l"
+#line 336 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 327 "engines/director/lingo/lingo-lex.l"
+#line 337 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 328 "engines/director/lingo/lingo-lex.l"
+#line 338 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
case 71:
/* rule 71 can match eol */
YY_RULE_SETUP
-#line 329 "engines/director/lingo/lingo-lex.l"
+#line 339 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 330 "engines/director/lingo/lingo-lex.l"
+#line 340 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 331 "engines/director/lingo/lingo-lex.l"
+#line 341 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 333 "engines/director/lingo/lingo-lex.l"
+#line 343 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1600 "engines/director/lingo/lingo-lex.cpp"
+#line 1617 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1719,9 +1736,6 @@ case YY_STATE_EOF(INITIAL):
yy_cp = (yy_c_buf_p);
yy_bp = (yytext_ptr) + YY_MORE_ADJ;
goto yy_find_action;
-
- default:
- break;
}
break;
}
@@ -1893,7 +1907,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 279 )
+ if ( yy_current_state >= 284 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1921,11 +1935,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 279 )
+ if ( yy_current_state >= 284 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 278);
+ yy_is_jam = (yy_current_state == 283);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2559,7 +2573,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 333 "engines/director/lingo/lingo-lex.l"
+#line 343 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index b1801bda78..33829b699b 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -132,7 +132,17 @@ whitespace [\t ]
(?i:line) { count(); return tLINE; }
(?i:loop) { count(); return checkImmediate(tLOOP); }
(?i:macro) { count(); return tMACRO; }
-(?i:method) { count(); return tMETHOD; }
+(?i:method)([\t ]*{identifier}) {
+ count();
+
+ const char *ptr = &yytext[6]; // Skip 'method '
+ while (*ptr == ' ' || *ptr == '\t')
+ ptr++;
+
+ yylval.s = new Common::String(ptr);
+
+ return tMETHOD;
+ }
(?i:mod) { count(); return tMOD; }
(?i:movie) { count(); return tMOVIE; }
(?i:next) { count(); return tNEXT; }