[Scummvm-git-logs] scummvm master -> d8a3e6573ae48b6998538959fd4b55170b1f2785

sev- sev at scummvm.org
Sat Jan 18 12:29:14 UTC 2020


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

Summary:
d8a3e6573a DIRECTOR: LINGO: Added parsing and stub for 'next repeat' construct


Commit: d8a3e6573ae48b6998538959fd4b55170b1f2785
    https://github.com/scummvm/scummvm/commit/d8a3e6573ae48b6998538959fd4b55170b1f2785
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-18T13:28:36+01:00

Commit Message:
DIRECTOR: LINGO: Added parsing and stub for 'next repeat' construct

Changed paths:
    engines/director/lingo/lingo-code.cpp
    engines/director/lingo/lingo-code.h
    engines/director/lingo/lingo-gr.cpp
    engines/director/lingo/lingo-gr.y


diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 0cd0c56..f0a1a05 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1030,11 +1030,15 @@ void LC::c_repeatwithcode(void) {
 		g_lingo->_pc = end + savepc - 1; /* next stmt */
 }
 
+void LC::c_nextRepeat(void) {
+	warning("STUB: c_nextRepeat");
+}
+
 void LC::c_exitRepeat(void) {
 	g_lingo->_exitRepeat = true;
 }
 
-void LC::c_ifcode() {
+void LC::c_ifcode(void) {
 	Datum d;
 	int savepc = g_lingo->_pc;	/* then part */
 
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index 654f7bd..15c74b6 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -85,6 +85,7 @@ namespace LC {
 
 	void c_repeatwhilecode();
 	void c_repeatwithcode();
+	void c_nextRepeat();
 	void c_ifcode();
 	void c_whencode();
 	void c_tellcode();
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 6566b0a..3a5dc58 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -565,18 +565,18 @@ union yyalloc
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  125
+#define YYFINAL  127
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1594
+#define YYLAST   1604
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  99
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  50
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  168
+#define YYNRULES  169
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  360
+#define YYNSTATES  362
 
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   338
@@ -634,20 +634,20 @@ static const yytype_int16 yyrline[] =
        0,   135,   135,   136,   137,   139,   140,   141,   143,   149,
      152,   153,   154,   160,   167,   173,   180,   186,   193,   203,
      210,   211,   212,   214,   215,   216,   217,   219,   220,   225,
-     236,   253,   265,   270,   274,   279,   283,   293,   304,   305,
-     307,   314,   324,   335,   337,   343,   349,   356,   358,   360,
-     361,   362,   364,   370,   373,   376,   380,   384,   388,   390,
-     391,   392,   395,   398,   401,   409,   415,   420,   421,   422,
-     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
-     433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
-     443,   445,   446,   447,   448,   449,   450,   451,   452,   454,
-     457,   459,   460,   461,   462,   463,   464,   464,   465,   466,
-     467,   470,   473,   474,   476,   480,   485,   489,   494,   498,
-     510,   511,   512,   513,   517,   521,   526,   527,   529,   530,
-     534,   538,   542,   542,   572,   572,   572,   579,   580,   580,
-     587,   597,   605,   605,   607,   608,   609,   610,   612,   613,
-     614,   616,   618,   626,   627,   628,   630,   631,   633,   635,
-     636,   637,   638,   640,   641,   643,   644,   646,   650
+     236,   253,   265,   268,   273,   277,   282,   286,   296,   307,
+     308,   310,   317,   327,   338,   340,   346,   352,   359,   361,
+     363,   364,   365,   367,   373,   376,   379,   383,   387,   391,
+     393,   394,   395,   398,   401,   404,   412,   418,   423,   424,
+     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
+     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
+     445,   446,   448,   449,   450,   451,   452,   453,   454,   455,
+     457,   460,   462,   463,   464,   465,   466,   467,   467,   468,
+     469,   470,   473,   476,   477,   479,   483,   488,   492,   497,
+     501,   513,   514,   515,   516,   520,   524,   529,   530,   532,
+     533,   537,   541,   545,   545,   575,   575,   575,   582,   583,
+     583,   590,   600,   608,   608,   610,   611,   612,   613,   615,
+     616,   617,   619,   621,   629,   630,   631,   633,   634,   636,
+     638,   639,   640,   641,   643,   644,   646,   647,   649,   653
 };
 #endif
 
@@ -700,7 +700,7 @@ static const yytype_int16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF (-267)
+#define YYPACT_NINF (-263)
 
 #define yypact_value_is_default(Yyn) \
   ((Yyn) == YYPACT_NINF)
@@ -714,42 +714,43 @@ static const yytype_int16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     330,   -82,  -267,  -267,   199,  -267,   919,   952,    30,  1031,
-    -267,  -267,  -267,  -267,  -267,   -30,  -267,   804,  -267,  -267,
-     199,    40,   176,     9,    39,   199,   840,    41,   199,   199,
-     199,   199,   199,   199,   199,    54,  -267,   199,   199,   199,
-      62,     7,  -267,  -267,  -267,  -267,  -267,   199,   -37,   199,
-     646,  -267,  1491,  -267,  -267,  -267,  -267,  -267,  -267,  -267,
-    -267,  -267,  -267,    -7,   199,  1491,   199,  1491,   -12,   199,
-     -12,  -267,  -267,   199,  1491,     0,   199,  -267,  -267,    79,
-    -267,   199,  -267,    65,  -267,  1070,  -267,    88,  1004,    93,
-    -267,    -1,    30,    30,     6,    77,    80,  -267,  1408,  -267,
-    1070,  -267,  -267,    36,  -267,  1103,  1136,  1169,  1202,  1458,
-    1367,  -267,    58,   127,  -267,  -267,  1421,    57,    61,  -267,
-    -267,    59,    66,    69,  -267,  -267,   409,  1491,   199,  1491,
-    -267,  -267,   199,  1491,  -267,  -267,   199,   199,   199,   199,
-     199,   199,   199,   199,   199,   199,   199,   199,   199,   199,
-     199,   199,   199,   143,   199,  1004,  1421,     3,   199,    23,
-      27,   199,   -12,   143,  -267,    71,  1491,   199,  -267,  -267,
-      35,   199,   199,  -267,   199,   199,    10,   130,   199,   199,
-     199,  -267,   199,  -267,   147,   199,   199,   199,   199,   199,
-     199,   199,   199,   199,   199,  -267,  -267,   151,  -267,  -267,
-      30,    30,  -267,    30,    13,  -267,  -267,  1491,   132,  -267,
-    1491,   144,   144,   144,   144,  1504,  1504,  -267,    24,   144,
-     144,   144,   144,    24,    14,    14,  -267,  -267,  -267,   -75,
-    -267,  1491,  -267,  -267,  1491,   -55,   155,  1491,  -267,  -267,
-    -267,  1491,  1491,  1491,   144,   199,   199,   158,  1491,   144,
-    1491,  1491,  -267,  1491,  1235,  1491,  1268,  1491,  1301,  1491,
-    1334,  1491,  1491,   725,  -267,  -267,  -267,  -267,  -267,    57,
-      61,  -267,   567,     2,  -267,   148,    99,   174,    99,  -267,
-     143,  1491,   144,    30,   199,   199,   199,   199,  -267,   567,
-    -267,  -267,   117,   159,   199,   567,   725,   181,  -267,  -267,
-    -267,   -24,   160,  1491,  1491,  1491,  1491,  -267,   123,  -267,
-     199,  1491,  -267,  -267,  -267,   488,   567,    99,   199,  -267,
-    1491,  -267,   120,   -17,   188,  -267,  1491,  -267,   567,  -267,
-    -267,  -267,   199,   135,  -267,  -267,  -267,   118,   567,   567,
-     136,  -267,  1491,  -267,   725,   201,   145,  -267,   567,   178,
-    -267,  -267,  -267,   154,  -267,   156,  -267,   567,  -267,  -267
+     278,   -71,  -263,  -263,   867,  -263,   900,   979,    62,  1012,
+    -263,  -263,  -263,  -263,  -263,     0,  -263,   752,  -263,  -263,
+      19,   867,    68,    85,    16,    29,   867,   788,    50,   867,
+     867,   867,   867,   867,   867,   867,    76,  -263,   867,   867,
+     867,    31,     7,  -263,  -263,  -263,  -263,  -263,   867,    43,
+     867,   594,  -263,  1501,  -263,  -263,  -263,  -263,  -263,  -263,
+    -263,  -263,  -263,  -263,   -26,   867,  1501,   867,  1501,    11,
+     867,    11,  -263,  -263,   867,  1501,    18,   867,  -263,  -263,
+     106,  -263,   867,  -263,    91,  -263,  1064,  -263,   111,  -263,
+    1051,   129,  -263,   -28,    62,    62,    21,   105,   107,  -263,
+    1418,  -263,  1064,  -263,  -263,    60,  -263,  1113,  1146,  1179,
+    1212,  1468,  1377,  -263,    66,   135,  -263,  -263,  1431,    64,
+      69,  -263,  -263,    63,    71,    73,  -263,  -263,   357,  1501,
+     867,  1501,  -263,  -263,   867,  1501,  -263,  -263,   867,   867,
+     867,   867,   867,   867,   867,   867,   867,   867,   867,   867,
+     867,   867,   867,   867,   867,   142,   867,  1051,  1431,   -84,
+     867,    27,    30,   867,    11,   142,  -263,    79,  1501,   867,
+    -263,  -263,    38,   867,   867,  -263,   867,   867,    45,   133,
+     867,   867,   867,  -263,   867,  -263,   149,   867,   867,   867,
+     867,   867,   867,   867,   867,   867,   867,  -263,  -263,   157,
+    -263,  -263,    62,    62,  -263,    62,    65,  -263,  -263,  1501,
+     134,  -263,  1501,   128,   128,   128,   128,  1514,  1514,  -263,
+     137,   128,   128,   128,   128,   137,    -7,    -7,  -263,  -263,
+    -263,   -40,  -263,  1501,  -263,  -263,  1501,   -27,   172,  1501,
+    -263,  -263,  -263,  1501,  1501,  1501,   128,   867,   867,   173,
+    1501,   128,  1501,  1501,  -263,  1501,  1245,  1501,  1278,  1501,
+    1311,  1501,  1344,  1501,  1501,   673,  -263,  -263,  -263,  -263,
+    -263,    64,    69,  -263,   515,   -11,  -263,   150,   112,   178,
+     112,  -263,   142,  1501,   128,    62,   867,   867,   867,   867,
+    -263,   515,  -263,  -263,   119,   160,   867,   515,   673,   187,
+    -263,  -263,  -263,     2,   162,  1501,  1501,  1501,  1501,  -263,
+     130,  -263,   867,  1501,  -263,  -263,  -263,   436,   515,   112,
+     867,  -263,  1501,  -263,    84,   -19,   189,  -263,  1501,  -263,
+     515,  -263,  -263,  -263,   867,   131,  -263,  -263,  -263,   124,
+     515,   515,   138,  -263,  1501,  -263,   673,   200,   146,  -263,
+     515,   182,  -263,  -263,  -263,   152,  -263,   153,  -263,   515,
+    -263,  -263
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -757,62 +758,63 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     0,    53,    64,     0,    54,   153,   153,     0,    57,
-      56,    55,   132,   138,    66,   105,   106,     0,    45,   134,
+       0,     0,    54,    65,     0,    55,   154,   154,     0,    58,
+      57,    56,   133,   139,    67,   106,   107,     0,    46,   135,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   142,     0,     0,     0,
-     159,     0,     3,    67,    27,     7,    28,     0,     0,     0,
-       0,    59,    21,   100,    60,    22,   102,   103,     6,    47,
-      20,    58,     4,    57,     0,    65,   153,   154,   111,   153,
-      62,    57,    99,   153,   156,   152,   153,    47,   104,     0,
-     120,     0,   121,     0,   122,   123,   125,     0,   101,     0,
-      43,     0,     0,     0,     0,     0,     0,   137,   113,   128,
-     129,   131,   118,   109,    81,     0,     0,     0,     0,     0,
-       0,   116,   108,     0,    86,    87,     0,    56,    55,   160,
-     163,     0,   161,   162,   165,     1,     5,    48,     0,    48,
-      48,    26,     0,    24,    25,    23,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   143,     0,     0,
+       0,   160,     0,     3,    68,    27,     7,    28,     0,     0,
+       0,     0,    60,    21,   101,    61,    22,   103,   104,     6,
+      48,    20,    59,     4,    58,     0,    66,   154,   155,   112,
+     154,    63,    58,   100,   154,   157,   153,   154,    48,   105,
+       0,   121,     0,   122,     0,   123,   124,   126,     0,    32,
+     102,     0,    44,     0,     0,     0,     0,     0,     0,   138,
+     114,   129,   130,   132,   119,   110,    82,     0,     0,     0,
+       0,     0,     0,   117,   109,     0,    87,    88,     0,    57,
+      56,   161,   164,     0,   162,   163,   166,     1,     5,    49,
+       0,    49,    49,    26,     0,    24,    25,    23,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   144,   153,     0,   154,     0,     0,     0,
-       0,     0,   133,   144,   114,   107,   127,     0,   124,   135,
-       0,     0,     0,    44,     0,     0,     0,     0,     0,     0,
-       0,    52,     0,   130,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    35,    35,     0,   143,    88,
-       0,     0,   158,     0,     0,     2,    49,    48,     0,    32,
-      48,    77,    78,    75,    76,    79,    80,    72,    83,    84,
-      85,    74,    73,    82,    68,    69,    70,    71,   145,     0,
-     110,   155,    61,    63,   157,     0,     0,   126,    47,     8,
-       9,    10,    11,    15,    13,     0,     0,     0,    14,    12,
-      19,   112,   119,    91,     0,    93,     0,    95,     0,    97,
-       0,    89,    90,     0,    49,   117,   168,   167,   164,     0,
-       0,   166,    48,     0,    49,     0,   151,     0,   151,   115,
-     144,    16,    17,     0,     0,     0,     0,     0,    48,    48,
-      50,    51,     0,     0,     0,    48,     0,     0,    49,   146,
-      49,     0,     0,    92,    94,    96,    98,    34,     0,    29,
-       0,    48,    38,    48,   147,   141,   139,   151,     0,    33,
-      48,    49,    48,     0,   148,    49,    18,    49,    48,    47,
-      46,    39,     0,     0,    47,    42,   149,   140,   136,    48,
-       0,    49,    48,    36,     0,     0,     0,    30,    48,     0,
-      48,   150,    31,     0,    49,     0,    37,    48,    41,    40
+       0,     0,     0,     0,     0,   145,   154,     0,   155,     0,
+       0,     0,     0,     0,   134,   145,   115,   108,   128,     0,
+     125,   136,     0,     0,     0,    45,     0,     0,     0,     0,
+       0,     0,     0,    53,     0,   131,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    36,    36,     0,
+     144,    89,     0,     0,   159,     0,     0,     2,    50,    49,
+       0,    33,    49,    78,    79,    76,    77,    80,    81,    73,
+      84,    85,    86,    75,    74,    83,    69,    70,    71,    72,
+     146,     0,   111,   156,    62,    64,   158,     0,     0,   127,
+      48,     8,     9,    10,    11,    15,    13,     0,     0,     0,
+      14,    12,    19,   113,   120,    92,     0,    94,     0,    96,
+       0,    98,     0,    90,    91,     0,    50,   118,   169,   168,
+     165,     0,     0,   167,    49,     0,    50,     0,   152,     0,
+     152,   116,   145,    16,    17,     0,     0,     0,     0,     0,
+      49,    49,    51,    52,     0,     0,     0,    49,     0,     0,
+      50,   147,    50,     0,     0,    93,    95,    97,    99,    35,
+       0,    29,     0,    49,    39,    49,   148,   142,   140,   152,
+       0,    34,    49,    50,    49,     0,   149,    50,    18,    50,
+      49,    48,    47,    40,     0,     0,    48,    43,   150,   141,
+     137,    49,     0,    50,    49,    37,     0,     0,     0,    30,
+      49,     0,    49,   151,    31,     0,    50,     0,    38,    49,
+      42,    41
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -267,  -267,   100,  -267,  -252,  -267,     4,    33,  -267,  -267,
-    -267,  -267,  -267,  -267,   186,  -267,   -76,   -10,  -225,  -267,
-       1,    -4,  -267,    68,   189,  -267,  -267,  -267,  -267,  -267,
-     -18,  -267,  -267,  -267,  -267,  -267,  -267,  -267,  -267,  -157,
-    -267,  -266,   190,    12,  -267,  -267,  -267,  -267,  -267,    42
+    -263,  -263,   103,  -263,  -257,  -263,     4,    37,  -263,  -263,
+    -263,  -263,  -263,  -263,   185,  -263,   -77,   -92,  -252,  -263,
+       1,    -4,  -263,    67,   186,  -263,  -263,  -263,  -263,  -263,
+       6,  -263,  -263,  -263,  -263,  -263,  -263,  -263,  -263,  -159,
+    -263,  -262,   190,     9,  -263,  -263,  -263,  -263,  -263,    34
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    41,    42,    43,    44,   130,   291,   263,    46,   322,
-     331,   131,    47,    48,    49,   332,   153,   206,   272,    50,
-      51,    52,    53,    54,    55,    79,   165,   112,   103,    56,
-      86,    57,    76,    58,    87,   238,    77,    59,   113,   229,
-     337,   298,    60,   160,    75,    61,   121,   122,   123,   124
+      -1,    42,    43,    44,    45,   132,   293,   265,    47,   324,
+     333,   133,    48,    49,    50,   334,   155,   208,   274,    51,
+      52,    53,    54,    55,    56,    80,   167,   114,   105,    57,
+      87,    58,    77,    59,    88,   240,    78,    60,   115,   231,
+     339,   300,    61,   162,    76,    62,   123,   124,   125,   126
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -820,261 +822,268 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      65,   163,    67,    67,    45,    74,   235,   125,   101,    72,
-      62,   288,   300,    85,   334,    78,    88,   276,    68,    70,
-     277,    98,   100,   128,   104,   105,   106,   107,   108,   109,
-     110,    96,   293,   114,   115,   116,   269,   278,   270,   289,
-     277,   120,     2,   127,   313,   129,   133,   174,     5,   295,
-     294,   325,    71,    10,   178,    11,     8,   239,   245,   175,
-     155,    97,   156,   102,   335,   156,   179,   168,   317,   156,
-     246,   277,    67,   315,     2,   316,   111,   166,   157,   142,
-       5,   159,   183,   158,    71,   117,   154,   118,   162,   142,
-      89,    90,   350,   176,   177,   161,   328,   230,   158,   126,
-     338,   164,   339,   151,   152,   167,    29,    30,    31,    32,
-     169,   149,   150,   151,   152,   173,   348,   232,   158,   208,
-     209,   233,   158,   301,   207,   180,    40,   181,   210,   357,
-      45,   184,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   198,
-      67,   329,   330,   197,   231,   200,   202,   234,    40,   201,
-     119,   203,   280,   237,   204,   228,   236,   241,   242,   252,
-     243,   244,   247,   265,   248,   249,   250,   279,   251,   274,
-     283,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,    91,    92,    93,   297,   296,   299,   273,    94,   309,
-     275,   266,   267,   314,   268,    95,   319,   310,   318,   142,
-     336,     2,   143,   345,     3,     4,   343,     5,   347,     7,
-       8,    63,    10,   351,    11,   354,   205,   352,    14,   264,
-     148,   149,   150,   151,   152,   356,   132,   358,   240,   134,
-     135,   281,   282,    64,     0,    22,   271,     0,     0,     0,
-       0,     0,     0,   341,     0,     0,     0,     0,   344,     0,
-       0,     0,   292,    28,     0,     0,     0,     0,     0,     0,
-      29,    30,    31,    32,    33,     0,     0,     0,   307,   308,
-     303,   304,   305,   306,   302,   312,    37,    38,     0,     0,
-     311,     0,    39,     0,     0,    40,     0,     0,     0,     0,
-       0,   321,     0,   323,     0,     0,   320,     0,     0,     0,
-     327,     0,   333,     0,   326,     0,     0,     0,   340,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   342,   346,
-      -5,     1,   349,     0,     0,     0,     0,     0,   353,     0,
-     355,     0,     2,     0,     0,     3,     4,   359,     5,     6,
-       7,     8,     9,    10,     0,    11,     0,    12,    13,    14,
-       0,     0,     0,    15,    16,    17,    18,     0,     0,    19,
-       0,     0,     0,     0,    20,    21,    22,     0,     0,    23,
-       0,     0,     0,    24,    25,    26,     0,    27,     0,     0,
-       0,     0,     0,     0,    28,     0,     0,     0,     0,     0,
-       0,    29,    30,    31,    32,    33,     0,     0,    34,    35,
-      36,     0,     0,     0,     0,     0,     0,    37,    38,     0,
-       0,     2,    -5,    39,     3,     4,    40,     5,     6,     7,
-       8,     9,    10,     0,    11,     0,    12,    13,    14,     0,
-       0,     0,    15,    16,    17,    18,     0,     0,    19,     0,
-       0,     0,     0,    20,    21,    22,     0,     0,    23,     0,
-       0,     0,    24,    25,    26,     0,    27,     0,     0,     0,
-       0,     0,     0,    28,     0,     0,     0,     0,     0,     0,
-      29,    30,    31,    32,    33,     0,     0,    34,    35,    36,
-       0,     0,     0,     0,     0,     0,    37,    38,     0,     0,
-       2,     0,    39,     3,     4,    40,     5,     6,     7,     8,
-       9,    10,     0,    11,   324,    12,     0,    14,     0,     0,
-       0,    15,    16,    17,    18,     0,     0,     0,     0,     0,
-       0,     0,    20,    21,    22,     0,     0,    23,     0,     0,
-       0,     0,    25,    26,     0,    27,     0,     0,     0,     0,
-       0,     0,    28,     0,     0,     0,     0,     0,     0,    29,
-      30,    31,    32,    33,     0,     0,    34,    35,     0,     0,
-       0,     0,     0,     0,     0,    37,    38,     0,     0,     2,
-     290,    39,     3,     4,    40,     5,     6,     7,     8,     9,
-      10,     0,    11,     0,    12,     0,    14,     0,     0,     0,
-      15,    16,    17,    18,     0,     0,     0,     0,     0,     0,
-       0,    20,    21,    22,     0,     0,    23,     0,     0,     0,
-       0,    25,    26,     0,    27,     0,     0,     0,     0,     0,
-       0,    28,     0,     0,     0,     0,     0,     0,    29,    30,
-      31,    32,    33,     0,     0,    34,    35,     0,     0,     0,
-       0,     0,     0,     0,    37,    38,     0,     0,     2,   290,
-      39,     3,     4,    40,     5,     6,     7,     8,     9,    10,
-       0,    11,     0,    12,     0,    14,     0,     0,     0,    15,
-      16,    17,    18,     0,     0,     0,     0,     0,     0,     0,
-      20,     0,    22,     0,     0,     0,     0,     0,     0,     0,
-      25,    26,     0,    27,     0,     0,     0,     0,     0,     0,
-      28,     0,     0,     0,     0,     0,     0,    29,    30,    31,
-      32,    33,     0,     0,     0,    35,     0,     0,     0,     0,
-       0,     0,     0,    37,    38,     0,     0,     2,     0,    39,
-       3,     4,    40,     5,     6,     7,     8,     9,    10,     0,
+      66,   165,    68,    68,    46,    75,   237,   127,   290,    73,
+     232,   160,   336,    86,   291,    69,    71,    90,   302,   295,
+     176,    63,   100,   102,   297,   106,   107,   108,   109,   110,
+     111,   112,   177,   103,   116,   117,   118,   296,    98,   210,
+     211,   315,   122,     2,   129,    79,   131,   135,   317,     5,
+     318,    99,   278,    72,   119,   279,   120,   327,   144,     8,
+     241,   157,   337,   158,    89,   280,   158,   156,   279,   180,
+     158,   330,   104,    68,     2,   340,   159,   341,   168,   161,
+       5,   181,   153,   154,    72,    10,   164,    11,   271,   352,
+     272,   350,   170,   247,   319,   178,   179,   279,   113,   128,
+      93,    94,    95,   130,   359,   248,   160,    96,   185,    30,
+      31,    32,    33,   163,    97,   331,   332,   275,    91,    92,
+     277,   234,   160,   303,   235,   160,   209,    41,   166,   121,
+     212,   169,    46,   171,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   175,    68,   182,   183,   186,   233,   200,    41,   236,
+     204,   199,   202,   282,   230,   239,   205,   203,   206,   243,
+     244,   254,   245,   246,   238,   249,   250,   251,   252,   267,
+     253,   276,   294,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   144,   281,   285,   145,   298,   309,   310,
+     301,   311,   144,   268,   269,   314,   270,   299,   312,   316,
+     320,   338,   345,   321,   150,   151,   152,   153,   154,   347,
+     349,   323,   353,   325,   151,   152,   153,   154,   354,   356,
+     329,   207,   335,   358,   360,   266,   134,   136,   342,   242,
+     273,   137,     0,   283,   284,     0,     0,     0,     0,   348,
+       0,     0,   351,     0,   343,     0,     0,     0,   355,   346,
+     357,     0,     0,     0,     0,     0,     0,   361,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    -5,     1,
+       0,     0,   305,   306,   307,   308,   304,     0,     0,     0,
+       2,     0,   313,     3,     4,     0,     5,     6,     7,     8,
+       9,    10,     0,    11,     0,    12,    13,    14,   322,     0,
+       0,    15,    16,    17,    18,     0,   328,    19,     0,    20,
+       0,     0,    21,    22,    23,     0,     0,    24,     0,     0,
+     344,    25,    26,    27,     0,    28,     0,     0,     0,     0,
+       0,     0,    29,     0,     0,     0,     0,     0,     0,    30,
+      31,    32,    33,    34,     0,     0,    35,    36,    37,     0,
+       0,     0,     0,     0,     0,    38,    39,     0,     0,     2,
+      -5,    40,     3,     4,    41,     5,     6,     7,     8,     9,
+      10,     0,    11,     0,    12,    13,    14,     0,     0,     0,
+      15,    16,    17,    18,     0,     0,    19,     0,    20,     0,
+       0,    21,    22,    23,     0,     0,    24,     0,     0,     0,
+      25,    26,    27,     0,    28,     0,     0,     0,     0,     0,
+       0,    29,     0,     0,     0,     0,     0,     0,    30,    31,
+      32,    33,    34,     0,     0,    35,    36,    37,     0,     0,
+       0,     0,     0,     0,    38,    39,     0,     0,     2,     0,
+      40,     3,     4,    41,     5,     6,     7,     8,     9,    10,
+       0,    11,   326,    12,     0,    14,     0,     0,     0,    15,
+      16,    17,    18,     0,     0,     0,     0,    20,     0,     0,
+      21,    22,    23,     0,     0,    24,     0,     0,     0,     0,
+      26,    27,     0,    28,     0,     0,     0,     0,     0,     0,
+      29,     0,     0,     0,     0,     0,     0,    30,    31,    32,
+      33,    34,     0,     0,    35,    36,     0,     0,     0,     0,
+       0,     0,     0,    38,    39,     0,     0,     2,   292,    40,
+       3,     4,    41,     5,     6,     7,     8,     9,    10,     0,
       11,     0,    12,     0,    14,     0,     0,     0,    15,    16,
-      17,     0,     0,     0,     0,     0,     0,     0,     0,    20,
-       0,    22,     0,     0,     0,     0,     0,     0,     0,    25,
-      26,     0,    27,     0,     0,     0,     0,     0,     0,    28,
-       0,     0,     0,     0,     0,     0,    29,    30,    31,    32,
-      33,     0,     0,     0,    35,     0,     0,     0,     0,     0,
-       0,     0,    37,    38,     0,     0,     2,     0,    39,     3,
-       4,    40,     5,     0,     7,     8,    63,    10,     0,    11,
-       0,     0,     0,    14,     0,     0,     0,     0,     0,     0,
-       0,     0,    80,     0,    81,    82,    83,    84,    64,     0,
-      22,     0,     2,     0,     0,     3,     4,     0,     5,     0,
-       7,     8,    63,    10,     0,    11,     0,     0,    28,    14,
-       0,     0,     0,     0,     0,    29,    30,    31,    32,    33,
-      81,     0,    83,     0,    64,     0,    22,     0,     0,     0,
-       0,    37,    38,     0,     0,     0,    99,    39,     0,     0,
-      40,     0,     0,     0,    28,     0,     0,     0,     0,     0,
-       0,    29,    30,    31,    32,    33,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    37,    38,     0,
-       0,     2,     0,    39,     3,     4,    40,     5,     0,     7,
-       8,    63,    10,     0,    11,     0,     0,     0,    14,     0,
+      17,    18,     0,     0,     0,     0,    20,     0,     0,    21,
+      22,    23,     0,     0,    24,     0,     0,     0,     0,    26,
+      27,     0,    28,     0,     0,     0,     0,     0,     0,    29,
+       0,     0,     0,     0,     0,     0,    30,    31,    32,    33,
+      34,     0,     0,    35,    36,     0,     0,     0,     0,     0,
+       0,     0,    38,    39,     0,     0,     2,   292,    40,     3,
+       4,    41,     5,     6,     7,     8,     9,    10,     0,    11,
+       0,    12,     0,    14,     0,     0,     0,    15,    16,    17,
+      18,     0,     0,     0,     0,     0,     0,     0,    21,     0,
+      23,     0,     0,     0,     0,     0,     0,     0,    26,    27,
+       0,    28,     0,     0,     0,     0,     0,     0,    29,     0,
+       0,     0,     0,     0,     0,    30,    31,    32,    33,    34,
+       0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
+       0,    38,    39,     0,     0,     2,     0,    40,     3,     4,
+      41,     5,     6,     7,     8,     9,    10,     0,    11,     0,
+      12,     0,    14,     0,     0,     0,    15,    16,    17,     0,
+       0,     0,     0,     0,     0,     0,     0,    21,     0,    23,
+       0,     0,     0,     0,     0,     0,     0,    26,    27,     0,
+      28,     0,     0,     0,     0,     0,     0,    29,     0,     0,
+       0,     0,     0,     0,    30,    31,    32,    33,    34,     0,
+       0,     0,    36,     0,     0,     0,     0,     0,     0,     0,
+      38,    39,     0,     0,     2,     0,    40,     3,     4,    41,
+       5,     0,     7,     8,    64,    10,     0,    11,     0,     0,
+       0,    14,     0,     0,     0,     0,     0,     0,     0,     0,
+      81,     0,    82,    83,    84,    85,    65,     0,    23,     0,
+       2,     0,     0,     3,     4,     0,     5,     0,     7,     8,
+      64,    10,     0,    11,     0,     0,    29,    14,     0,     0,
+       0,     0,     0,    30,    31,    32,    33,    34,    82,     0,
+      84,     0,    65,     0,    23,     0,     0,     0,     0,    38,
+      39,     0,     0,     0,   101,    40,     0,     0,    41,     0,
+       0,     0,    29,     0,     0,     0,     0,     0,     0,    30,
+      31,    32,    33,    34,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    38,    39,     0,     0,     2,
+       0,    40,     3,     4,    41,     5,     0,     7,     8,    64,
+      10,     0,    11,     0,     0,     0,    14,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    64,     2,    22,     0,     3,     4,     0,
-       5,     0,     7,     8,    63,    10,     0,    11,     0,     0,
-       0,    14,     0,    28,     0,     0,     0,     0,     0,     0,
-      29,    30,    31,    32,    33,     0,    64,     0,    22,     0,
-       0,     0,     0,     0,     0,     0,    37,    38,     0,     0,
-       0,     0,    66,     0,     0,    40,    28,     0,     0,     0,
-       0,     0,     0,    29,    30,    31,    32,    33,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
-      38,   170,     0,     2,     0,    69,     3,     4,    40,     5,
-       0,     7,     8,    63,    10,     0,    11,     0,     0,     0,
-      14,     0,   136,   137,   138,   139,   140,   141,     0,   142,
-     171,   172,   143,   144,   145,    64,     0,    22,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   146,   147,
-     148,   149,   150,   151,   152,    28,     0,     0,     0,     0,
-       0,     0,    29,    30,    31,    32,    33,     0,     0,     0,
-      81,     0,    83,     0,     0,     0,     0,     0,    37,    38,
-       0,     0,     0,     0,    73,     0,     0,    40,   136,   137,
-     138,   139,   140,   141,     0,   142,     0,     0,   143,   144,
-     145,     0,     0,     0,     0,   185,     0,     0,     0,     0,
-       0,   186,     0,     0,   146,   147,   148,   149,   150,   151,
-     152,   136,   137,   138,   139,   140,   141,     0,   142,     0,
-       0,   143,   144,   145,     0,     0,     0,     0,   187,     0,
-       0,     0,     0,     0,   188,     0,     0,   146,   147,   148,
-     149,   150,   151,   152,   136,   137,   138,   139,   140,   141,
-       0,   142,     0,     0,   143,   144,   145,     0,     0,     0,
-       0,   189,     0,     0,     0,     0,     0,   190,     0,     0,
-     146,   147,   148,   149,   150,   151,   152,   136,   137,   138,
-     139,   140,   141,     0,   142,     0,     0,   143,   144,   145,
-       0,     0,     0,     0,   191,     0,     0,     0,     0,     0,
-     192,     0,     0,   146,   147,   148,   149,   150,   151,   152,
-     136,   137,   138,   139,   140,   141,     0,   142,     0,     0,
-     143,   144,   145,     0,     0,     0,     0,   284,     0,     0,
-       0,     0,     0,     0,     0,     0,   146,   147,   148,   149,
-     150,   151,   152,   136,   137,   138,   139,   140,   141,     0,
-     142,     0,     0,   143,   144,   145,     0,     0,     0,     0,
-     285,     0,     0,     0,     0,     0,     0,     0,     0,   146,
-     147,   148,   149,   150,   151,   152,   136,   137,   138,   139,
-     140,   141,     0,   142,     0,     0,   143,   144,   145,     0,
-       0,     0,     0,   286,     0,     0,     0,     0,     0,     0,
-       0,     0,   146,   147,   148,   149,   150,   151,   152,   136,
-     137,   138,   139,   140,   141,     0,   142,     0,     0,   143,
-     144,   145,     0,     0,     0,     0,   287,     0,     0,     0,
-       0,     0,     0,     0,     0,   146,   147,   148,   149,   150,
-     151,   152,   136,   137,   138,   139,   140,   141,     0,   142,
-       0,     0,   143,   144,   145,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   195,     0,     0,   146,   147,
-     148,   149,   150,   151,   152,   136,   137,   138,   139,   140,
-     141,     0,   142,     0,     0,   143,   144,   145,     0,     0,
+       0,    65,     2,    23,     0,     3,     4,     0,     5,     0,
+       7,     8,    64,    10,     0,    11,     0,     0,     0,    14,
+       0,    29,     0,     0,     0,     0,     0,     0,    30,    31,
+      32,    33,    34,     0,    65,     0,    23,     0,     0,     0,
+       0,     0,     0,     0,    38,    39,     0,     0,     0,     0,
+      40,     0,     0,    41,    29,     0,     0,     0,     0,     0,
+       0,    30,    31,    32,    33,    34,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    38,    39,     0,
+       0,     2,     0,    67,     3,     4,    41,     5,     0,     7,
+       8,    64,    10,     0,    11,     0,     0,     0,    14,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   146,   147,   148,   149,   150,   151,   152,   182,   196,
-       0,     0,     0,     0,     0,     0,   136,   137,   138,   139,
-     140,   141,     0,   142,     0,     0,   143,   144,   145,   136,
-     137,   138,   139,   140,   141,     0,   142,     0,     0,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,     0,
-       0,     0,     0,     0,     0,   146,   147,   148,   149,   150,
-     151,   152,     0,     0,     0,   199,   136,   137,   138,   139,
-     140,   141,     0,   142,     0,     0,   143,   144,   145,     0,
-       0,     0,     0,     0,   193,   194,     0,     0,     0,     0,
-       0,     0,   146,   147,   148,   149,   150,   151,   152,   136,
-     137,   138,   139,   140,   141,     0,   142,     0,     0,   143,
-     144,   145,   136,   137,   138,   139,     0,     0,     0,   142,
-       0,     0,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,     0,     0,     0,     0,     0,     0,   146,   147,
-     148,   149,   150,   151,   152
+       0,     0,     0,    65,     2,    23,     0,     3,     4,     0,
+       5,     0,     7,     8,    64,    10,     0,    11,     0,     0,
+       0,    14,     0,    29,     0,     0,     0,     0,     0,     0,
+      30,    31,    32,    33,    34,     0,    65,     0,    23,     0,
+       0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
+       0,     0,    70,     0,     0,    41,    29,     0,     0,     0,
+       0,     0,     0,    30,    31,    32,    33,    34,   172,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
+      39,     0,     0,     0,    82,    74,    84,     0,    41,   138,
+     139,   140,   141,   142,   143,     0,   144,   173,   174,   145,
+     146,   147,   138,   139,   140,   141,   142,   143,     0,   144,
+       0,     0,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,     0,     0,     0,     0,     0,     0,   148,   149,
+     150,   151,   152,   153,   154,   187,     0,     0,     0,     0,
+       0,   188,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   138,   139,   140,   141,   142,   143,     0,   144,     0,
+       0,   145,   146,   147,     0,     0,     0,     0,   189,     0,
+       0,     0,     0,     0,   190,     0,     0,   148,   149,   150,
+     151,   152,   153,   154,   138,   139,   140,   141,   142,   143,
+       0,   144,     0,     0,   145,   146,   147,     0,     0,     0,
+       0,   191,     0,     0,     0,     0,     0,   192,     0,     0,
+     148,   149,   150,   151,   152,   153,   154,   138,   139,   140,
+     141,   142,   143,     0,   144,     0,     0,   145,   146,   147,
+       0,     0,     0,     0,   193,     0,     0,     0,     0,     0,
+     194,     0,     0,   148,   149,   150,   151,   152,   153,   154,
+     138,   139,   140,   141,   142,   143,     0,   144,     0,     0,
+     145,   146,   147,     0,     0,     0,     0,   286,     0,     0,
+       0,     0,     0,     0,     0,     0,   148,   149,   150,   151,
+     152,   153,   154,   138,   139,   140,   141,   142,   143,     0,
+     144,     0,     0,   145,   146,   147,     0,     0,     0,     0,
+     287,     0,     0,     0,     0,     0,     0,     0,     0,   148,
+     149,   150,   151,   152,   153,   154,   138,   139,   140,   141,
+     142,   143,     0,   144,     0,     0,   145,   146,   147,     0,
+       0,     0,     0,   288,     0,     0,     0,     0,     0,     0,
+       0,     0,   148,   149,   150,   151,   152,   153,   154,   138,
+     139,   140,   141,   142,   143,     0,   144,     0,     0,   145,
+     146,   147,     0,     0,     0,     0,   289,     0,     0,     0,
+       0,     0,     0,     0,     0,   148,   149,   150,   151,   152,
+     153,   154,   138,   139,   140,   141,   142,   143,     0,   144,
+       0,     0,   145,   146,   147,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   197,     0,     0,   148,   149,
+     150,   151,   152,   153,   154,   138,   139,   140,   141,   142,
+     143,     0,   144,     0,     0,   145,   146,   147,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   148,   149,   150,   151,   152,   153,   154,   184,   198,
+       0,     0,     0,     0,     0,     0,   138,   139,   140,   141,
+     142,   143,     0,   144,     0,     0,   145,   146,   147,   138,
+     139,   140,   141,   142,   143,     0,   144,     0,     0,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,     0,
+       0,     0,     0,     0,     0,   148,   149,   150,   151,   152,
+     153,   154,     0,     0,     0,   201,   138,   139,   140,   141,
+     142,   143,     0,   144,     0,     0,   145,   146,   147,     0,
+       0,     0,     0,     0,   195,   196,     0,     0,     0,     0,
+       0,     0,   148,   149,   150,   151,   152,   153,   154,   138,
+     139,   140,   141,   142,   143,     0,   144,     0,     0,   145,
+     146,   147,   138,   139,   140,   141,     0,     0,     0,   144,
+       0,     0,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,     0,     0,     0,     0,     0,     0,   148,   149,
+     150,   151,   152,   153,   154
 };
 
 static const yytype_int16 yycheck[] =
 {
-       4,    77,     6,     7,     0,     9,   163,     0,    26,     8,
-      92,   263,   278,    17,    31,    45,    20,    92,     6,     7,
-      95,    25,    26,    60,    28,    29,    30,    31,    32,    33,
-      34,    22,    30,    37,    38,    39,    23,    92,    25,   264,
-      95,    40,    12,    47,   296,    49,    50,    48,    18,   274,
-      48,   317,    22,    23,    48,    25,    21,    22,    48,    60,
-      64,    22,    66,    22,    81,    69,    60,    85,    92,    73,
-      60,    95,    76,   298,    12,   300,    22,    81,    66,    65,
-      18,    69,   100,    95,    22,    23,    93,    25,    76,    65,
-      50,    51,   344,    92,    93,    95,   321,    94,    95,    92,
-     325,    22,   327,    89,    90,    40,    71,    72,    73,    74,
-      22,    87,    88,    89,    90,    22,   341,    94,    95,   129,
-     130,    94,    95,   280,   128,    48,    96,    47,   132,   354,
-     126,    95,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,    22,
-     154,    31,    32,    95,   158,    98,    97,   161,    96,    98,
-      98,    95,   238,   167,    95,    22,    95,   171,   172,    22,
-     174,   175,    42,    22,   178,   179,   180,    22,   182,    47,
-      22,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,    15,    16,    17,    95,    47,    22,   207,    22,    82,
-     210,   200,   201,    22,   203,    29,    83,    48,    48,    65,
-      22,    12,    68,    95,    15,    16,    81,    18,    82,    20,
-      21,    22,    23,    22,    25,    47,   126,    82,    29,   196,
-      86,    87,    88,    89,    90,    81,    50,    81,   170,    50,
-      50,   245,   246,    44,    -1,    46,   204,    -1,    -1,    -1,
-      -1,    -1,    -1,   329,    -1,    -1,    -1,    -1,   334,    -1,
-      -1,    -1,   272,    64,    -1,    -1,    -1,    -1,    -1,    -1,
-      71,    72,    73,    74,    75,    -1,    -1,    -1,   288,   289,
-     284,   285,   286,   287,   283,   295,    87,    88,    -1,    -1,
-     294,    -1,    93,    -1,    -1,    96,    -1,    -1,    -1,    -1,
-      -1,   311,    -1,   313,    -1,    -1,   310,    -1,    -1,    -1,
-     320,    -1,   322,    -1,   318,    -1,    -1,    -1,   328,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   332,   339,
-       0,     1,   342,    -1,    -1,    -1,    -1,    -1,   348,    -1,
-     350,    -1,    12,    -1,    -1,    15,    16,   357,    18,    19,
-      20,    21,    22,    23,    -1,    25,    -1,    27,    28,    29,
-      -1,    -1,    -1,    33,    34,    35,    36,    -1,    -1,    39,
-      -1,    -1,    -1,    -1,    44,    45,    46,    -1,    -1,    49,
-      -1,    -1,    -1,    53,    54,    55,    -1,    57,    -1,    -1,
-      -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
-      -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
-      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    -1,
-      -1,    12,    92,    93,    15,    16,    96,    18,    19,    20,
-      21,    22,    23,    -1,    25,    -1,    27,    28,    29,    -1,
-      -1,    -1,    33,    34,    35,    36,    -1,    -1,    39,    -1,
-      -1,    -1,    -1,    44,    45,    46,    -1,    -1,    49,    -1,
-      -1,    -1,    53,    54,    55,    -1,    57,    -1,    -1,    -1,
-      -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,
-      71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
-      -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    -1,    -1,
-      12,    -1,    93,    15,    16,    96,    18,    19,    20,    21,
-      22,    23,    -1,    25,    26,    27,    -1,    29,    -1,    -1,
-      -1,    33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,
+       4,    78,     6,     7,     0,     9,   165,     0,   265,     8,
+      94,    95,    31,    17,   266,     6,     7,    21,   280,    30,
+      48,    92,    26,    27,   276,    29,    30,    31,    32,    33,
+      34,    35,    60,    27,    38,    39,    40,    48,    22,   131,
+     132,   298,    41,    12,    48,    45,    50,    51,   300,    18,
+     302,    22,    92,    22,    23,    95,    25,   319,    65,    21,
+      22,    65,    81,    67,    45,    92,    70,    93,    95,    48,
+      74,   323,    22,    77,    12,   327,    67,   329,    82,    70,
+      18,    60,    89,    90,    22,    23,    77,    25,    23,   346,
+      25,   343,    86,    48,    92,    94,    95,    95,    22,    92,
+      15,    16,    17,    60,   356,    60,    95,    22,   102,    71,
+      72,    73,    74,    95,    29,    31,    32,   209,    50,    51,
+     212,    94,    95,   282,    94,    95,   130,    96,    22,    98,
+     134,    40,   128,    22,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,    22,   156,    48,    47,    95,   160,    22,    96,   163,
+      97,    95,    98,   240,    22,   169,    95,    98,    95,   173,
+     174,    22,   176,   177,    95,    42,   180,   181,   182,    22,
+     184,    47,   274,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,    65,    22,    22,    68,    47,   290,   291,
+      22,    82,    65,   202,   203,   297,   205,    95,    48,    22,
+      48,    22,    81,    83,    86,    87,    88,    89,    90,    95,
+      82,   313,    22,   315,    87,    88,    89,    90,    82,    47,
+     322,   128,   324,    81,    81,   198,    51,    51,   330,   172,
+     206,    51,    -1,   247,   248,    -1,    -1,    -1,    -1,   341,
+      -1,    -1,   344,    -1,   331,    -1,    -1,    -1,   350,   336,
+     352,    -1,    -1,    -1,    -1,    -1,    -1,   359,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,     1,
+      -1,    -1,   286,   287,   288,   289,   285,    -1,    -1,    -1,
+      12,    -1,   296,    15,    16,    -1,    18,    19,    20,    21,
+      22,    23,    -1,    25,    -1,    27,    28,    29,   312,    -1,
+      -1,    33,    34,    35,    36,    -1,   320,    39,    -1,    41,
       -1,    -1,    44,    45,    46,    -1,    -1,    49,    -1,    -1,
-      -1,    -1,    54,    55,    -1,    57,    -1,    -1,    -1,    -1,
+     334,    53,    54,    55,    -1,    57,    -1,    -1,    -1,    -1,
       -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,    71,
-      72,    73,    74,    75,    -1,    -1,    78,    79,    -1,    -1,
+      72,    73,    74,    75,    -1,    -1,    78,    79,    80,    -1,
       -1,    -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    12,
       92,    93,    15,    16,    96,    18,    19,    20,    21,    22,
-      23,    -1,    25,    -1,    27,    -1,    29,    -1,    -1,    -1,
-      33,    34,    35,    36,    -1,    -1,    -1,    -1,    -1,    -1,
+      23,    -1,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
+      33,    34,    35,    36,    -1,    -1,    39,    -1,    41,    -1,
       -1,    44,    45,    46,    -1,    -1,    49,    -1,    -1,    -1,
-      -1,    54,    55,    -1,    57,    -1,    -1,    -1,    -1,    -1,
+      53,    54,    55,    -1,    57,    -1,    -1,    -1,    -1,    -1,
       -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,
-      73,    74,    75,    -1,    -1,    78,    79,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    12,    92,
+      73,    74,    75,    -1,    -1,    78,    79,    80,    -1,    -1,
+      -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    12,    -1,
       93,    15,    16,    96,    18,    19,    20,    21,    22,    23,
-      -1,    25,    -1,    27,    -1,    29,    -1,    -1,    -1,    33,
-      34,    35,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    25,    26,    27,    -1,    29,    -1,    -1,    -1,    33,
+      34,    35,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,
+      44,    45,    46,    -1,    -1,    49,    -1,    -1,    -1,    -1,
       54,    55,    -1,    57,    -1,    -1,    -1,    -1,    -1,    -1,
       64,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
-      74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    -1,    -1,    12,    -1,    93,
+      74,    75,    -1,    -1,    78,    79,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    87,    88,    -1,    -1,    12,    92,    93,
       15,    16,    96,    18,    19,    20,    21,    22,    23,    -1,
       25,    -1,    27,    -1,    29,    -1,    -1,    -1,    33,    34,
-      35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,
-      -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
+      35,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,    44,
+      45,    46,    -1,    -1,    49,    -1,    -1,    -1,    -1,    54,
       55,    -1,    57,    -1,    -1,    -1,    -1,    -1,    -1,    64,
       -1,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
-      75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,    88,    -1,    -1,    12,    -1,    93,    15,
-      16,    96,    18,    -1,    20,    21,    22,    23,    -1,    25,
-      -1,    -1,    -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    38,    -1,    40,    41,    42,    43,    44,    -1,
-      46,    -1,    12,    -1,    -1,    15,    16,    -1,    18,    -1,
-      20,    21,    22,    23,    -1,    25,    -1,    -1,    64,    29,
+      75,    -1,    -1,    78,    79,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    87,    88,    -1,    -1,    12,    92,    93,    15,
+      16,    96,    18,    19,    20,    21,    22,    23,    -1,    25,
+      -1,    27,    -1,    29,    -1,    -1,    -1,    33,    34,    35,
+      36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,
+      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55,
+      -1,    57,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,
       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
-      40,    -1,    42,    -1,    44,    -1,    46,    -1,    -1,    -1,
-      -1,    87,    88,    -1,    -1,    -1,    56,    93,    -1,    -1,
-      96,    -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    87,    88,    -1,    -1,    12,    -1,    93,    15,    16,
+      96,    18,    19,    20,    21,    22,    23,    -1,    25,    -1,
+      27,    -1,    29,    -1,    -1,    -1,    33,    34,    35,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    46,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    55,    -1,
+      57,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,
+      -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
+      -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      87,    88,    -1,    -1,    12,    -1,    93,    15,    16,    96,
+      18,    -1,    20,    21,    22,    23,    -1,    25,    -1,    -1,
+      -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      38,    -1,    40,    41,    42,    43,    44,    -1,    46,    -1,
+      12,    -1,    -1,    15,    16,    -1,    18,    -1,    20,    21,
+      22,    23,    -1,    25,    -1,    -1,    64,    29,    -1,    -1,
+      -1,    -1,    -1,    71,    72,    73,    74,    75,    40,    -1,
+      42,    -1,    44,    -1,    46,    -1,    -1,    -1,    -1,    87,
+      88,    -1,    -1,    -1,    56,    93,    -1,    -1,    96,    -1,
+      -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,    71,
+      72,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    12,
+      -1,    93,    15,    16,    96,    18,    -1,    20,    21,    22,
+      23,    -1,    25,    -1,    -1,    -1,    29,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    44,    12,    46,    -1,    15,    16,    -1,    18,    -1,
+      20,    21,    22,    23,    -1,    25,    -1,    -1,    -1,    29,
+      -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,
+      73,    74,    75,    -1,    44,    -1,    46,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,
+      93,    -1,    -1,    96,    64,    -1,    -1,    -1,    -1,    -1,
       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    -1,
       -1,    12,    -1,    93,    15,    16,    96,    18,    -1,    20,
@@ -1086,21 +1095,16 @@ static const yytype_int16 yycheck[] =
       71,    72,    73,    74,    75,    -1,    44,    -1,    46,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    -1,    -1,
       -1,    -1,    93,    -1,    -1,    96,    64,    -1,    -1,    -1,
-      -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
+      -1,    -1,    -1,    71,    72,    73,    74,    75,    37,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
-      88,    37,    -1,    12,    -1,    93,    15,    16,    96,    18,
-      -1,    20,    21,    22,    23,    -1,    25,    -1,    -1,    -1,
-      29,    -1,    58,    59,    60,    61,    62,    63,    -1,    65,
-      66,    67,    68,    69,    70,    44,    -1,    46,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
-      86,    87,    88,    89,    90,    64,    -1,    -1,    -1,    -1,
-      -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
-      40,    -1,    42,    -1,    -1,    -1,    -1,    -1,    87,    88,
-      -1,    -1,    -1,    -1,    93,    -1,    -1,    96,    58,    59,
-      60,    61,    62,    63,    -1,    65,    -1,    -1,    68,    69,
-      70,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,
-      -1,    48,    -1,    -1,    84,    85,    86,    87,    88,    89,
-      90,    58,    59,    60,    61,    62,    63,    -1,    65,    -1,
+      88,    -1,    -1,    -1,    40,    93,    42,    -1,    96,    58,
+      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
+      69,    70,    58,    59,    60,    61,    62,    63,    -1,    65,
+      -1,    -1,    68,    69,    70,    84,    85,    86,    87,    88,
+      89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
+      86,    87,    88,    89,    90,    42,    -1,    -1,    -1,    -1,
+      -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    58,    59,    60,    61,    62,    63,    -1,    65,    -1,
       -1,    68,    69,    70,    -1,    -1,    -1,    -1,    42,    -1,
       -1,    -1,    -1,    -1,    48,    -1,    -1,    84,    85,    86,
       87,    88,    89,    90,    58,    59,    60,    61,    62,    63,
@@ -1152,40 +1156,41 @@ static const yytype_uint8 yystos[] =
 {
        0,     1,    12,    15,    16,    18,    19,    20,    21,    22,
       23,    25,    27,    28,    29,    33,    34,    35,    36,    39,
-      44,    45,    46,    49,    53,    54,    55,    57,    64,    71,
-      72,    73,    74,    75,    78,    79,    80,    87,    88,    93,
-      96,   100,   101,   102,   103,   105,   107,   111,   112,   113,
-     118,   119,   120,   121,   122,   123,   128,   130,   132,   136,
-     141,   144,    92,    22,    44,   120,    93,   120,   142,    93,
-     142,    22,   119,    93,   120,   143,   131,   135,    45,   124,
-      38,    40,    41,    42,    43,   120,   129,   133,   120,    50,
-      51,    15,    16,    17,    22,    29,    22,    22,   120,    56,
-     120,   129,    22,   127,   120,   120,   120,   120,   120,   120,
-     120,    22,   126,   137,   120,   120,   120,    23,    25,    98,
-     119,   145,   146,   147,   148,     0,    92,   120,    60,   120,
-     104,   110,   113,   120,   123,   141,    58,    59,    60,    61,
-      62,    63,    65,    68,    69,    70,    84,    85,    86,    87,
-      88,    89,    90,   115,    93,   120,   120,   142,    95,   142,
-     142,    95,   142,   115,    22,   125,   120,    40,   129,    22,
-      37,    66,    67,    22,    48,    60,   119,   119,    48,    60,
-      48,    47,    50,   129,    95,    42,    48,    42,    48,    42,
-      48,    42,    48,    76,    77,    48,    92,    95,    22,    94,
-      98,    98,    97,    95,    95,   101,   116,   120,   116,   116,
+      41,    44,    45,    46,    49,    53,    54,    55,    57,    64,
+      71,    72,    73,    74,    75,    78,    79,    80,    87,    88,
+      93,    96,   100,   101,   102,   103,   105,   107,   111,   112,
+     113,   118,   119,   120,   121,   122,   123,   128,   130,   132,
+     136,   141,   144,    92,    22,    44,   120,    93,   120,   142,
+      93,   142,    22,   119,    93,   120,   143,   131,   135,    45,
+     124,    38,    40,    41,    42,    43,   120,   129,   133,    45,
+     120,    50,    51,    15,    16,    17,    22,    29,    22,    22,
+     120,    56,   120,   129,    22,   127,   120,   120,   120,   120,
+     120,   120,   120,    22,   126,   137,   120,   120,   120,    23,
+      25,    98,   119,   145,   146,   147,   148,     0,    92,   120,
+      60,   120,   104,   110,   113,   120,   123,   141,    58,    59,
+      60,    61,    62,    63,    65,    68,    69,    70,    84,    85,
+      86,    87,    88,    89,    90,   115,    93,   120,   120,   142,
+      95,   142,   142,    95,   142,   115,    22,   125,   120,    40,
+     129,    22,    37,    66,    67,    22,    48,    60,   119,   119,
+      48,    60,    48,    47,    50,   129,    95,    42,    48,    42,
+      48,    42,    48,    42,    48,    76,    77,    48,    92,    95,
+      22,    94,    98,    98,    97,    95,    95,   101,   116,   120,
+     116,   116,   120,   120,   120,   120,   120,   120,   120,   120,
      120,   120,   120,   120,   120,   120,   120,   120,   120,   120,
-     120,   120,   120,   120,   120,   120,   120,   120,    22,   138,
-      94,   120,    94,    94,   120,   138,    95,   120,   134,    22,
-     122,   120,   120,   120,   120,    48,    60,    42,   120,   120,
-     120,   120,    22,   120,   120,   120,   120,   120,   120,   120,
-     120,   120,   120,   106,   106,    22,   119,   119,   119,    23,
-      25,   148,   117,   116,    47,   116,    92,    95,    92,    22,
-     115,   120,   120,    22,    42,    42,    42,    42,   103,   117,
-      92,   105,   116,    30,    48,   117,    47,    95,   140,    22,
-     140,   138,   119,   120,   120,   120,   120,   116,   116,    82,
-      48,   120,   116,   103,    22,   117,   117,    92,    48,    83,
-     120,   116,   108,   116,    26,   140,   120,   116,   117,    31,
-      32,   109,   114,   116,    31,    81,    22,   139,   117,   117,
-     116,   115,   120,    81,   115,    95,   116,    82,   117,   116,
-     103,    22,    82,   116,    47,   116,    81,   117,    81,   116
+      22,   138,    94,   120,    94,    94,   120,   138,    95,   120,
+     134,    22,   122,   120,   120,   120,   120,    48,    60,    42,
+     120,   120,   120,   120,    22,   120,   120,   120,   120,   120,
+     120,   120,   120,   120,   120,   106,   106,    22,   119,   119,
+     119,    23,    25,   148,   117,   116,    47,   116,    92,    95,
+      92,    22,   115,   120,   120,    22,    42,    42,    42,    42,
+     103,   117,    92,   105,   116,    30,    48,   117,    47,    95,
+     140,    22,   140,   138,   119,   120,   120,   120,   120,   116,
+     116,    82,    48,   120,   116,   103,    22,   117,   117,    92,
+      48,    83,   120,   116,   108,   116,    26,   140,   120,   116,
+     117,    31,    32,   109,   114,   116,    31,    81,    22,   139,
+     117,   117,   116,   115,   120,    81,   115,    95,   116,    82,
+     117,   116,   103,    22,    82,   116,    47,   116,    81,   117,
+      81,   116
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1194,20 +1199,20 @@ static const yytype_uint8 yyr1[] =
        0,    99,   100,   100,   100,   101,   101,   101,   102,   102,
      102,   102,   102,   102,   102,   102,   102,   102,   102,   102,
      103,   103,   103,   104,   104,   104,   104,   105,   105,   105,
-     105,   105,   105,   105,   105,   106,   107,   107,   108,   108,
-     109,   110,   110,   111,   112,   113,   114,   115,   116,   117,
-     117,   117,   118,   119,   119,   119,   119,   119,   119,   120,
+     105,   105,   105,   105,   105,   105,   106,   107,   107,   108,
+     108,   109,   110,   110,   111,   112,   113,   114,   115,   116,
+     117,   117,   117,   118,   119,   119,   119,   119,   119,   119,
      120,   120,   120,   120,   120,   120,   120,   120,   120,   120,
      120,   120,   120,   120,   120,   120,   120,   120,   120,   120,
      120,   120,   120,   120,   120,   120,   120,   120,   120,   120,
-     120,   121,   121,   121,   121,   121,   121,   121,   121,   122,
-     122,   123,   123,   123,   123,   123,   124,   123,   123,   123,
-     123,   123,   123,   123,   125,   125,   126,   126,   127,   127,
-     128,   128,   128,   128,   128,   128,   129,   129,   130,   130,
-     130,   130,   131,   130,   133,   134,   132,   132,   135,   132,
-     132,   132,   137,   136,   138,   138,   138,   138,   139,   139,
-     139,   140,   141,   142,   142,   142,   143,   143,   144,   145,
-     145,   145,   145,   146,   146,   147,   147,   148,   148
+     120,   120,   121,   121,   121,   121,   121,   121,   121,   121,
+     122,   122,   123,   123,   123,   123,   123,   124,   123,   123,
+     123,   123,   123,   123,   123,   125,   125,   126,   126,   127,
+     127,   128,   128,   128,   128,   128,   128,   129,   129,   130,
+     130,   130,   130,   131,   130,   133,   134,   132,   132,   135,
+     132,   132,   132,   137,   136,   138,   138,   138,   138,   139,
+     139,   139,   140,   141,   142,   142,   142,   143,   143,   144,
+     145,   145,   145,   145,   146,   146,   147,   147,   148,   148
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1216,20 +1221,20 @@ static const yytype_int8 yyr2[] =
        0,     2,     3,     1,     2,     0,     1,     1,     4,     4,
        4,     4,     4,     4,     4,     4,     5,     5,     8,     4,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     6,
-      10,    11,     3,     7,     6,     0,     9,    12,     0,     2,
-       6,    11,     7,     2,     3,     1,     1,     0,     0,     0,
-       2,     2,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     4,     2,     4,     1,     2,     1,     1,     3,     3,
+      10,    11,     2,     3,     7,     6,     0,     9,    12,     0,
+       2,     6,    11,     7,     2,     3,     1,     1,     0,     0,
+       0,     2,     2,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     4,     2,     4,     1,     2,     1,     1,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     2,     3,     3,     3,     3,     2,     2,     3,     4,
-       4,     4,     6,     4,     6,     4,     6,     4,     6,     2,
-       1,     2,     1,     1,     2,     1,     0,     3,     2,     2,
-       4,     2,     4,     2,     1,     3,     1,     3,     1,     3,
-       2,     2,     2,     2,     3,     2,     3,     2,     2,     2,
-       3,     2,     0,     3,     0,     0,     9,     2,     0,     7,
-       8,     6,     0,     3,     0,     1,     3,     4,     0,     1,
-       3,     0,     2,     0,     1,     3,     1,     3,     3,     0,
-       1,     1,     1,     1,     3,     1,     3,     3,     3
+       3,     3,     2,     3,     3,     3,     3,     2,     2,     3,
+       4,     4,     4,     6,     4,     6,     4,     6,     4,     6,
+       2,     1,     2,     1,     1,     2,     1,     0,     3,     2,
+       2,     4,     2,     4,     2,     1,     3,     1,     3,     1,
+       3,     2,     2,     2,     2,     3,     2,     3,     2,     2,
+       2,     3,     2,     0,     3,     0,     0,     9,     2,     0,
+       7,     8,     6,     0,     3,     0,     1,     3,     4,     0,
+       1,     3,     0,     2,     0,     1,     3,     1,     3,     3,
+       0,     1,     1,     1,     1,     3,     1,     3,     3,     3
 };
 
 
@@ -1667,73 +1672,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
     case 19: /* BLTIN  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1671 "engines/director/lingo/lingo-gr.cpp"
+#line 1676 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 20: /* FBLTIN  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1677 "engines/director/lingo/lingo-gr.cpp"
+#line 1682 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 21: /* RBLTIN  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1683 "engines/director/lingo/lingo-gr.cpp"
+#line 1688 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 22: /* ID  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1689 "engines/director/lingo/lingo-gr.cpp"
+#line 1694 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 23: /* STRING  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1695 "engines/director/lingo/lingo-gr.cpp"
+#line 1700 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 24: /* HANDLER  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1701 "engines/director/lingo/lingo-gr.cpp"
+#line 1706 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 25: /* SYMBOL  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1707 "engines/director/lingo/lingo-gr.cpp"
+#line 1712 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 26: /* ENDCLAUSE  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1713 "engines/director/lingo/lingo-gr.cpp"
+#line 1718 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 27: /* tPLAYACCEL  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1719 "engines/director/lingo/lingo-gr.cpp"
+#line 1724 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 28: /* tMETHOD  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1725 "engines/director/lingo/lingo-gr.cpp"
+#line 1730 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 29: /* THEOBJECTFIELD  */
 #line 131 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).objectfield).os; }
-#line 1731 "engines/director/lingo/lingo-gr.cpp"
+#line 1736 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 136: /* on  */
 #line 130 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1737 "engines/director/lingo/lingo-gr.cpp"
+#line 1742 "engines/director/lingo/lingo-gr.cpp"
         break;
 
       default:
@@ -2003,7 +2008,7 @@ yyreduce:
   case 4:
 #line 137 "engines/director/lingo/lingo-gr.y"
                                 { yyerrok; }
-#line 2007 "engines/director/lingo/lingo-gr.cpp"
+#line 2012 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 8:
@@ -2014,7 +2019,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2018 "engines/director/lingo/lingo-gr.cpp"
+#line 2023 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 9:
@@ -2022,19 +2027,19 @@ yyreduce:
                                                 {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2026 "engines/director/lingo/lingo-gr.cpp"
+#line 2031 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 10:
 #line 152 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2032 "engines/director/lingo/lingo-gr.cpp"
+#line 2037 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 11:
 #line 153 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2038 "engines/director/lingo/lingo-gr.cpp"
+#line 2043 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 12:
@@ -2045,7 +2050,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2049 "engines/director/lingo/lingo-gr.cpp"
+#line 2054 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 13:
@@ -2057,7 +2062,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2061 "engines/director/lingo/lingo-gr.cpp"
+#line 2066 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 14:
@@ -2068,7 +2073,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2072 "engines/director/lingo/lingo-gr.cpp"
+#line 2077 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 15:
@@ -2080,7 +2085,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2084 "engines/director/lingo/lingo-gr.cpp"
+#line 2089 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 16:
@@ -2091,7 +2096,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2095 "engines/director/lingo/lingo-gr.cpp"
+#line 2100 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 17:
@@ -2102,7 +2107,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2106 "engines/director/lingo/lingo-gr.cpp"
+#line 2111 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 18:
@@ -2117,7 +2122,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-6].e)[0]);
 		g_lingo->codeInt((yyvsp[-6].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2121 "engines/director/lingo/lingo-gr.cpp"
+#line 2126 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 19:
@@ -2128,7 +2133,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].objectfield).oe);
 		delete (yyvsp[-2].objectfield).os;
 		(yyval.code) = (yyvsp[0].code); }
-#line 2132 "engines/director/lingo/lingo-gr.cpp"
+#line 2137 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 29:
@@ -2139,7 +2144,7 @@ yyreduce:
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-5].code));
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = body;	/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 2] = end; }
-#line 2143 "engines/director/lingo/lingo-gr.cpp"
+#line 2148 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 30:
@@ -2156,7 +2161,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-9].code) + 3] = body;		/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-9].code) + 4] = inc;		/* increment */
 		(*g_lingo->_currentScript)[(yyvsp[-9].code) + 5] = end; }
-#line 2160 "engines/director/lingo/lingo-gr.cpp"
+#line 2165 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 31:
@@ -2173,47 +2178,55 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = body;		/* body of loop */
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 4] = inc;		/* increment */
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 5] = end; }
-#line 2177 "engines/director/lingo/lingo-gr.cpp"
+#line 2182 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 32:
 #line 265 "engines/director/lingo/lingo-gr.y"
+                        {
+		g_lingo->code1(LC::c_nextRepeat);
+	}
+#line 2190 "engines/director/lingo/lingo-gr.cpp"
+    break;
+
+  case 33:
+#line 268 "engines/director/lingo/lingo-gr.y"
                                       {
 		inst end = 0;
 		WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
 		g_lingo->code1(STOP);
 		(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2187 "engines/director/lingo/lingo-gr.cpp"
+#line 2200 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 33:
-#line 270 "engines/director/lingo/lingo-gr.y"
+  case 34:
+#line 273 "engines/director/lingo/lingo-gr.y"
                                                           {
 		inst end;
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
 		(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2196 "engines/director/lingo/lingo-gr.cpp"
+#line 2209 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 34:
-#line 274 "engines/director/lingo/lingo-gr.y"
+  case 35:
+#line 277 "engines/director/lingo/lingo-gr.y"
                                                     {
 		inst end;
 		WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
 		(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2205 "engines/director/lingo/lingo-gr.cpp"
+#line 2218 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 35:
-#line 279 "engines/director/lingo/lingo-gr.y"
+  case 36:
+#line 282 "engines/director/lingo/lingo-gr.y"
                                                         {
 		(yyval.code) = g_lingo->code1(LC::c_tellcode);
 		g_lingo->code1(STOP); }
-#line 2213 "engines/director/lingo/lingo-gr.cpp"
+#line 2226 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 36:
-#line 283 "engines/director/lingo/lingo-gr.y"
+  case 37:
+#line 286 "engines/director/lingo/lingo-gr.y"
                                                                                        {
 		inst then = 0, else1 = 0, end = 0;
 		WRITE_UINT32(&then, (yyvsp[-6].code) - (yyvsp[-8].code));
@@ -2224,11 +2237,11 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-8].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-8].code), (yyvsp[-1].code) - (yyvsp[-8].code), 0); }
-#line 2228 "engines/director/lingo/lingo-gr.cpp"
+#line 2241 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 37:
-#line 293 "engines/director/lingo/lingo-gr.y"
+  case 38:
+#line 296 "engines/director/lingo/lingo-gr.y"
                                                                                                               {
 		inst then = 0, else1 = 0, end = 0;
 		WRITE_UINT32(&then, (yyvsp[-9].code) - (yyvsp[-11].code));
@@ -2239,22 +2252,22 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-11].code), (yyvsp[-1].code) - (yyvsp[-11].code), (yyvsp[-3].code) - (yyvsp[-11].code)); }
-#line 2243 "engines/director/lingo/lingo-gr.cpp"
+#line 2256 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 40:
-#line 307 "engines/director/lingo/lingo-gr.y"
+  case 41:
+#line 310 "engines/director/lingo/lingo-gr.y"
                                                         {
 		inst then = 0;
 		WRITE_UINT32(&then, (yyvsp[-3].code) - (yyvsp[-5].code));
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then;	/* thenpart */
 
 		g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2254 "engines/director/lingo/lingo-gr.cpp"
+#line 2267 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 41:
-#line 314 "engines/director/lingo/lingo-gr.y"
+  case 42:
+#line 317 "engines/director/lingo/lingo-gr.y"
                                                                                                          {
 		inst then = 0, else1 = 0, end = 0;
 		WRITE_UINT32(&then, (yyvsp[-8].code) - (yyvsp[-10].code));
@@ -2265,11 +2278,11 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-10].code), (yyvsp[-1].code) - (yyvsp[-10].code), (yyvsp[-3].code) - (yyvsp[-10].code)); }
-#line 2269 "engines/director/lingo/lingo-gr.cpp"
+#line 2282 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 42:
-#line 324 "engines/director/lingo/lingo-gr.y"
+  case 43:
+#line 327 "engines/director/lingo/lingo-gr.y"
                                                                    {
 		inst then = 0, else1 = 0, end = 0;
 		WRITE_UINT32(&then, (yyvsp[-4].code) - (yyvsp[-6].code));
@@ -2280,149 +2293,149 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = end;	/* end, if cond fails */
 
 		g_lingo->processIf((yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code), (yyvsp[-1].code) - (yyvsp[-6].code)); }
-#line 2284 "engines/director/lingo/lingo-gr.cpp"
+#line 2297 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 43:
-#line 335 "engines/director/lingo/lingo-gr.y"
+  case 44:
+#line 338 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2290 "engines/director/lingo/lingo-gr.cpp"
+#line 2303 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 44:
-#line 337 "engines/director/lingo/lingo-gr.y"
+  case 45:
+#line 340 "engines/director/lingo/lingo-gr.y"
                                                 {
 		(yyval.code) = g_lingo->code3(LC::c_repeatwithcode, STOP, STOP);
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2300 "engines/director/lingo/lingo-gr.cpp"
+#line 2313 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 45:
-#line 343 "engines/director/lingo/lingo-gr.y"
+  case 46:
+#line 346 "engines/director/lingo/lingo-gr.y"
                                                 {
 		(yyval.code) = g_lingo->code1(LC::c_ifcode);
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->code1(0);  // Do not skip end
 		g_lingo->codeLabel(0); }
-#line 2310 "engines/director/lingo/lingo-gr.cpp"
+#line 2323 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 46:
-#line 349 "engines/director/lingo/lingo-gr.y"
+  case 47:
+#line 352 "engines/director/lingo/lingo-gr.y"
                                         {
 		inst skipEnd;
 		WRITE_UINT32(&skipEnd, 1); // We have to skip end to avoid multiple executions
 		(yyval.code) = g_lingo->code1(LC::c_ifcode);
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->code1(skipEnd); }
-#line 2321 "engines/director/lingo/lingo-gr.cpp"
+#line 2334 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 47:
-#line 356 "engines/director/lingo/lingo-gr.y"
+  case 48:
+#line 359 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2327 "engines/director/lingo/lingo-gr.cpp"
+#line 2340 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 48:
-#line 358 "engines/director/lingo/lingo-gr.y"
+  case 49:
+#line 361 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2333 "engines/director/lingo/lingo-gr.cpp"
+#line 2346 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 49:
-#line 360 "engines/director/lingo/lingo-gr.y"
+  case 50:
+#line 363 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2339 "engines/director/lingo/lingo-gr.cpp"
+#line 2352 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 52:
-#line 364 "engines/director/lingo/lingo-gr.y"
+  case 53:
+#line 367 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->code1(LC::c_whencode);
 		g_lingo->code1(STOP);
 		g_lingo->codeString((yyvsp[-1].s)->c_str());
 		delete (yyvsp[-1].s); }
-#line 2349 "engines/director/lingo/lingo-gr.cpp"
+#line 2362 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 53:
-#line 370 "engines/director/lingo/lingo-gr.y"
+  case 54:
+#line 373 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt((yyvsp[0].i)); }
-#line 2357 "engines/director/lingo/lingo-gr.cpp"
+#line 2370 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 54:
-#line 373 "engines/director/lingo/lingo-gr.y"
+  case 55:
+#line 376 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_floatpush);
 		g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2365 "engines/director/lingo/lingo-gr.cpp"
+#line 2378 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 55:
-#line 376 "engines/director/lingo/lingo-gr.y"
+  case 56:
+#line 379 "engines/director/lingo/lingo-gr.y"
                         {											// D3
 		(yyval.code) = g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2374 "engines/director/lingo/lingo-gr.cpp"
+#line 2387 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 56:
-#line 380 "engines/director/lingo/lingo-gr.y"
+  case 57:
+#line 383 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2383 "engines/director/lingo/lingo-gr.cpp"
+#line 2396 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 57:
-#line 384 "engines/director/lingo/lingo-gr.y"
+  case 58:
+#line 387 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_eval);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2392 "engines/director/lingo/lingo-gr.cpp"
+#line 2405 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 59:
-#line 390 "engines/director/lingo/lingo-gr.y"
+  case 60:
+#line 393 "engines/director/lingo/lingo-gr.y"
                  { (yyval.code) = (yyvsp[0].code); }
-#line 2398 "engines/director/lingo/lingo-gr.cpp"
+#line 2411 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 61:
-#line 392 "engines/director/lingo/lingo-gr.y"
+  case 62:
+#line 395 "engines/director/lingo/lingo-gr.y"
                                  {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2406 "engines/director/lingo/lingo-gr.cpp"
+#line 2419 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 62:
-#line 395 "engines/director/lingo/lingo-gr.y"
+  case 63:
+#line 398 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2427 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 63:
-#line 398 "engines/director/lingo/lingo-gr.y"
+  case 64:
+#line 401 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2422 "engines/director/lingo/lingo-gr.cpp"
+#line 2435 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 64:
-#line 401 "engines/director/lingo/lingo-gr.y"
+  case 65:
+#line 404 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(0); // Put dummy id
@@ -2431,477 +2444,477 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[0].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[0].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2435 "engines/director/lingo/lingo-gr.cpp"
+#line 2448 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 65:
-#line 409 "engines/director/lingo/lingo-gr.y"
+  case 66:
+#line 412 "engines/director/lingo/lingo-gr.y"
                                {
 		(yyval.code) = g_lingo->code1(LC::c_theentitypush);
 		inst e = 0, f = 0;
 		WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2446 "engines/director/lingo/lingo-gr.cpp"
+#line 2459 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 66:
-#line 415 "engines/director/lingo/lingo-gr.y"
+  case 67:
+#line 418 "engines/director/lingo/lingo-gr.y"
                          {
 		g_lingo->code1(LC::c_objectfieldpush);
 		g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
 		g_lingo->codeInt((yyvsp[0].objectfield).oe);
 		delete (yyvsp[0].objectfield).os; }
-#line 2456 "engines/director/lingo/lingo-gr.cpp"
+#line 2469 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 68:
-#line 421 "engines/director/lingo/lingo-gr.y"
+  case 69:
+#line 424 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_add); }
-#line 2462 "engines/director/lingo/lingo-gr.cpp"
+#line 2475 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 69:
-#line 422 "engines/director/lingo/lingo-gr.y"
+  case 70:
+#line 425 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_sub); }
-#line 2468 "engines/director/lingo/lingo-gr.cpp"
+#line 2481 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 70:
-#line 423 "engines/director/lingo/lingo-gr.y"
+  case 71:
+#line 426 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mul); }
-#line 2474 "engines/director/lingo/lingo-gr.cpp"
+#line 2487 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 71:
-#line 424 "engines/director/lingo/lingo-gr.y"
+  case 72:
+#line 427 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_div); }
-#line 2480 "engines/director/lingo/lingo-gr.cpp"
+#line 2493 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 72:
-#line 425 "engines/director/lingo/lingo-gr.y"
+  case 73:
+#line 428 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mod); }
-#line 2486 "engines/director/lingo/lingo-gr.cpp"
+#line 2499 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 73:
-#line 426 "engines/director/lingo/lingo-gr.y"
+  case 74:
+#line 429 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gt); }
-#line 2492 "engines/director/lingo/lingo-gr.cpp"
+#line 2505 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 74:
-#line 427 "engines/director/lingo/lingo-gr.y"
+  case 75:
+#line 430 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lt); }
-#line 2498 "engines/director/lingo/lingo-gr.cpp"
+#line 2511 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 75:
-#line 428 "engines/director/lingo/lingo-gr.y"
+  case 76:
+#line 431 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_eq); }
-#line 2504 "engines/director/lingo/lingo-gr.cpp"
+#line 2517 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 76:
-#line 429 "engines/director/lingo/lingo-gr.y"
+  case 77:
+#line 432 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_neq); }
-#line 2510 "engines/director/lingo/lingo-gr.cpp"
+#line 2523 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 77:
-#line 430 "engines/director/lingo/lingo-gr.y"
+  case 78:
+#line 433 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ge); }
-#line 2516 "engines/director/lingo/lingo-gr.cpp"
+#line 2529 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 78:
-#line 431 "engines/director/lingo/lingo-gr.y"
+  case 79:
+#line 434 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_le); }
-#line 2522 "engines/director/lingo/lingo-gr.cpp"
+#line 2535 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 79:
-#line 432 "engines/director/lingo/lingo-gr.y"
+  case 80:
+#line 435 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_and); }
-#line 2528 "engines/director/lingo/lingo-gr.cpp"
+#line 2541 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 80:
-#line 433 "engines/director/lingo/lingo-gr.y"
+  case 81:
+#line 436 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_or); }
-#line 2534 "engines/director/lingo/lingo-gr.cpp"
+#line 2547 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 81:
-#line 434 "engines/director/lingo/lingo-gr.y"
+  case 82:
+#line 437 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_not); }
-#line 2540 "engines/director/lingo/lingo-gr.cpp"
+#line 2553 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 82:
-#line 435 "engines/director/lingo/lingo-gr.y"
+  case 83:
+#line 438 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ampersand); }
-#line 2546 "engines/director/lingo/lingo-gr.cpp"
+#line 2559 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 83:
-#line 436 "engines/director/lingo/lingo-gr.y"
+  case 84:
+#line 439 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_concat); }
-#line 2552 "engines/director/lingo/lingo-gr.cpp"
+#line 2565 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 84:
-#line 437 "engines/director/lingo/lingo-gr.y"
+  case 85:
+#line 440 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_contains); }
-#line 2558 "engines/director/lingo/lingo-gr.cpp"
+#line 2571 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 85:
-#line 438 "engines/director/lingo/lingo-gr.y"
+  case 86:
+#line 441 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_starts); }
-#line 2564 "engines/director/lingo/lingo-gr.cpp"
+#line 2577 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 86:
-#line 439 "engines/director/lingo/lingo-gr.y"
+  case 87:
+#line 442 "engines/director/lingo/lingo-gr.y"
                                     { (yyval.code) = (yyvsp[0].code); }
-#line 2570 "engines/director/lingo/lingo-gr.cpp"
+#line 2583 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 87:
-#line 440 "engines/director/lingo/lingo-gr.y"
+  case 88:
+#line 443 "engines/director/lingo/lingo-gr.y"
                                     { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2576 "engines/director/lingo/lingo-gr.cpp"
+#line 2589 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 88:
-#line 441 "engines/director/lingo/lingo-gr.y"
+  case 89:
+#line 444 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 2582 "engines/director/lingo/lingo-gr.cpp"
+#line 2595 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 89:
-#line 442 "engines/director/lingo/lingo-gr.y"
+  case 90:
+#line 445 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_intersects); }
-#line 2588 "engines/director/lingo/lingo-gr.cpp"
+#line 2601 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 90:
-#line 443 "engines/director/lingo/lingo-gr.y"
+  case 91:
+#line 446 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_within); }
-#line 2594 "engines/director/lingo/lingo-gr.cpp"
+#line 2607 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 91:
-#line 445 "engines/director/lingo/lingo-gr.y"
+  case 92:
+#line 448 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_charOf); }
-#line 2600 "engines/director/lingo/lingo-gr.cpp"
+#line 2613 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 92:
-#line 446 "engines/director/lingo/lingo-gr.y"
+  case 93:
+#line 449 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_charToOf); }
-#line 2606 "engines/director/lingo/lingo-gr.cpp"
+#line 2619 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 93:
-#line 447 "engines/director/lingo/lingo-gr.y"
+  case 94:
+#line 450 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_itemOf); }
-#line 2612 "engines/director/lingo/lingo-gr.cpp"
+#line 2625 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 94:
-#line 448 "engines/director/lingo/lingo-gr.y"
+  case 95:
+#line 451 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_itemToOf); }
-#line 2618 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 95:
-#line 449 "engines/director/lingo/lingo-gr.y"
+  case 96:
+#line 452 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_lineOf); }
-#line 2624 "engines/director/lingo/lingo-gr.cpp"
+#line 2637 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 96:
-#line 450 "engines/director/lingo/lingo-gr.y"
+  case 97:
+#line 453 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lineToOf); }
-#line 2630 "engines/director/lingo/lingo-gr.cpp"
+#line 2643 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 97:
-#line 451 "engines/director/lingo/lingo-gr.y"
+  case 98:
+#line 454 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_wordOf); }
-#line 2636 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 98:
-#line 452 "engines/director/lingo/lingo-gr.y"
+  case 99:
+#line 455 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_wordToOf); }
-#line 2642 "engines/director/lingo/lingo-gr.cpp"
+#line 2655 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 99:
-#line 454 "engines/director/lingo/lingo-gr.y"
+  case 100:
+#line 457 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->codeFunc((yyvsp[-1].s), 1);
 		delete (yyvsp[-1].s); }
-#line 2650 "engines/director/lingo/lingo-gr.cpp"
+#line 2663 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 101:
-#line 459 "engines/director/lingo/lingo-gr.y"
+  case 102:
+#line 462 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_printtop); }
-#line 2656 "engines/director/lingo/lingo-gr.cpp"
+#line 2669 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 104:
-#line 462 "engines/director/lingo/lingo-gr.y"
+  case 105:
+#line 465 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_exitRepeat); }
-#line 2662 "engines/director/lingo/lingo-gr.cpp"
+#line 2675 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 105:
-#line 463 "engines/director/lingo/lingo-gr.y"
+  case 106:
+#line 466 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_procret); }
-#line 2668 "engines/director/lingo/lingo-gr.cpp"
+#line 2681 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 106:
-#line 464 "engines/director/lingo/lingo-gr.y"
+  case 107:
+#line 467 "engines/director/lingo/lingo-gr.y"
                   { g_lingo->_indef = kStateInArgs; }
-#line 2674 "engines/director/lingo/lingo-gr.cpp"
+#line 2687 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 107:
-#line 464 "engines/director/lingo/lingo-gr.y"
+  case 108:
+#line 467 "engines/director/lingo/lingo-gr.y"
                                                                  { g_lingo->_indef = kStateNone; }
-#line 2680 "engines/director/lingo/lingo-gr.cpp"
+#line 2693 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 110:
-#line 467 "engines/director/lingo/lingo-gr.y"
+  case 111:
+#line 470 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2688 "engines/director/lingo/lingo-gr.cpp"
+#line 2701 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 111:
-#line 470 "engines/director/lingo/lingo-gr.y"
+  case 112:
+#line 473 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2696 "engines/director/lingo/lingo-gr.cpp"
+#line 2709 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 112:
-#line 473 "engines/director/lingo/lingo-gr.y"
+  case 113:
+#line 476 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_open); }
-#line 2702 "engines/director/lingo/lingo-gr.cpp"
+#line 2715 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 113:
-#line 474 "engines/director/lingo/lingo-gr.y"
+  case 114:
+#line 477 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2708 "engines/director/lingo/lingo-gr.cpp"
+#line 2721 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 114:
-#line 476 "engines/director/lingo/lingo-gr.y"
+  case 115:
+#line 479 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_global);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2717 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 115:
-#line 480 "engines/director/lingo/lingo-gr.y"
+  case 116:
+#line 483 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_global);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2726 "engines/director/lingo/lingo-gr.cpp"
+#line 2739 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 116:
-#line 485 "engines/director/lingo/lingo-gr.y"
+  case 117:
+#line 488 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_property);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2735 "engines/director/lingo/lingo-gr.cpp"
+#line 2748 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 117:
-#line 489 "engines/director/lingo/lingo-gr.y"
+  case 118:
+#line 492 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_property);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2744 "engines/director/lingo/lingo-gr.cpp"
+#line 2757 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 118:
-#line 494 "engines/director/lingo/lingo-gr.y"
+  case 119:
+#line 497 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_instance);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2753 "engines/director/lingo/lingo-gr.cpp"
+#line 2766 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 119:
-#line 498 "engines/director/lingo/lingo-gr.y"
+  case 120:
+#line 501 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_instance);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2762 "engines/director/lingo/lingo-gr.cpp"
+#line 2775 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 120:
-#line 510 "engines/director/lingo/lingo-gr.y"
+  case 121:
+#line 513 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoloop); }
-#line 2768 "engines/director/lingo/lingo-gr.cpp"
+#line 2781 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 121:
-#line 511 "engines/director/lingo/lingo-gr.y"
+  case 122:
+#line 514 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_gotonext); }
-#line 2774 "engines/director/lingo/lingo-gr.cpp"
+#line 2787 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 122:
-#line 512 "engines/director/lingo/lingo-gr.y"
+  case 123:
+#line 515 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoprevious); }
-#line 2780 "engines/director/lingo/lingo-gr.cpp"
+#line 2793 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 123:
-#line 513 "engines/director/lingo/lingo-gr.y"
+  case 124:
+#line 516 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_goto); }
-#line 2789 "engines/director/lingo/lingo-gr.cpp"
+#line 2802 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 124:
-#line 517 "engines/director/lingo/lingo-gr.y"
+  case 125:
+#line 520 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_goto); }
-#line 2798 "engines/director/lingo/lingo-gr.cpp"
+#line 2811 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 125:
-#line 521 "engines/director/lingo/lingo-gr.y"
+  case 126:
+#line 524 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_goto); }
-#line 2807 "engines/director/lingo/lingo-gr.cpp"
+#line 2820 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 128:
-#line 529 "engines/director/lingo/lingo-gr.y"
+  case 129:
+#line 532 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_playdone); }
-#line 2813 "engines/director/lingo/lingo-gr.cpp"
+#line 2826 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 129:
-#line 530 "engines/director/lingo/lingo-gr.y"
+  case 130:
+#line 533 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_play); }
-#line 2822 "engines/director/lingo/lingo-gr.cpp"
+#line 2835 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 130:
-#line 534 "engines/director/lingo/lingo-gr.y"
+  case 131:
+#line 537 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_play); }
-#line 2831 "engines/director/lingo/lingo-gr.cpp"
+#line 2844 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 131:
-#line 538 "engines/director/lingo/lingo-gr.y"
+  case 132:
+#line 541 "engines/director/lingo/lingo-gr.y"
                                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_play); }
-#line 2840 "engines/director/lingo/lingo-gr.cpp"
+#line 2853 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 132:
-#line 542 "engines/director/lingo/lingo-gr.y"
+  case 133:
+#line 545 "engines/director/lingo/lingo-gr.y"
                      { g_lingo->codeSetImmediate(true); }
-#line 2846 "engines/director/lingo/lingo-gr.cpp"
+#line 2859 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 133:
-#line 542 "engines/director/lingo/lingo-gr.y"
+  case 134:
+#line 545 "engines/director/lingo/lingo-gr.y"
                                                                         {
 		g_lingo->codeSetImmediate(false);
 		g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
 		delete (yyvsp[-2].s); }
-#line 2855 "engines/director/lingo/lingo-gr.cpp"
+#line 2868 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 134:
-#line 572 "engines/director/lingo/lingo-gr.y"
+  case 135:
+#line 575 "engines/director/lingo/lingo-gr.y"
              { g_lingo->_indef = kStateInArgs; }
-#line 2861 "engines/director/lingo/lingo-gr.cpp"
+#line 2874 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 135:
-#line 572 "engines/director/lingo/lingo-gr.y"
+  case 136:
+#line 575 "engines/director/lingo/lingo-gr.y"
                                                     { g_lingo->_currentFactory.clear(); }
-#line 2867 "engines/director/lingo/lingo-gr.cpp"
+#line 2880 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 136:
-#line 573 "engines/director/lingo/lingo-gr.y"
+  case 137:
+#line 576 "engines/director/lingo/lingo-gr.y"
                                                                         {
 		g_lingo->code1(LC::c_procret);
 		g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		g_lingo->clearArgStack();
 		g_lingo->_indef = kStateNone;
 		delete (yyvsp[-6].s); }
-#line 2878 "engines/director/lingo/lingo-gr.cpp"
+#line 2891 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 137:
-#line 579 "engines/director/lingo/lingo-gr.y"
+  case 138:
+#line 582 "engines/director/lingo/lingo-gr.y"
                         { g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2884 "engines/director/lingo/lingo-gr.cpp"
+#line 2897 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 138:
-#line 580 "engines/director/lingo/lingo-gr.y"
+  case 139:
+#line 583 "engines/director/lingo/lingo-gr.y"
                   { g_lingo->_indef = kStateInArgs; }
-#line 2890 "engines/director/lingo/lingo-gr.cpp"
+#line 2903 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 139:
-#line 581 "engines/director/lingo/lingo-gr.y"
+  case 140:
+#line 584 "engines/director/lingo/lingo-gr.y"
                                                                         {
 		g_lingo->code1(LC::c_procret);
 		g_lingo->define(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
 		g_lingo->clearArgStack();
 		g_lingo->_indef = kStateNone;
 		delete (yyvsp[-6].s); }
-#line 2901 "engines/director/lingo/lingo-gr.cpp"
+#line 2914 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 140:
-#line 587 "engines/director/lingo/lingo-gr.y"
+  case 141:
+#line 590 "engines/director/lingo/lingo-gr.y"
                                                                      {	// D3
 		g_lingo->code1(LC::c_procret);
 		g_lingo->define(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -2912,11 +2925,11 @@ yyreduce:
 		checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
 		delete (yyvsp[-7].s);
 		delete (yyvsp[-1].s); }
-#line 2916 "engines/director/lingo/lingo-gr.cpp"
+#line 2929 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 141:
-#line 597 "engines/director/lingo/lingo-gr.y"
+  case 142:
+#line 600 "engines/director/lingo/lingo-gr.y"
                                                  {	// D4. No 'end' clause
 		g_lingo->code1(LC::c_procret);
 		g_lingo->define(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
@@ -2924,65 +2937,65 @@ yyreduce:
 		g_lingo->clearArgStack();
 		g_lingo->_ignoreMe = false;
 		delete (yyvsp[-5].s); }
-#line 2928 "engines/director/lingo/lingo-gr.cpp"
+#line 2941 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 142:
-#line 605 "engines/director/lingo/lingo-gr.y"
+  case 143:
+#line 608 "engines/director/lingo/lingo-gr.y"
          { g_lingo->_indef = kStateInArgs; }
-#line 2934 "engines/director/lingo/lingo-gr.cpp"
+#line 2947 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 143:
-#line 605 "engines/director/lingo/lingo-gr.y"
+  case 144:
+#line 608 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 2940 "engines/director/lingo/lingo-gr.cpp"
+#line 2953 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 144:
-#line 607 "engines/director/lingo/lingo-gr.y"
+  case 145:
+#line 610 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = 0; }
-#line 2946 "engines/director/lingo/lingo-gr.cpp"
+#line 2959 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 145:
-#line 608 "engines/director/lingo/lingo-gr.y"
+  case 146:
+#line 611 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 2952 "engines/director/lingo/lingo-gr.cpp"
+#line 2965 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 146:
-#line 609 "engines/director/lingo/lingo-gr.y"
+  case 147:
+#line 612 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 2958 "engines/director/lingo/lingo-gr.cpp"
+#line 2971 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 147:
-#line 610 "engines/director/lingo/lingo-gr.y"
+  case 148:
+#line 613 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 2964 "engines/director/lingo/lingo-gr.cpp"
+#line 2977 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 149:
-#line 613 "engines/director/lingo/lingo-gr.y"
+  case 150:
+#line 616 "engines/director/lingo/lingo-gr.y"
                                                 { delete (yyvsp[0].s); }
-#line 2970 "engines/director/lingo/lingo-gr.cpp"
+#line 2983 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 150:
-#line 614 "engines/director/lingo/lingo-gr.y"
+  case 151:
+#line 617 "engines/director/lingo/lingo-gr.y"
                                         { delete (yyvsp[0].s); }
-#line 2976 "engines/director/lingo/lingo-gr.cpp"
+#line 2989 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 151:
-#line 616 "engines/director/lingo/lingo-gr.y"
+  case 152:
+#line 619 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 2982 "engines/director/lingo/lingo-gr.cpp"
+#line 2995 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 152:
-#line 618 "engines/director/lingo/lingo-gr.y"
+  case 153:
+#line 621 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code1(LC::c_call);
 		g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -2990,113 +3003,113 @@ yyreduce:
 		WRITE_UINT32(&numpar, (yyvsp[0].narg));
 		g_lingo->code1(numpar);
 		delete (yyvsp[-1].s); }
-#line 2994 "engines/director/lingo/lingo-gr.cpp"
+#line 3007 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 153:
-#line 626 "engines/director/lingo/lingo-gr.y"
+  case 154:
+#line 629 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = 0; }
-#line 3000 "engines/director/lingo/lingo-gr.cpp"
+#line 3013 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 154:
-#line 627 "engines/director/lingo/lingo-gr.y"
+  case 155:
+#line 630 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3006 "engines/director/lingo/lingo-gr.cpp"
+#line 3019 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 155:
-#line 628 "engines/director/lingo/lingo-gr.y"
+  case 156:
+#line 631 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3012 "engines/director/lingo/lingo-gr.cpp"
+#line 3025 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 156:
-#line 630 "engines/director/lingo/lingo-gr.y"
+  case 157:
+#line 633 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 3031 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 157:
-#line 631 "engines/director/lingo/lingo-gr.y"
+  case 158:
+#line 634 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 3037 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 158:
-#line 633 "engines/director/lingo/lingo-gr.y"
+  case 159:
+#line 636 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 3030 "engines/director/lingo/lingo-gr.cpp"
+#line 3043 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 159:
-#line 635 "engines/director/lingo/lingo-gr.y"
+  case 160:
+#line 638 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 3049 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 160:
-#line 636 "engines/director/lingo/lingo-gr.y"
+  case 161:
+#line 639 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3042 "engines/director/lingo/lingo-gr.cpp"
+#line 3055 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 161:
-#line 637 "engines/director/lingo/lingo-gr.y"
+  case 162:
+#line 640 "engines/director/lingo/lingo-gr.y"
                      { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3048 "engines/director/lingo/lingo-gr.cpp"
+#line 3061 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 162:
-#line 638 "engines/director/lingo/lingo-gr.y"
+  case 163:
+#line 641 "engines/director/lingo/lingo-gr.y"
                          { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3054 "engines/director/lingo/lingo-gr.cpp"
+#line 3067 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 163:
-#line 640 "engines/director/lingo/lingo-gr.y"
+  case 164:
+#line 643 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3060 "engines/director/lingo/lingo-gr.cpp"
+#line 3073 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 164:
-#line 641 "engines/director/lingo/lingo-gr.y"
+  case 165:
+#line 644 "engines/director/lingo/lingo-gr.y"
                                     { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3079 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 165:
-#line 643 "engines/director/lingo/lingo-gr.y"
+  case 166:
+#line 646 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3072 "engines/director/lingo/lingo-gr.cpp"
+#line 3085 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 166:
-#line 644 "engines/director/lingo/lingo-gr.y"
+  case 167:
+#line 647 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3078 "engines/director/lingo/lingo-gr.cpp"
+#line 3091 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 167:
-#line 646 "engines/director/lingo/lingo-gr.y"
+  case 168:
+#line 649 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3087 "engines/director/lingo/lingo-gr.cpp"
+#line 3100 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 168:
-#line 650 "engines/director/lingo/lingo-gr.y"
+  case 169:
+#line 653 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3096 "engines/director/lingo/lingo-gr.cpp"
+#line 3109 "engines/director/lingo/lingo-gr.cpp"
     break;
 
 
-#line 3100 "engines/director/lingo/lingo-gr.cpp"
+#line 3113 "engines/director/lingo/lingo-gr.cpp"
 
       default: break;
     }
@@ -3328,5 +3341,5 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 656 "engines/director/lingo/lingo-gr.y"
+#line 659 "engines/director/lingo/lingo-gr.y"
 
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 854d968..f35e9c2 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -262,6 +262,9 @@ stmt: stmtoneliner
 		(*g_lingo->_currentScript)[$repeatwith + 3] = body;		/* body of loop */
 		(*g_lingo->_currentScript)[$repeatwith + 4] = inc;		/* increment */
 		(*g_lingo->_currentScript)[$repeatwith + 5] = end; }	/* end, if cond fails */
+	| tNEXT tREPEAT {
+		g_lingo->code1(LC::c_nextRepeat);
+	}
 	| when stmtonelinerwithif end {
 		inst end = 0;
 		WRITE_UINT32(&end, $end - $when);




More information about the Scummvm-git-logs mailing list