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

sev- sev at scummvm.org
Tue Feb 18 20:38:38 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:
a99b9d78b0 DIRECTOR: LINGO: Fixed code generation for repeat..with


Commit: a99b9d78b0b864050a3757093c1aaea889a9b093
    https://github.com/scummvm/scummvm/commit/a99b9d78b0b864050a3757093c1aaea889a9b093
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-02-18T22:37:55+02:00

Commit Message:
DIRECTOR: LINGO: Fixed code generation for repeat..with

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


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 4adff3a..92a6884 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -576,7 +576,7 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  128
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1723
+#define YYLAST   1738
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  103
@@ -585,7 +585,7 @@ union yyalloc
 /* YYNRULES -- Number of rules.  */
 #define YYNRULES  173
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  375
+#define YYNSTATES  377
 
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   342
@@ -712,7 +712,7 @@ static const yytype_int16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF (-277)
+#define YYPACT_NINF (-275)
 
 #define yypact_value_is_default(Yyn) \
   ((Yyn) == YYPACT_NINF)
@@ -726,44 +726,44 @@ static const yytype_int16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     307,   -76,  -277,  -277,    51,  -277,  1048,  1086,    51,  1168,
-    -277,  -277,  -277,  -277,  -277,  -277,    -5,  -277,   845,  -277,
-    -277,    10,   966,   -40,   279,    46,    50,  1206,   927,    55,
-    1206,  1206,  1206,  1206,  1206,  1206,  1206,  -277,  -277,  1206,
-    1206,  1206,   389,     6,  -277,  -277,  -277,  -277,  -277,  1206,
-       9,  1206,   723,  -277,  1616,  -277,  -277,  -277,  -277,  -277,
-    -277,  -277,  -277,  -277,  -277,  -277,  -277,   -60,   966,  1206,
-    1616,   -18,  1206,   -18,  -277,  1206,  1616,    18,  1206,  -277,
-    -277,    76,  -277,  1206,  -277,    72,  -277,   171,  -277,    94,
-    -277,    95,   360,    96,  -277,   -33,    51,    51,   -12,    69,
-      71,  -277,  1533,  -277,   171,  -277,  -277,    24,  -277,  1227,
-    1261,  1294,  1327,  1583,  1492,   100,   108,  -277,  -277,  1546,
-      52,    58,  -277,  1616,    54,    62,    63,  -277,  -277,   477,
-    1616,  1206,  1206,  1616,  -277,  -277,  1206,  1616,  -277,  -277,
-    1206,  1206,  1206,  1206,  1206,  1206,  1206,  1206,  1206,  1206,
-    1206,  1206,  1206,  1206,  1206,  1206,  1206,   129,  1206,   360,
-    1546,    -4,  1206,    14,    16,  1206,   -18,   129,  -277,    64,
-    1616,  1206,  -277,  -277,    51,    15,  1206,  1206,  -277,  1206,
-    1206,   -11,   111,  1206,  1206,  1206,  -277,  1206,  -277,   140,
-    1206,  1206,  1206,  1206,  1206,  1206,  1206,  1206,  1206,  1206,
-    -277,  -277,  -277,    67,  -277,  -277,    51,    51,  -277,  1206,
-      33,  -277,  -277,  1616,  1616,   121,  -277,  1616,    13,    13,
-      13,    13,  1629,  1629,  -277,    17,    13,    13,    13,    13,
-      17,   -37,   -37,  -277,  -277,  -277,   -45,  -277,  1616,  -277,
-    -277,  1616,   -31,   152,  1616,  -277,   139,  -277,  -277,  1616,
-    1616,  1616,    13,  1206,  1206,   158,  1616,    13,  1616,  1616,
-    -277,  1616,  1360,  1616,  1393,  1616,  1426,  1616,  1459,  1616,
-    1616,   805,  -277,   159,  -277,  -277,  1616,    52,    58,  -277,
-     641,  -277,   -10,  -277,   144,    98,   175,    98,  -277,   129,
-    1206,  1616,    13,    51,  1206,  1206,  1206,  1206,  -277,   641,
-    -277,  -277,  -277,   114,   641,   149,  1206,   641,   805,   178,
-    -277,  -277,  -277,     0,  1616,   153,  1616,  1616,  1616,  1616,
-    -277,   117,  -277,   120,  1206,  1616,  -277,  -277,  -277,   559,
-     641,    98,  1206,  -277,  -277,  1616,  -277,    53,   -24,   185,
-    -277,  1616,  -277,   641,  -277,  -277,  -277,  1206,   125,  -277,
-    -277,  -277,   112,   641,   641,   128,  -277,  1616,  -277,   805,
-     192,   133,  -277,   641,   169,  -277,  -277,  -277,   138,  -277,
-     142,  -277,   641,  -277,  -277
+     322,   -85,  -275,  -275,    24,  -275,  1063,  1101,    24,  1183,
+    -275,  -275,  -275,  -275,  -275,  -275,   -34,  -275,   860,  -275,
+    -275,   -30,   981,    33,    89,    28,    43,  1221,   942,    47,
+    1221,  1221,  1221,  1221,  1221,  1221,  1221,  -275,  -275,  1221,
+    1221,  1221,   404,     8,  -275,  -275,  -275,  -275,  -275,  1221,
+     -17,  1221,   738,  -275,  1631,  -275,  -275,  -275,  -275,  -275,
+    -275,  -275,  -275,  -275,  -275,  -275,  -275,    22,   981,  1221,
+    1631,    13,  1221,    13,  -275,  1221,  1631,    26,  1221,  -275,
+    -275,    92,  -275,  1221,  -275,    79,  -275,   396,  -275,   102,
+    -275,   104,   163,   105,  -275,   -32,    24,    24,   -11,    80,
+     100,  -275,  1548,  -275,   396,  -275,  -275,    32,  -275,  1242,
+    1276,  1309,  1342,  1598,  1507,   129,   130,  -275,  -275,  1561,
+      53,    56,  -275,  1631,    59,    62,    63,  -275,  -275,   492,
+    1631,  -275,  -275,  1631,  -275,  -275,  1221,  1631,  -275,  -275,
+    1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,
+    1221,  1221,  1221,  1221,  1221,  1221,  1221,   139,  1221,   163,
+    1561,    -3,  1221,    16,    19,  1221,    13,   139,  -275,    65,
+    1631,  1221,  -275,  -275,    24,    15,  1221,  1221,  -275,  1221,
+    1221,    18,   120,  1221,  1221,  1221,  -275,  1221,  -275,   143,
+    1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,
+    -275,  -275,  -275,    70,  -275,  -275,    24,    24,  -275,  1221,
+      34,  -275,  -275,  1221,  1221,   121,  -275,  1631,     7,     7,
+       7,     7,  1644,  1644,  -275,    17,     7,     7,     7,     7,
+      17,   -29,   -29,  -275,  -275,  -275,   -39,  -275,  1631,  -275,
+    -275,  1631,   -21,   151,  1631,  -275,   135,  -275,  -275,  1631,
+    1631,  1631,     7,  1221,  1221,   158,  1631,     7,  1631,  1631,
+    -275,  1631,  1375,  1631,  1408,  1631,  1441,  1631,  1474,  1631,
+    1631,   820,  -275,   159,  -275,  -275,  1631,    53,    56,  -275,
+     656,  1631,  1631,  -275,   144,    95,   172,    95,  -275,   139,
+    1221,  1631,     7,    24,  1221,  1221,  1221,  1221,  -275,   656,
+    -275,  -275,  -275,   111,  -275,    -2,   656,   820,   174,  -275,
+    -275,  -275,   -15,  1631,   147,  1631,  1631,  1631,  1631,  -275,
+     113,  -275,   656,   149,  1221,  -275,  -275,  -275,   574,   656,
+      95,  1221,  -275,   116,  1221,  1631,    87,   -27,   181,  -275,
+    1631,  -275,  1631,  -275,  -275,  -275,  -275,  1221,   124,  -275,
+    -275,  -275,   107,   656,  -275,   656,  -275,  1631,  -275,   820,
+     186,   656,   125,   656,   164,  -275,  -275,   128,  -275,   131,
+    -275,   132,  -275,  -275,   656,  -275,  -275
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -784,7 +784,7 @@ static const yytype_uint8 yydefact[] =
        0,   142,   118,   133,   134,   136,   123,   114,    85,     0,
        0,     0,     0,     0,     0,     0,     0,    90,    91,     0,
       59,    58,   165,   168,     0,   166,   167,   170,     1,     5,
-      51,     0,     0,    51,    51,    27,     0,    25,    26,    24,
+      51,    50,    50,    51,    51,    27,     0,    25,    26,    24,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   149,   158,     0,
      159,     0,     0,     0,     0,     0,   138,   149,   119,   111,
@@ -792,44 +792,44 @@ static const yytype_uint8 yydefact[] =
        0,     0,     0,     0,     0,     0,    55,     0,   135,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       38,    38,   121,   113,   148,    92,     0,     0,   163,     0,
-       0,     2,    52,    51,    51,     0,    35,    51,    81,    82,
+       0,     2,    52,     0,     0,     0,    35,    51,    81,    82,
       79,    80,    83,    84,    76,    87,    88,    89,    78,    77,
       86,    72,    73,    74,    75,   150,     0,   115,   160,    64,
       66,   162,     0,     0,   131,    50,     0,     8,     9,    11,
       12,    16,    14,     0,     0,     0,    15,    13,    20,   117,
      124,    95,     0,    97,     0,    99,     0,   101,     0,    93,
       94,     0,    52,     0,   173,   172,   169,     0,     0,   171,
-      51,    52,     0,    52,     0,   156,     0,   156,   120,   149,
+      51,    51,    51,    52,     0,   156,     0,   156,   120,   149,
        0,    17,    18,     0,     0,     0,     0,     0,    51,    51,
-     122,    53,    54,     0,    51,     0,     0,    51,     0,     0,
-      52,   151,    52,     0,    10,     0,    96,    98,   100,   102,
-      37,     0,    30,     0,     0,    51,    41,    51,   152,   146,
-     144,   156,     0,    36,    33,    51,    52,    51,     0,   153,
-      52,    19,    52,    51,    50,    49,    42,     0,     0,    50,
-      45,   154,   145,   141,    51,     0,    52,    51,    39,     0,
-       0,     0,    31,    51,     0,    51,   155,    32,     0,    52,
-       0,    40,    51,    44,    43
+     122,    53,    54,     0,    52,     0,    51,     0,     0,    52,
+     151,    52,     0,    10,     0,    96,    98,   100,   102,    37,
+       0,    30,    51,     0,     0,    41,    51,   152,   146,   144,
+     156,     0,    36,     0,     0,    51,    51,     0,   153,    52,
+      19,    33,    51,    52,    50,    49,    42,     0,     0,    50,
+      45,   154,   145,   141,    52,    51,    52,    51,    39,     0,
+       0,    51,     0,    51,     0,    51,   155,     0,    31,     0,
+      52,     0,    32,    40,    51,    44,    43
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -277,  -277,   101,  -277,  -258,  -277,     4,    23,  -277,  -277,
-    -277,  -277,  -277,  -277,   173,  -277,   -77,   -86,  -114,  -277,
-       1,    -6,  -277,    56,   177,  -277,  -277,  -277,  -277,  -277,
-    -277,   -20,  -277,  -277,  -277,  -277,  -277,  -277,  -277,  -277,
-    -160,  -277,  -276,   180,    11,  -277,  -277,  -277,  -277,  -277,
-      36
+    -275,  -275,    90,  -275,  -265,  -275,     4,    23,  -275,  -275,
+    -275,  -275,  -275,  -275,   166,  -275,   -77,   -60,   -41,  -275,
+       6,    -6,  -275,    48,   188,  -275,  -275,  -275,  -275,  -275,
+    -275,   -19,  -275,  -275,  -275,  -275,  -275,  -275,  -275,  -275,
+    -162,  -275,  -274,   189,    11,  -275,  -275,  -275,  -275,  -275,
+      35
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    43,    44,    45,    46,   134,   302,   271,    48,   337,
+      -1,    43,    44,    45,    46,   134,   302,   271,    48,   336,
      346,   135,    49,    50,    51,   347,   157,   212,   280,    52,
       53,    54,    55,    56,    57,    81,   115,   169,   203,   107,
       58,    88,    59,    78,    60,    89,   245,    79,    61,   116,
-     236,   352,   310,    62,   164,    77,    63,   124,   125,   126,
+     236,   352,   309,    62,   164,    77,    63,   124,   125,   126,
      127
 };
 
@@ -838,356 +838,358 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      70,    70,   167,    76,    47,    66,   128,   242,   105,    74,
-     349,   312,    87,   298,    93,    94,    92,    71,    73,   179,
-      64,   102,   104,   305,   108,   109,   110,   111,   112,   113,
-     114,   180,   146,   117,   118,   119,   123,   158,     8,   247,
-     183,   253,   306,   130,    80,   133,   137,   215,   216,   131,
-     327,   285,   184,   254,   286,   340,   155,   156,   277,    90,
-     278,   350,   159,   160,     2,   287,   160,   172,   286,   160,
-     100,     5,    70,   132,   101,    65,    10,   170,    11,   106,
-     161,   162,   146,   163,   188,   147,   146,   344,   345,   166,
-      31,    32,    33,    34,   237,   162,   331,   181,   182,   286,
-     168,   365,   129,   152,   153,   154,   155,   156,   153,   154,
-     155,   156,   239,   162,   240,   162,   171,   165,   173,   174,
-     178,   185,   186,   189,   202,   213,   214,   281,   282,   313,
-     217,   284,   204,    47,   218,   219,   220,   221,   222,   223,
+      70,    70,   167,    76,    47,   242,   298,   349,   128,   105,
+      66,    64,    87,   311,    74,    80,    92,    71,    73,    90,
+     179,   102,   104,   131,   108,   109,   110,   111,   112,   113,
+     114,   323,   180,   117,   118,   119,   123,     2,     8,   247,
+     146,   183,   326,   130,     5,   133,   137,   132,    65,    10,
+     324,    11,   100,   184,   213,   214,   339,   285,   350,   277,
+     286,   278,   159,   160,   155,   156,   160,   101,   172,   160,
+     253,   106,    70,   215,   216,   287,   146,   170,   286,   147,
+     161,   330,   254,   163,   286,   188,   146,    93,    94,   166,
+      31,    32,    33,    34,   365,   237,   162,   152,   153,   154,
+     155,   156,   181,   182,   129,    95,    96,    97,   153,   154,
+     155,   156,   162,    98,   239,   162,   168,   240,   162,   158,
+      99,   344,   345,   171,    42,   165,   173,   312,   174,   178,
+     217,   189,   185,    47,   218,   219,   220,   221,   222,   223,
      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,    42,    70,   235,   206,   208,   238,   255,   299,   241,
-     207,   209,   210,   243,   260,   244,   273,   304,   289,   307,
-     249,   250,   283,   251,   252,   246,   288,   256,   257,   258,
-     290,   259,   293,   300,   261,   262,   263,   264,   265,   266,
-     267,   268,   269,   270,   303,   308,   329,   309,   330,   311,
-     322,   324,   328,   276,   333,   332,   334,   274,   275,   351,
-     358,   360,   320,   321,   362,    83,   366,    85,   323,   367,
-     369,   326,   343,   371,   272,   136,   353,   373,   354,   138,
-     211,   248,   139,   140,   141,   142,   143,   144,   145,   336,
-     146,   338,   363,   147,   148,   149,   279,   291,   292,   342,
-       0,   348,     0,     0,     0,   372,     0,   355,     0,   150,
-     151,   152,   153,   154,   155,   156,     0,   356,   361,     0,
-       0,   364,   359,     0,     0,     0,     0,   368,     0,   370,
-       0,     0,     0,     0,   314,     0,   374,     0,   316,   317,
-     318,   319,     0,     0,   315,    95,    96,    97,     0,     0,
-     325,     0,     0,    98,     0,     0,     0,    -5,     1,     0,
-      99,     0,     0,     0,     0,     0,     0,     0,   335,     0,
-       2,     0,     0,     3,     4,     0,   341,     5,     6,     7,
-       8,     9,    10,     0,    11,     0,    12,    13,    14,    15,
-       0,   357,     0,    16,    17,    18,    19,     0,     0,     0,
-      20,     0,    21,     0,     0,    22,    23,    24,     0,     0,
-      25,     0,     0,     0,    26,    27,    28,     0,    29,     0,
-       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
-       0,     0,    31,    32,    33,    34,    35,     0,     0,    36,
-      37,    38,     0,     0,     0,     0,     0,     0,    39,    40,
-       0,   175,     2,    -5,    41,     3,     4,    42,     0,     5,
-       0,     7,     8,    67,   120,     0,   121,     0,     0,     0,
-      14,    15,   140,   141,   142,   143,   144,   145,     0,   146,
-     176,   177,   147,   148,   149,     0,     0,    68,     0,    24,
-       0,     0,     0,     0,     0,     0,     0,     0,   150,   151,
-     152,   153,   154,   155,   156,     0,     0,    30,     0,     0,
-       0,     0,     0,     0,    31,    32,    33,    34,    35,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      39,    40,     0,     0,     0,     0,    41,     0,     0,    42,
-       2,   122,     0,     3,     4,     0,     0,     5,     6,     7,
-       8,     9,    10,     0,    11,     0,    12,    13,    14,    15,
-       0,     0,     0,    16,    17,    18,    19,     0,     0,     0,
-      20,     0,    21,     0,     0,    22,    23,    24,     0,     0,
-      25,     0,     0,     0,    26,    27,    28,     0,    29,     0,
-       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
-       0,     0,    31,    32,    33,    34,    35,     0,     0,    36,
-      37,    38,     0,     0,     0,     0,     0,     0,    39,    40,
-       0,     0,     2,     0,    41,     3,     4,    42,     0,     5,
-       6,     7,     8,     9,    10,     0,    11,   339,    12,     0,
-      14,    15,     0,     0,     0,    16,    17,    18,    19,     0,
-       0,     0,     0,     0,    21,     0,     0,    22,    23,    24,
-       0,     0,    25,     0,     0,     0,     0,    27,    28,     0,
-      29,     0,     0,     0,     0,     0,     0,    30,     0,     0,
-       0,     0,     0,     0,    31,    32,    33,    34,    35,     0,
-       0,    36,    37,     0,     0,     0,     0,     0,     0,     0,
-      39,    40,     0,     0,     2,   301,    41,     3,     4,    42,
-       0,     5,     6,     7,     8,     9,    10,     0,    11,     0,
-      12,     0,    14,    15,     0,     0,     0,    16,    17,    18,
-      19,     0,     0,     0,     0,     0,    21,     0,     0,    22,
-      23,    24,     0,     0,    25,     0,     0,     0,     0,    27,
-      28,     0,    29,     0,     0,     0,     0,     0,     0,    30,
-       0,     0,     0,     0,     0,     0,    31,    32,    33,    34,
-      35,     0,     0,    36,    37,     0,     0,     0,     0,     0,
-       0,     0,    39,    40,     0,     0,     2,   301,    41,     3,
-       4,    42,     0,     5,     6,     7,     8,     9,    10,     0,
-      11,     0,    12,     0,    14,    15,     0,     0,     0,    16,
-      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
-       0,    22,     0,    24,     0,     0,     0,     0,     0,     0,
-       0,    27,    28,     0,    29,     0,     0,     0,     0,     0,
-       0,    30,     0,     0,     0,     0,     0,     0,    31,    32,
-      33,    34,    35,     0,     0,     0,    37,     0,     0,     0,
-       0,     0,     0,     0,    39,    40,     0,     0,     2,     0,
-      41,     3,     4,    42,     0,     5,     6,     7,     8,     9,
-      10,     0,    11,     0,    12,     0,    14,    15,     0,     0,
-       0,    16,    17,    18,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    22,     0,    24,     0,     0,     2,     0,
-       0,     3,     4,    27,    28,     5,    29,     7,     8,    67,
-      10,     0,    11,    30,     0,     0,    14,    15,     0,     0,
-      31,    32,    33,    34,    35,     0,     0,    82,    37,    83,
-      84,    85,    86,    68,     0,    24,    39,    40,     0,     0,
-       0,     0,    41,     0,     0,    42,     0,     0,     0,     0,
-       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
-      31,    32,    33,    34,    35,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    39,    40,     0,     0,
-       2,     0,    41,     3,     4,    42,     0,     5,     0,     7,
-       8,    67,    10,     0,    11,     0,     0,     0,    14,    15,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    83,     0,    85,     0,    68,     0,    24,     0,     2,
-       0,     0,     3,     4,     0,    91,     5,   103,     7,     8,
-      67,    10,     0,    11,     0,    30,     0,    14,    15,     0,
-       0,     0,    31,    32,    33,    34,    35,     0,     0,     0,
-       0,     0,     0,     0,    68,     0,    24,     0,    39,    40,
-       0,     0,     0,     0,    41,     0,     0,    42,     0,     0,
-       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
-       0,    31,    32,    33,    34,    35,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    39,    40,     0,
-       0,     2,     0,    41,     3,     4,    42,     0,     5,     0,
-       7,     8,    67,    10,     0,    11,     0,     0,     0,    14,
-      15,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    68,     0,    24,     2,
-       0,     0,     3,     4,     0,     0,     5,     0,     7,     8,
-      67,    10,     0,    11,     0,     0,    30,    14,    15,     0,
-       0,     0,     0,    31,    32,    33,    34,    35,     0,     0,
-       0,     0,     0,     0,    68,     0,    24,     0,     0,    39,
-      40,     0,     0,     0,     0,    69,     0,     0,    42,     0,
+     234,   186,    70,   202,   204,   206,   238,   284,   207,   241,
+     208,   209,   210,   235,   243,   244,   255,   260,   289,   273,
+     249,   250,   283,   251,   252,   288,   290,   256,   257,   258,
+     246,   259,   293,   300,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   308,   307,   310,   321,   327,   331,
+     332,   334,   341,   276,   175,   351,   360,   281,   282,   358,
+     366,   368,   274,   275,   372,   370,   373,   375,   136,   211,
+     303,   304,   305,   248,   272,   140,   141,   142,   143,   144,
+     145,   299,   146,   176,   177,   147,   148,   149,   319,   320,
+     138,   139,   306,     0,     0,   279,   325,   291,   292,     0,
+       0,   150,   151,   152,   153,   154,   155,   156,     0,     0,
+       0,     0,   333,   322,     0,     0,   337,   356,   328,     0,
+     329,     0,   359,     0,     0,   343,   348,     0,     0,     0,
+       0,     0,   354,     0,   313,     0,     0,     0,   315,   316,
+     317,   318,     0,     0,     0,   362,     0,   364,   353,   314,
+       0,   367,   355,   369,     0,   371,     0,     0,     0,     0,
+       0,     0,     0,   361,   376,   363,     0,     0,   335,     0,
+       0,     0,    -5,     1,     0,   340,     0,     0,   342,   374,
+       0,     0,     0,     0,     0,     2,     0,     0,     3,     4,
+       0,   357,     5,     6,     7,     8,     9,    10,     0,    11,
+       0,    12,    13,    14,    15,     0,     0,     0,    16,    17,
+      18,    19,     0,     0,     0,    20,     0,    21,     0,     0,
+      22,    23,    24,     0,     0,    25,     0,     0,     0,    26,
+      27,    28,     0,    29,     0,     0,     0,     0,     0,     0,
+      30,     0,     0,     0,     0,     0,     0,    31,    32,    33,
+      34,    35,     0,     0,    36,    37,    38,     0,     0,     0,
+       0,     0,     0,    39,    40,     0,     0,     2,    -5,    41,
+       3,     4,    42,     0,     5,     0,     7,     8,    67,   120,
+       0,   121,     0,     0,     0,    14,    15,     0,     0,     0,
+      83,     0,    85,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    68,     0,    24,     0,     0,     0,   140,   141,
+     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
+     149,     0,    30,     0,     0,     0,     0,     0,     0,    31,
+      32,    33,    34,    35,   150,   151,   152,   153,   154,   155,
+     156,     0,     0,     0,     0,    39,    40,     0,     0,     0,
+       0,    41,     0,     0,    42,     2,   122,     0,     3,     4,
+       0,     0,     5,     6,     7,     8,     9,    10,     0,    11,
+       0,    12,    13,    14,    15,     0,     0,     0,    16,    17,
+      18,    19,     0,     0,     0,    20,     0,    21,     0,     0,
+      22,    23,    24,     0,     0,    25,     0,     0,     0,    26,
+      27,    28,     0,    29,     0,     0,     0,     0,     0,     0,
+      30,     0,     0,     0,     0,     0,     0,    31,    32,    33,
+      34,    35,     0,     0,    36,    37,    38,     0,     0,     0,
+       0,     0,     0,    39,    40,     0,     0,     2,     0,    41,
+       3,     4,    42,     0,     5,     6,     7,     8,     9,    10,
+       0,    11,   338,    12,     0,    14,    15,     0,     0,     0,
+      16,    17,    18,    19,     0,     0,     0,     0,     0,    21,
+       0,     0,    22,    23,    24,     0,     0,    25,     0,     0,
+       0,     0,    27,    28,     0,    29,     0,     0,     0,     0,
+       0,     0,    30,     0,     0,     0,     0,     0,     0,    31,
+      32,    33,    34,    35,     0,     0,    36,    37,     0,     0,
+       0,     0,     0,     0,     0,    39,    40,     0,     0,     2,
+     301,    41,     3,     4,    42,     0,     5,     6,     7,     8,
+       9,    10,     0,    11,     0,    12,     0,    14,    15,     0,
+       0,     0,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,    21,     0,     0,    22,    23,    24,     0,     0,    25,
+       0,     0,     0,     0,    27,    28,     0,    29,     0,     0,
        0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
-       0,    31,    32,    33,    34,    35,     0,     0,     0,     0,
+       0,    31,    32,    33,    34,    35,     0,     0,    36,    37,
        0,     0,     0,     0,     0,     0,     0,    39,    40,     0,
-       0,     2,     0,    72,     3,     4,    42,     0,     5,     0,
-       7,     8,    67,    10,     0,    11,     0,     0,     0,    14,
-      15,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    68,     0,    24,     2,
-       0,     0,     3,     4,     0,     0,     5,     0,     7,     8,
-      67,    10,     0,    11,     0,     0,    30,    14,    15,     0,
+       0,     2,   301,    41,     3,     4,    42,     0,     5,     6,
+       7,     8,     9,    10,     0,    11,     0,    12,     0,    14,
+      15,     0,     0,     0,    16,    17,    18,    19,     0,     0,
+       0,     0,     0,     0,     0,     0,    22,     0,    24,     0,
+       0,     0,     0,     0,     0,     0,    27,    28,     0,    29,
+       0,     0,     0,     0,     0,     0,    30,     0,     0,     0,
        0,     0,     0,    31,    32,    33,    34,    35,     0,     0,
-       0,     0,     0,     0,    68,     0,    24,     0,     0,    39,
-      40,     0,     0,     0,     0,    75,     0,     0,    42,     0,
-       0,     0,     0,   190,    30,     0,     0,     0,     0,   191,
-       0,    31,    32,    33,    34,    35,     0,     0,     0,   140,
-     141,   142,   143,   144,   145,     0,   146,    39,    40,   147,
-     148,   149,     0,    41,     0,     0,    42,   192,     0,     0,
-       0,     0,     0,   193,     0,   150,   151,   152,   153,   154,
-     155,   156,     0,   140,   141,   142,   143,   144,   145,     0,
+       0,    37,     0,     0,     0,     0,     0,     0,     0,    39,
+      40,     0,     0,     2,     0,    41,     3,     4,    42,     0,
+       5,     6,     7,     8,     9,    10,     0,    11,     0,    12,
+       0,    14,    15,     0,     0,     0,    16,    17,    18,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    22,     0,
+      24,     0,     0,     2,     0,     0,     3,     4,    27,    28,
+       5,    29,     7,     8,    67,    10,     0,    11,    30,     0,
+       0,    14,    15,     0,     0,    31,    32,    33,    34,    35,
+       0,     0,    82,    37,    83,    84,    85,    86,    68,     0,
+      24,    39,    40,     0,     0,     0,     0,    41,     0,     0,
+      42,     0,     0,     0,     0,     0,     0,     0,    30,     0,
+       0,     0,     0,     0,     0,    31,    32,    33,    34,    35,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    39,    40,     0,     0,     2,     0,    41,     3,     4,
+      42,     0,     5,     0,     7,     8,    67,    10,     0,    11,
+       0,     0,     0,    14,    15,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    83,     0,    85,     0,
+      68,     0,    24,     0,     2,     0,     0,     3,     4,     0,
+      91,     5,   103,     7,     8,    67,    10,     0,    11,     0,
+      30,     0,    14,    15,     0,     0,     0,    31,    32,    33,
+      34,    35,     0,     0,     0,     0,     0,     0,     0,    68,
+       0,    24,     0,    39,    40,     0,     0,     0,     0,    41,
+       0,     0,    42,     0,     0,     0,     0,     0,     0,    30,
+       0,     0,     0,     0,     0,     0,    31,    32,    33,    34,
+      35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    39,    40,     0,     0,     2,     0,    41,     3,
+       4,    42,     0,     5,     0,     7,     8,    67,    10,     0,
+      11,     0,     0,     0,    14,    15,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    68,     0,    24,     2,     0,     0,     3,     4,     0,
+       0,     5,     0,     7,     8,    67,    10,     0,    11,     0,
+       0,    30,    14,    15,     0,     0,     0,     0,    31,    32,
+      33,    34,    35,     0,     0,     0,     0,     0,     0,    68,
+       0,    24,     0,     0,    39,    40,     0,     0,     0,     0,
+      69,     0,     0,    42,     0,     0,     0,     0,     0,    30,
+       0,     0,     0,     0,     0,     0,    31,    32,    33,    34,
+      35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    39,    40,     0,     0,     2,     0,    72,     3,
+       4,    42,     0,     5,     0,     7,     8,    67,    10,     0,
+      11,     0,     0,     0,    14,    15,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    68,     0,    24,     2,     0,     0,     3,     4,     0,
+       0,     5,     0,     7,     8,    67,    10,     0,    11,     0,
+       0,    30,    14,    15,     0,     0,     0,     0,    31,    32,
+      33,    34,    35,     0,     0,     0,     0,     0,     0,    68,
+       0,    24,     0,     0,    39,    40,     0,     0,     0,     0,
+      75,     0,     0,    42,     0,     0,     0,     0,   190,    30,
+       0,     0,     0,     0,   191,     0,    31,    32,    33,    34,
+      35,     0,     0,     0,   140,   141,   142,   143,   144,   145,
+       0,   146,    39,    40,   147,   148,   149,     0,    41,     0,
+       0,    42,   192,     0,     0,     0,     0,     0,   193,     0,
+     150,   151,   152,   153,   154,   155,   156,     0,   140,   141,
+     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
+     149,     0,     0,     0,     0,   194,     0,     0,     0,     0,
+       0,   195,     0,     0,   150,   151,   152,   153,   154,   155,
+     156,   140,   141,   142,   143,   144,   145,     0,   146,     0,
+       0,   147,   148,   149,     0,     0,     0,     0,   196,     0,
+       0,     0,     0,     0,   197,     0,     0,   150,   151,   152,
+     153,   154,   155,   156,   140,   141,   142,   143,   144,   145,
+       0,   146,     0,     0,   147,   148,   149,     0,     0,     0,
+       0,   294,     0,     0,     0,     0,     0,     0,     0,     0,
+     150,   151,   152,   153,   154,   155,   156,   140,   141,   142,
+     143,   144,   145,     0,   146,     0,     0,   147,   148,   149,
+       0,     0,     0,     0,   295,     0,     0,     0,     0,     0,
+       0,     0,     0,   150,   151,   152,   153,   154,   155,   156,
+     140,   141,   142,   143,   144,   145,     0,   146,     0,     0,
+     147,   148,   149,     0,     0,     0,     0,   296,     0,     0,
+       0,     0,     0,     0,     0,     0,   150,   151,   152,   153,
+     154,   155,   156,   140,   141,   142,   143,   144,   145,     0,
      146,     0,     0,   147,   148,   149,     0,     0,     0,     0,
-     194,     0,     0,     0,     0,     0,   195,     0,     0,   150,
+     297,     0,     0,     0,     0,     0,     0,     0,     0,   150,
      151,   152,   153,   154,   155,   156,   140,   141,   142,   143,
      144,   145,     0,   146,     0,     0,   147,   148,   149,     0,
-       0,     0,     0,   196,     0,     0,     0,     0,     0,   197,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   200,
        0,     0,   150,   151,   152,   153,   154,   155,   156,   140,
      141,   142,   143,   144,   145,     0,   146,     0,     0,   147,
-     148,   149,     0,     0,     0,     0,   294,     0,     0,     0,
+     148,   149,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   150,   151,   152,   153,   154,
-     155,   156,   140,   141,   142,   143,   144,   145,     0,   146,
-       0,     0,   147,   148,   149,     0,     0,     0,     0,   295,
-       0,     0,     0,     0,     0,     0,     0,     0,   150,   151,
-     152,   153,   154,   155,   156,   140,   141,   142,   143,   144,
-     145,     0,   146,     0,     0,   147,   148,   149,     0,     0,
-       0,     0,   296,     0,     0,     0,     0,     0,     0,     0,
-       0,   150,   151,   152,   153,   154,   155,   156,   140,   141,
-     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
-     149,     0,     0,     0,     0,   297,     0,     0,     0,     0,
-       0,     0,     0,     0,   150,   151,   152,   153,   154,   155,
-     156,   140,   141,   142,   143,   144,   145,     0,   146,     0,
-       0,   147,   148,   149,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   200,     0,     0,   150,   151,   152,
-     153,   154,   155,   156,   140,   141,   142,   143,   144,   145,
-       0,   146,     0,     0,   147,   148,   149,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     150,   151,   152,   153,   154,   155,   156,   187,   201,     0,
-       0,     0,     0,     0,     0,   140,   141,   142,   143,   144,
-     145,     0,   146,     0,     0,   147,   148,   149,   140,   141,
-     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,     0,     0,
-       0,     0,     0,     0,   150,   151,   152,   153,   154,   155,
-     156,     0,     0,     0,   205,   140,   141,   142,   143,   144,
-     145,     0,   146,     0,     0,   147,   148,   149,     0,     0,
-       0,     0,     0,   198,   199,     0,     0,     0,     0,     0,
-       0,   150,   151,   152,   153,   154,   155,   156,   140,   141,
-     142,   143,   144,   145,     0,   146,     0,     0,   147,   148,
-     149,   140,   141,   142,   143,     0,     0,     0,   146,     0,
-       0,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,     0,     0,     0,     0,     0,     0,   150,   151,   152,
-     153,   154,   155,   156
+     155,   156,   187,   201,     0,     0,     0,     0,     0,     0,
+     140,   141,   142,   143,   144,   145,     0,   146,     0,     0,
+     147,   148,   149,   140,   141,   142,   143,   144,   145,     0,
+     146,     0,     0,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,     0,     0,     0,     0,     0,     0,   150,
+     151,   152,   153,   154,   155,   156,     0,     0,     0,   205,
+     140,   141,   142,   143,   144,   145,     0,   146,     0,     0,
+     147,   148,   149,     0,     0,     0,     0,     0,   198,   199,
+       0,     0,     0,     0,     0,     0,   150,   151,   152,   153,
+     154,   155,   156,   140,   141,   142,   143,   144,   145,     0,
+     146,     0,     0,   147,   148,   149,   140,   141,   142,   143,
+       0,     0,     0,   146,     0,     0,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,     0,     0,     0,     0,
+       0,     0,   150,   151,   152,   153,   154,   155,   156
 };
 
 static const yytype_int16 yycheck[] =
 {
-       6,     7,    79,     9,     0,     4,     0,   167,    28,     8,
-      34,   287,    18,   271,    54,    55,    22,     6,     7,    52,
-      96,    27,    28,    33,    30,    31,    32,    33,    34,    35,
-      36,    64,    69,    39,    40,    41,    42,    97,    23,    24,
-      52,    52,    52,    49,    49,    51,    52,   133,   134,    40,
-     308,    96,    64,    64,    99,   331,    93,    94,    25,    49,
-      27,    85,    68,    69,    13,    96,    72,    87,    99,    75,
-      24,    20,    78,    64,    24,    24,    25,    83,    27,    24,
-      69,    99,    69,    72,   104,    72,    69,    34,    35,    78,
-      75,    76,    77,    78,    98,    99,    96,    96,    97,    99,
-      24,   359,    96,    90,    91,    92,    93,    94,    91,    92,
-      93,    94,    98,    99,    98,    99,    44,    99,    24,    24,
-      24,    52,    51,    99,    24,   131,   132,   213,   214,   289,
-     136,   217,    24,   129,   140,   141,   142,   143,   144,   145,
+       6,     7,    79,     9,     0,   167,   271,    34,     0,    28,
+       4,    96,    18,   287,     8,    49,    22,     6,     7,    49,
+      52,    27,    28,    40,    30,    31,    32,    33,    34,    35,
+      36,    33,    64,    39,    40,    41,    42,    13,    23,    24,
+      69,    52,   307,    49,    20,    51,    52,    64,    24,    25,
+      52,    27,    24,    64,   131,   132,   330,    96,    85,    25,
+      99,    27,    68,    69,    93,    94,    72,    24,    87,    75,
+      52,    24,    78,   133,   134,    96,    69,    83,    99,    72,
+      69,    96,    64,    72,    99,   104,    69,    54,    55,    78,
+      75,    76,    77,    78,   359,    98,    99,    90,    91,    92,
+      93,    94,    96,    97,    96,    16,    17,    18,    91,    92,
+      93,    94,    99,    24,    98,    99,    24,    98,    99,    97,
+      31,    34,    35,    44,   100,    99,    24,   289,    24,    24,
+     136,    99,    52,   129,   140,   141,   142,   143,   144,   145,
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   100,   158,    24,   102,   101,   162,    46,   272,   165,
-     102,    99,    99,    99,    24,   171,    99,   281,   245,   283,
-     176,   177,    51,   179,   180,   174,    24,   183,   184,   185,
-      41,   187,    24,    24,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   280,    51,   310,    99,   312,    24,
-      86,    52,    24,   209,    87,    52,    86,   206,   207,    24,
-      85,    99,   298,   299,    86,    44,    24,    46,   304,    86,
-      51,   307,   336,    85,   201,    52,   340,    85,   342,    52,
-     129,   175,    52,    62,    63,    64,    65,    66,    67,   325,
-      69,   327,   356,    72,    73,    74,   210,   253,   254,   335,
-      -1,   337,    -1,    -1,    -1,   369,    -1,   343,    -1,    88,
-      89,    90,    91,    92,    93,    94,    -1,   344,   354,    -1,
-      -1,   357,   349,    -1,    -1,    -1,    -1,   363,    -1,   365,
-      -1,    -1,    -1,    -1,   290,    -1,   372,    -1,   294,   295,
-     296,   297,    -1,    -1,   293,    16,    17,    18,    -1,    -1,
-     306,    -1,    -1,    24,    -1,    -1,    -1,     0,     1,    -1,
-      31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   324,    -1,
-      13,    -1,    -1,    16,    17,    -1,   332,    20,    21,    22,
-      23,    24,    25,    -1,    27,    -1,    29,    30,    31,    32,
-      -1,   347,    -1,    36,    37,    38,    39,    -1,    -1,    -1,
-      43,    -1,    45,    -1,    -1,    48,    49,    50,    -1,    -1,
-      53,    -1,    -1,    -1,    57,    58,    59,    -1,    61,    -1,
-      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
-      -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,    82,
-      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
-      -1,    41,    13,    96,    97,    16,    17,   100,    -1,    20,
-      -1,    22,    23,    24,    25,    -1,    27,    -1,    -1,    -1,
-      31,    32,    62,    63,    64,    65,    66,    67,    -1,    69,
-      70,    71,    72,    73,    74,    -1,    -1,    48,    -1,    50,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
-      90,    91,    92,    93,    94,    -1,    -1,    68,    -1,    -1,
-      -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      91,    92,    -1,    -1,    -1,    -1,    97,    -1,    -1,   100,
-      13,   102,    -1,    16,    17,    -1,    -1,    20,    21,    22,
-      23,    24,    25,    -1,    27,    -1,    29,    30,    31,    32,
-      -1,    -1,    -1,    36,    37,    38,    39,    -1,    -1,    -1,
-      43,    -1,    45,    -1,    -1,    48,    49,    50,    -1,    -1,
-      53,    -1,    -1,    -1,    57,    58,    59,    -1,    61,    -1,
-      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
-      -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,    82,
-      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
-      -1,    -1,    13,    -1,    97,    16,    17,   100,    -1,    20,
-      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
-      31,    32,    -1,    -1,    -1,    36,    37,    38,    39,    -1,
-      -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,    50,
-      -1,    -1,    53,    -1,    -1,    -1,    -1,    58,    59,    -1,
-      61,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
-      -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
-      -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      91,    92,    -1,    -1,    13,    96,    97,    16,    17,   100,
-      -1,    20,    21,    22,    23,    24,    25,    -1,    27,    -1,
-      29,    -1,    31,    32,    -1,    -1,    -1,    36,    37,    38,
-      39,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,
-      49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    58,
-      59,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    68,
-      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,
-      79,    -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    91,    92,    -1,    -1,    13,    96,    97,    16,
-      17,   100,    -1,    20,    21,    22,    23,    24,    25,    -1,
-      27,    -1,    29,    -1,    31,    32,    -1,    -1,    -1,    36,
-      37,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    48,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    58,    59,    -1,    61,    -1,    -1,    -1,    -1,    -1,
-      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,
-      77,    78,    79,    -1,    -1,    -1,    83,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    13,    -1,
-      97,    16,    17,   100,    -1,    20,    21,    22,    23,    24,
-      25,    -1,    27,    -1,    29,    -1,    31,    32,    -1,    -1,
-      -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    48,    -1,    50,    -1,    -1,    13,    -1,
-      -1,    16,    17,    58,    59,    20,    61,    22,    23,    24,
-      25,    -1,    27,    68,    -1,    -1,    31,    32,    -1,    -1,
-      75,    76,    77,    78,    79,    -1,    -1,    42,    83,    44,
-      45,    46,    47,    48,    -1,    50,    91,    92,    -1,    -1,
-      -1,    -1,    97,    -1,    -1,   100,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
-      75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,    -1,
-      13,    -1,    97,    16,    17,   100,    -1,    20,    -1,    22,
-      23,    24,    25,    -1,    27,    -1,    -1,    -1,    31,    32,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    44,    -1,    46,    -1,    48,    -1,    50,    -1,    13,
-      -1,    -1,    16,    17,    -1,    19,    20,    60,    22,    23,
-      24,    25,    -1,    27,    -1,    68,    -1,    31,    32,    -1,
-      -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    48,    -1,    50,    -1,    91,    92,
-      -1,    -1,    -1,    -1,    97,    -1,    -1,   100,    -1,    -1,
-      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
-      -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,
-      -1,    13,    -1,    97,    16,    17,   100,    -1,    20,    -1,
-      22,    23,    24,    25,    -1,    27,    -1,    -1,    -1,    31,
-      32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    50,    13,
-      -1,    -1,    16,    17,    -1,    -1,    20,    -1,    22,    23,
-      24,    25,    -1,    27,    -1,    -1,    68,    31,    32,    -1,
-      -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,
-      -1,    -1,    -1,    -1,    48,    -1,    50,    -1,    -1,    91,
-      92,    -1,    -1,    -1,    -1,    97,    -1,    -1,   100,    -1,
+     156,    51,   158,    24,    24,   102,   162,   217,   102,   165,
+     101,    99,    99,    24,    99,   171,    46,    24,   245,    99,
+     176,   177,    51,   179,   180,    24,    41,   183,   184,   185,
+     174,   187,    24,    24,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,    99,    51,    24,    86,    24,    52,
+      87,    52,    86,   209,    41,    24,    99,   213,   214,    85,
+      24,    86,   206,   207,    86,    51,    85,    85,    52,   129,
+     280,   281,   282,   175,   201,    62,    63,    64,    65,    66,
+      67,   272,    69,    70,    71,    72,    73,    74,   298,   299,
+      52,    52,   283,    -1,    -1,   210,   306,   253,   254,    -1,
+      -1,    88,    89,    90,    91,    92,    93,    94,    -1,    -1,
+      -1,    -1,   322,   304,    -1,    -1,   326,   344,   309,    -1,
+     311,    -1,   349,    -1,    -1,   335,   336,    -1,    -1,    -1,
+      -1,    -1,   342,    -1,   290,    -1,    -1,    -1,   294,   295,
+     296,   297,    -1,    -1,    -1,   355,    -1,   357,   339,   293,
+      -1,   361,   343,   363,    -1,   365,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   354,   374,   356,    -1,    -1,   324,    -1,
+      -1,    -1,     0,     1,    -1,   331,    -1,    -1,   334,   370,
+      -1,    -1,    -1,    -1,    -1,    13,    -1,    -1,    16,    17,
+      -1,   347,    20,    21,    22,    23,    24,    25,    -1,    27,
+      -1,    29,    30,    31,    32,    -1,    -1,    -1,    36,    37,
+      38,    39,    -1,    -1,    -1,    43,    -1,    45,    -1,    -1,
+      48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    57,
+      58,    59,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
+      68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
+      78,    79,    -1,    -1,    82,    83,    84,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    -1,    -1,    13,    96,    97,
+      16,    17,   100,    -1,    20,    -1,    22,    23,    24,    25,
+      -1,    27,    -1,    -1,    -1,    31,    32,    -1,    -1,    -1,
+      44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    48,    -1,    50,    -1,    -1,    -1,    62,    63,
+      64,    65,    66,    67,    -1,    69,    -1,    -1,    72,    73,
+      74,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    75,
+      76,    77,    78,    79,    88,    89,    90,    91,    92,    93,
+      94,    -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    -1,
+      -1,    97,    -1,    -1,   100,    13,   102,    -1,    16,    17,
+      -1,    -1,    20,    21,    22,    23,    24,    25,    -1,    27,
+      -1,    29,    30,    31,    32,    -1,    -1,    -1,    36,    37,
+      38,    39,    -1,    -1,    -1,    43,    -1,    45,    -1,    -1,
+      48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    57,
+      58,    59,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
+      68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
+      78,    79,    -1,    -1,    82,    83,    84,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    -1,    -1,    13,    -1,    97,
+      16,    17,   100,    -1,    20,    21,    22,    23,    24,    25,
+      -1,    27,    28,    29,    -1,    31,    32,    -1,    -1,    -1,
+      36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,    45,
+      -1,    -1,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
+      -1,    -1,    58,    59,    -1,    61,    -1,    -1,    -1,    -1,
+      -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    75,
+      76,    77,    78,    79,    -1,    -1,    82,    83,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    13,
+      96,    97,    16,    17,   100,    -1,    20,    21,    22,    23,
+      24,    25,    -1,    27,    -1,    29,    -1,    31,    32,    -1,
+      -1,    -1,    36,    37,    38,    39,    -1,    -1,    -1,    -1,
+      -1,    45,    -1,    -1,    48,    49,    50,    -1,    -1,    53,
+      -1,    -1,    -1,    -1,    58,    59,    -1,    61,    -1,    -1,
       -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
-      -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,
+      -1,    75,    76,    77,    78,    79,    -1,    -1,    82,    83,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,
-      -1,    13,    -1,    97,    16,    17,   100,    -1,    20,    -1,
-      22,    23,    24,    25,    -1,    27,    -1,    -1,    -1,    31,
-      32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    50,    13,
-      -1,    -1,    16,    17,    -1,    -1,    20,    -1,    22,    23,
-      24,    25,    -1,    27,    -1,    -1,    68,    31,    32,    -1,
+      -1,    13,    96,    97,    16,    17,   100,    -1,    20,    21,
+      22,    23,    24,    25,    -1,    27,    -1,    29,    -1,    31,
+      32,    -1,    -1,    -1,    36,    37,    38,    39,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    50,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    -1,    61,
+      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
       -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,
-      -1,    -1,    -1,    -1,    48,    -1,    50,    -1,    -1,    91,
-      92,    -1,    -1,    -1,    -1,    97,    -1,    -1,   100,    -1,
-      -1,    -1,    -1,    46,    68,    -1,    -1,    -1,    -1,    52,
-      -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,    62,
-      63,    64,    65,    66,    67,    -1,    69,    91,    92,    72,
-      73,    74,    -1,    97,    -1,    -1,   100,    46,    -1,    -1,
-      -1,    -1,    -1,    52,    -1,    88,    89,    90,    91,    92,
-      93,    94,    -1,    62,    63,    64,    65,    66,    67,    -1,
-      69,    -1,    -1,    72,    73,    74,    -1,    -1,    -1,    -1,
-      46,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    88,
-      89,    90,    91,    92,    93,    94,    62,    63,    64,    65,
-      66,    67,    -1,    69,    -1,    -1,    72,    73,    74,    -1,
-      -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    52,
-      -1,    -1,    88,    89,    90,    91,    92,    93,    94,    62,
-      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    72,
-      73,    74,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
-      93,    94,    62,    63,    64,    65,    66,    67,    -1,    69,
-      -1,    -1,    72,    73,    74,    -1,    -1,    -1,    -1,    46,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
-      90,    91,    92,    93,    94,    62,    63,    64,    65,    66,
-      67,    -1,    69,    -1,    -1,    72,    73,    74,    -1,    -1,
-      -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    90,    91,    92,    93,    94,    62,    63,
+      -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      92,    -1,    -1,    13,    -1,    97,    16,    17,   100,    -1,
+      20,    21,    22,    23,    24,    25,    -1,    27,    -1,    29,
+      -1,    31,    32,    -1,    -1,    -1,    36,    37,    38,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,
+      50,    -1,    -1,    13,    -1,    -1,    16,    17,    58,    59,
+      20,    61,    22,    23,    24,    25,    -1,    27,    68,    -1,
+      -1,    31,    32,    -1,    -1,    75,    76,    77,    78,    79,
+      -1,    -1,    42,    83,    44,    45,    46,    47,    48,    -1,
+      50,    91,    92,    -1,    -1,    -1,    -1,    97,    -1,    -1,
+     100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
+      -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    92,    -1,    -1,    13,    -1,    97,    16,    17,
+     100,    -1,    20,    -1,    22,    23,    24,    25,    -1,    27,
+      -1,    -1,    -1,    31,    32,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    46,    -1,
+      48,    -1,    50,    -1,    13,    -1,    -1,    16,    17,    -1,
+      19,    20,    60,    22,    23,    24,    25,    -1,    27,    -1,
+      68,    -1,    31,    32,    -1,    -1,    -1,    75,    76,    77,
+      78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,
+      -1,    50,    -1,    91,    92,    -1,    -1,    -1,    -1,    97,
+      -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    68,
+      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,
+      79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    92,    -1,    -1,    13,    -1,    97,    16,
+      17,   100,    -1,    20,    -1,    22,    23,    24,    25,    -1,
+      27,    -1,    -1,    -1,    31,    32,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    48,    -1,    50,    13,    -1,    -1,    16,    17,    -1,
+      -1,    20,    -1,    22,    23,    24,    25,    -1,    27,    -1,
+      -1,    68,    31,    32,    -1,    -1,    -1,    -1,    75,    76,
+      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    48,
+      -1,    50,    -1,    -1,    91,    92,    -1,    -1,    -1,    -1,
+      97,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    68,
+      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,
+      79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    92,    -1,    -1,    13,    -1,    97,    16,
+      17,   100,    -1,    20,    -1,    22,    23,    24,    25,    -1,
+      27,    -1,    -1,    -1,    31,    32,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    48,    -1,    50,    13,    -1,    -1,    16,    17,    -1,
+      -1,    20,    -1,    22,    23,    24,    25,    -1,    27,    -1,
+      -1,    68,    31,    32,    -1,    -1,    -1,    -1,    75,    76,
+      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    48,
+      -1,    50,    -1,    -1,    91,    92,    -1,    -1,    -1,    -1,
+      97,    -1,    -1,   100,    -1,    -1,    -1,    -1,    46,    68,
+      -1,    -1,    -1,    -1,    52,    -1,    75,    76,    77,    78,
+      79,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
+      -1,    69,    91,    92,    72,    73,    74,    -1,    97,    -1,
+      -1,   100,    46,    -1,    -1,    -1,    -1,    -1,    52,    -1,
+      88,    89,    90,    91,    92,    93,    94,    -1,    62,    63,
       64,    65,    66,    67,    -1,    69,    -1,    -1,    72,    73,
       74,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,    93,
+      -1,    52,    -1,    -1,    88,    89,    90,    91,    92,    93,
       94,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
-      -1,    72,    73,    74,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    72,    73,    74,    -1,    -1,    -1,    -1,    46,    -1,
       -1,    -1,    -1,    -1,    52,    -1,    -1,    88,    89,    90,
       91,    92,    93,    94,    62,    63,    64,    65,    66,    67,
       -1,    69,    -1,    -1,    72,    73,    74,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      88,    89,    90,    91,    92,    93,    94,    54,    96,    -1,
-      -1,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    -1,    69,    -1,    -1,    72,    73,    74,    62,    63,
-      64,    65,    66,    67,    -1,    69,    -1,    -1,    72,    73,
-      74,    88,    89,    90,    91,    92,    93,    94,    -1,    -1,
-      -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,    93,
-      94,    -1,    -1,    -1,    98,    62,    63,    64,    65,    66,
-      67,    -1,    69,    -1,    -1,    72,    73,    74,    -1,    -1,
-      -1,    -1,    -1,    80,    81,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    90,    91,    92,    93,    94,    62,    63,
-      64,    65,    66,    67,    -1,    69,    -1,    -1,    72,    73,
-      74,    62,    63,    64,    65,    -1,    -1,    -1,    69,    -1,
-      -1,    72,    73,    74,    88,    89,    90,    91,    92,    93,
-      94,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
-      91,    92,    93,    94
+      -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      88,    89,    90,    91,    92,    93,    94,    62,    63,    64,
+      65,    66,    67,    -1,    69,    -1,    -1,    72,    73,    74,
+      -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    88,    89,    90,    91,    92,    93,    94,
+      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
+      72,    73,    74,    -1,    -1,    -1,    -1,    46,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,
+      92,    93,    94,    62,    63,    64,    65,    66,    67,    -1,
+      69,    -1,    -1,    72,    73,    74,    -1,    -1,    -1,    -1,
+      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
+      89,    90,    91,    92,    93,    94,    62,    63,    64,    65,
+      66,    67,    -1,    69,    -1,    -1,    72,    73,    74,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
+      -1,    -1,    88,    89,    90,    91,    92,    93,    94,    62,
+      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    72,
+      73,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
+      93,    94,    54,    96,    -1,    -1,    -1,    -1,    -1,    -1,
+      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
+      72,    73,    74,    62,    63,    64,    65,    66,    67,    -1,
+      69,    -1,    -1,    72,    73,    74,    88,    89,    90,    91,
+      92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    88,
+      89,    90,    91,    92,    93,    94,    -1,    -1,    -1,    98,
+      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
+      72,    73,    74,    -1,    -1,    -1,    -1,    -1,    80,    81,
+      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,
+      92,    93,    94,    62,    63,    64,    65,    66,    67,    -1,
+      69,    -1,    -1,    72,    73,    74,    62,    63,    64,    65,
+      -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,    88,
+      89,    90,    91,    92,    93,    94,    -1,    -1,    -1,    -1,
+      -1,    -1,    88,    89,    90,    91,    92,    93,    94
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1215,23 +1217,23 @@ static const yytype_uint8 yystos[] =
       64,   123,   123,    52,    64,    52,    51,    54,   134,    99,
       46,    52,    46,    52,    46,    52,    46,    52,    80,    81,
       52,    96,    24,   131,    24,    98,   102,   102,   101,    99,
-      99,   105,   120,   124,   124,   120,   120,   124,   124,   124,
+      99,   105,   120,   119,   119,   120,   120,   124,   124,   124,
      124,   124,   124,   124,   124,   124,   124,   124,   124,   124,
      124,   124,   124,   124,   124,    24,   143,    98,   124,    98,
       98,   124,   143,    99,   124,   139,   123,    24,   126,   124,
      124,   124,   124,    52,    64,    46,   124,   124,   124,   124,
       24,   124,   124,   124,   124,   124,   124,   124,   124,   124,
      124,   110,   110,    99,   123,   123,   124,    25,    27,   153,
-     121,   120,   120,    51,   120,    96,    99,    96,    24,   119,
+     121,   124,   124,    51,   120,    96,    99,    96,    24,   119,
       41,   124,   124,    24,    46,    46,    46,    46,   107,   121,
-      24,    96,   109,   120,   121,    33,    52,   121,    51,    99,
-     145,    24,   145,   143,   124,   123,   124,   124,   124,   124,
-     120,   120,    86,   120,    52,   124,   120,   107,    24,   121,
-     121,    96,    52,    87,    86,   124,   120,   112,   120,    28,
-     145,   124,   120,   121,    34,    35,   113,   118,   120,    34,
-      85,    24,   144,   121,   121,   120,   119,   124,    85,   119,
-      99,   120,    86,   121,   120,   107,    24,    86,   120,    51,
-     120,    85,   121,    85,   120
+      24,    96,   109,   120,   120,   120,   121,    51,    99,   145,
+      24,   145,   143,   124,   123,   124,   124,   124,   124,   120,
+     120,    86,   121,    33,    52,   120,   107,    24,   121,   121,
+      96,    52,    87,   120,    52,   124,   112,   120,    28,   145,
+     124,    86,   124,   120,    34,    35,   113,   118,   120,    34,
+      85,    24,   144,   121,   120,   121,   119,   124,    85,   119,
+      99,   121,   120,   121,   120,   107,    24,   120,    86,   120,
+      51,   120,    86,    85,   121,    85,   120
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1263,7 +1265,7 @@ static const yytype_int8 yyr2[] =
        0,     2,     3,     1,     2,     0,     1,     1,     4,     4,
        6,     4,     4,     4,     4,     4,     4,     5,     5,     8,
        4,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       6,    10,    11,     7,     2,     3,     7,     6,     0,     9,
+       6,    11,    12,     8,     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,
@@ -1715,73 +1717,73 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
     case 21: /* BLTIN  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1719 "engines/director/lingo/lingo-gr.cpp"
+#line 1721 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 22: /* FBLTIN  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1725 "engines/director/lingo/lingo-gr.cpp"
+#line 1727 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 23: /* RBLTIN  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1731 "engines/director/lingo/lingo-gr.cpp"
+#line 1733 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 24: /* ID  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1737 "engines/director/lingo/lingo-gr.cpp"
+#line 1739 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 25: /* STRING  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1743 "engines/director/lingo/lingo-gr.cpp"
+#line 1745 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 26: /* HANDLER  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1749 "engines/director/lingo/lingo-gr.cpp"
+#line 1751 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 27: /* SYMBOL  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1755 "engines/director/lingo/lingo-gr.cpp"
+#line 1757 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 28: /* ENDCLAUSE  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1761 "engines/director/lingo/lingo-gr.cpp"
+#line 1763 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 29: /* tPLAYACCEL  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1767 "engines/director/lingo/lingo-gr.cpp"
+#line 1769 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 30: /* tMETHOD  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1773 "engines/director/lingo/lingo-gr.cpp"
+#line 1775 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 31: /* THEOBJECTFIELD  */
 #line 137 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).objectfield).os; }
-#line 1779 "engines/director/lingo/lingo-gr.cpp"
+#line 1781 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 141: /* on  */
 #line 136 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1785 "engines/director/lingo/lingo-gr.cpp"
+#line 1787 "engines/director/lingo/lingo-gr.cpp"
         break;
 
       default:
@@ -2051,7 +2053,7 @@ yyreduce:
   case 4:
 #line 143 "engines/director/lingo/lingo-gr.y"
                                 { yyerrok; }
-#line 2055 "engines/director/lingo/lingo-gr.cpp"
+#line 2057 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 8:
@@ -2062,7 +2064,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2066 "engines/director/lingo/lingo-gr.cpp"
+#line 2068 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 9:
@@ -2070,7 +2072,7 @@ yyreduce:
                                                 {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2074 "engines/director/lingo/lingo-gr.cpp"
+#line 2076 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 10:
@@ -2086,19 +2088,19 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-4].e)[0]);
 		g_lingo->codeInt((yyvsp[-4].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2090 "engines/director/lingo/lingo-gr.cpp"
+#line 2092 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 11:
 #line 170 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2096 "engines/director/lingo/lingo-gr.cpp"
+#line 2098 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 12:
 #line 171 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2102 "engines/director/lingo/lingo-gr.cpp"
+#line 2104 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 13:
@@ -2109,7 +2111,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2113 "engines/director/lingo/lingo-gr.cpp"
+#line 2115 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 14:
@@ -2121,7 +2123,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2125 "engines/director/lingo/lingo-gr.cpp"
+#line 2127 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 15:
@@ -2132,7 +2134,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2136 "engines/director/lingo/lingo-gr.cpp"
+#line 2138 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 16:
@@ -2144,7 +2146,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2148 "engines/director/lingo/lingo-gr.cpp"
+#line 2150 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 17:
@@ -2155,7 +2157,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2159 "engines/director/lingo/lingo-gr.cpp"
+#line 2161 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 18:
@@ -2166,7 +2168,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2170 "engines/director/lingo/lingo-gr.cpp"
+#line 2172 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 19:
@@ -2182,7 +2184,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-6].e)[0]);
 		g_lingo->codeInt((yyvsp[-6].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2186 "engines/director/lingo/lingo-gr.cpp"
+#line 2188 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 20:
@@ -2193,7 +2195,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].objectfield).oe);
 		delete (yyvsp[-2].objectfield).os;
 		(yyval.code) = (yyvsp[0].code); }
-#line 2197 "engines/director/lingo/lingo-gr.cpp"
+#line 2199 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 30:
@@ -2204,63 +2206,63 @@ 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 2208 "engines/director/lingo/lingo-gr.cpp"
+#line 2210 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 31:
 #line 255 "engines/director/lingo/lingo-gr.y"
-                                                                                           {
-		inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
-		WRITE_UINT32(&init, (yyvsp[-7].code) - (yyvsp[-9].code));
-		WRITE_UINT32(&finish, (yyvsp[-4].code) - (yyvsp[-9].code));
-		WRITE_UINT32(&body, (yyvsp[-2].code) - (yyvsp[-9].code));
-		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-9].code));
-		WRITE_UINT32(&inc, 1);
-		(*g_lingo->_currentScript)[(yyvsp[-9].code) + 1] = init;		/* initial count value */
-		(*g_lingo->_currentScript)[(yyvsp[-9].code) + 2] = finish;	/* final count value */
-		(*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 2225 "engines/director/lingo/lingo-gr.cpp"
-    break;
-
-  case 32:
-#line 272 "engines/director/lingo/lingo-gr.y"
                                                                                                  {
 		inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
 		WRITE_UINT32(&init, (yyvsp[-8].code) - (yyvsp[-10].code));
 		WRITE_UINT32(&finish, (yyvsp[-4].code) - (yyvsp[-10].code));
 		WRITE_UINT32(&body, (yyvsp[-2].code) - (yyvsp[-10].code));
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-10].code));
-		WRITE_UINT32(&inc, (uint32)-1);
+		WRITE_UINT32(&inc, 1);
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 1] = init;		/* initial count value */
 		(*g_lingo->_currentScript)[(yyvsp[-10].code) + 2] = finish;	/* final count value */
 		(*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 2242 "engines/director/lingo/lingo-gr.cpp"
+#line 2227 "engines/director/lingo/lingo-gr.cpp"
+    break;
+
+  case 32:
+#line 272 "engines/director/lingo/lingo-gr.y"
+                                                                                                       {
+		inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
+		WRITE_UINT32(&init, (yyvsp[-9].code) - (yyvsp[-11].code));
+		WRITE_UINT32(&finish, (yyvsp[-4].code) - (yyvsp[-11].code));
+		WRITE_UINT32(&body, (yyvsp[-2].code) - (yyvsp[-11].code));
+		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-11].code));
+		WRITE_UINT32(&inc, (uint32)-1);
+		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 1] = init;		/* initial count value */
+		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 2] = finish;	/* final count value */
+		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 3] = body;		/* body of loop */
+		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 4] = inc;		/* increment */
+		(*g_lingo->_currentScript)[(yyvsp[-11].code) + 5] = end; }
+#line 2244 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 33:
 #line 284 "engines/director/lingo/lingo-gr.y"
-                                                                      {
+                                                                            {
 		inst list = 0, body = 0, end = 0;
-		WRITE_UINT32(&list, (yyvsp[-4].code) - (yyvsp[-6].code));
-		WRITE_UINT32(&body, (yyvsp[-2].code) - (yyvsp[-6].code));
-		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-6].code));
-		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 1] = list;		/* initial count value */
-		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 2] = 0;		/* final count value */
-		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 3] = body;		/* body of loop */
-		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 4] = 0;		/* increment */
-		(*g_lingo->_currentScript)[(yyvsp[-6].code) + 5] = end; }
-#line 2257 "engines/director/lingo/lingo-gr.cpp"
+		WRITE_UINT32(&list, (yyvsp[-5].code) - (yyvsp[-7].code));
+		WRITE_UINT32(&body, (yyvsp[-2].code) - (yyvsp[-7].code));
+		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-7].code));
+		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 1] = list;		/* initial count value */
+		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 2] = 0;		/* final count value */
+		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 3] = body;		/* body of loop */
+		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 4] = 0;		/* increment */
+		(*g_lingo->_currentScript)[(yyvsp[-7].code) + 5] = end; }
+#line 2259 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 34:
 #line 295 "engines/director/lingo/lingo-gr.y"
                         {
 		g_lingo->code1(LC::c_nextRepeat); }
-#line 2264 "engines/director/lingo/lingo-gr.cpp"
+#line 2266 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 35:
@@ -2270,7 +2272,7 @@ yyreduce:
 		WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
 		g_lingo->code1(STOP);
 		(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2274 "engines/director/lingo/lingo-gr.cpp"
+#line 2276 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 36:
@@ -2279,7 +2281,7 @@ yyreduce:
 		inst end;
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code));
 		(*g_lingo->_currentScript)[(yyvsp[-3].code) + 1] = end; }
-#line 2283 "engines/director/lingo/lingo-gr.cpp"
+#line 2285 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 37:
@@ -2288,7 +2290,7 @@ yyreduce:
 		inst end;
 		WRITE_UINT32(&end, (yyvsp[0].code) - (yyvsp[-2].code));
 		(*g_lingo->_currentScript)[(yyvsp[-2].code) + 1] = end; }
-#line 2292 "engines/director/lingo/lingo-gr.cpp"
+#line 2294 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 38:
@@ -2296,7 +2298,7 @@ yyreduce:
                                                         {
 		(yyval.code) = g_lingo->code1(LC::c_tellcode);
 		g_lingo->code1(STOP); }
-#line 2300 "engines/director/lingo/lingo-gr.cpp"
+#line 2302 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 39:
@@ -2311,7 +2313,7 @@ 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 2315 "engines/director/lingo/lingo-gr.cpp"
+#line 2317 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 40:
@@ -2326,7 +2328,7 @@ 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 2330 "engines/director/lingo/lingo-gr.cpp"
+#line 2332 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 43:
@@ -2337,7 +2339,7 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-5].code) + 1] = then;	/* thenpart */
 
 		g_lingo->codeLabel((yyvsp[-5].code)); }
-#line 2341 "engines/director/lingo/lingo-gr.cpp"
+#line 2343 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 44:
@@ -2352,7 +2354,7 @@ 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 2356 "engines/director/lingo/lingo-gr.cpp"
+#line 2358 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 45:
@@ -2367,13 +2369,13 @@ 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 2371 "engines/director/lingo/lingo-gr.cpp"
+#line 2373 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 46:
 #line 367 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = g_lingo->code3(LC::c_repeatwhilecode, STOP, STOP); }
-#line 2377 "engines/director/lingo/lingo-gr.cpp"
+#line 2379 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 47:
@@ -2383,7 +2385,7 @@ yyreduce:
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2387 "engines/director/lingo/lingo-gr.cpp"
+#line 2389 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 48:
@@ -2393,7 +2395,7 @@ yyreduce:
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->code1(0);  // Do not skip end
 		g_lingo->codeLabel(0); }
-#line 2397 "engines/director/lingo/lingo-gr.cpp"
+#line 2399 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 49:
@@ -2404,25 +2406,25 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_ifcode);
 		g_lingo->code3(STOP, STOP, STOP);
 		g_lingo->code1(skipEnd); }
-#line 2408 "engines/director/lingo/lingo-gr.cpp"
+#line 2410 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 50:
 #line 388 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2414 "engines/director/lingo/lingo-gr.cpp"
+#line 2416 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 51:
 #line 390 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(STOP); (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2420 "engines/director/lingo/lingo-gr.cpp"
+#line 2422 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 52:
 #line 392 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2426 "engines/director/lingo/lingo-gr.cpp"
+#line 2428 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 55:
@@ -2432,7 +2434,7 @@ yyreduce:
 		g_lingo->code1(STOP);
 		g_lingo->codeString((yyvsp[-1].s)->c_str());
 		delete (yyvsp[-1].s); }
-#line 2436 "engines/director/lingo/lingo-gr.cpp"
+#line 2438 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 56:
@@ -2440,7 +2442,7 @@ yyreduce:
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt((yyvsp[0].i)); }
-#line 2444 "engines/director/lingo/lingo-gr.cpp"
+#line 2446 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 57:
@@ -2448,7 +2450,7 @@ yyreduce:
                         {
 		(yyval.code) = g_lingo->code1(LC::c_floatpush);
 		g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2452 "engines/director/lingo/lingo-gr.cpp"
+#line 2454 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 58:
@@ -2457,7 +2459,7 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2461 "engines/director/lingo/lingo-gr.cpp"
+#line 2463 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 59:
@@ -2466,7 +2468,7 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2470 "engines/director/lingo/lingo-gr.cpp"
+#line 2472 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 60:
@@ -2475,13 +2477,13 @@ yyreduce:
 		(yyval.code) = g_lingo->code1(LC::c_eval);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2479 "engines/director/lingo/lingo-gr.cpp"
+#line 2481 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 62:
 #line 422 "engines/director/lingo/lingo-gr.y"
                  { (yyval.code) = (yyvsp[0].code); }
-#line 2485 "engines/director/lingo/lingo-gr.cpp"
+#line 2487 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 64:
@@ -2489,7 +2491,7 @@ yyreduce:
                                  {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2493 "engines/director/lingo/lingo-gr.cpp"
+#line 2495 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 65:
@@ -2497,7 +2499,7 @@ yyreduce:
                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2501 "engines/director/lingo/lingo-gr.cpp"
+#line 2503 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 66:
@@ -2505,7 +2507,7 @@ yyreduce:
                                 {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2509 "engines/director/lingo/lingo-gr.cpp"
+#line 2511 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 67:
@@ -2518,7 +2520,7 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[0].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[0].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2522 "engines/director/lingo/lingo-gr.cpp"
+#line 2524 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 68:
@@ -2529,7 +2531,7 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2533 "engines/director/lingo/lingo-gr.cpp"
+#line 2535 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 69:
@@ -2539,7 +2541,7 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
 		g_lingo->codeInt((yyvsp[0].objectfield).oe);
 		delete (yyvsp[0].objectfield).os; }
-#line 2543 "engines/director/lingo/lingo-gr.cpp"
+#line 2545 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 70:
@@ -2550,193 +2552,193 @@ yyreduce:
 		g_lingo->codeString((yyvsp[0].objectref).field->c_str());
 		delete (yyvsp[0].objectref).obj;
 		delete (yyvsp[0].objectref).field; }
-#line 2554 "engines/director/lingo/lingo-gr.cpp"
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 72:
 #line 459 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_add); }
-#line 2560 "engines/director/lingo/lingo-gr.cpp"
+#line 2562 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 73:
 #line 460 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_sub); }
-#line 2566 "engines/director/lingo/lingo-gr.cpp"
+#line 2568 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 74:
 #line 461 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mul); }
-#line 2572 "engines/director/lingo/lingo-gr.cpp"
+#line 2574 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 75:
 #line 462 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_div); }
-#line 2578 "engines/director/lingo/lingo-gr.cpp"
+#line 2580 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 76:
 #line 463 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mod); }
-#line 2584 "engines/director/lingo/lingo-gr.cpp"
+#line 2586 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 77:
 #line 464 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gt); }
-#line 2590 "engines/director/lingo/lingo-gr.cpp"
+#line 2592 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 78:
 #line 465 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lt); }
-#line 2596 "engines/director/lingo/lingo-gr.cpp"
+#line 2598 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 79:
 #line 466 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_eq); }
-#line 2602 "engines/director/lingo/lingo-gr.cpp"
+#line 2604 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 80:
 #line 467 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_neq); }
-#line 2608 "engines/director/lingo/lingo-gr.cpp"
+#line 2610 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 81:
 #line 468 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ge); }
-#line 2614 "engines/director/lingo/lingo-gr.cpp"
+#line 2616 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 82:
 #line 469 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_le); }
-#line 2620 "engines/director/lingo/lingo-gr.cpp"
+#line 2622 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 83:
 #line 470 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_and); }
-#line 2626 "engines/director/lingo/lingo-gr.cpp"
+#line 2628 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 84:
 #line 471 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_or); }
-#line 2632 "engines/director/lingo/lingo-gr.cpp"
+#line 2634 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 85:
 #line 472 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_not); }
-#line 2638 "engines/director/lingo/lingo-gr.cpp"
+#line 2640 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 86:
 #line 473 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ampersand); }
-#line 2644 "engines/director/lingo/lingo-gr.cpp"
+#line 2646 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 87:
 #line 474 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_concat); }
-#line 2650 "engines/director/lingo/lingo-gr.cpp"
+#line 2652 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 88:
 #line 475 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_contains); }
-#line 2656 "engines/director/lingo/lingo-gr.cpp"
+#line 2658 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 89:
 #line 476 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_starts); }
-#line 2662 "engines/director/lingo/lingo-gr.cpp"
+#line 2664 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 90:
 #line 477 "engines/director/lingo/lingo-gr.y"
                                     { (yyval.code) = (yyvsp[0].code); }
-#line 2668 "engines/director/lingo/lingo-gr.cpp"
+#line 2670 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 91:
 #line 478 "engines/director/lingo/lingo-gr.y"
                                     { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2674 "engines/director/lingo/lingo-gr.cpp"
+#line 2676 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 92:
 #line 479 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 2680 "engines/director/lingo/lingo-gr.cpp"
+#line 2682 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 93:
 #line 480 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_intersects); }
-#line 2686 "engines/director/lingo/lingo-gr.cpp"
+#line 2688 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 94:
 #line 481 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_within); }
-#line 2692 "engines/director/lingo/lingo-gr.cpp"
+#line 2694 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 95:
 #line 483 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_charOf); }
-#line 2698 "engines/director/lingo/lingo-gr.cpp"
+#line 2700 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 96:
 #line 484 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_charToOf); }
-#line 2704 "engines/director/lingo/lingo-gr.cpp"
+#line 2706 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 97:
 #line 485 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_itemOf); }
-#line 2710 "engines/director/lingo/lingo-gr.cpp"
+#line 2712 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 98:
 #line 486 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_itemToOf); }
-#line 2716 "engines/director/lingo/lingo-gr.cpp"
+#line 2718 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 99:
 #line 487 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_lineOf); }
-#line 2722 "engines/director/lingo/lingo-gr.cpp"
+#line 2724 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 100:
 #line 488 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lineToOf); }
-#line 2728 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 101:
 #line 489 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_wordOf); }
-#line 2734 "engines/director/lingo/lingo-gr.cpp"
+#line 2736 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 102:
 #line 490 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_wordToOf); }
-#line 2740 "engines/director/lingo/lingo-gr.cpp"
+#line 2742 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 103:
@@ -2744,49 +2746,49 @@ yyreduce:
                                         {
 		g_lingo->codeFunc((yyvsp[-1].s), 1);
 		delete (yyvsp[-1].s); }
-#line 2748 "engines/director/lingo/lingo-gr.cpp"
+#line 2750 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 105:
 #line 497 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_printtop); }
-#line 2754 "engines/director/lingo/lingo-gr.cpp"
+#line 2756 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 108:
 #line 500 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_exitRepeat); }
-#line 2760 "engines/director/lingo/lingo-gr.cpp"
+#line 2762 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 109:
 #line 501 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_procret); }
-#line 2766 "engines/director/lingo/lingo-gr.cpp"
+#line 2768 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 110:
 #line 502 "engines/director/lingo/lingo-gr.y"
                   { g_lingo->_indef = kStateInArgs; }
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
+#line 2774 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 111:
 #line 502 "engines/director/lingo/lingo-gr.y"
                                                                  { g_lingo->_indef = kStateNone; }
-#line 2778 "engines/director/lingo/lingo-gr.cpp"
+#line 2780 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 112:
 #line 503 "engines/director/lingo/lingo-gr.y"
                     { g_lingo->_indef = kStateInArgs; }
-#line 2784 "engines/director/lingo/lingo-gr.cpp"
+#line 2786 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 113:
 #line 503 "engines/director/lingo/lingo-gr.y"
                                                                      { g_lingo->_indef = kStateNone; }
-#line 2790 "engines/director/lingo/lingo-gr.cpp"
+#line 2792 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 115:
@@ -2794,7 +2796,7 @@ yyreduce:
                                                 {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2798 "engines/director/lingo/lingo-gr.cpp"
+#line 2800 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 116:
@@ -2802,19 +2804,19 @@ yyreduce:
                                         {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2806 "engines/director/lingo/lingo-gr.cpp"
+#line 2808 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 117:
 #line 511 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_open); }
-#line 2812 "engines/director/lingo/lingo-gr.cpp"
+#line 2814 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 118:
 #line 512 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 2818 "engines/director/lingo/lingo-gr.cpp"
+#line 2820 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 119:
@@ -2823,7 +2825,7 @@ yyreduce:
 		g_lingo->code1(LC::c_global);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2827 "engines/director/lingo/lingo-gr.cpp"
+#line 2829 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 120:
@@ -2832,7 +2834,7 @@ yyreduce:
 		g_lingo->code1(LC::c_global);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2836 "engines/director/lingo/lingo-gr.cpp"
+#line 2838 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 121:
@@ -2841,7 +2843,7 @@ yyreduce:
 		g_lingo->code1(LC::c_property);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2845 "engines/director/lingo/lingo-gr.cpp"
+#line 2847 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 122:
@@ -2850,7 +2852,7 @@ yyreduce:
 		g_lingo->code1(LC::c_property);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2854 "engines/director/lingo/lingo-gr.cpp"
+#line 2856 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 123:
@@ -2859,7 +2861,7 @@ yyreduce:
 		g_lingo->code1(LC::c_instance);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2863 "engines/director/lingo/lingo-gr.cpp"
+#line 2865 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 124:
@@ -2868,25 +2870,25 @@ yyreduce:
 		g_lingo->code1(LC::c_instance);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2872 "engines/director/lingo/lingo-gr.cpp"
+#line 2874 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 125:
 #line 548 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoloop); }
-#line 2878 "engines/director/lingo/lingo-gr.cpp"
+#line 2880 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 126:
 #line 549 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_gotonext); }
-#line 2884 "engines/director/lingo/lingo-gr.cpp"
+#line 2886 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 127:
 #line 550 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoprevious); }
-#line 2890 "engines/director/lingo/lingo-gr.cpp"
+#line 2892 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 128:
@@ -2895,7 +2897,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_goto); }
-#line 2899 "engines/director/lingo/lingo-gr.cpp"
+#line 2901 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 129:
@@ -2904,7 +2906,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_goto); }
-#line 2908 "engines/director/lingo/lingo-gr.cpp"
+#line 2910 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 130:
@@ -2913,13 +2915,13 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_goto); }
-#line 2917 "engines/director/lingo/lingo-gr.cpp"
+#line 2919 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 133:
 #line 567 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_playdone); }
-#line 2923 "engines/director/lingo/lingo-gr.cpp"
+#line 2925 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 134:
@@ -2928,7 +2930,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_play); }
-#line 2932 "engines/director/lingo/lingo-gr.cpp"
+#line 2934 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 135:
@@ -2937,7 +2939,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_play); }
-#line 2941 "engines/director/lingo/lingo-gr.cpp"
+#line 2943 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 136:
@@ -2946,13 +2948,13 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_play); }
-#line 2950 "engines/director/lingo/lingo-gr.cpp"
+#line 2952 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 137:
 #line 580 "engines/director/lingo/lingo-gr.y"
                      { g_lingo->codeSetImmediate(true); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2958 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 138:
@@ -2961,19 +2963,19 @@ yyreduce:
 		g_lingo->codeSetImmediate(false);
 		g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
 		delete (yyvsp[-2].s); }
-#line 2965 "engines/director/lingo/lingo-gr.cpp"
+#line 2967 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 139:
 #line 610 "engines/director/lingo/lingo-gr.y"
              { g_lingo->_indef = kStateInArgs; }
-#line 2971 "engines/director/lingo/lingo-gr.cpp"
+#line 2973 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 140:
 #line 610 "engines/director/lingo/lingo-gr.y"
                                                     { g_lingo->_currentFactory.clear(); }
-#line 2977 "engines/director/lingo/lingo-gr.cpp"
+#line 2979 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 141:
@@ -2984,19 +2986,19 @@ yyreduce:
 		g_lingo->clearArgStack();
 		g_lingo->_indef = kStateNone;
 		delete (yyvsp[-6].s); }
-#line 2988 "engines/director/lingo/lingo-gr.cpp"
+#line 2990 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 142:
 #line 617 "engines/director/lingo/lingo-gr.y"
                         { g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 2994 "engines/director/lingo/lingo-gr.cpp"
+#line 2996 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 143:
 #line 618 "engines/director/lingo/lingo-gr.y"
                   { g_lingo->_indef = kStateInArgs; }
-#line 3000 "engines/director/lingo/lingo-gr.cpp"
+#line 3002 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 144:
@@ -3007,7 +3009,7 @@ yyreduce:
 		g_lingo->clearArgStack();
 		g_lingo->_indef = kStateNone;
 		delete (yyvsp[-6].s); }
-#line 3011 "engines/director/lingo/lingo-gr.cpp"
+#line 3013 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 145:
@@ -3022,7 +3024,7 @@ yyreduce:
 		checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
 		delete (yyvsp[-7].s);
 		delete (yyvsp[-1].s); }
-#line 3026 "engines/director/lingo/lingo-gr.cpp"
+#line 3028 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 146:
@@ -3034,61 +3036,61 @@ yyreduce:
 		g_lingo->clearArgStack();
 		g_lingo->_ignoreMe = false;
 		delete (yyvsp[-5].s); }
-#line 3038 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 147:
 #line 643 "engines/director/lingo/lingo-gr.y"
          { g_lingo->_indef = kStateInArgs; }
-#line 3044 "engines/director/lingo/lingo-gr.cpp"
+#line 3046 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 148:
 #line 643 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3050 "engines/director/lingo/lingo-gr.cpp"
+#line 3052 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 149:
 #line 645 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = 0; }
-#line 3056 "engines/director/lingo/lingo-gr.cpp"
+#line 3058 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 150:
 #line 646 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3062 "engines/director/lingo/lingo-gr.cpp"
+#line 3064 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 151:
 #line 647 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3068 "engines/director/lingo/lingo-gr.cpp"
+#line 3070 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 152:
 #line 648 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->codeArg((yyvsp[0].s)); (yyval.narg) = (yyvsp[-3].narg) + 1; delete (yyvsp[0].s); }
-#line 3074 "engines/director/lingo/lingo-gr.cpp"
+#line 3076 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 154:
 #line 651 "engines/director/lingo/lingo-gr.y"
                                                 { delete (yyvsp[0].s); }
-#line 3080 "engines/director/lingo/lingo-gr.cpp"
+#line 3082 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 155:
 #line 652 "engines/director/lingo/lingo-gr.y"
                                         { delete (yyvsp[0].s); }
-#line 3086 "engines/director/lingo/lingo-gr.cpp"
+#line 3088 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 156:
 #line 654 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->codeArgStore(); g_lingo->_indef = kStateInDef; }
-#line 3092 "engines/director/lingo/lingo-gr.cpp"
+#line 3094 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 157:
@@ -3100,91 +3102,91 @@ yyreduce:
 		WRITE_UINT32(&numpar, (yyvsp[0].narg));
 		g_lingo->code1(numpar);
 		delete (yyvsp[-1].s); }
-#line 3104 "engines/director/lingo/lingo-gr.cpp"
+#line 3106 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 158:
 #line 664 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = 0; }
-#line 3110 "engines/director/lingo/lingo-gr.cpp"
+#line 3112 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 159:
 #line 665 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3116 "engines/director/lingo/lingo-gr.cpp"
+#line 3118 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 160:
 #line 666 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3122 "engines/director/lingo/lingo-gr.cpp"
+#line 3124 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 161:
 #line 668 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3128 "engines/director/lingo/lingo-gr.cpp"
+#line 3130 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 162:
 #line 669 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3134 "engines/director/lingo/lingo-gr.cpp"
+#line 3136 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 163:
 #line 671 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 3140 "engines/director/lingo/lingo-gr.cpp"
+#line 3142 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 164:
 #line 673 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3146 "engines/director/lingo/lingo-gr.cpp"
+#line 3148 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 165:
 #line 674 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3152 "engines/director/lingo/lingo-gr.cpp"
+#line 3154 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 166:
 #line 675 "engines/director/lingo/lingo-gr.y"
                      { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3158 "engines/director/lingo/lingo-gr.cpp"
+#line 3160 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 167:
 #line 676 "engines/director/lingo/lingo-gr.y"
                          { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3164 "engines/director/lingo/lingo-gr.cpp"
+#line 3166 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 168:
 #line 678 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3170 "engines/director/lingo/lingo-gr.cpp"
+#line 3172 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 169:
 #line 679 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3176 "engines/director/lingo/lingo-gr.cpp"
+#line 3178 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 170:
 #line 681 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3182 "engines/director/lingo/lingo-gr.cpp"
+#line 3184 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 171:
 #line 682 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3188 "engines/director/lingo/lingo-gr.cpp"
+#line 3190 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 172:
@@ -3193,7 +3195,7 @@ yyreduce:
 		g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3197 "engines/director/lingo/lingo-gr.cpp"
+#line 3199 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 173:
@@ -3202,11 +3204,11 @@ yyreduce:
 		g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3206 "engines/director/lingo/lingo-gr.cpp"
+#line 3208 "engines/director/lingo/lingo-gr.cpp"
     break;
 
 
-#line 3210 "engines/director/lingo/lingo-gr.cpp"
+#line 3212 "engines/director/lingo/lingo-gr.cpp"
 
       default: break;
     }
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 18d21aa..d93d8e5 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -252,7 +252,7 @@ stmt: stmtoneliner
 	//   statements
 	// end repeat
 	//
-	| repeatwith tEQ expr[init] end tTO expr[finish] end stmtlist end[end3] tENDREPEAT {
+	| repeatwith tEQ begin[init] expr end tTO expr[finish] end stmtlist end[end3] tENDREPEAT {
 		inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
 		WRITE_UINT32(&init, $init - $repeatwith);
 		WRITE_UINT32(&finish, $finish - $repeatwith);
@@ -269,7 +269,7 @@ stmt: stmtoneliner
 	//   statements
 	// end repeat
 	//
-	| repeatwith tEQ expr[init] end tDOWN tTO expr[finish] end stmtlist end[end3] tENDREPEAT {
+	| repeatwith tEQ begin[init] expr end tDOWN tTO expr[finish] end stmtlist end[end3] tENDREPEAT {
 		inst init = 0, finish = 0, body = 0, end = 0, inc = 0;
 		WRITE_UINT32(&init, $init - $repeatwith);
 		WRITE_UINT32(&finish, $finish - $repeatwith);
@@ -281,7 +281,7 @@ 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 */
-	| repeatwith tIN expr[list] end stmtlist end[end3] tENDREPEAT {
+	| repeatwith tIN begin[list] expr end stmtlist end[end3] tENDREPEAT {
 		inst list = 0, body = 0, end = 0;
 		WRITE_UINT32(&list, $list - $repeatwith);
 		WRITE_UINT32(&body, $stmtlist - $repeatwith);




More information about the Scummvm-git-logs mailing list