[Scummvm-git-logs] scummvm master -> 241d4e761d180cf7773495c2345fb9a82e517b22

sev- sev at scummvm.org
Sat Mar 28 21:34:53 UTC 2020


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
8f392fdf38 DIRECTOR: LINGO: Added test for 'play done'
241d4e761d DIRECTOR: LINGO: Fixed parsing for 'go to' command


Commit: 8f392fdf3821024097e38d24f1a6712916586e38
    https://github.com/scummvm/scummvm/commit/8f392fdf3821024097e38d24f1a6712916586e38
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T22:33:59+01:00

Commit Message:
DIRECTOR: LINGO: Added test for 'play done'

Changed paths:
    engines/director/lingo/tests/goto.lingo


diff --git a/engines/director/lingo/tests/goto.lingo b/engines/director/lingo/tests/goto.lingo
index 854506e260..ae7b2240bd 100644
--- a/engines/director/lingo/tests/goto.lingo
+++ b/engines/director/lingo/tests/goto.lingo
@@ -21,6 +21,7 @@ play movie "Desert Scene"
 play frame 23 of movie "Chicago"
 play frame varframe of movie varmovie
 play frame "main loop" of movie "Basic With"
+play done
 
 playAccel "Lungs.mma"
 playAccel "Bolitas.mma", loop, clickStop, whatFits


Commit: 241d4e761d180cf7773495c2345fb9a82e517b22
    https://github.com/scummvm/scummvm/commit/241d4e761d180cf7773495c2345fb9a82e517b22
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-28T22:34:19+01:00

Commit Message:
DIRECTOR: LINGO: Fixed parsing for 'go to' command

Changed paths:
    engines/director/lingo/lingo-lex.cpp
    engines/director/lingo/lingo-lex.l
    engines/director/lingo/tests/goto.lingo


diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index a91229011a..e3bac497d4 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[]  );
 	*yy_cp = '\0'; \
 	(yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 77
-#define YY_END_OF_BUFFER 78
+#define YY_NUM_RULES 76
+#define YY_END_OF_BUFFER 77
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -375,46 +375,46 @@ struct yy_trans_info
 	};
 static yyconst flex_int16_t yy_accept[364] =
     {   0,
-        0,    0,   78,   76,    4,   74,   74,   76,   76,   76,
-       73,   73,   73,   72,   73,   69,   73,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   76,    3,    3,   70,    4,   74,
-        0,    0,    0,   75,    5,   68,    2,   71,   72,   67,
-       65,   66,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   21,   12,   25,   70,   70,   70,   70,
-       70,   70,   70,   70,   35,   36,   70,   38,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   58,   70,
-       70,   70,    1,    3,    3,    0,   70,    5,    2,   71,
-
-       70,    7,   70,   70,   70,   70,   70,   15,   70,   70,
-        0,   70,   70,   70,   70,   70,   70,   70,   31,   70,
-       70,   34,   70,   70,   70,   70,   44,   70,   46,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,    0,   70,
-       70,   70,    9,   70,   11,   14,    0,   17,   70,    0,
-       70,   70,   24,   26,   27,   28,   70,   70,   70,   33,
-       37,   40,   70,   70,   70,   70,   70,   70,   49,    0,
-       57,   62,   70,   60,   64,    0,   70,    6,   70,   70,
-        0,   15,   70,   20,   70,   70,   29,   70,   32,    0,
-       70,   70,   70,   70,   70,   70,   70,   56,   56,   56,
-
-       56,   56,   63,   70,    0,   70,    8,   70,    0,   15,
-       18,    0,   70,   70,   70,    0,   70,   70,   70,   45,
-        0,   59,   48,    0,    0,   56,   56,   56,   56,   61,
-        0,   70,   70,   13,    0,   70,   70,    0,   30,    0,
-       70,   70,   70,    0,    0,    0,    0,    0,    0,    0,
-        0,   56,   56,   56,   56,    0,   16,   10,    0,   22,
-       70,   30,   30,    0,   70,   42,   43,    0,    0,    0,
-        0,    0,    0,    0,   56,   56,   56,   56,   16,    0,
-       70,   30,    0,   41,    0,    0,    0,    0,    0,    0,
-        0,    0,   56,    0,   56,    0,   23,   39,    0,    0,
-
-        0,   47,   55,   54,   55,    0,    0,    0,    0,   56,
-        0,    0,    0,   19,   47,    0,    0,    0,   54,    0,
-        0,    0,    0,    0,    0,    0,    0,   47,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   50,    0,   47,
-        0,    0,    0,   55,   54,   54,   55,    0,   51,   47,
-       53,   54,   54,    0,   54,    0,   54,    0,    0,    0,
-        0,   52,    0
+        0,    0,   77,   75,    4,   73,   73,   75,   75,   75,
+       72,   72,   72,   71,   72,   68,   72,   69,   69,   69,
+       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
+       69,   69,   69,   69,   75,    3,    3,   69,    4,   73,
+        0,    0,    0,   74,    5,   67,    2,   70,   71,   66,
+       64,   65,   69,   69,   69,   69,   69,   69,   69,   69,
+       69,   69,   69,   69,   12,   24,   69,   69,   69,   69,
+       69,   69,   69,   69,   34,   35,   69,   37,   69,   69,
+       69,   69,   69,   69,   69,   69,   69,   69,   57,   69,
+       69,   69,    1,    3,    3,    0,   69,    5,    2,   70,
+
+       69,    7,   69,   69,   69,   69,   69,   15,   69,   69,
+       20,   69,   69,   69,   69,   69,   69,   69,   30,   69,
+       69,   33,   69,   69,   69,   69,   43,   69,   45,   69,
+       69,   69,   69,   69,   69,   69,   69,   69,    0,   69,
+       69,   69,    9,   69,   11,   14,    0,   17,   69,    0,
+        0,   69,   69,   23,   25,   26,   27,   69,   69,   69,
+       32,   36,   39,   69,   69,   69,   69,   69,   69,   48,
+        0,   56,   61,   69,   59,   63,    0,   69,    6,   69,
+       69,    0,   15,   69,    0,   20,   69,   69,   28,   69,
+       31,    0,   69,   69,   69,   69,   69,   69,   69,   55,
+
+       55,   55,   55,   55,   62,   69,    0,   69,    8,   69,
+        0,   15,   18,    0,    0,   69,   69,   69,    0,   69,
+       69,   69,   44,    0,   58,   47,    0,    0,   55,   55,
+       55,   55,   60,    0,   69,   69,   13,    0,   69,   69,
+        0,   29,    0,   69,   69,   69,    0,    0,    0,    0,
+        0,    0,    0,    0,   55,   55,   55,   55,    0,   16,
+       10,   19,   21,   69,   29,   29,    0,   69,   41,   42,
+        0,    0,    0,    0,    0,    0,    0,   55,   55,   55,
+       55,   16,   69,   29,    0,   40,    0,    0,    0,    0,
+        0,    0,    0,    0,   55,    0,   55,   22,   38,    0,
+
+        0,    0,   46,   54,   53,   54,    0,    0,    0,    0,
+       55,    0,    0,    0,   46,    0,    0,    0,   53,    0,
+        0,    0,    0,    0,    0,    0,    0,   46,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   49,    0,   46,
+        0,    0,    0,   54,   53,   53,   54,    0,   50,   46,
+       52,   53,   53,    0,   53,    0,   53,    0,    0,    0,
+        0,   51,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -462,47 +462,47 @@ static yyconst flex_int32_t yy_meta[66] =
 
 static yyconst flex_int16_t yy_base[381] =
     {   0,
-        0,   64,  240,  974,   68,  974,  974,   72,  230,    0,
-      974,  177,  140,   55,   63,  974,  130,   59,   59,   59,
+        0,   64,  240,  979,   68,  979,  979,   72,  230,    0,
+      979,  177,  140,   55,   63,  979,  130,   59,   59,   59,
        55,   63,    0,   64,   75,   70,  100,   77,  110,  102,
-       98,  139,  126,  152,  145,  185,  206,  110,  210,  974,
-      214,  175,   97,  974,    0,  974,    0,   86,  171,  974,
-      974,  974,    0,   66,  116,  144,  154,  111,  130,  139,
+       98,  139,  126,  152,  145,  185,  206,  110,  210,  979,
+      214,  175,   97,  979,    0,  979,    0,   86,  171,  979,
+      979,  979,    0,   66,  116,  144,  154,  111,  130,  139,
       175,  174,  151,   82,    0,  187,  179,  174,  193,  185,
       195,  206,  192,  198,    0,    0,  213,    0,  218,  218,
       202,  207,  206,  206,  211,  232,  225,  235,    0,  248,
-      223,  230,  974,  281,  286,  253,  258,    0,    0,   69,
+      223,  230,  979,  281,  286,  253,  258,    0,    0,   69,
 
       259,    0,  262,  260,  261,  268,  278,   91,  266,  286,
-      304,  272,  289,  284,  292,  287,  290,  291,    0,  302,
-      291,    0,  301,  292,  297,  306,    0,  320,    0,  315,
-      320,  315,  322,  355,  324,  328,  338,  344,  346,  324,
-      334,  336,    0,  354,    0,  153,  309,    0,  357,  346,
-      361,  347,    0,    0,    0,    0,  351,  352,  364,    0,
-        0,  390,  361,  367,  377,  377,  366,  367,    0,  431,
-        0,    0,  377,  384,    0,  379,  385,    0,  391,  391,
-      419,    0,  391,  415,  398,  394,    0,  409,    0,  441,
-      411,  405,  407,  412,  443,  410,  415,  465,  476,  475,
-
-      485,  489,    0,  421,  442,  443,    0,  450,  461,    0,
-        0,  499,  478,  477,  500,  476,  488,  474,  477,    0,
-      545,    0,    0,  523,  495,  514,  547,  560,  561,    0,
-      481,  480,  493,  974,  504,  534,  537,  524,    0,  542,
-      539,  511,  533,  547,  566,  551,  551,  585,  574,  572,
-      570,  599,  619,  620,  621,  571,    0,    0,  590,    0,
-      579,    0,    0,  590,  600,    0,    0,  598,  616,  623,
-      613,  609,  537,  617,  644,  654,  661,  668,  974,  620,
-      616,    0,  639,    0,  619,  655,  640,  651,  662,  682,
-      665,  689,  688,  690,  697,  667,    0,  974,  676,  687,
-
-      681,  974,  974,    0,  974,  713,  721,  725,  727,  748,
-      731,  709,  749,  974,  974,  687,  706,  714,    0,  732,
-      763,  765,  769,  771,  773,  785,  733,  974,  724,  754,
-      759,  767,  790,  794,  805,  815,  771,  826,  827,  974,
-      781,  832,  833,  838,  780,  819,  844,  845,  850,  974,
-      974,  851,  852,  856,  857,  835,  862,  834,  846,  869,
-      871,  974,  974,  903,  905,  908,  911,  917,  922,  927,
-      929,  934,  939,  942,  945,  950,  955,  957,  962,  967
+      305,  271,  288,  283,  291,  283,  282,  295,    0,  297,
+      291,    0,  302,  292,  299,  310,    0,  302,    0,  314,
+      320,  316,  326,  352,  329,  332,  337,  342,  344,  331,
+      335,  336,    0,  354,    0,  153,  370,    0,  357,  343,
+      348,  362,  351,    0,    0,    0,    0,  355,  359,  370,
+        0,    0,  393,  369,  376,  384,  383,  371,  372,    0,
+      434,    0,    0,  391,  390,    0,  379,  387,    0,  397,
+      395,  419,    0,  396,  408,  427,  398,  399,    0,  414,
+        0,  444,  423,  418,  419,  418,  453,  433,  422,  460,
+
+      473,  484,  491,  495,    0,  431,  434,  441,    0,  453,
+      477,    0,    0,  474,  505,  484,  483,  506,  476,  494,
+      480,  482,    0,  551,    0,    0,  529,  501,  520,  540,
+      553,  567,    0,  510,  511,  523,  979,  493,  541,  546,
+      530,    0,  549,  550,  542,  539,  553,  572,  557,  558,
+      597,  580,  579,  580,  610,  611,  623,  629,  571,    0,
+        0,  979,    0,  584,    0,    0,  595,  597,    0,    0,
+      602,  616,  620,  610,  607,  636,  616,  647,  665,  669,
+      671,  979,  619,    0,  634,    0,  625,  639,  623,  641,
+      657,  686,  663,  688,  692,  696,  702,    0,  979,  674,
+
+      680,  677,  979,  979,    0,  979,  717,  727,  734,  733,
+      735,  741,  705,  752,  979,  722,  717,  723,    0,  734,
+      758,  760,  774,  784,  765,  794,  744,  979,  726,  741,
+      745,  756,  807,  805,  811,  816,  758,  818,  820,  979,
+      769,  829,  831,  835,  798,  817,  839,  840,  845,  979,
+      979,  847,  856,  858,  860,  841,  867,  825,  834,  872,
+      874,  979,  979,  908,  910,  913,  916,  922,  927,  932,
+      934,  939,  944,  947,  950,  955,  960,  962,  967,  972
     } ;
 
 static yyconst flex_int16_t yy_def[381] =
@@ -523,25 +523,25 @@ static yyconst flex_int16_t yy_def[381] =
       366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
       366,  366,  366,  366,  366,  366,  366,  366,  363,  366,
       366,  366,  366,  366,  366,  366,  369,  366,  366,  363,
+      363,  366,  366,  366,  366,  366,  366,  366,  366,  366,
       366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  370,
-      366,  366,  366,  366,  366,  363,  366,  366,  366,  366,
-      363,  371,  366,  363,  366,  366,  366,  366,  366,  363,
-      366,  366,  366,  366,  366,  366,  366,  370,  370,  370,
-
-      370,  370,  366,  366,  363,  366,  366,  366,  363,  371,
-      366,  363,  366,  366,  372,  363,  366,  366,  366,  366,
-      363,  366,  366,  363,  363,  370,  370,  370,  370,  366,
-      363,  366,  366,  363,  363,  366,  366,  373,  374,  363,
-      366,  366,  366,  363,  363,  363,  363,  363,  363,  363,
-      363,  370,  370,  370,  370,  363,  366,  366,  363,  366,
-      366,  375,  374,  363,  366,  366,  366,  363,  363,  363,
-      363,  363,  363,  363,  370,  370,  370,  370,  363,  363,
-      366,  375,  363,  366,  363,  363,  363,  363,  363,  376,
-      363,  377,  370,  363,  370,  363,  366,  363,  363,  363,
-
-      363,  363,  363,  378,  363,  377,  377,  377,  377,  370,
-      363,  363,  363,  363,  363,  363,  363,  363,  378,  363,
+      370,  366,  366,  366,  366,  366,  363,  366,  366,  366,
+      366,  363,  371,  366,  363,  363,  366,  366,  366,  366,
+      366,  363,  366,  366,  366,  366,  366,  366,  366,  370,
+
+      370,  370,  370,  370,  366,  366,  363,  366,  366,  366,
+      363,  371,  366,  363,  363,  366,  366,  372,  363,  366,
+      366,  366,  366,  363,  366,  366,  363,  363,  370,  370,
+      370,  370,  366,  363,  366,  366,  363,  363,  366,  366,
+      373,  374,  363,  366,  366,  366,  363,  363,  363,  363,
+      363,  363,  363,  363,  370,  370,  370,  370,  363,  366,
+      366,  363,  366,  366,  375,  374,  363,  366,  366,  366,
+      363,  363,  363,  363,  363,  363,  363,  370,  370,  370,
+      370,  363,  366,  375,  363,  366,  363,  363,  363,  363,
+      363,  376,  363,  377,  370,  363,  370,  366,  363,  363,
+
+      363,  363,  363,  363,  378,  363,  377,  377,  377,  377,
+      370,  363,  363,  363,  363,  363,  363,  363,  378,  363,
       377,  377,  377,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  377,  376,  377,  363,  363,  376,  363,  363,
       363,  363,  363,  377,  378,  378,  377,  363,  376,  363,
@@ -550,7 +550,7 @@ static yyconst flex_int16_t yy_def[381] =
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363
     } ;
 
-static yyconst flex_int16_t yy_nxt[1040] =
+static yyconst flex_int16_t yy_nxt[1045] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   11,
        13,    4,   14,   15,   16,   17,   18,   19,   20,   21,
@@ -568,7 +568,7 @@ static yyconst flex_int16_t yy_nxt[1040] =
        71,   65,   73,   69,  101,   62,   97,   66,   79,   72,
        74,   75,   42,   67,   80,  102,   42,   81,   76,  105,
        77,   70,   78,   82,   52,   71,   87,   93,   93,   88,
-       47,   97,   79,   72,  181,   89,   75,  181,   80,   83,
+       47,   97,   79,   72,  182,   89,   75,  182,   80,   83,
       102,   81,   76,  105,   77,  103,   78,  106,   84,   85,
       104,   87,  107,   86,   88,   90,   91,   93,   93,   89,
       110,   92,   48,   49,   83,   46,   94,   40,   40,   95,
@@ -585,90 +585,91 @@ static yyconst flex_int16_t yy_nxt[1040] =
       134,  137,   94,   40,   40,   95,  138,   95,   40,   40,
        95,  142,  143,  135,  139,  144,  145,  136,  146,  363,
 
-      148,  140,   96,  149,  141,  111,  151,   96,  111,  152,
-      147,  154,  155,  147,  158,  142,  143,  156,  153,  144,
-      145,  363,  157,  146,  148,  160,  159,   96,  149,  161,
-      151,  162,   96,  163,  152,  154,  164,  155,  150,  158,
-      165,  156,  153,  166,  167,   42,  157,  168,  169,  160,
-       42,  159,  172,  161,  173,  162,  170,  163,  177,  170,
-      164,  174,  150,  175,  176,  165,  178,  166,  179,  167,
-      180,  168,  169,  183,  363,  184,  172,  185,  173,  186,
-      187,  188,  177,  171,  189,  192,  174,  193,  175,  176,
-      178,  190,  179,  194,  190,  180,  195,  203,  183,  184,
-
-      196,  197,  185,  186,  187,  188,  191,  171,  204,  189,
-      192,  207,  193,  205,  206,  208,  212,  211,  194,  212,
-      181,  195,  203,  181,  196,  197,  213,  214,  215,  217,
-      222,  191,  170,  204,  218,  170,  207,  205,  206,  219,
-      208,  211,  190,  209,  221,  190,  220,  221,  223,  230,
-      213,  214,  363,  215,  217,  222,  363,  199,  218,  200,
-      363,  363,  216,  219,  201,  363,  224,  202,  209,  224,
-      220,  231,  223,  230,  225,  232,  224,  224,  233,  224,
-      224,  199,  234,  200,  225,  225,  224,  216,  201,  224,
-      224,  202,  226,  224,  225,  231,  236,  237,  225,  232,
-
-      212,  238,  233,  212,  238,  229,  241,  234,  240,  242,
-      227,  243,   53,  256,  249,  224,  228,  226,  224,  257,
-      235,  236,  237,  225,  248,  238,  258,  248,  238,  251,
-      229,  241,  240,  242,  227,  243,  259,  256,  290,  249,
-      228,  290,  249,  257,  266,  235,  221,  252,  224,  221,
-      258,  224,  250,  251,  260,  261,  225,  251,  264,  265,
-      259,  224,  224,  244,  224,  224,  245,  249,  266,  225,
-      225,  252,  267,  268,  253,  246,  250,  270,  247,  260,
-      261,  251,  269,  264,  265,  271,  248,  255,  244,  248,
-      272,  245,  254,  273,  274,  363,  267,  268,  253,  246,
-
-      224,  270,  247,  224,  363,  363,  280,  269,  225,  271,
-      279,  255,  363,  281,  250,  272,  254,  283,  273,  274,
-      224,  224,  224,  224,  224,  224,  284,  285,  225,  225,
-      225,  280,  363,  275,  279,  286,  276,  281,  250,  287,
-      363,  283,  288,  289,  291,  292,  363,  296,  292,  297,
-      284,  285,  299,  225,  277,  224,  278,  275,  224,  298,
-      286,  276,  294,  225,  287,  294,  288,  289,  291,  224,
-      225,  296,  224,  297,  293,  300,  299,  225,  277,  301,
-      278,  302,  303,  290,  298,  305,  290,  314,  295,  224,
-      248,  311,  224,  248,  311,  363,  315,  225,  313,  293,
-
-      300,  313,  318,  301,  363,  302,  225,  303,  307,  249,
-      305,  316,  314,  295,  320,  328,  317,  320,  308,  312,
-      310,  315,  320,  309,  251,  320,  320,  318,  320,  320,
-      325,  320,  311,  307,  249,  311,  316,  321,  330,  328,
-      317,  329,  308,  312,  310,  363,  322,  309,  251,  324,
-      326,  323,  324,  326,  339,  325,  331,  225,  340,  363,
-      312,  332,  321,  330,  320,  329,  334,  320,  249,  334,
-      320,  322,  336,  320,  338,  336,  323,  338,  327,  339,
-      341,  331,  340,  251,  312,  332,  326,  342,  343,  326,
-      249,  320,  348,  249,  320,  290,  335,  333,  290,  363,
-
-      337,  350,  327,  363,  341,  251,  320,  251,  352,  320,
-      344,  342,  363,  343,  327,  249,  336,  348,  345,  336,
-      335,  333,  363,  346,  337,  347,  350,  338,  349,  251,
-      338,  349,  352,  351,  351,  344,  351,  351,  327,  320,
-      353,  363,  320,  345,  337,  320,  354,  346,  320,  354,
-      347,  349,  351,  351,  349,  351,  351,  354,  356,  358,
-      354,  356,  360,  356,  359,  353,  356,  361,  337,  319,
-      362,  363,  362,  362,  319,  362,  363,  363,  363,  363,
-      363,  363,  363,  363,  358,  363,  360,  363,  359,  363,
-      363,  363,  361,  363,  363,  363,  304,  319,  363,  363,
-
-      363,  363,  319,   43,   43,  363,   43,   43,   43,   45,
-       45,   53,   53,   53,   98,   98,   98,   99,   99,  363,
-       99,   99,   99,  182,  363,  363,  182,  182,  198,  363,
-      363,  198,  210,  210,  210,  239,  363,  239,  239,  239,
-      262,  363,  363,  262,  262,  263,  263,  263,  282,  282,
-      282,  304,  363,  363,  304,  304,  306,  363,  363,  306,
-      319,  319,  319,  355,  363,  363,  355,  355,  357,  363,
-      357,  357,  357,    3,  363,  363,  363,  363,  363,  363,
+      148,  140,   96,  149,  141,  152,  111,   96,  153,  111,
+      155,  156,  363,  157,  158,  142,  143,  154,  159,  144,
+      145,  160,  166,  146,  148,  161,  150,   96,  149,  152,
+      162,  163,   96,  153,  155,  164,  156,  157,  158,  151,
+      165,  154,  167,  159,  168,   42,  160,  166,  169,  161,
+       42,  150,  170,  171,  162,  163,  171,  173,  174,  164,
+      175,  176,  177,  151,  165,  178,  167,  179,  180,  168,
+      181,  147,  169,  184,  147,  185,  170,  186,  187,  363,
+      172,  173,  174,  188,  189,  175,  176,  177,  190,  178,
+      191,  179,  180,  194,  192,  181,  195,  192,  184,  185,
+
+      196,  186,  197,  187,  172,  198,  199,  188,  189,  193,
+      363,  205,  190,  207,  206,  191,  208,  209,  194,  210,
+      182,  195,  213,  182,  214,  196,  216,  197,  215,  198,
+      199,  215,  217,  218,  193,  171,  205,  207,  171,  206,
+      208,  220,  209,  211,  210,  192,  213,  221,  192,  214,
+      216,  222,  223,  225,  224,  226,  217,  224,  218,  233,
+      201,  227,  202,  234,  227,  219,  220,  203,  211,  228,
+      204,  221,  363,  235,  227,  222,  223,  227,  225,  226,
+      363,  236,  228,  233,  201,  227,  202,  234,  227,  229,
+      219,  203,  227,  228,  204,  227,  227,  235,  237,  227,
+
+      228,  238,  239,  240,  228,  236,  215,  241,  243,  215,
+      241,  232,  244,  262,  229,  245,  246,  363,   53,  230,
+      252,  227,  231,  237,  227,  238,  150,  239,  240,  228,
+      251,  241,  243,  251,  241,  254,  232,  244,  262,  245,
+      246,  227,  259,  230,  227,  252,  231,  363,  252,  228,
+      260,  150,  224,  255,  227,  224,  261,  227,  253,  254,
+      363,  263,  228,  254,  264,  267,  259,  256,  227,  247,
+      268,  227,  248,  252,  260,  269,  228,  255,  270,  271,
+      261,  249,  253,  273,  250,  257,  263,  254,  272,  264,
+      267,  256,  274,  258,  247,  268,  275,  248,  251,  269,
+
+      276,  251,  270,  271,  277,  249,  363,  273,  250,  257,
+      282,  227,  227,  272,  227,  227,  274,  258,  283,  228,
+      228,  275,  285,  286,  227,  276,  253,  227,  279,  277,
+      227,  287,  228,  227,  282,  288,  289,  292,  228,  290,
+      292,  291,  283,  293,  278,  363,  285,  286,  294,  363,
+      253,  294,  298,  279,  299,  287,  228,  280,  300,  301,
+      288,  289,  302,  290,  281,  291,  227,  293,  278,  227,
+      296,  303,  227,  296,  228,  227,  298,  304,  228,  299,
+      228,  280,  300,  306,  301,  295,  302,  292,  281,  251,
+      292,  297,  251,  227,  315,  303,  227,  312,  318,  363,
+
+      312,  228,  304,  314,  316,  363,  314,  308,  306,  317,
+      295,  228,  363,  363,  363,  252,  297,  309,  320,  315,
+      363,  320,  310,  318,  311,  313,  325,  363,  320,  316,
+      254,  320,  308,  317,  320,  320,  324,  320,  320,  324,
+      252,  309,  312,  321,  228,  312,  310,  330,  311,  313,
+      328,  325,  329,  326,  254,  322,  326,  323,  331,  320,
+      340,  334,  320,  332,  334,  339,  338,  341,  321,  338,
+      313,  252,  330,  342,  328,  320,  329,  343,  320,  348,
+      322,  327,  323,  331,  340,  336,  254,  332,  336,  350,
+      339,  341,  333,  363,  313,  326,  252,  342,  326,  363,
+
+      363,  335,  343,  252,  348,  327,  292,  363,  320,  292,
+      254,  320,  320,  337,  350,  320,  333,  336,  254,  338,
+      336,  349,  338,  327,  349,  335,  352,  344,  252,  345,
+      351,  347,  351,  351,  346,  351,  320,  337,  353,  320,
+      320,  354,  254,  320,  354,  337,  349,  327,  351,  349,
+      352,  351,  344,  360,  345,  361,  347,  351,  346,  354,
+      351,  356,  354,  353,  356,  358,  363,  363,  356,  337,
+      359,  356,  319,  362,  363,  362,  362,  360,  362,  319,
+      361,  363,  363,  363,  363,  363,  363,  363,  363,  363,
+      358,  363,  363,  363,  359,  363,  363,  363,  305,  363,
+
+      319,  363,  363,  363,  363,  363,  363,  319,   43,   43,
+      363,   43,   43,   43,   45,   45,   53,   53,   53,   98,
+       98,   98,   99,   99,  363,   99,   99,   99,  183,  363,
+      363,  183,  183,  200,  363,  363,  200,  212,  212,  212,
+      242,  363,  242,  242,  242,  265,  363,  363,  265,  265,
+      266,  266,  266,  284,  284,  284,  305,  363,  363,  305,
+      305,  307,  363,  363,  307,  319,  319,  319,  355,  363,
+      363,  355,  355,  357,  363,  357,  357,  357,    3,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
 
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
-      363,  363,  363,  363,  363,  363,  363,  363,  363
+      363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
+      363,  363,  363,  363
     } ;
 
-static yyconst flex_int16_t yy_chk[1040] =
+static yyconst flex_int16_t yy_chk[1045] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -703,87 +704,88 @@ static yyconst flex_int16_t yy_chk[1040] =
        88,   91,   94,   94,   94,   94,   92,   95,   95,   95,
        95,  103,  104,   90,   96,  105,  106,   90,  107,    0,
 
-      109,   97,   94,  110,  101,  111,  112,   95,  111,  113,
-      147,  114,  115,  147,  118,  103,  104,  116,  113,  105,
-      106,    0,  117,  107,  109,  121,  120,   94,  110,  123,
-      112,  124,   95,  125,  113,  114,  126,  115,  111,  118,
-      128,  116,  113,  130,  131,   94,  117,  132,  133,  121,
-       95,  120,  135,  123,  136,  124,  134,  125,  140,  134,
-      126,  137,  111,  138,  139,  128,  141,  130,  142,  131,
-      144,  132,  133,  149,    0,  150,  135,  151,  136,  152,
-      157,  158,  140,  134,  159,  163,  137,  164,  138,  139,
-      141,  162,  142,  165,  162,  144,  166,  173,  149,  150,
-
-      167,  168,  151,  152,  157,  158,  162,  134,  174,  159,
-      163,  179,  164,  176,  177,  180,  184,  183,  165,  184,
-      181,  166,  173,  181,  167,  168,  185,  186,  188,  191,
-      196,  162,  170,  174,  192,  170,  179,  176,  177,  193,
-      180,  183,  190,  181,  195,  190,  194,  195,  197,  204,
-      185,  186,    0,  188,  191,  196,    0,  170,  192,  170,
-        0,    0,  190,  193,  170,    0,  198,  170,  181,  198,
-      194,  205,  197,  204,  198,  206,  200,  199,  208,  200,
-      199,  170,  209,  170,  200,  199,  201,  190,  170,  201,
-      202,  170,  199,  202,  201,  205,  213,  214,  202,  206,
-
-      212,  215,  208,  212,  215,  202,  217,  209,  216,  218,
-      200,  219,  215,  231,  225,  226,  201,  199,  226,  232,
-      212,  213,  214,  226,  224,  238,  233,  224,  238,  225,
-      202,  217,  216,  218,  200,  219,  235,  231,  273,  225,
-      201,  273,  224,  232,  242,  212,  221,  226,  227,  221,
-      233,  227,  224,  225,  236,  237,  227,  224,  240,  241,
-      235,  228,  229,  221,  228,  229,  221,  224,  242,  228,
-      229,  226,  243,  244,  227,  221,  224,  246,  221,  236,
-      237,  224,  245,  240,  241,  247,  248,  229,  221,  248,
-      249,  221,  228,  250,  251,    0,  243,  244,  227,  221,
-
-      252,  246,  221,  252,    0,    0,  259,  245,  252,  247,
-      256,  229,    0,  261,  248,  249,  228,  264,  250,  251,
-      253,  254,  255,  253,  254,  255,  265,  268,  253,  254,
-      255,  259,    0,  252,  256,  269,  253,  261,  248,  270,
-        0,  264,  271,  272,  274,  275,    0,  280,  275,  281,
-      265,  268,  285,  275,  254,  276,  255,  252,  276,  283,
-      269,  253,  277,  276,  270,  277,  271,  272,  274,  278,
-      277,  280,  278,  281,  276,  286,  285,  278,  254,  287,
-      255,  288,  289,  290,  283,  291,  290,  296,  278,  293,
-      292,  294,  293,  292,  294,    0,  299,  293,  295,  276,
-
-      286,  295,  301,  287,    0,  288,  295,  289,  292,  294,
-      291,  300,  296,  278,  306,  316,  300,  306,  292,  294,
-      293,  299,  307,  292,  294,  307,  308,  301,  309,  308,
-      312,  309,  311,  292,  294,  311,  300,  307,  318,  316,
-      300,  317,  292,  294,  293,    0,  308,  292,  294,  310,
-      313,  309,  310,  313,  327,  312,  320,  310,  329,    0,
-      311,  320,  307,  318,  321,  317,  322,  321,  313,  322,
-      323,  308,  324,  323,  325,  324,  309,  325,  313,  327,
-      330,  320,  329,  313,  311,  320,  326,  331,  332,  326,
-      324,  333,  337,  313,  333,  334,  323,  321,  334,    0,
-
-      324,  341,  313,    0,  330,  324,  335,  313,  345,  335,
-      333,  331,    0,  332,  326,  324,  336,  337,  334,  336,
-      323,  321,    0,  334,  324,  335,  341,  338,  339,  324,
-      338,  339,  345,  342,  343,  333,  342,  343,  326,  344,
-      346,    0,  344,  334,  336,  347,  348,  334,  347,  348,
-      335,  349,  352,  353,  349,  352,  353,  354,  355,  356,
-      354,  355,  358,  357,  356,  346,  357,  359,  336,  355,
-      360,    0,  361,  360,  357,  361,    0,    0,    0,    0,
-        0,    0,    0,    0,  356,    0,  358,    0,  356,    0,
-        0,    0,  359,    0,    0,    0,  354,  355,    0,    0,
-
-        0,    0,  357,  364,  364,    0,  364,  364,  364,  365,
-      365,  366,  366,  366,  367,  367,  367,  368,  368,    0,
-      368,  368,  368,  369,    0,    0,  369,  369,  370,    0,
-        0,  370,  371,  371,  371,  372,    0,  372,  372,  372,
-      373,    0,    0,  373,  373,  374,  374,  374,  375,  375,
-      375,  376,    0,    0,  376,  376,  377,    0,    0,  377,
-      378,  378,  378,  379,    0,    0,  379,  379,  380,    0,
-      380,  380,  380,  363,  363,  363,  363,  363,  363,  363,
+      109,   97,   94,  110,  101,  112,  111,   95,  113,  111,
+      114,  115,    0,  116,  117,  103,  104,  113,  118,  105,
+      106,  120,  128,  107,  109,  121,  111,   94,  110,  112,
+      123,  124,   95,  113,  114,  125,  115,  116,  117,  111,
+      126,  113,  130,  118,  131,   94,  120,  128,  132,  121,
+       95,  111,  133,  134,  123,  124,  134,  135,  136,  125,
+      137,  138,  139,  111,  126,  140,  130,  141,  142,  131,
+      144,  147,  132,  149,  147,  150,  133,  151,  152,    0,
+      134,  135,  136,  153,  158,  137,  138,  139,  159,  140,
+      160,  141,  142,  164,  163,  144,  165,  163,  149,  150,
+
+      166,  151,  167,  152,  134,  168,  169,  153,  158,  163,
+        0,  174,  159,  177,  175,  160,  178,  180,  164,  181,
+      182,  165,  184,  182,  185,  166,  187,  167,  186,  168,
+      169,  186,  188,  190,  163,  171,  174,  177,  171,  175,
+      178,  193,  180,  182,  181,  192,  184,  194,  192,  185,
+      187,  195,  196,  198,  197,  199,  188,  197,  190,  206,
+      171,  200,  171,  207,  200,  192,  193,  171,  182,  200,
+      171,  194,    0,  208,  201,  195,  196,  201,  198,  199,
+        0,  210,  201,  206,  171,  202,  171,  207,  202,  201,
+      192,  171,  203,  202,  171,  203,  204,  208,  211,  204,
+
+      203,  214,  216,  217,  204,  210,  215,  218,  219,  215,
+      218,  204,  220,  238,  201,  221,  222,    0,  218,  202,
+      228,  229,  203,  211,  229,  214,  215,  216,  217,  229,
+      227,  241,  219,  227,  241,  228,  204,  220,  238,  221,
+      222,  230,  234,  202,  230,  228,  203,    0,  227,  230,
+      235,  215,  224,  229,  231,  224,  236,  231,  227,  228,
+        0,  239,  231,  227,  240,  243,  234,  230,  232,  224,
+      244,  232,  224,  227,  235,  245,  232,  229,  246,  247,
+      236,  224,  227,  249,  224,  231,  239,  227,  248,  240,
+      243,  230,  250,  232,  224,  244,  252,  224,  251,  245,
+
+      253,  251,  246,  247,  254,  224,    0,  249,  224,  231,
+      259,  255,  256,  248,  255,  256,  250,  232,  264,  255,
+      256,  252,  267,  268,  257,  253,  251,  257,  256,  254,
+      258,  271,  257,  258,  259,  272,  273,  276,  258,  274,
+      276,  275,  264,  277,  255,    0,  267,  268,  278,    0,
+      251,  278,  283,  256,  285,  271,  278,  257,  287,  288,
+      272,  273,  289,  274,  258,  275,  279,  277,  255,  279,
+      280,  290,  281,  280,  279,  281,  283,  291,  280,  285,
+      281,  257,  287,  293,  288,  279,  289,  292,  258,  294,
+      292,  281,  294,  295,  300,  290,  295,  296,  302,    0,
+
+      296,  295,  291,  297,  301,    0,  297,  294,  293,  301,
+      279,  297,    0,    0,    0,  296,  281,  294,  307,  300,
+        0,  307,  294,  302,  295,  296,  313,    0,  308,  301,
+      296,  308,  294,  301,  310,  309,  311,  310,  309,  311,
+      296,  294,  312,  308,  311,  312,  294,  318,  295,  296,
+      316,  313,  317,  314,  296,  309,  314,  310,  320,  321,
+      329,  322,  321,  320,  322,  327,  325,  330,  308,  325,
+      312,  314,  318,  331,  316,  323,  317,  332,  323,  337,
+      309,  314,  310,  320,  329,  324,  314,  320,  324,  341,
+      327,  330,  321,    0,  312,  326,  314,  331,  326,    0,
+
+        0,  323,  332,  324,  337,  314,  334,    0,  333,  334,
+      314,  333,  335,  324,  341,  335,  321,  336,  324,  338,
+      336,  339,  338,  326,  339,  323,  345,  333,  324,  334,
+      342,  335,  343,  342,  334,  343,  344,  324,  346,  344,
+      347,  348,  324,  347,  348,  336,  349,  326,  352,  349,
+      345,  352,  333,  358,  334,  359,  335,  353,  334,  354,
+      353,  355,  354,  346,  355,  356,    0,    0,  357,  336,
+      356,  357,  355,  360,    0,  361,  360,  358,  361,  357,
+      359,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+      356,    0,    0,    0,  356,    0,    0,    0,  354,    0,
+
+      355,    0,    0,    0,    0,    0,    0,  357,  364,  364,
+        0,  364,  364,  364,  365,  365,  366,  366,  366,  367,
+      367,  367,  368,  368,    0,  368,  368,  368,  369,    0,
+        0,  369,  369,  370,    0,    0,  370,  371,  371,  371,
+      372,    0,  372,  372,  372,  373,    0,    0,  373,  373,
+      374,  374,  374,  375,  375,  375,  376,    0,    0,  376,
+      376,  377,    0,    0,  377,  378,  378,  378,  379,    0,
+        0,  379,  379,  380,    0,  380,  380,  380,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
 
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
-      363,  363,  363,  363,  363,  363,  363,  363,  363
+      363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
+      363,  363,  363,  363
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -874,7 +876,7 @@ static int checkImmediate(int token) {
 	return token;
 }
 
-#line 878 "engines/director/lingo/lingo-lex.cpp"
+#line 880 "engines/director/lingo/lingo-lex.cpp"
 
 #define INITIAL 0
 
@@ -1060,7 +1062,7 @@ YY_DECL
 #line 92 "engines/director/lingo/lingo-lex.l"
 
 
-#line 1064 "engines/director/lingo/lingo-lex.cpp"
+#line 1066 "engines/director/lingo/lingo-lex.cpp"
 
 	if ( !(yy_init) )
 		{
@@ -1261,51 +1263,46 @@ YY_RULE_SETUP
 case 21:
 YY_RULE_SETUP
 #line 133 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGO; }
+{ count(); return tINSTANCE; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
 #line 134 "engines/director/lingo/lingo-lex.l"
-{ count(); return tINSTANCE; }
+{ count(); return tINTERSECTS; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
 #line 135 "engines/director/lingo/lingo-lex.l"
-{ count(); return tINTERSECTS; }
+{ count(); return tINTO; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 136 "engines/director/lingo/lingo-lex.l"
-{ count(); return tINTO; }
+{ count(); return tIN; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
 #line 137 "engines/director/lingo/lingo-lex.l"
-{ count(); return tIN; }
+{ count(); return tITEM; }
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
 #line 138 "engines/director/lingo/lingo-lex.l"
-{ count(); return tITEM; }
+{ count(); return tLINE; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
 #line 139 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLINE; }
+{ count(); return checkImmediate(tLOOP); }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
 #line 140 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tLOOP); }
+{ count(); return tMACRO; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
 #line 141 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMACRO; }
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 142 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1318,45 +1315,50 @@ YY_RULE_SETUP
 		return tMETHOD;
 	}
 	YY_BREAK
+case 30:
+YY_RULE_SETUP
+#line 152 "engines/director/lingo/lingo-lex.l"
+{ count(); return tMOD; }
+	YY_BREAK
 case 31:
 YY_RULE_SETUP
 #line 153 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMOD; }
+{ count(); return tMOVIE; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
 #line 154 "engines/director/lingo/lingo-lex.l"
-{ count(); return tMOVIE; }
+{ count(); return tNEXT; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
 #line 155 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEXT; }
+{ count(); return tNOT; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
 #line 156 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNOT; }
+{ count(); return tOF; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
 #line 157 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOF; }
+{ count(); return tON; }		// D3
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
 #line 158 "engines/director/lingo/lingo-lex.l"
-{ count(); return tON; }		// D3
+{ count(); return tOPEN; }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
 #line 159 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOPEN; }
+{ count(); return tOR; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
 #line 160 "engines/director/lingo/lingo-lex.l"
-{ count(); return tOR; }
+{ count(); return tPLAY; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
@@ -1366,41 +1368,36 @@ YY_RULE_SETUP
 case 40:
 YY_RULE_SETUP
 #line 162 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPLAY; }
+{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
 #line 163 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
+{ count(); return tPREVIOUS; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
 #line 164 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPREVIOUS; }
+{ count(); return tPROPERTY; }	// D4
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
 #line 165 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPROPERTY; }	// D4
+{ count(); return tPUT; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
 #line 166 "engines/director/lingo/lingo-lex.l"
-{ count(); return tPUT; }
+{ count(); return checkImmediate(tREPEAT); }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
 #line 167 "engines/director/lingo/lingo-lex.l"
-{ count(); return checkImmediate(tREPEAT); }
+{ count(); return tSET; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
 #line 168 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSET; }
-	YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 169 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1419,19 +1416,19 @@ YY_RULE_SETUP
 		}
 	}
 	YY_BREAK
-case 48:
+case 47:
 YY_RULE_SETUP
-#line 186 "engines/director/lingo/lingo-lex.l"
+#line 185 "engines/director/lingo/lingo-lex.l"
 { count(); return tSTARTS; }
 	YY_BREAK
-case 49:
+case 48:
 YY_RULE_SETUP
-#line 187 "engines/director/lingo/lingo-lex.l"
+#line 186 "engines/director/lingo/lingo-lex.l"
 { count(); return tTELL; }
 	YY_BREAK
-case 50:
+case 49:
 YY_RULE_SETUP
-#line 188 "engines/director/lingo/lingo-lex.l"
+#line 187 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1441,9 +1438,9 @@ YY_RULE_SETUP
 		return THEENTITYWITHID;
 	}
 	YY_BREAK
-case 51:
+case 50:
 YY_RULE_SETUP
-#line 196 "engines/director/lingo/lingo-lex.l"
+#line 195 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1452,9 +1449,9 @@ YY_RULE_SETUP
 		return FBLTIN;
 	}
 	YY_BREAK
-case 52:
+case 51:
 YY_RULE_SETUP
-#line 203 "engines/director/lingo/lingo-lex.l"
+#line 202 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1491,9 +1488,9 @@ YY_RULE_SETUP
 		}
 	}
 	YY_BREAK
-case 53:
+case 52:
 YY_RULE_SETUP
-#line 238 "engines/director/lingo/lingo-lex.l"
+#line 237 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1517,9 +1514,9 @@ YY_RULE_SETUP
 		}
 	}
 	YY_BREAK
-case 54:
+case 53:
 YY_RULE_SETUP
-#line 260 "engines/director/lingo/lingo-lex.l"
+#line 259 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1584,9 +1581,9 @@ YY_RULE_SETUP
 		warning("LEXER: Unhandled the entity '%s', field '%s'", ptr, field.c_str());
 	}
 	YY_BREAK
-case 55:
+case 54:
 YY_RULE_SETUP
-#line 323 "engines/director/lingo/lingo-lex.l"
+#line 322 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1622,9 +1619,9 @@ YY_RULE_SETUP
 			return THEENTITY;
 	}
 	YY_BREAK
-case 56:
+case 55:
 YY_RULE_SETUP
-#line 357 "engines/director/lingo/lingo-lex.l"
+#line 356 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1645,74 +1642,74 @@ YY_RULE_SETUP
 		warning("LEXER: Unhandled the entity '%s'", ptr);
 	}
 	YY_BREAK
+case 56:
+YY_RULE_SETUP
+#line 375 "engines/director/lingo/lingo-lex.l"
+{ count(); return tTHEN; }
+	YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 376 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTHEN; }
+{ count(); return tTO; }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
 #line 377 "engines/director/lingo/lingo-lex.l"
-{ count(); return tTO; }
+{ count(); return tSPRITE; }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
 #line 378 "engines/director/lingo/lingo-lex.l"
-{ count(); return tSPRITE; }
+{ count(); return tWITH; }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
 #line 379 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITH; }
+{ count(); return tWITHIN; }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
 #line 380 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWITHIN; }
+{ count(); return tWHEN; }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
 #line 381 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHEN; }
+{ count(); return tWHILE; }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
 #line 382 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWHILE; }
+{ count(); return tWORD; }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 383 "engines/director/lingo/lingo-lex.l"
-{ count(); return tWORD; }
+#line 384 "engines/director/lingo/lingo-lex.l"
+{ count(); return tNEQ; }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 385 "engines/director/lingo/lingo-lex.l"
-{ count(); return tNEQ; }
+{ count(); return tGE; }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
 #line 386 "engines/director/lingo/lingo-lex.l"
-{ count(); return tGE; }
+{ count(); return tLE; }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
 #line 387 "engines/director/lingo/lingo-lex.l"
-{ count(); return tLE; }
+{ count(); return tCONCAT; }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
 #line 388 "engines/director/lingo/lingo-lex.l"
-{ count(); return tCONCAT; }
-	YY_BREAK
-case 69:
-YY_RULE_SETUP
-#line 389 "engines/director/lingo/lingo-lex.l"
 { count(); return tEQ; }
 	YY_BREAK
-case 70:
+case 69:
 YY_RULE_SETUP
-#line 391 "engines/director/lingo/lingo-lex.l"
+#line 390 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 		yylval.s = new Common::String(yytext);
@@ -1748,43 +1745,43 @@ YY_RULE_SETUP
 		return ID;
 	}
 	YY_BREAK
+case 70:
+YY_RULE_SETUP
+#line 424 "engines/director/lingo/lingo-lex.l"
+{ count(); yylval.f = atof(yytext); return FLOAT; }
+	YY_BREAK
 case 71:
 YY_RULE_SETUP
 #line 425 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.f = atof(yytext); return FLOAT; }
+{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 426 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
+{ count(); return *yytext; }
 	YY_BREAK
 case 73:
+/* rule 73 can match eol */
 YY_RULE_SETUP
 #line 427 "engines/director/lingo/lingo-lex.l"
-{ count(); return *yytext; }
+{ count(); return '\n'; }
 	YY_BREAK
 case 74:
-/* rule 74 can match eol */
 YY_RULE_SETUP
 #line 428 "engines/director/lingo/lingo-lex.l"
-{ count(); return '\n'; }
+{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
 #line 429 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
-	YY_BREAK
-case 76:
-YY_RULE_SETUP
-#line 430 "engines/director/lingo/lingo-lex.l"
 { count(); }
 	YY_BREAK
-case 77:
+case 76:
 YY_RULE_SETUP
-#line 432 "engines/director/lingo/lingo-lex.l"
+#line 431 "engines/director/lingo/lingo-lex.l"
 ECHO;
 	YY_BREAK
-#line 1788 "engines/director/lingo/lingo-lex.cpp"
+#line 1785 "engines/director/lingo/lingo-lex.cpp"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -2744,7 +2741,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 432 "engines/director/lingo/lingo-lex.l"
+#line 431 "engines/director/lingo/lingo-lex.l"
 
 
 
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 5f63a93473..4ee35f41a0 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -128,9 +128,8 @@ end([ \t]+{identifier})?	{
 ^[ \t]*factory { count(); return tFACTORY; }
 exit		{ count(); return tEXIT; }
 global		{ count(); return tGLOBAL; }
-go[ \t]+to[ \t]+frame	{ count(); return tGO; }
-go[ \t]+to	{ count(); return tGO; }
-go			{ count(); return tGO; }
+go[ \t]+(to[ \t]+)?frame	{ count(); return tGO; }
+go[ \t]+(to)?	{ count(); return tGO; }
 instance	{ count(); return tINSTANCE; }
 intersects	{ count(); return tINTERSECTS; }
 into		{ count(); return tINTO; }
diff --git a/engines/director/lingo/tests/goto.lingo b/engines/director/lingo/tests/goto.lingo
index ae7b2240bd..ccf0ad07da 100644
--- a/engines/director/lingo/tests/goto.lingo
+++ b/engines/director/lingo/tests/goto.lingo
@@ -12,8 +12,8 @@ go "label two"
 go to movie "Chicago"
 go to frame 23 of movie "Chicago"
 go to frame "main loop" of movie "Basic With"
-play frame varFrame of movie varMovie
 go to marker(1)
+go frame "dissolve" of movie "captain's table"
 
 play frame 37
 play frame "label one"




More information about the Scummvm-git-logs mailing list