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

sev- sev at scummvm.org
Sat Jun 6 11:00:53 UTC 2020


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

Summary:
2680916528 DIRECTOR: LINGO: Moved thenetitywithid to simpleexpr
547e16653c DIRECTOR: LINGO: Clean up obsolete tokens
1bf7358751 DIRECTOR: LINGO: Added test for additional 'the' entity syntax
aaaffa96d4 DIRECTOR: LINGO: Added undocumented 'the text of field' entity


Commit: 268091652873bd07e32259931520707e218fe92f
    https://github.com/scummvm/scummvm/commit/268091652873bd07e32259931520707e218fe92f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-06T12:31:06+02:00

Commit Message:
DIRECTOR: LINGO: Moved thenetitywithid to simpleexpr

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


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 40e89e9c65..d9cf33ae6f 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.6.2.  */
+/* A Bison parser, made by GNU Bison 3.6.3.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
@@ -49,7 +49,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.6.2"
+#define YYBISON_VERSION "3.6.3"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -836,7 +836,7 @@ static const yytype_int8 yytranslate[] =
 };
 
 #if YYDEBUG
-  /* YYRLINEYYN -- Source line where rule number YYN was defined.  */
+  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_int16 yyrline[] =
 {
        0,   170,   170,   171,   173,   174,   175,   177,   184,   188,
@@ -845,8 +845,8 @@ static const yytype_int16 yyrline[] =
      313,   317,   320,   312,   346,   353,   359,   345,   387,   389,
      392,   393,   395,   397,   404,   412,   413,   415,   421,   425,
      429,   433,   436,   438,   439,   440,   442,   445,   448,   452,
-     456,   460,   468,   469,   470,   481,   482,   483,   486,   489,
-     492,   495,   501,   506,   512,   513,   514,   515,   516,   517,
+     456,   460,   468,   474,   475,   476,   487,   488,   489,   492,
+     495,   498,   501,   506,   512,   513,   514,   515,   516,   517,
      518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
      528,   529,   530,   531,   532,   533,   534,   536,   537,   538,
      539,   540,   541,   542,   543,   545,   548,   550,   551,   552,
@@ -931,7 +931,7 @@ static const yytype_int16 yytoknum[] =
 #define yytable_value_is_error(Yyn) \
   0
 
-  /* YYPACTSTATE-NUM -- Index in YYTABLE of the portion describing
+  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
@@ -942,39 +942,39 @@ static const yytype_int16 yypact[] =
     -289,   224,   224,   224,   405,    41,   -18,  -289,  -289,  -289,
     -289,   224,  -289,  2434,  -289,  -289,  -289,  -289,  -289,  -289,
     -289,  -289,  -289,  -289,  -289,  -289,   -11,  1948,  1911,  2434,
-       4,  1911,     4,  -289,    88,  1911,  2434,     6,   683,  -289,
-    -289,    77,   224,  -289,    61,  -289,  2021,  -289,    82,  -289,
-      84,  1987,    85,  -289,   -49,    88,    88,     9,    58,    60,
-    -289,  2331,  2021,  -289,    90,  -289,  2054,  2087,  2120,  2153,
-    2401,  2318,    92,    93,  -289,  -289,  2364,    17,    36,  -289,
-    2434,    40,    43,    46,  -289,  -289,   772,  2434,   224,   224,
+       4,  1911,     4,  -289,    88,  1911,  2434,     7,   683,  -289,
+    -289,    77,   224,  -289,    62,  -289,  2021,  -289,    84,  -289,
+      85,  1987,    86,  -289,   -49,    88,    88,     9,    59,    63,
+    -289,  2331,  2021,  -289,    92,  -289,  2054,  2087,  2120,  2153,
+    2401,  2318,    93,    94,  -289,  -289,  2364,    36,    39,  -289,
+    2434,    43,    46,    47,  -289,  -289,   772,  2434,   224,   224,
      224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
-     224,   224,   224,   224,   224,   119,  1911,  1987,  2364,   -14,
-     224,    -9,  -289,    -3,   224,     4,   119,  -289,    47,  2434,
+     224,   224,   224,   224,   224,   117,  1911,  1987,  2364,   -14,
+     224,    -9,  -289,    -3,   224,     4,   117,  -289,    49,  2434,
      224,  -289,  -289,    88,    16,   224,   224,   -10,   224,   224,
-     224,    10,   101,   224,   224,   224,   224,   224,  -289,  -289,
-      50,   224,   224,   224,   224,   224,   224,   224,   224,   224,
-     224,  -289,  -289,  -289,    51,  -289,  -289,    88,    88,  -289,
-     224,    -7,  -289,    99,   123,   123,   123,   123,  2447,  2447,
+     224,    10,   102,   224,   224,   224,   224,   224,  -289,  -289,
+      51,   224,   224,   224,   224,   224,   224,   224,   224,   224,
+     224,  -289,  -289,  -289,    52,  -289,  -289,    88,    88,  -289,
+     224,    -7,  -289,   100,   123,   123,   123,   123,  2447,  2447,
     -289,   -45,   123,   123,   123,   123,   -45,   -51,   -51,  -289,
-    -289,  -289,   -43,  -289,  2434,  -289,  -289,  2434,   -41,   127,
-    2434,  -289,   112,  -289,  -289,  2434,  2434,   224,   224,  2434,
-    2434,   123,   224,   224,   131,  2434,   123,  2434,  2434,  2434,
-     132,  2434,  2186,  2434,  2219,  2434,  2252,  2434,  2285,  2434,
-    2434,  1710,  -289,   135,  -289,  -289,  2434,    17,    36,  -289,
-    -289,  -289,   139,  -289,  -289,   119,   224,  2434,   378,  -289,
+    -289,  -289,   -43,  -289,  2434,  -289,  -289,  2434,   -41,   130,
+    2434,  -289,   113,  -289,  -289,  2434,  2434,   224,   224,  2434,
+    2434,   123,   224,   224,   132,  2434,   123,  2434,  2434,  2434,
+     135,  2434,  2186,  2434,  2219,  2434,  2252,  2434,  2285,  2434,
+    2434,  1710,  -289,   139,  -289,  -289,  2434,    36,    39,  -289,
+    -289,  -289,   147,  -289,  -289,   117,   224,  2434,   378,  -289,
     2434,   123,    88,  -289,   224,   224,   224,   224,  -289,  1199,
     -289,  1113,  -289,  -289,  -289,   -19,  2434,  -289,  -289,  -289,
     1284,   120,  2434,  2434,  2434,  2434,  -289,  -289,  -289,    97,
-    -289,   858,   943,  -289,  -289,  -289,  -289,    86,   224,  -289,
-      64,   161,  -289,  -289,   136,   156,  -289,  2434,  -289,   224,
-    -289,   106,  -289,    95,  1028,  -289,   224,   143,  1369,  2434,
-    -289,   173,  -289,  2434,   224,   116,   150,  -289,  1455,  -289,
+    -289,   858,   943,  -289,  -289,  -289,  -289,   103,   224,  -289,
+      64,   161,  -289,  -289,   137,   157,  -289,  2434,  -289,   224,
+    -289,   109,  -289,    99,  1028,  -289,   224,   143,  1369,  2434,
+    -289,   176,  -289,  2434,   224,   119,   150,  -289,  1455,  -289,
     2434,  -289,  -289,  -289,  -289,  -289,  1113,  1540,  -289,  -289,
     -289,  1625,  -289
 };
 
-  /* YYDEFACTSTATE-NUM -- Default reduction number in state STATE-NUM.
+  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
      Performed when YYTABLE does not specify something else to do.  Zero
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
@@ -984,9 +984,9 @@ static const yytype_uint8 yydefact[] =
      128,    51,   141,     0,     0,     0,     0,     0,     0,     0,
        0,   116,     0,     0,     0,     0,     0,     0,     0,   114,
      149,     0,     0,     0,     0,     0,     2,    74,    23,     6,
-      24,     0,    65,    21,   106,    66,    22,   108,   109,     5,
-      52,    20,    63,    64,    60,    71,    60,     0,     0,   160,
-     119,     0,    68,   105,     0,     0,   162,   158,     0,    52,
+      24,     0,    66,    21,   106,    67,    22,   108,   109,     5,
+      52,    20,    64,    65,    60,    62,    60,     0,     0,   160,
+     119,     0,    69,   105,     0,     0,   162,   158,     0,    52,
      110,     0,     0,   129,     0,   130,   131,   133,     0,    38,
        0,   107,     0,    52,     0,     0,     0,     0,     0,     0,
      144,   121,   136,   138,     0,    88,     0,     0,     0,     0,
@@ -994,14 +994,14 @@ static const yytype_uint8 yydefact[] =
      169,     0,   167,   168,   171,     1,     0,    48,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   151,     0,     0,   160,     0,
-       0,     0,    70,     0,     0,   140,   151,   122,   113,   135,
+       0,     0,    71,     0,     0,   140,   151,   122,   113,   135,
        0,   132,   142,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   137,   126,
      117,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    42,    42,   124,   115,   150,    62,     0,     0,   164,
+       0,    42,    42,   124,   115,   150,    63,     0,     0,   164,
        0,     0,     3,     0,    84,    85,    82,    83,    86,    87,
       79,    90,    91,    92,    81,    80,    89,    75,    76,    77,
-      78,   152,     0,   118,   161,    67,    69,   163,     0,     0,
+      78,   152,     0,   118,   161,    68,    70,   163,     0,     0,
      134,    52,     0,     7,     8,    10,    11,     0,     0,    48,
       15,    13,     0,     0,     0,    14,    12,    19,    39,   120,
        0,    97,     0,    99,     0,   101,     0,   103,     0,    95,
@@ -1018,18 +1018,18 @@ static const yytype_uint8 yydefact[] =
       29,     0,    33
 };
 
-  /* YYPGOTONTERM-NUM.  */
+  /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -289,    79,  -289,  -289,   -55,    15,  -289,  -289,  -289,  -289,
-    -289,  -289,  -289,  -289,  -289,    18,  -289,  -289,  -289,  -151,
-    -288,   -92,  -289,   -76,  1714,     3,    -6,  -289,    44,  -289,
+    -289,    80,  -289,  -289,   -54,    15,  -289,  -289,  -289,  -289,
+    -289,  -289,  -289,  -289,  -289,    17,  -289,  -289,  -289,  -151,
+    -288,   -91,  -289,   -76,  1714,     3,    -6,  -289,    55,  -289,
     -289,  -289,  -289,  -289,  -289,  -289,  -289,   -20,  -289,  -289,
     -289,  -289,  -289,  -289,  -289,  -289,  -154,  -289,  -267,  -289,
-       2,  -289,  -289,  -289,  -289,  -289,     8
+       2,  -289,  -289,  -289,  -289,  -289,    19
 };
 
-  /* YYDEFGOTONTERM-NUM.  */
+  /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
       -1,    45,    46,    47,    48,   308,   298,   324,   349,   299,
@@ -1040,7 +1040,7 @@ static const yytype_int16 yydefgoto[] =
      153,    77,    62,   121,   122,   123,   124
 };
 
-  /* YYTABLEYYPACT[STATE-NUM] -- What to do in state STATE-NUM.  If
+  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
      positive, shift that token.  If negative, reduce the rule whose
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
@@ -1055,19 +1055,19 @@ static const yytype_int16 yytable[] =
      149,   100,    69,   151,   174,   243,   159,   152,   313,   126,
      155,   272,   178,    92,    93,   223,   150,   146,   279,     1,
      225,   150,    33,    34,    35,    36,   226,   150,   171,   172,
-     328,   329,     2,   157,   150,     3,   154,   160,   162,     5,
-     163,   167,   175,   176,    64,    11,   179,    12,   193,   195,
-     197,   295,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   198,
-      69,    49,   199,   200,   224,   221,   201,   229,   227,   244,
-     250,   263,   270,   274,   230,   275,   276,   282,   283,   235,
-     236,   290,   239,   240,   241,   293,   232,   245,   246,   247,
-     248,   249,   335,   326,   318,   251,   252,   253,   254,   255,
+     328,   329,     2,   157,   150,     3,     4,   154,   160,     5,
+     162,   163,   167,   175,    64,    11,   176,    12,   179,   193,
+     195,   295,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   197,
+      69,    49,   198,   221,   224,   199,   200,   201,   227,   229,
+     244,   250,   263,   270,   230,   275,   274,   276,   282,   235,
+     236,   283,   239,   240,   241,   290,   232,   245,   246,   247,
+     248,   249,   335,   293,   318,   251,   252,   253,   254,   255,
      256,   257,   258,   259,   260,   319,    43,   332,   346,    44,
-     336,   337,   340,   134,   266,   341,   135,   344,   354,   347,
-     264,   265,   351,   352,   358,   202,   288,   316,   234,   269,
-     262,     0,   306,   309,   140,   141,   142,   143,   144,     0,
-       0,   314,     0,     0,     0,     1,     0,     0,     0,     0,
+     326,   336,   337,   134,   266,   340,   135,   344,   354,   341,
+     264,   265,   347,   352,   358,   351,   202,   288,   316,   262,
+       0,     0,   306,   309,   140,   141,   142,   143,   144,   234,
+     269,   314,     0,     0,     0,     1,     0,     0,     0,     0,
        0,   277,   278,     0,     0,     0,   280,   281,     2,     0,
        0,     3,     4,     0,   331,     5,     0,     7,     8,     9,
       66,    11,     0,    12,     0,     0,     0,    15,    16,     0,
@@ -1314,19 +1314,19 @@ static const yytype_int16 yycheck[] =
       68,    26,    78,    71,    65,    65,    82,    74,    97,    97,
       78,   100,   102,    56,    57,    99,   100,    98,   239,     1,
       99,   100,    76,    77,    78,    79,    99,   100,    95,    96,
-      36,    37,    14,    26,   100,    17,   100,    46,    26,    21,
-      26,    26,    54,    53,    26,    27,    26,    29,    26,    26,
-     103,   275,   128,   129,   130,   131,   132,   133,   134,   135,
+      36,    37,    14,    26,   100,    17,    18,   100,    46,    21,
+      26,    26,    26,    54,    26,    27,    53,    29,    26,    26,
+      26,   275,   128,   129,   130,   131,   132,   133,   134,   135,
      136,   137,   138,   139,   140,   141,   142,   143,   144,   103,
-     146,   126,   102,   100,   150,    26,   100,   100,   154,    48,
-     100,   100,    53,    26,   160,   231,    44,    26,    26,   165,
+     146,   126,   103,    26,   150,   102,   100,   100,   154,   100,
+      48,   100,   100,    53,   160,   231,    26,    44,    26,   165,
      166,    26,   168,   169,   170,    26,   163,   173,   174,   175,
-     176,   177,   323,    87,    54,   181,   182,   183,   184,   185,
+     176,   177,   323,    26,    54,   181,   182,   183,   184,   185,
      186,   187,   188,   189,   190,    88,    98,    26,   339,   101,
-      54,    35,    86,    70,   200,   100,    73,    54,   349,    26,
-     197,   198,    86,    53,   355,   126,   261,   299,   164,   201,
-     192,    -1,   288,   289,    91,    92,    93,    94,    95,    -1,
-      -1,   297,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,
+      87,    54,    35,    70,   200,    86,    73,    54,   349,   100,
+     197,   198,    26,    53,   355,    86,   126,   261,   299,   192,
+      -1,    -1,   288,   289,    91,    92,    93,    94,    95,   164,
+     201,   297,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,
       -1,   237,   238,    -1,    -1,    -1,   242,   243,    14,    -1,
       -1,    17,    18,    -1,   320,    21,    -1,    23,    24,    25,
       26,    27,    -1,    29,    -1,    -1,    -1,    33,    34,    -1,
@@ -1561,7 +1561,7 @@ static const yytype_int16 yycheck[] =
       93,    94,    95
 };
 
-  /* YYSTOSSTATE-NUM -- The (internal number of the) accessing
+  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
@@ -1604,7 +1604,7 @@ static const yytype_uint8 yystos[] =
       87,   128,    87
 };
 
-  /* YYR1YYN -- Symbol number of symbol that rule YYN derives.  */
+  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
        0,   104,   105,   105,   106,   106,   106,   107,   107,   107,
@@ -1613,7 +1613,7 @@ static const yytype_uint8 yyr1[] =
      113,   114,   115,   109,   116,   117,   118,   109,   109,   109,
      109,   109,   119,   120,   120,   121,   121,   122,   123,   124,
      125,   126,   127,   128,   128,   128,   129,   129,   129,   129,
-     129,   129,   129,   129,   129,   130,   130,   130,   130,   130,
+     129,   129,   129,   129,   129,   129,   130,   130,   130,   130,
      130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
      130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
      130,   130,   130,   130,   130,   130,   130,   131,   131,   131,
@@ -1627,7 +1627,7 @@ static const yytype_uint8 yyr1[] =
      158,   159,   159,   160,   160
 };
 
-  /* YYR2YYN -- Number of symbols on the right hand side of rule YYN.  */
+  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
 static const yytype_int8 yyr2[] =
 {
        0,     2,     1,     3,     0,     1,     1,     4,     4,     6,
@@ -1636,8 +1636,8 @@ static const yytype_int8 yyr2[] =
        0,     0,     0,    15,     0,     0,     0,    12,     2,     4,
        7,     6,     0,     9,    11,     0,     2,     6,     0,     0,
        0,     1,     0,     0,     2,     2,     1,     1,     1,     1,
-       1,     1,     3,     1,     2,     1,     1,     4,     2,     4,
-       3,     2,     1,     1,     1,     3,     3,     3,     3,     3,
+       1,     1,     2,     3,     1,     2,     1,     1,     4,     2,
+       4,     3,     1,     1,     1,     3,     3,     3,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     2,     3,
        3,     3,     3,     2,     2,     4,     4,     4,     6,     4,
        6,     4,     6,     4,     6,     2,     1,     2,     1,     1,
@@ -2741,12 +2741,23 @@ yyreduce:
 
   case 62:
 #line 468 "engines/director/lingo/lingo-gr.y"
+                                     {
+		(yyval.code) = g_lingo->code1(LC::c_theentitypush);
+		inst e = 0, f = 0;
+		WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
+		WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
+		g_lingo->code2(e, f); }
+#line 2751 "engines/director/lingo/lingo-gr.cpp"
+    break;
+
+  case 63:
+#line 474 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 2746 "engines/director/lingo/lingo-gr.cpp"
+#line 2757 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 64:
-#line 470 "engines/director/lingo/lingo-gr.y"
+  case 65:
+#line 476 "engines/director/lingo/lingo-gr.y"
                                 {
 		// Director parser till D3 was forgiving for any hanging parentheses
 		if (g_lingo->_ignoreError) {
@@ -2757,55 +2768,44 @@ yyreduce:
 			yyerrok;
 		}
 	}
-#line 2761 "engines/director/lingo/lingo-gr.cpp"
+#line 2772 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 65:
-#line 481 "engines/director/lingo/lingo-gr.y"
+  case 66:
+#line 487 "engines/director/lingo/lingo-gr.y"
                  { (yyval.code) = (yyvsp[0].code); }
-#line 2767 "engines/director/lingo/lingo-gr.cpp"
+#line 2778 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 67:
-#line 483 "engines/director/lingo/lingo-gr.y"
+  case 68:
+#line 489 "engines/director/lingo/lingo-gr.y"
                                  {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2775 "engines/director/lingo/lingo-gr.cpp"
+#line 2786 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 68:
-#line 486 "engines/director/lingo/lingo-gr.y"
+  case 69:
+#line 492 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2783 "engines/director/lingo/lingo-gr.cpp"
+#line 2794 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 69:
-#line 489 "engines/director/lingo/lingo-gr.y"
+  case 70:
+#line 495 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2791 "engines/director/lingo/lingo-gr.cpp"
+#line 2802 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 70:
-#line 492 "engines/director/lingo/lingo-gr.y"
+  case 71:
+#line 498 "engines/director/lingo/lingo-gr.y"
                                         {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
 		delete (yyvsp[-2].s); }
-#line 2799 "engines/director/lingo/lingo-gr.cpp"
-    break;
-
-  case 71:
-#line 495 "engines/director/lingo/lingo-gr.y"
-                                     {
-		(yyval.code) = g_lingo->code1(LC::c_theentitypush);
-		inst e = 0, f = 0;
-		WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
-		WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
-		g_lingo->code2(e, f); }
 #line 2810 "engines/director/lingo/lingo-gr.cpp"
     break;
 
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 43cd559839..8f5fb41915 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.6.2.  */
+/* A Bison parser, made by GNU Bison 3.6.3.  */
 
 /* Bison interface for Yacc-like parsers in C
 
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index e024844f0c..3dd5680c77 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -465,6 +465,12 @@ simpleexpr: INT		{
 		WRITE_UINT32(&e, $THEENTITY[0]);
 		WRITE_UINT32(&f, $THEENTITY[1]);
 		g_lingo->code2(e, f); }
+	| THEENTITYWITHID simpleexpr {
+		$$ = g_lingo->code1(LC::c_theentitypush);
+		inst e = 0, f = 0;
+		WRITE_UINT32(&e, $THEENTITYWITHID[0]);
+		WRITE_UINT32(&f, $THEENTITYWITHID[1]);
+		g_lingo->code2(e, f); }
 	| '(' expr[arg] ')'			{ $$ = $arg; }
 	| list
 	| error	'\n'		{
@@ -492,12 +498,6 @@ expr: simpleexpr { $$ = $simpleexpr; }
 	| THEFBLTIN tOF simpleexpr	{
 		$$ = g_lingo->codeFunc($THEFBLTIN, 1);
 		delete $THEFBLTIN; }
-	| THEENTITYWITHID simpleexpr {
-		$$ = g_lingo->code1(LC::c_theentitypush);
-		inst e = 0, f = 0;
-		WRITE_UINT32(&e, $THEENTITYWITHID[0]);
-		WRITE_UINT32(&f, $THEENTITYWITHID[1]);
-		g_lingo->code2(e, f); }
 	| THEOBJECTFIELD {
 		g_lingo->code1(LC::c_objectfieldpush);
 		g_lingo->codeString($THEOBJECTFIELD.os->c_str());


Commit: 547e16653c095b9cf04e50c20094b2a8a46c9552
    https://github.com/scummvm/scummvm/commit/547e16653c095b9cf04e50c20094b2a8a46c9552
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-06T12:33:36+02:00

Commit Message:
DIRECTOR: LINGO: Clean up obsolete tokens

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


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index d9cf33ae6f..0a13186a39 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -226,37 +226,36 @@ extern int yydebug;
     tWHEN = 310,                   /* tWHEN  */
     tWITH = 311,                   /* tWITH  */
     tWHILE = 312,                  /* tWHILE  */
-    tNLELSE = 313,                 /* tNLELSE  */
-    tFACTORY = 314,                /* tFACTORY  */
-    tOPEN = 315,                   /* tOPEN  */
-    tPLAY = 316,                   /* tPLAY  */
-    tINSTANCE = 317,               /* tINSTANCE  */
-    tGE = 318,                     /* tGE  */
-    tLE = 319,                     /* tLE  */
-    tEQ = 320,                     /* tEQ  */
-    tNEQ = 321,                    /* tNEQ  */
-    tAND = 322,                    /* tAND  */
-    tOR = 323,                     /* tOR  */
-    tNOT = 324,                    /* tNOT  */
-    tMOD = 325,                    /* tMOD  */
-    tAFTER = 326,                  /* tAFTER  */
-    tBEFORE = 327,                 /* tBEFORE  */
-    tCONCAT = 328,                 /* tCONCAT  */
-    tCONTAINS = 329,               /* tCONTAINS  */
-    tSTARTS = 330,                 /* tSTARTS  */
-    tCHAR = 331,                   /* tCHAR  */
-    tITEM = 332,                   /* tITEM  */
-    tLINE = 333,                   /* tLINE  */
-    tWORD = 334,                   /* tWORD  */
-    tSPRITE = 335,                 /* tSPRITE  */
-    tINTERSECTS = 336,             /* tINTERSECTS  */
-    tWITHIN = 337,                 /* tWITHIN  */
-    tTELL = 338,                   /* tTELL  */
-    tPROPERTY = 339,               /* tPROPERTY  */
-    tON = 340,                     /* tON  */
-    tENDIF = 341,                  /* tENDIF  */
-    tENDREPEAT = 342,              /* tENDREPEAT  */
-    tENDTELL = 343                 /* tENDTELL  */
+    tFACTORY = 313,                /* tFACTORY  */
+    tOPEN = 314,                   /* tOPEN  */
+    tPLAY = 315,                   /* tPLAY  */
+    tINSTANCE = 316,               /* tINSTANCE  */
+    tGE = 317,                     /* tGE  */
+    tLE = 318,                     /* tLE  */
+    tEQ = 319,                     /* tEQ  */
+    tNEQ = 320,                    /* tNEQ  */
+    tAND = 321,                    /* tAND  */
+    tOR = 322,                     /* tOR  */
+    tNOT = 323,                    /* tNOT  */
+    tMOD = 324,                    /* tMOD  */
+    tAFTER = 325,                  /* tAFTER  */
+    tBEFORE = 326,                 /* tBEFORE  */
+    tCONCAT = 327,                 /* tCONCAT  */
+    tCONTAINS = 328,               /* tCONTAINS  */
+    tSTARTS = 329,                 /* tSTARTS  */
+    tCHAR = 330,                   /* tCHAR  */
+    tITEM = 331,                   /* tITEM  */
+    tLINE = 332,                   /* tLINE  */
+    tWORD = 333,                   /* tWORD  */
+    tSPRITE = 334,                 /* tSPRITE  */
+    tINTERSECTS = 335,             /* tINTERSECTS  */
+    tWITHIN = 336,                 /* tWITHIN  */
+    tTELL = 337,                   /* tTELL  */
+    tPROPERTY = 338,               /* tPROPERTY  */
+    tON = 339,                     /* tON  */
+    tENDIF = 340,                  /* tENDIF  */
+    tENDREPEAT = 341,              /* tENDREPEAT  */
+    tENDTELL = 342                 /* tENDTELL  */
   };
   typedef enum yytokentype yytoken_kind_t;
 #endif
@@ -285,7 +284,7 @@ union YYSTYPE
 		Common::String *field;
 	} objectref;
 
-#line 289 "engines/director/lingo/lingo-gr.cpp"
+#line 288 "engines/director/lingo/lingo-gr.cpp"
 
 };
 typedef union YYSTYPE YYSTYPE;
@@ -361,109 +360,108 @@ enum yysymbol_kind_t
   YYSYMBOL_tWHEN = 55,                     /* tWHEN  */
   YYSYMBOL_tWITH = 56,                     /* tWITH  */
   YYSYMBOL_tWHILE = 57,                    /* tWHILE  */
-  YYSYMBOL_tNLELSE = 58,                   /* tNLELSE  */
-  YYSYMBOL_tFACTORY = 59,                  /* tFACTORY  */
-  YYSYMBOL_tOPEN = 60,                     /* tOPEN  */
-  YYSYMBOL_tPLAY = 61,                     /* tPLAY  */
-  YYSYMBOL_tINSTANCE = 62,                 /* tINSTANCE  */
-  YYSYMBOL_tGE = 63,                       /* tGE  */
-  YYSYMBOL_tLE = 64,                       /* tLE  */
-  YYSYMBOL_tEQ = 65,                       /* tEQ  */
-  YYSYMBOL_tNEQ = 66,                      /* tNEQ  */
-  YYSYMBOL_tAND = 67,                      /* tAND  */
-  YYSYMBOL_tOR = 68,                       /* tOR  */
-  YYSYMBOL_tNOT = 69,                      /* tNOT  */
-  YYSYMBOL_tMOD = 70,                      /* tMOD  */
-  YYSYMBOL_tAFTER = 71,                    /* tAFTER  */
-  YYSYMBOL_tBEFORE = 72,                   /* tBEFORE  */
-  YYSYMBOL_tCONCAT = 73,                   /* tCONCAT  */
-  YYSYMBOL_tCONTAINS = 74,                 /* tCONTAINS  */
-  YYSYMBOL_tSTARTS = 75,                   /* tSTARTS  */
-  YYSYMBOL_tCHAR = 76,                     /* tCHAR  */
-  YYSYMBOL_tITEM = 77,                     /* tITEM  */
-  YYSYMBOL_tLINE = 78,                     /* tLINE  */
-  YYSYMBOL_tWORD = 79,                     /* tWORD  */
-  YYSYMBOL_tSPRITE = 80,                   /* tSPRITE  */
-  YYSYMBOL_tINTERSECTS = 81,               /* tINTERSECTS  */
-  YYSYMBOL_tWITHIN = 82,                   /* tWITHIN  */
-  YYSYMBOL_tTELL = 83,                     /* tTELL  */
-  YYSYMBOL_tPROPERTY = 84,                 /* tPROPERTY  */
-  YYSYMBOL_tON = 85,                       /* tON  */
-  YYSYMBOL_tENDIF = 86,                    /* tENDIF  */
-  YYSYMBOL_tENDREPEAT = 87,                /* tENDREPEAT  */
-  YYSYMBOL_tENDTELL = 88,                  /* tENDTELL  */
-  YYSYMBOL_89_ = 89,                       /* '<'  */
-  YYSYMBOL_90_ = 90,                       /* '>'  */
-  YYSYMBOL_91_ = 91,                       /* '&'  */
-  YYSYMBOL_92_ = 92,                       /* '+'  */
-  YYSYMBOL_93_ = 93,                       /* '-'  */
-  YYSYMBOL_94_ = 94,                       /* '*'  */
-  YYSYMBOL_95_ = 95,                       /* '/'  */
-  YYSYMBOL_96_ = 96,                       /* '%'  */
-  YYSYMBOL_97_n_ = 97,                     /* '\n'  */
-  YYSYMBOL_98_ = 98,                       /* '('  */
-  YYSYMBOL_99_ = 99,                       /* ')'  */
-  YYSYMBOL_100_ = 100,                     /* ','  */
-  YYSYMBOL_101_ = 101,                     /* '['  */
-  YYSYMBOL_102_ = 102,                     /* ']'  */
-  YYSYMBOL_103_ = 103,                     /* ':'  */
-  YYSYMBOL_YYACCEPT = 104,                 /* $accept  */
-  YYSYMBOL_program = 105,                  /* program  */
-  YYSYMBOL_programline = 106,              /* programline  */
-  YYSYMBOL_asgn = 107,                     /* asgn  */
-  YYSYMBOL_stmtoneliner = 108,             /* stmtoneliner  */
-  YYSYMBOL_stmt = 109,                     /* stmt  */
-  YYSYMBOL_110_1 = 110,                    /* $@1  */
-  YYSYMBOL_111_2 = 111,                    /* $@2  */
-  YYSYMBOL_112_3 = 112,                    /* $@3  */
-  YYSYMBOL_113_4 = 113,                    /* $@4  */
-  YYSYMBOL_114_5 = 114,                    /* $@5  */
-  YYSYMBOL_115_6 = 115,                    /* $@6  */
-  YYSYMBOL_116_7 = 116,                    /* $@7  */
-  YYSYMBOL_117_8 = 117,                    /* $@8  */
-  YYSYMBOL_118_9 = 118,                    /* $@9  */
-  YYSYMBOL_tellstart = 119,                /* tellstart  */
-  YYSYMBOL_ifstmt = 120,                   /* ifstmt  */
-  YYSYMBOL_elseifstmtlist = 121,           /* elseifstmtlist  */
-  YYSYMBOL_elseifstmt = 122,               /* elseifstmt  */
-  YYSYMBOL_jumpifz = 123,                  /* jumpifz  */
-  YYSYMBOL_jump = 124,                     /* jump  */
-  YYSYMBOL_varassign = 125,                /* varassign  */
-  YYSYMBOL_if = 126,                       /* if  */
-  YYSYMBOL_lbl = 127,                      /* lbl  */
-  YYSYMBOL_stmtlist = 128,                 /* stmtlist  */
-  YYSYMBOL_simpleexpr = 129,               /* simpleexpr  */
-  YYSYMBOL_expr = 130,                     /* expr  */
-  YYSYMBOL_chunkexpr = 131,                /* chunkexpr  */
-  YYSYMBOL_reference = 132,                /* reference  */
-  YYSYMBOL_proc = 133,                     /* proc  */
-  YYSYMBOL_134_10 = 134,                   /* $@10  */
-  YYSYMBOL_135_11 = 135,                   /* $@11  */
-  YYSYMBOL_136_12 = 136,                   /* $@12  */
-  YYSYMBOL_globallist = 137,               /* globallist  */
-  YYSYMBOL_propertylist = 138,             /* propertylist  */
-  YYSYMBOL_instancelist = 139,             /* instancelist  */
-  YYSYMBOL_gotofunc = 140,                 /* gotofunc  */
-  YYSYMBOL_gotomovie = 141,                /* gotomovie  */
-  YYSYMBOL_playfunc = 142,                 /* playfunc  */
-  YYSYMBOL_143_13 = 143,                   /* $@13  */
-  YYSYMBOL_defn = 144,                     /* defn  */
-  YYSYMBOL_145_14 = 145,                   /* $@14  */
-  YYSYMBOL_146_15 = 146,                   /* $@15  */
-  YYSYMBOL_147_16 = 147,                   /* $@16  */
-  YYSYMBOL_on = 148,                       /* on  */
-  YYSYMBOL_149_17 = 149,                   /* $@17  */
-  YYSYMBOL_argdef = 150,                   /* argdef  */
-  YYSYMBOL_endargdef = 151,                /* endargdef  */
-  YYSYMBOL_argstore = 152,                 /* argstore  */
-  YYSYMBOL_macro = 153,                    /* macro  */
-  YYSYMBOL_arglist = 154,                  /* arglist  */
-  YYSYMBOL_nonemptyarglist = 155,          /* nonemptyarglist  */
-  YYSYMBOL_list = 156,                     /* list  */
-  YYSYMBOL_valuelist = 157,                /* valuelist  */
-  YYSYMBOL_linearlist = 158,               /* linearlist  */
-  YYSYMBOL_proplist = 159,                 /* proplist  */
-  YYSYMBOL_proppair = 160                  /* proppair  */
+  YYSYMBOL_tFACTORY = 58,                  /* tFACTORY  */
+  YYSYMBOL_tOPEN = 59,                     /* tOPEN  */
+  YYSYMBOL_tPLAY = 60,                     /* tPLAY  */
+  YYSYMBOL_tINSTANCE = 61,                 /* tINSTANCE  */
+  YYSYMBOL_tGE = 62,                       /* tGE  */
+  YYSYMBOL_tLE = 63,                       /* tLE  */
+  YYSYMBOL_tEQ = 64,                       /* tEQ  */
+  YYSYMBOL_tNEQ = 65,                      /* tNEQ  */
+  YYSYMBOL_tAND = 66,                      /* tAND  */
+  YYSYMBOL_tOR = 67,                       /* tOR  */
+  YYSYMBOL_tNOT = 68,                      /* tNOT  */
+  YYSYMBOL_tMOD = 69,                      /* tMOD  */
+  YYSYMBOL_tAFTER = 70,                    /* tAFTER  */
+  YYSYMBOL_tBEFORE = 71,                   /* tBEFORE  */
+  YYSYMBOL_tCONCAT = 72,                   /* tCONCAT  */
+  YYSYMBOL_tCONTAINS = 73,                 /* tCONTAINS  */
+  YYSYMBOL_tSTARTS = 74,                   /* tSTARTS  */
+  YYSYMBOL_tCHAR = 75,                     /* tCHAR  */
+  YYSYMBOL_tITEM = 76,                     /* tITEM  */
+  YYSYMBOL_tLINE = 77,                     /* tLINE  */
+  YYSYMBOL_tWORD = 78,                     /* tWORD  */
+  YYSYMBOL_tSPRITE = 79,                   /* tSPRITE  */
+  YYSYMBOL_tINTERSECTS = 80,               /* tINTERSECTS  */
+  YYSYMBOL_tWITHIN = 81,                   /* tWITHIN  */
+  YYSYMBOL_tTELL = 82,                     /* tTELL  */
+  YYSYMBOL_tPROPERTY = 83,                 /* tPROPERTY  */
+  YYSYMBOL_tON = 84,                       /* tON  */
+  YYSYMBOL_tENDIF = 85,                    /* tENDIF  */
+  YYSYMBOL_tENDREPEAT = 86,                /* tENDREPEAT  */
+  YYSYMBOL_tENDTELL = 87,                  /* tENDTELL  */
+  YYSYMBOL_88_ = 88,                       /* '<'  */
+  YYSYMBOL_89_ = 89,                       /* '>'  */
+  YYSYMBOL_90_ = 90,                       /* '&'  */
+  YYSYMBOL_91_ = 91,                       /* '+'  */
+  YYSYMBOL_92_ = 92,                       /* '-'  */
+  YYSYMBOL_93_ = 93,                       /* '*'  */
+  YYSYMBOL_94_ = 94,                       /* '/'  */
+  YYSYMBOL_95_ = 95,                       /* '%'  */
+  YYSYMBOL_96_n_ = 96,                     /* '\n'  */
+  YYSYMBOL_97_ = 97,                       /* '('  */
+  YYSYMBOL_98_ = 98,                       /* ')'  */
+  YYSYMBOL_99_ = 99,                       /* ','  */
+  YYSYMBOL_100_ = 100,                     /* '['  */
+  YYSYMBOL_101_ = 101,                     /* ']'  */
+  YYSYMBOL_102_ = 102,                     /* ':'  */
+  YYSYMBOL_YYACCEPT = 103,                 /* $accept  */
+  YYSYMBOL_program = 104,                  /* program  */
+  YYSYMBOL_programline = 105,              /* programline  */
+  YYSYMBOL_asgn = 106,                     /* asgn  */
+  YYSYMBOL_stmtoneliner = 107,             /* stmtoneliner  */
+  YYSYMBOL_stmt = 108,                     /* stmt  */
+  YYSYMBOL_109_1 = 109,                    /* $@1  */
+  YYSYMBOL_110_2 = 110,                    /* $@2  */
+  YYSYMBOL_111_3 = 111,                    /* $@3  */
+  YYSYMBOL_112_4 = 112,                    /* $@4  */
+  YYSYMBOL_113_5 = 113,                    /* $@5  */
+  YYSYMBOL_114_6 = 114,                    /* $@6  */
+  YYSYMBOL_115_7 = 115,                    /* $@7  */
+  YYSYMBOL_116_8 = 116,                    /* $@8  */
+  YYSYMBOL_117_9 = 117,                    /* $@9  */
+  YYSYMBOL_tellstart = 118,                /* tellstart  */
+  YYSYMBOL_ifstmt = 119,                   /* ifstmt  */
+  YYSYMBOL_elseifstmtlist = 120,           /* elseifstmtlist  */
+  YYSYMBOL_elseifstmt = 121,               /* elseifstmt  */
+  YYSYMBOL_jumpifz = 122,                  /* jumpifz  */
+  YYSYMBOL_jump = 123,                     /* jump  */
+  YYSYMBOL_varassign = 124,                /* varassign  */
+  YYSYMBOL_if = 125,                       /* if  */
+  YYSYMBOL_lbl = 126,                      /* lbl  */
+  YYSYMBOL_stmtlist = 127,                 /* stmtlist  */
+  YYSYMBOL_simpleexpr = 128,               /* simpleexpr  */
+  YYSYMBOL_expr = 129,                     /* expr  */
+  YYSYMBOL_chunkexpr = 130,                /* chunkexpr  */
+  YYSYMBOL_reference = 131,                /* reference  */
+  YYSYMBOL_proc = 132,                     /* proc  */
+  YYSYMBOL_133_10 = 133,                   /* $@10  */
+  YYSYMBOL_134_11 = 134,                   /* $@11  */
+  YYSYMBOL_135_12 = 135,                   /* $@12  */
+  YYSYMBOL_globallist = 136,               /* globallist  */
+  YYSYMBOL_propertylist = 137,             /* propertylist  */
+  YYSYMBOL_instancelist = 138,             /* instancelist  */
+  YYSYMBOL_gotofunc = 139,                 /* gotofunc  */
+  YYSYMBOL_gotomovie = 140,                /* gotomovie  */
+  YYSYMBOL_playfunc = 141,                 /* playfunc  */
+  YYSYMBOL_142_13 = 142,                   /* $@13  */
+  YYSYMBOL_defn = 143,                     /* defn  */
+  YYSYMBOL_144_14 = 144,                   /* $@14  */
+  YYSYMBOL_145_15 = 145,                   /* $@15  */
+  YYSYMBOL_146_16 = 146,                   /* $@16  */
+  YYSYMBOL_on = 147,                       /* on  */
+  YYSYMBOL_148_17 = 148,                   /* $@17  */
+  YYSYMBOL_argdef = 149,                   /* argdef  */
+  YYSYMBOL_endargdef = 150,                /* endargdef  */
+  YYSYMBOL_argstore = 151,                 /* argstore  */
+  YYSYMBOL_macro = 152,                    /* macro  */
+  YYSYMBOL_arglist = 153,                  /* arglist  */
+  YYSYMBOL_nonemptyarglist = 154,          /* nonemptyarglist  */
+  YYSYMBOL_list = 155,                     /* list  */
+  YYSYMBOL_valuelist = 156,                /* valuelist  */
+  YYSYMBOL_linearlist = 157,               /* linearlist  */
+  YYSYMBOL_proplist = 158,                 /* proplist  */
+  YYSYMBOL_proppair = 159                  /* proppair  */
 };
 typedef enum yysymbol_kind_t yysymbol_kind_t;
 
@@ -773,10 +771,10 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  125
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2542
+#define YYLAST   2546
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  104
+#define YYNTOKENS  103
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  57
 /* YYNRULES -- Number of rules.  */
@@ -784,7 +782,7 @@ union yyalloc
 /* YYNSTATES -- Number of states.  */
 #define YYNSTATES  363
 
-#define YYMAXUTOK   343
+#define YYMAXUTOK   342
 
 
 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -799,15 +797,15 @@ union yyalloc
 static const yytype_int8 yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-      97,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+      96,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,    96,    91,     2,
-      98,    99,    94,    92,   100,    93,     2,    95,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,   103,     2,
-      89,     2,    90,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,    95,    90,     2,
+      97,    98,    93,    91,    99,    92,     2,    94,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   102,     2,
+      88,     2,    89,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   101,     2,   102,     2,     2,     2,     2,     2,     2,
+       2,   100,     2,   101,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -832,31 +830,31 @@ static const yytype_int8 yytranslate[] =
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88
+      85,    86,    87
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_int16 yyrline[] =
 {
-       0,   170,   170,   171,   173,   174,   175,   177,   184,   188,
-     199,   200,   201,   208,   215,   222,   229,   235,   242,   253,
-     260,   261,   262,   264,   265,   270,   282,   286,   289,   281,
-     313,   317,   320,   312,   346,   353,   359,   345,   387,   389,
-     392,   393,   395,   397,   404,   412,   413,   415,   421,   425,
-     429,   433,   436,   438,   439,   440,   442,   445,   448,   452,
-     456,   460,   468,   474,   475,   476,   487,   488,   489,   492,
-     495,   498,   501,   506,   512,   513,   514,   515,   516,   517,
-     518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
-     528,   529,   530,   531,   532,   533,   534,   536,   537,   538,
-     539,   540,   541,   542,   543,   545,   548,   550,   551,   552,
-     553,   554,   555,   555,   556,   556,   557,   557,   558,   561,
-     564,   565,   567,   572,   578,   583,   589,   594,   607,   608,
-     609,   610,   614,   618,   623,   624,   626,   630,   634,   638,
-     638,   668,   668,   668,   674,   675,   675,   681,   689,   695,
-     695,   698,   699,   700,   702,   703,   704,   706,   708,   716,
-     717,   718,   720,   721,   723,   725,   726,   727,   728,   730,
-     731,   733,   734,   736,   740
+       0,   173,   173,   174,   176,   177,   178,   180,   187,   191,
+     202,   203,   204,   211,   218,   225,   232,   238,   245,   256,
+     263,   264,   265,   267,   268,   273,   285,   289,   292,   284,
+     316,   320,   323,   315,   349,   356,   362,   348,   390,   392,
+     395,   396,   398,   400,   407,   415,   416,   418,   424,   428,
+     432,   436,   439,   441,   442,   443,   445,   448,   451,   455,
+     459,   463,   471,   477,   478,   479,   490,   491,   492,   495,
+     498,   501,   504,   509,   515,   516,   517,   518,   519,   520,
+     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
+     531,   532,   533,   534,   535,   536,   537,   539,   540,   541,
+     542,   543,   544,   545,   546,   548,   551,   553,   554,   555,
+     556,   557,   558,   558,   559,   559,   560,   560,   561,   564,
+     567,   568,   570,   575,   581,   586,   592,   597,   610,   611,
+     612,   613,   617,   621,   626,   627,   629,   633,   637,   641,
+     641,   671,   671,   671,   677,   678,   678,   684,   692,   698,
+     698,   701,   702,   703,   705,   706,   707,   709,   711,   719,
+     720,   721,   723,   724,   726,   728,   729,   730,   731,   733,
+     734,   736,   737,   739,   743
 };
 #endif
 
@@ -881,7 +879,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
   "tPLAYACCEL", "tMETHOD", "THEOBJECTFIELD", "THEOBJECTREF", "tDOWN",
   "tELSE", "tELSIF", "tEXIT", "tGLOBAL", "tGO", "tGOLOOP", "tIF", "tIN",
   "tINTO", "tMACRO", "tMOVIE", "tNEXT", "tOF", "tPREVIOUS", "tPUT",
-  "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE", "tNLELSE",
+  "tREPEAT", "tSET", "tTHEN", "tTO", "tWHEN", "tWITH", "tWHILE",
   "tFACTORY", "tOPEN", "tPLAY", "tINSTANCE", "tGE", "tLE", "tEQ", "tNEQ",
   "tAND", "tOR", "tNOT", "tMOD", "tAFTER", "tBEFORE", "tCONCAT",
   "tCONTAINS", "tSTARTS", "tCHAR", "tITEM", "tLINE", "tWORD", "tSPRITE",
@@ -915,13 +913,13 @@ static const yytype_int16 yytoknum[] =
      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-     335,   336,   337,   338,   339,   340,   341,   342,   343,    60,
-      62,    38,    43,    45,    42,    47,    37,    10,    40,    41,
-      44,    91,    93,    58
+     335,   336,   337,   338,   339,   340,   341,   342,    60,    62,
+      38,    43,    45,    42,    47,    37,    10,    40,    41,    44,
+      91,    93,    58
 };
 #endif
 
-#define YYPACT_NINF (-289)
+#define YYPACT_NINF (-293)
 
 #define yypact_value_is_default(Yyn) \
   ((Yyn) == YYPACT_NINF)
@@ -935,43 +933,43 @@ static const yytype_int16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     772,   -83,  -289,  -289,    88,  -289,   594,   310,    88,   -27,
-     495,  -289,  -289,  -289,  -289,  -289,  -289,   -17,  -289,  1792,
-    -289,  -289,  -289,   -12,  1948,    27,    34,    32,    45,   224,
-    1829,  -289,   224,   224,   224,   224,   224,   224,   224,  -289,
-    -289,   224,   224,   224,   405,    41,   -18,  -289,  -289,  -289,
-    -289,   224,  -289,  2434,  -289,  -289,  -289,  -289,  -289,  -289,
-    -289,  -289,  -289,  -289,  -289,  -289,   -11,  1948,  1911,  2434,
-       4,  1911,     4,  -289,    88,  1911,  2434,     7,   683,  -289,
-    -289,    77,   224,  -289,    62,  -289,  2021,  -289,    84,  -289,
-      85,  1987,    86,  -289,   -49,    88,    88,     9,    59,    63,
-    -289,  2331,  2021,  -289,    92,  -289,  2054,  2087,  2120,  2153,
-    2401,  2318,    93,    94,  -289,  -289,  2364,    36,    39,  -289,
-    2434,    43,    46,    47,  -289,  -289,   772,  2434,   224,   224,
-     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
-     224,   224,   224,   224,   224,   117,  1911,  1987,  2364,   -14,
-     224,    -9,  -289,    -3,   224,     4,   117,  -289,    49,  2434,
-     224,  -289,  -289,    88,    16,   224,   224,   -10,   224,   224,
-     224,    10,   102,   224,   224,   224,   224,   224,  -289,  -289,
-      51,   224,   224,   224,   224,   224,   224,   224,   224,   224,
-     224,  -289,  -289,  -289,    52,  -289,  -289,    88,    88,  -289,
-     224,    -7,  -289,   100,   123,   123,   123,   123,  2447,  2447,
-    -289,   -45,   123,   123,   123,   123,   -45,   -51,   -51,  -289,
-    -289,  -289,   -43,  -289,  2434,  -289,  -289,  2434,   -41,   130,
-    2434,  -289,   113,  -289,  -289,  2434,  2434,   224,   224,  2434,
-    2434,   123,   224,   224,   132,  2434,   123,  2434,  2434,  2434,
-     135,  2434,  2186,  2434,  2219,  2434,  2252,  2434,  2285,  2434,
-    2434,  1710,  -289,   139,  -289,  -289,  2434,    36,    39,  -289,
-    -289,  -289,   147,  -289,  -289,   117,   224,  2434,   378,  -289,
-    2434,   123,    88,  -289,   224,   224,   224,   224,  -289,  1199,
-    -289,  1113,  -289,  -289,  -289,   -19,  2434,  -289,  -289,  -289,
-    1284,   120,  2434,  2434,  2434,  2434,  -289,  -289,  -289,    97,
-    -289,   858,   943,  -289,  -289,  -289,  -289,   103,   224,  -289,
-      64,   161,  -289,  -289,   137,   157,  -289,  2434,  -289,   224,
-    -289,   109,  -289,    99,  1028,  -289,   224,   143,  1369,  2434,
-    -289,   176,  -289,  2434,   224,   119,   150,  -289,  1455,  -289,
-    2434,  -289,  -289,  -289,  -289,  -289,  1113,  1540,  -289,  -289,
-    -289,  1625,  -289
+     767,   -91,  -293,  -293,    53,  -293,   591,   310,    53,   -38,
+     493,  -293,  -293,  -293,  -293,  -293,  -293,   -37,  -293,   225,
+    -293,  -293,  -293,   -26,  1899,    36,   173,    26,    33,  1929,
+    1775,  -293,  1929,  1929,  1929,  1929,  1929,  1929,  1929,  -293,
+    -293,  1929,  1929,  1929,   404,    39,   -28,  -293,  -293,  -293,
+    -293,  1929,  -293,  2439,  -293,  -293,  -293,  -293,  -293,  -293,
+    -293,  -293,  -293,  -293,  -293,  -293,   -12,  1899,  1812,  2439,
+     -10,  1812,   -10,  -293,    53,  1812,  2439,    -2,   679,  -293,
+    -293,    87,  1929,  -293,    68,  -293,  2020,  -293,    89,  -293,
+      90,  1987,    91,  -293,   -20,    53,    53,   -11,    64,    66,
+    -293,  2356,  2020,  -293,    94,  -293,  2053,  2086,  2119,  2152,
+    2406,  2317,   113,   116,  -293,  -293,  2369,    41,    43,  -293,
+    2439,    45,    48,    50,  -293,  -293,   767,  2439,  1929,  1929,
+    1929,  1929,  1929,  1929,  1929,  1929,  1929,  1929,  1929,  1929,
+    1929,  1929,  1929,  1929,  1929,   125,  1812,  1987,  2369,   -51,
+    1929,    -3,  -293,    11,  1929,   -10,   125,  -293,    57,  2439,
+    1929,  -293,  -293,    53,    25,  1929,  1929,   -22,  1929,  1929,
+    1929,    -4,   104,  1929,  1929,  1929,  1929,  1929,  -293,  -293,
+      58,  1929,  1929,  1929,  1929,  1929,  1929,  1929,  1929,  1929,
+    1929,  -293,  -293,  -293,    59,  -293,  -293,    53,    53,  -293,
+    1929,    46,  -293,   108,    14,    14,    14,    14,  2452,  2452,
+    -293,   -36,    14,    14,    14,    14,   -36,   -53,   -53,  -293,
+    -293,  -293,   -87,  -293,  2439,  -293,  -293,  2439,   -33,   139,
+    2439,  -293,   129,  -293,  -293,  2439,  2439,  1929,  1929,  2439,
+    2439,    14,  1929,  1929,   148,  2439,    14,  2439,  2439,  2439,
+     159,  2439,  2185,  2439,  2218,  2439,  2251,  2439,  2284,  2439,
+    2439,  1694,  -293,   160,  -293,  -293,  2439,    41,    43,  -293,
+    -293,  -293,   161,  -293,  -293,   125,  1929,  2439,   377,  -293,
+    2439,    14,    53,  -293,  1929,  1929,  1929,  1929,  -293,  1189,
+    -293,  1104,  -293,  -293,  -293,    -9,  2439,  -293,  -293,  -293,
+    1273,   135,  2439,  2439,  2439,  2439,  -293,  -293,  -293,   106,
+    -293,   852,   936,  -293,  -293,  -293,  -293,   109,  1929,  -293,
+      75,   170,  -293,  -293,   143,   167,  -293,  2439,  -293,  1929,
+    -293,   118,  -293,   110,  1020,  -293,  1929,   151,  1357,  2439,
+    -293,   181,  -293,  2439,  1929,   123,   157,  -293,  1442,  -293,
+    2439,  -293,  -293,  -293,  -293,  -293,  1104,  1526,  -293,  -293,
+    -293,  1610,  -293
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1021,12 +1019,12 @@ static const yytype_uint8 yydefact[] =
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -289,    80,  -289,  -289,   -54,    15,  -289,  -289,  -289,  -289,
-    -289,  -289,  -289,  -289,  -289,    17,  -289,  -289,  -289,  -151,
-    -288,   -91,  -289,   -76,  1714,     3,    -6,  -289,    55,  -289,
-    -289,  -289,  -289,  -289,  -289,  -289,  -289,   -20,  -289,  -289,
-    -289,  -289,  -289,  -289,  -289,  -289,  -154,  -289,  -267,  -289,
-       2,  -289,  -289,  -289,  -289,  -289,    19
+    -293,    85,  -293,  -293,   -47,    15,  -293,  -293,  -293,  -293,
+    -293,  -293,  -293,  -293,  -293,    23,  -293,  -293,  -293,  -151,
+    -292,   -83,  -293,   -76,  1690,     3,    -6,  -293,    54,  -293,
+    -293,  -293,  -293,  -293,  -293,  -293,  -293,    -8,  -293,  -293,
+    -293,  -293,  -293,  -293,  -293,  -293,  -154,  -293,  -267,  -293,
+      13,  -293,  -293,  -293,  -293,  -293,    16
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
@@ -1045,34 +1043,34 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      69,    69,   228,   156,    76,   169,   294,    65,    70,    72,
-     103,    73,   317,    86,    63,    49,   170,   168,    91,   134,
-     267,    74,   268,   101,   102,   134,   105,   106,   107,   108,
-     109,   110,   111,   237,    80,   114,   115,   116,   120,    89,
-       8,   125,   233,   143,   144,   127,   322,   141,   142,   143,
-     144,    94,    95,    96,   271,   238,   273,   272,    99,   272,
-      97,   147,   148,   173,   242,   148,   161,    98,   359,   148,
-     149,   100,    69,   151,   174,   243,   159,   152,   313,   126,
-     155,   272,   178,    92,    93,   223,   150,   146,   279,     1,
-     225,   150,    33,    34,    35,    36,   226,   150,   171,   172,
-     328,   329,     2,   157,   150,     3,     4,   154,   160,     5,
-     162,   163,   167,   175,    64,    11,   176,    12,   179,   193,
-     195,   295,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   197,
-      69,    49,   198,   221,   224,   199,   200,   201,   227,   229,
-     244,   250,   263,   270,   230,   275,   274,   276,   282,   235,
-     236,   283,   239,   240,   241,   290,   232,   245,   246,   247,
-     248,   249,   335,   293,   318,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   319,    43,   332,   346,    44,
-     326,   336,   337,   134,   266,   340,   135,   344,   354,   341,
-     264,   265,   347,   352,   358,   351,   202,   288,   316,   262,
-       0,     0,   306,   309,   140,   141,   142,   143,   144,   234,
-     269,   314,     0,     0,     0,     1,     0,     0,     0,     0,
-       0,   277,   278,     0,     0,     0,   280,   281,     2,     0,
-       0,     3,     4,     0,   331,     5,     0,     7,     8,     9,
-      66,    11,     0,    12,     0,     0,     0,    15,    16,     0,
+      69,    69,   228,   156,    76,    63,   294,    65,   317,   271,
+      74,    73,   272,    86,    80,    49,   134,   168,    91,    70,
+      72,   237,   103,   101,   102,    89,   105,   106,   107,   108,
+     109,   110,   111,   134,   169,   114,   115,   116,   120,   125,
+     143,   144,   238,   173,   170,   127,   322,   223,   150,     8,
+     242,   233,    99,   174,     1,   141,   142,   143,   144,   100,
+     243,   147,   148,   273,   359,   148,   272,     2,   126,   148,
+       3,     4,    69,   267,     5,   268,   159,   152,   161,    64,
+      11,   149,    12,   134,   151,   146,   135,   313,   279,   150,
+     272,   155,    92,    93,   178,   225,   150,   154,   171,   172,
+      33,    34,    35,    36,   140,   141,   142,   143,   144,   226,
+     150,   328,   329,   157,   160,   162,   163,   167,   175,   176,
+     179,   295,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   193,
+      69,    49,   195,   197,   224,   198,   199,   200,   227,   201,
+      43,   221,   244,    44,   230,   275,   229,   250,   263,   235,
+     236,   270,   239,   240,   241,   274,   232,   245,   246,   247,
+     248,   249,   335,   276,   282,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   283,   290,   293,   346,   318,
+      94,    95,    96,   319,   266,   326,   332,   336,   354,    97,
+     264,   265,   337,   340,   358,   344,    98,   347,   351,   341,
+     352,   202,   306,   309,   288,   262,   316,   269,   234,     0,
+       0,   314,     0,     0,     0,     0,     1,     0,     0,     0,
+       0,   277,   278,     0,     0,     0,   280,   281,     0,     2,
+       0,     0,     3,     4,   331,     0,     5,     0,     7,     8,
+       9,    66,    11,     0,    12,     0,     0,     0,    15,    16,
        0,     0,   345,     0,     0,     0,     0,     0,     0,     0,
-     296,     0,     0,     0,    67,     0,    26,     0,   302,   303,
+     296,    82,    83,    84,    85,    67,     0,    26,   302,   303,
      304,   305,     0,     0,     0,   301,     0,     0,     0,     0,
        0,     0,     0,    32,     0,     0,     0,     0,     0,     0,
       33,    34,    35,    36,    37,     0,     0,     0,     0,     0,
@@ -1081,484 +1079,484 @@ static const yytype_int16 yytable[] =
      343,     5,  -159,     7,     8,     9,    66,    11,   350,    12,
     -159,  -159,     0,    15,    16,  -159,  -159,  -159,  -159,  -159,
     -159,  -159,  -159,     0,  -159,     0,  -159,  -159,  -159,     0,
-      67,  -159,    26,  -159,  -159,  -159,  -159,     0,     0,     0,
-    -159,  -159,  -159,  -159,  -159,  -159,  -159,  -159,  -159,    32,
-    -159,  -159,  -159,  -159,  -159,  -159,    33,    34,    35,    36,
-      37,  -159,  -159,  -159,  -159,     0,  -159,  -159,  -159,  -159,
-    -159,  -159,    41,    42,  -159,  -159,     1,  -159,    71,  -159,
-    -159,    44,  -159,   -30,     0,     0,     0,     0,     0,     2,
-       0,     0,     3,     4,     0,     0,     5,     0,     7,     8,
-       9,    66,   117,     0,   118,     0,     0,     0,    15,    16,
-       0,   128,   129,   130,   131,   132,   133,     0,   134,     0,
-       0,   135,   136,   137,     0,    67,     0,    26,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   138,   139,   140,
-     141,   142,   143,   144,    32,     0,     0,     0,     0,     0,
-       0,    33,    34,    35,    36,    37,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   -60,     1,    41,    42,     0,
-       0,     0,     0,    43,     0,     0,    44,  -165,   119,     2,
-       0,     0,     3,     4,     0,     0,     5,   -60,     7,     8,
-       9,    66,    11,     0,    12,   -60,   -60,     0,    15,    16,
-       0,   -60,   -60,   -60,   -60,   -60,   -60,   -60,     0,     0,
-       0,     0,   -60,     0,     0,    67,   -60,    26,     0,     0,
-     -60,     0,     0,     0,     0,   -60,   -60,   -60,   -60,   -60,
-     -60,   -60,   -60,   -60,    32,   -60,     0,     0,   -60,   -60,
-     -60,    33,    34,    35,    36,    37,     0,     0,   -60,   -60,
-       0,   -60,   -60,   -60,   -60,   -60,   -60,    41,    42,   -60,
-     -60,     0,   -60,    75,  -159,     1,    44,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
-       0,     3,     4,     0,     0,     5,  -159,     7,     8,     9,
-      66,    11,     0,    12,  -159,  -159,     0,    15,    16,     0,
-    -159,  -159,  -159,  -159,  -159,  -159,  -159,     0,     0,     0,
-       0,  -159,     0,     0,    67,  -159,    26,     0,     0,  -159,
-       0,     0,     0,     0,  -159,  -159,  -159,     0,     0,     0,
-       0,     0,     0,    32,     0,     0,     0,     0,     0,     0,
-      33,    34,    35,    36,    37,     0,     0,  -159,  -159,     0,
-    -159,  -159,  -159,  -159,     1,     0,    41,    42,     0,     0,
-       0,  -159,    68,     0,  -159,    44,     0,     2,     0,     0,
-       3,     4,     0,     0,     5,  -159,     7,     8,     9,    66,
-      11,     0,    12,  -159,  -159,     0,    15,    16,     0,  -159,
-    -159,  -159,  -159,  -159,  -159,  -159,     0,     0,     0,     0,
-    -159,     0,     0,    67,  -159,    26,     0,     0,  -159,     0,
-       0,     0,     0,  -159,  -159,  -159,     0,     0,     0,     0,
-       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
-      34,    35,    36,    37,     0,     0,  -159,  -159,     0,  -159,
-    -159,  -159,    -4,     1,     0,    41,    42,     0,     0,     0,
-    -159,    43,     0,  -159,    44,     0,     2,     0,     0,     3,
+      67,  -159,    26,  -159,  -159,  -159,  -159,     0,     0,  -159,
+    -159,  -159,  -159,  -159,  -159,  -159,  -159,  -159,    32,  -159,
+    -159,  -159,  -159,  -159,  -159,    33,    34,    35,    36,    37,
+    -159,  -159,  -159,  -159,     0,  -159,  -159,  -159,  -159,  -159,
+    -159,    41,    42,  -159,  -159,     1,  -159,    71,  -159,  -159,
+      44,  -159,   -30,     0,     0,     0,     0,     0,     2,     0,
+       0,     3,     4,     0,     0,     5,     0,     7,     8,     9,
+      66,   117,     0,   118,     0,     0,     0,    15,    16,   128,
+     129,   130,   131,   132,   133,     0,   134,     0,     0,   135,
+     136,   137,     0,     0,    67,     0,    26,     0,     0,     0,
+       0,     0,     0,     0,     0,   138,   139,   140,   141,   142,
+     143,   144,    32,     0,     0,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   -60,     1,    41,    42,     0,     0,     0,
+       0,    43,     0,     0,    44,  -165,   119,     2,     0,     0,
+       3,     4,     0,     0,     5,   -60,     7,     8,     9,    66,
+      11,     0,    12,   -60,   -60,     0,    15,    16,     0,   -60,
+     -60,   -60,   -60,   -60,   -60,   -60,     0,     0,     0,     0,
+     -60,     0,     0,    67,   -60,    26,     0,     0,   -60,     0,
+       0,     0,   -60,   -60,   -60,   -60,   -60,   -60,   -60,   -60,
+     -60,    32,   -60,     0,     0,   -60,   -60,   -60,    33,    34,
+      35,    36,    37,     0,     0,   -60,   -60,     0,   -60,   -60,
+     -60,   -60,   -60,   -60,    41,    42,   -60,   -60,     0,   -60,
+      75,  -159,     1,    44,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     2,     0,     0,     3,     4,
+       0,     0,     5,  -159,     7,     8,     9,    66,    11,     0,
+      12,  -159,  -159,     0,    15,    16,     0,  -159,  -159,  -159,
+    -159,  -159,  -159,  -159,     0,     0,     0,     0,  -159,     0,
+       0,    67,  -159,    26,     0,     0,  -159,     0,     0,     0,
+    -159,  -159,  -159,     0,     0,     0,     0,     0,     0,    32,
+       0,     0,     0,     0,     0,     0,    33,    34,    35,    36,
+      37,     0,     0,  -159,  -159,     0,  -159,  -159,  -159,  -159,
+       1,     0,    41,    42,     0,     0,     0,  -159,    68,     0,
+    -159,    44,     0,     2,     0,     0,     3,     4,     0,     0,
+       5,  -159,     7,     8,     9,    66,    11,     0,    12,  -159,
+    -159,     0,    15,    16,     0,  -159,  -159,  -159,  -159,  -159,
+    -159,  -159,     0,     0,     0,     0,  -159,     0,     0,    67,
+    -159,    26,     0,     0,  -159,     0,     0,     0,  -159,  -159,
+    -159,     0,     0,     0,     0,     0,     0,    32,     0,     0,
+       0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
+       0,  -159,  -159,     0,  -159,  -159,  -159,    -4,     1,     0,
+      41,    42,     0,     0,     0,  -159,    43,     0,  -159,    44,
+       0,     2,     0,     0,     3,     4,     0,     0,     5,     6,
+       7,     8,     9,    10,    11,     0,    12,     0,    13,    14,
+      15,    16,     0,     0,     0,    17,    18,    19,    20,    21,
+       0,     0,    22,     0,    23,     0,     0,    24,    25,    26,
+       0,     0,    27,     0,     0,    28,    29,    30,    31,     0,
+       0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
+       0,     0,    33,    34,    35,    36,    37,     0,     0,    38,
+      39,    40,  -148,     1,     0,     0,     0,     0,    41,    42,
+       0,     0,     0,    -4,    43,     0,     2,    44,     0,     3,
        4,     0,     0,     5,     6,     7,     8,     9,    10,    11,
-       0,    12,     0,    13,    14,    15,    16,     0,     0,     0,
-      17,    18,    19,    20,    21,     0,     0,    22,     0,    23,
+       0,    12,   321,    13,     0,    15,    16,     0,     0,     0,
+      17,    18,    19,    20,    21,     0,     0,     0,     0,    23,
        0,     0,    24,    25,    26,     0,     0,    27,     0,     0,
-       0,    28,    29,    30,    31,     0,     0,     0,     0,     0,
-       0,    32,     0,     0,     0,     0,     0,     0,    33,    34,
-      35,    36,    37,     0,     0,    38,    39,    40,  -148,     1,
-       0,     0,     0,     0,    41,    42,     0,     0,     0,    -4,
-      43,     0,     2,    44,     0,     3,     4,     0,     0,     5,
-       6,     7,     8,     9,    10,    11,     0,    12,   321,    13,
-       0,    15,    16,     0,     0,     0,    17,    18,    19,    20,
-      21,     0,     0,     0,     0,    23,     0,     0,    24,    25,
-      26,     0,     0,    27,     0,     0,     0,     0,    29,    30,
-      31,     0,     0,     0,     0,     0,     0,    32,     0,     0,
-       0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
-       0,    38,    39,  -146,     1,     0,     0,     0,     0,     0,
-      41,    42,     0,     0,     0,   307,    43,     2,     0,    44,
-       3,     4,     0,     0,     5,     6,     7,     8,     9,    10,
-      11,     0,    12,     0,    13,     0,    15,    16,     0,     0,
-       0,    17,    18,    19,    20,    21,     0,     0,     0,     0,
-      23,     0,     0,    24,    25,    26,     0,     0,    27,     0,
-       0,     0,     0,    29,    30,    31,     0,     0,     0,     0,
-       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
-      34,    35,    36,    37,     0,     0,    38,    39,  -143,     1,
-       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
-     307,    43,     2,     0,    44,     3,     4,     0,     0,     5,
-       6,     7,     8,     9,    10,    11,     0,    12,     0,    13,
-       0,    15,    16,     0,     0,     0,    17,    18,    19,    20,
-      21,     0,     0,     0,     0,    23,     0,     0,    24,    25,
-      26,     0,     0,    27,     0,     0,     0,     0,    29,    30,
-      31,     0,     0,     0,     0,     0,     0,    32,     0,     0,
-       0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
-       0,    38,    39,     0,     1,     0,     0,     0,     0,     0,
-      41,    42,     0,     0,     0,   307,    43,     2,     0,    44,
-       3,     4,     0,     0,     5,     6,     7,     8,     9,    10,
-      11,     0,    12,     0,    13,     0,    15,    16,     0,   -49,
-     -49,    17,    18,    19,    20,    21,     0,     0,     0,     0,
-      23,     0,     0,    24,    25,    26,     0,     0,    27,     0,
-       0,     0,     0,    29,    30,    31,     0,     0,     0,     0,
-       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
-      34,    35,    36,    37,     0,     0,    38,    39,     0,   -49,
-       1,     0,     0,     0,     0,    41,    42,     0,     0,     0,
-     307,    43,     0,     2,    44,     0,     3,     4,     0,     0,
-       5,     6,     7,     8,     9,    10,    11,     0,    12,     0,
-      13,     0,    15,    16,     0,     0,     0,    17,    18,    19,
-      20,    21,     0,     0,     0,     0,    23,     0,     0,    24,
-      25,    26,     0,     0,    27,     0,     0,     0,     0,    29,
+       0,    29,    30,    31,     0,     0,     0,     0,     0,     0,
+      32,     0,     0,     0,     0,     0,     0,    33,    34,    35,
+      36,    37,     0,     0,    38,    39,  -146,     1,     0,     0,
+       0,     0,     0,    41,    42,     0,     0,     0,   307,    43,
+       2,     0,    44,     3,     4,     0,     0,     5,     6,     7,
+       8,     9,    10,    11,     0,    12,     0,    13,     0,    15,
+      16,     0,     0,     0,    17,    18,    19,    20,    21,     0,
+       0,     0,     0,    23,     0,     0,    24,    25,    26,     0,
+       0,    27,     0,     0,     0,    29,    30,    31,     0,     0,
+       0,     0,     0,     0,    32,     0,     0,     0,     0,     0,
+       0,    33,    34,    35,    36,    37,     0,     0,    38,    39,
+    -143,     1,     0,     0,     0,     0,     0,    41,    42,     0,
+       0,     0,   307,    43,     2,     0,    44,     3,     4,     0,
+       0,     5,     6,     7,     8,     9,    10,    11,     0,    12,
+       0,    13,     0,    15,    16,     0,     0,     0,    17,    18,
+      19,    20,    21,     0,     0,     0,     0,    23,     0,     0,
+      24,    25,    26,     0,     0,    27,     0,     0,     0,    29,
       30,    31,     0,     0,     0,     0,     0,     0,    32,     0,
        0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
-       0,     0,    38,    39,     0,     1,     0,   -52,     0,     0,
+       0,     0,    38,    39,     0,     1,     0,     0,     0,     0,
        0,    41,    42,     0,     0,     0,   307,    43,     2,     0,
       44,     3,     4,     0,     0,     5,     6,     7,     8,     9,
       10,    11,     0,    12,     0,    13,     0,    15,    16,     0,
-       0,     0,    17,    18,    19,    20,    21,     0,     0,     0,
+     -49,   -49,    17,    18,    19,    20,    21,     0,     0,     0,
        0,    23,     0,     0,    24,    25,    26,     0,     0,    27,
-       0,     0,     0,     0,    29,    30,    31,     0,     0,     0,
-       0,     0,     0,    32,     0,     0,     0,     0,     0,     0,
-      33,    34,    35,    36,    37,     0,     0,    38,    39,     0,
-       1,   -49,     0,     0,     0,     0,    41,    42,     0,     0,
-       0,   307,    43,     2,     0,    44,     3,     4,     0,     0,
+       0,     0,     0,    29,    30,    31,     0,     0,     0,     0,
+       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,     0,     0,    38,    39,     0,   -49,
+       1,     0,     0,     0,     0,    41,    42,     0,     0,     0,
+     307,    43,     0,     2,    44,     0,     3,     4,     0,     0,
        5,     6,     7,     8,     9,    10,    11,     0,    12,     0,
       13,     0,    15,    16,     0,     0,     0,    17,    18,    19,
       20,    21,     0,     0,     0,     0,    23,     0,     0,    24,
-      25,    26,     0,     0,    27,     0,     0,     0,     0,    29,
-      30,    31,     0,     0,     0,     0,     0,     0,    32,     0,
-       0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
-       0,     0,    38,    39,     0,   -52,     1,     0,     0,     0,
-       0,    41,    42,     0,     0,     0,   307,    43,     0,     2,
-      44,     0,     3,     4,     0,     0,     5,     6,     7,     8,
-       9,    10,    11,     0,    12,     0,    13,     0,    15,    16,
-       0,     0,     0,    17,    18,    19,    20,    21,     0,     0,
-       0,     0,    23,     0,     0,    24,    25,    26,     0,     0,
-      27,     0,     0,     0,     0,    29,    30,    31,     0,     0,
+      25,    26,     0,     0,    27,     0,     0,     0,    29,    30,
+      31,     0,     0,     0,     0,     0,     0,    32,     0,     0,
+       0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
+       0,    38,    39,     0,     1,     0,   -52,     0,     0,     0,
+      41,    42,     0,     0,     0,   307,    43,     2,     0,    44,
+       3,     4,     0,     0,     5,     6,     7,     8,     9,    10,
+      11,     0,    12,     0,    13,     0,    15,    16,     0,     0,
+       0,    17,    18,    19,    20,    21,     0,     0,     0,     0,
+      23,     0,     0,    24,    25,    26,     0,     0,    27,     0,
+       0,     0,    29,    30,    31,     0,     0,     0,     0,     0,
+       0,    32,     0,     0,     0,     0,     0,     0,    33,    34,
+      35,    36,    37,     0,     0,    38,    39,     0,     1,   -49,
+       0,     0,     0,     0,    41,    42,     0,     0,     0,   307,
+      43,     2,     0,    44,     3,     4,     0,     0,     5,     6,
+       7,     8,     9,    10,    11,     0,    12,     0,    13,     0,
+      15,    16,     0,     0,     0,    17,    18,    19,    20,    21,
+       0,     0,     0,     0,    23,     0,     0,    24,    25,    26,
+       0,     0,    27,     0,     0,     0,    29,    30,    31,     0,
+       0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
+       0,     0,    33,    34,    35,    36,    37,     0,     0,    38,
+      39,     0,   -52,     1,     0,     0,     0,     0,    41,    42,
+       0,     0,     0,   307,    43,     0,     2,    44,     0,     3,
+       4,     0,     0,     5,     6,     7,     8,     9,    10,    11,
+       0,    12,     0,    13,     0,    15,    16,     0,     0,     0,
+      17,    18,    19,    20,    21,     0,     0,     0,     0,    23,
+       0,     0,    24,    25,    26,     0,     0,    27,     0,     0,
+       0,    29,    30,    31,     0,     0,     0,     0,     0,     0,
+      32,     0,     0,     0,     0,     0,     0,    33,    34,    35,
+      36,    37,     0,     0,    38,    39,     0,     1,   353,     0,
+       0,     0,     0,    41,    42,     0,     0,     0,   307,    43,
+       2,     0,    44,     3,     4,     0,     0,     5,     6,     7,
+       8,     9,    10,    11,     0,    12,     0,    13,     0,    15,
+      16,     0,     0,     0,    17,    18,    19,    20,    21,     0,
+       0,     0,     0,    23,     0,     0,    24,    25,    26,     0,
+       0,    27,     0,     0,     0,    29,    30,    31,     0,     0,
        0,     0,     0,     0,    32,     0,     0,     0,     0,     0,
        0,    33,    34,    35,    36,    37,     0,     0,    38,    39,
-       0,     1,   353,     0,     0,     0,     0,    41,    42,     0,
+       0,     1,   360,     0,     0,     0,     0,    41,    42,     0,
        0,     0,   307,    43,     2,     0,    44,     3,     4,     0,
        0,     5,     6,     7,     8,     9,    10,    11,     0,    12,
        0,    13,     0,    15,    16,     0,     0,     0,    17,    18,
       19,    20,    21,     0,     0,     0,     0,    23,     0,     0,
-      24,    25,    26,     0,     0,    27,     0,     0,     0,     0,
-      29,    30,    31,     0,     0,     0,     0,     0,     0,    32,
-       0,     0,     0,     0,     0,     0,    33,    34,    35,    36,
-      37,     0,     0,    38,    39,     0,     1,   360,     0,     0,
-       0,     0,    41,    42,     0,     0,     0,   307,    43,     2,
-       0,    44,     3,     4,     0,     0,     5,     6,     7,     8,
-       9,    10,    11,     0,    12,     0,    13,     0,    15,    16,
-       0,     0,     0,    17,    18,    19,    20,    21,     0,     0,
-       0,     0,    23,     0,     0,    24,    25,    26,     0,     0,
-      27,     0,     0,     0,     0,    29,    30,    31,     0,     0,
-       0,     0,     0,     0,    32,     0,     0,     0,     0,     0,
-       0,    33,    34,    35,    36,    37,     0,     0,    38,    39,
-       0,     1,   362,     0,     0,     0,     0,    41,    42,     0,
-       0,     0,   307,    43,     2,     0,    44,     3,     4,     0,
-       0,     5,     6,     7,     8,     9,    10,    11,     0,    12,
-       0,    13,     0,    15,    16,     0,     0,     0,    17,    18,
-      19,    20,     0,     0,     0,     0,     0,     0,     0,     0,
-      24,     0,    26,     0,     0,     0,     0,     0,     0,     0,
-      29,    30,    31,     0,     0,     0,     0,     0,     0,    32,
-       0,     0,     0,     0,     0,     0,    33,    34,    35,    36,
-      37,     0,     0,     1,    39,     0,     0,     0,     0,     0,
-       0,     0,    41,    42,     0,     0,     2,     0,    43,     3,
-       4,    44,     0,     5,     0,     7,     8,     9,    66,    11,
-       0,    12,     0,     0,     0,    15,    16,     0,     0,     0,
-       1,     0,     0,     0,     0,     0,     0,     0,    82,    83,
-      84,    85,    67,     2,    26,     0,     3,     4,     0,     0,
-       5,     0,     7,     8,     9,    66,    11,     0,    12,     0,
-       0,    32,    15,    16,     0,     0,     0,     0,    33,    34,
-      35,    36,    37,     0,     0,    82,     0,    84,     0,    67,
-       0,    26,     0,     0,    41,    42,     0,     0,     0,     0,
-      43,     0,     0,    44,     0,     0,     0,     0,    32,     0,
+      24,    25,    26,     0,     0,    27,     0,     0,     0,    29,
+      30,    31,     0,     0,     0,     0,     0,     0,    32,     0,
        0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
-       0,     0,     1,     0,     0,     0,     0,     0,     0,     0,
-       0,    41,    42,     0,     0,     2,     0,    43,     3,     4,
-      44,     0,     5,     0,     7,     8,     9,    66,    11,     0,
-      12,     0,     0,     0,    15,    16,     0,     0,     0,     1,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    67,     2,    26,     0,     3,     4,     0,    90,     5,
-       0,     7,     8,     9,    66,    11,     0,    12,     0,     0,
-      32,    15,    16,     0,   291,     0,     0,    33,    34,    35,
-      36,    37,     0,   300,     0,     0,     0,     0,    67,     0,
-      26,     0,     0,    41,    42,     0,   311,     0,   312,    43,
-    -159,  -159,    44,     0,     0,     0,     0,    32,     0,     0,
+       0,     0,    38,    39,     0,     1,   362,     0,     0,     0,
+       0,    41,    42,     0,     0,     0,   307,    43,     2,     0,
+      44,     3,     4,     0,     0,     5,     6,     7,     8,     9,
+      10,    11,     0,    12,     0,    13,     0,    15,    16,     0,
+       0,     0,    17,    18,    19,    20,     0,     0,     0,     0,
+       0,     0,     0,     0,    24,     0,    26,     0,     0,     0,
+       0,     0,     0,    29,    30,    31,     0,     0,     0,     0,
+       0,     0,    32,     0,     0,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,     0,     0,     1,    39,     0,     0,
+       0,     0,     0,     0,     0,    41,    42,     0,     0,     2,
+       0,    43,     3,     4,    44,     0,     5,     0,     7,     8,
+       9,    66,    11,     0,    12,     0,     0,     0,    15,    16,
+       0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
+       0,    82,     0,    84,     0,    67,     2,    26,     0,     3,
+       4,     0,     0,     5,     0,     7,     8,     9,    66,    11,
+       0,    12,     0,    32,     0,    15,    16,     0,     0,     0,
+      33,    34,    35,    36,    37,     0,     0,     0,     0,     0,
+       0,     0,    67,     0,    26,     0,    41,    42,     0,     0,
+       0,     0,    43,     0,     0,    44,     0,     0,     0,     0,
+      32,     0,     0,     0,     0,     0,     0,    33,    34,    35,
+      36,    37,     0,     0,     0,     0,     0,     0,     0,     0,
+       1,     0,     0,    41,    42,     0,     0,     0,     0,    43,
+    -159,  -159,    44,     2,     0,     0,     3,     4,     0,    90,
+       5,     0,     7,     8,     9,    66,    11,     0,    12,     0,
+       1,     0,    15,    16,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     2,     0,     0,     3,     4,     0,    67,
+       5,    26,     7,     8,     9,    66,    11,     0,    12,     0,
+     291,     0,    15,    16,     0,     0,     0,    32,     0,   300,
+       0,     0,     0,     0,    33,    34,    35,    36,    37,    67,
+       0,    26,   311,     0,   312,     0,     0,     0,     0,     0,
+      41,    42,     0,     0,     0,     0,    43,    32,     0,    44,
        0,     0,     0,     0,    33,    34,    35,    36,    37,     0,
-       0,   164,     0,     0,     0,     0,   334,     0,     0,     0,
-      41,    42,   338,     0,     0,     0,    43,     0,     0,    44,
-     128,   129,   130,   131,   132,   133,   348,   134,   165,   166,
-     135,   136,   137,     0,     0,     0,   356,    82,   357,    84,
-       0,     0,   361,     0,     0,     0,   138,   139,   140,   141,
-     142,   143,   144,     0,   128,   129,   130,   131,   132,   133,
+       0,     0,   334,     0,     0,     0,     0,     0,   338,     0,
+      41,    42,     0,     0,     0,     0,    43,     0,     0,    44,
+       0,   164,   348,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   356,     0,   357,     0,     0,     0,   361,   128,
+     129,   130,   131,   132,   133,     0,   134,   165,   166,   135,
+     136,   137,     0,     0,     0,     0,    82,     0,    84,     0,
+       0,     0,     0,     0,     0,   138,   139,   140,   141,   142,
+     143,   144,   128,   129,   130,   131,   132,   133,     0,   134,
+       0,     0,   135,   136,   137,     0,     0,     0,     0,     0,
+       0,   181,     0,     0,     0,     0,     0,   182,   138,   139,
+     140,   141,   142,   143,   144,   128,   129,   130,   131,   132,
+     133,     0,   134,     0,     0,   135,   136,   137,     0,     0,
+       0,     0,     0,     0,   183,     0,     0,     0,     0,     0,
+     184,   138,   139,   140,   141,   142,   143,   144,   128,   129,
+     130,   131,   132,   133,     0,   134,     0,     0,   135,   136,
+     137,     0,     0,     0,     0,     0,     0,   185,     0,     0,
+       0,     0,     0,   186,   138,   139,   140,   141,   142,   143,
+     144,   128,   129,   130,   131,   132,   133,     0,   134,     0,
+       0,   135,   136,   137,     0,     0,     0,     0,     0,     0,
+     187,     0,     0,     0,     0,     0,   188,   138,   139,   140,
+     141,   142,   143,   144,   128,   129,   130,   131,   132,   133,
        0,   134,     0,     0,   135,   136,   137,     0,     0,     0,
-       0,     0,   181,     0,     0,     0,     0,     0,   182,     0,
+       0,     0,     0,   284,     0,     0,     0,     0,     0,     0,
      138,   139,   140,   141,   142,   143,   144,   128,   129,   130,
      131,   132,   133,     0,   134,     0,     0,   135,   136,   137,
-       0,     0,     0,     0,     0,   183,     0,     0,     0,     0,
-       0,   184,     0,   138,   139,   140,   141,   142,   143,   144,
+       0,     0,     0,     0,     0,     0,   285,     0,     0,     0,
+       0,     0,     0,   138,   139,   140,   141,   142,   143,   144,
      128,   129,   130,   131,   132,   133,     0,   134,     0,     0,
-     135,   136,   137,     0,     0,     0,     0,     0,   185,     0,
-       0,     0,     0,     0,   186,     0,   138,   139,   140,   141,
+     135,   136,   137,     0,     0,     0,     0,     0,     0,   286,
+       0,     0,     0,     0,     0,     0,   138,   139,   140,   141,
      142,   143,   144,   128,   129,   130,   131,   132,   133,     0,
      134,     0,     0,   135,   136,   137,     0,     0,     0,     0,
-       0,   187,     0,     0,     0,     0,     0,   188,     0,   138,
+       0,     0,   287,     0,     0,     0,     0,     0,     0,   138,
      139,   140,   141,   142,   143,   144,   128,   129,   130,   131,
      132,   133,     0,   134,     0,     0,   135,   136,   137,     0,
-       0,     0,     0,     0,   284,     0,     0,     0,     0,     0,
-       0,     0,   138,   139,   140,   141,   142,   143,   144,   128,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   191,   138,   139,   140,   141,   142,   143,   144,   128,
      129,   130,   131,   132,   133,     0,   134,     0,     0,   135,
-     136,   137,     0,     0,     0,     0,     0,   285,     0,     0,
+     136,   137,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   138,   139,   140,   141,   142,
-     143,   144,   128,   129,   130,   131,   132,   133,     0,   134,
-       0,     0,   135,   136,   137,     0,     0,     0,     0,     0,
-     286,     0,     0,     0,     0,     0,     0,     0,   138,   139,
-     140,   141,   142,   143,   144,   128,   129,   130,   131,   132,
-     133,     0,   134,     0,     0,   135,   136,   137,     0,     0,
-       0,     0,     0,   287,     0,     0,     0,     0,     0,     0,
-       0,   138,   139,   140,   141,   142,   143,   144,   128,   129,
+     143,   144,   177,   192,     0,     0,     0,     0,   128,   129,
+     130,   131,   132,   133,     0,   134,     0,     0,   135,   136,
+     137,   128,   129,   130,   131,   132,   133,     0,   134,     0,
+       0,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,     0,     0,     0,     0,     0,     0,   138,   139,   140,
+     141,   142,   143,   144,     0,     0,     0,   196,   128,   129,
      130,   131,   132,   133,     0,   134,     0,     0,   135,   136,
-     137,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   191,     0,   138,   139,   140,   141,   142,   143,
-     144,   128,   129,   130,   131,   132,   133,   177,   134,     0,
-       0,   135,   136,   137,   128,   129,   130,   131,   132,   133,
+     137,     0,     0,     0,     0,     0,   189,   190,     0,     0,
+       0,     0,     0,     0,   138,   139,   140,   141,   142,   143,
+     144,   128,   129,   130,   131,   132,   133,     0,   134,     0,
+       0,   135,   136,   137,   128,   129,   130,   131,     0,     0,
        0,   134,     0,     0,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,     0,   192,     0,     0,     0,     0,
-     138,   139,   140,   141,   142,   143,   144,   128,   129,   130,
-     131,   132,   133,     0,   134,     0,     0,   135,   136,   137,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   138,   139,   140,   141,   142,   143,   144,
-       0,     0,     0,   196,   128,   129,   130,   131,   132,   133,
-       0,   134,     0,     0,   135,   136,   137,     0,     0,     0,
-       0,     0,   189,   190,     0,     0,     0,     0,     0,     0,
-     138,   139,   140,   141,   142,   143,   144,   128,   129,   130,
-     131,   132,   133,     0,   134,     0,     0,   135,   136,   137,
-     128,   129,   130,   131,     0,     0,     0,   134,     0,     0,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-       0,     0,     0,     0,     0,     0,   138,   139,   140,   141,
-     142,   143,   144
+     141,   142,   143,   144,     0,     0,     0,     0,     0,     0,
+     138,   139,   140,   141,   142,   143,   144
 };
 
 static const yytype_int16 yycheck[] =
 {
-       6,     7,   156,    79,    10,    54,   273,     4,     6,     7,
-      30,     8,   300,    19,    97,     0,    65,    93,    24,    70,
-      27,    48,    29,    29,    30,    70,    32,    33,    34,    35,
-      36,    37,    38,    43,    51,    41,    42,    43,    44,    51,
-      24,     0,    26,    94,    95,    51,   313,    92,    93,    94,
-      95,    17,    18,    19,    97,    65,    97,   100,    26,   100,
-      26,    67,    68,    54,    54,    71,    86,    33,   356,    75,
-      68,    26,    78,    71,    65,    65,    82,    74,    97,    97,
-      78,   100,   102,    56,    57,    99,   100,    98,   239,     1,
-      99,   100,    76,    77,    78,    79,    99,   100,    95,    96,
-      36,    37,    14,    26,   100,    17,    18,   100,    46,    21,
-      26,    26,    26,    54,    26,    27,    53,    29,    26,    26,
+       6,     7,   156,    79,    10,    96,   273,     4,   300,    96,
+      48,     8,    99,    19,    51,     0,    69,    93,    24,     6,
+       7,    43,    30,    29,    30,    51,    32,    33,    34,    35,
+      36,    37,    38,    69,    54,    41,    42,    43,    44,     0,
+      93,    94,    64,    54,    64,    51,   313,    98,    99,    24,
+      54,    26,    26,    64,     1,    91,    92,    93,    94,    26,
+      64,    67,    68,    96,   356,    71,    99,    14,    96,    75,
+      17,    18,    78,    27,    21,    29,    82,    74,    86,    26,
+      27,    68,    29,    69,    71,    97,    72,    96,   239,    99,
+      99,    78,    56,    57,   102,    98,    99,    99,    95,    96,
+      75,    76,    77,    78,    90,    91,    92,    93,    94,    98,
+      99,    36,    37,    26,    46,    26,    26,    26,    54,    53,
       26,   275,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   103,
-     146,   126,   103,    26,   150,   102,   100,   100,   154,   100,
-      48,   100,   100,    53,   160,   231,    26,    44,    26,   165,
-     166,    26,   168,   169,   170,    26,   163,   173,   174,   175,
-     176,   177,   323,    26,    54,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,    88,    98,    26,   339,   101,
-      87,    54,    35,    70,   200,    86,    73,    54,   349,   100,
-     197,   198,    26,    53,   355,    86,   126,   261,   299,   192,
-      -1,    -1,   288,   289,    91,    92,    93,    94,    95,   164,
-     201,   297,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,
-      -1,   237,   238,    -1,    -1,    -1,   242,   243,    14,    -1,
-      -1,    17,    18,    -1,   320,    21,    -1,    23,    24,    25,
-      26,    27,    -1,    29,    -1,    -1,    -1,    33,    34,    -1,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,    26,
+     146,   126,    26,   102,   150,   102,   101,    99,   154,    99,
+      97,    26,    48,   100,   160,   231,    99,    99,    99,   165,
+     166,    53,   168,   169,   170,    26,   163,   173,   174,   175,
+     176,   177,   323,    44,    26,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,    26,    26,    26,   339,    54,
+      17,    18,    19,    87,   200,    86,    26,    54,   349,    26,
+     197,   198,    35,    85,   355,    54,    33,    26,    85,    99,
+      53,   126,   288,   289,   261,   192,   299,   201,   164,    -1,
+      -1,   297,    -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,
+      -1,   237,   238,    -1,    -1,    -1,   242,   243,    -1,    14,
+      -1,    -1,    17,    18,   320,    -1,    21,    -1,    23,    24,
+      25,    26,    27,    -1,    29,    -1,    -1,    -1,    33,    34,
       -1,    -1,   338,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     276,    -1,    -1,    -1,    50,    -1,    52,    -1,   284,   285,
+     276,    46,    47,    48,    49,    50,    -1,    52,   284,   285,
      286,   287,    -1,    -1,    -1,   282,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
-      76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
-       0,     1,   318,    -1,    -1,    -1,    92,    93,    -1,    -1,
-      -1,    -1,    98,   329,    14,   101,    -1,    17,    18,    -1,
+      -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
+      75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
+       0,     1,   318,    -1,    -1,    -1,    91,    92,    -1,    -1,
+      -1,    -1,    97,   329,    14,   100,    -1,    17,    18,    -1,
      336,    21,    22,    23,    24,    25,    26,    27,   344,    29,
       30,    31,    -1,    33,    34,    35,    36,    37,    38,    39,
       40,    41,    42,    -1,    44,    -1,    46,    47,    48,    -1,
-      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
+      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    59,
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    -1,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,     1,    97,    98,    99,
-     100,   101,   102,    35,    -1,    -1,    -1,    -1,    -1,    14,
-      -1,    -1,    17,    18,    -1,    -1,    21,    -1,    23,    24,
-      25,    26,    27,    -1,    29,    -1,    -1,    -1,    33,    34,
-      -1,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
-      -1,    73,    74,    75,    -1,    50,    -1,    52,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    91,
-      92,    93,    94,    95,    69,    -1,    -1,    -1,    -1,    -1,
-      -1,    76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,     0,     1,    92,    93,    -1,
-      -1,    -1,    -1,    98,    -1,    -1,   101,   102,   103,    14,
-      -1,    -1,    17,    18,    -1,    -1,    21,    22,    23,    24,
-      25,    26,    27,    -1,    29,    30,    31,    -1,    33,    34,
-      -1,    36,    37,    38,    39,    40,    41,    42,    -1,    -1,
-      -1,    -1,    47,    -1,    -1,    50,    51,    52,    -1,    -1,
-      55,    -1,    -1,    -1,    -1,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    -1,    -1,    73,    74,
-      75,    76,    77,    78,    79,    80,    -1,    -1,    83,    84,
-      -1,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    -1,    97,    98,     0,     1,   101,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    14,    -1,
-      -1,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
-      26,    27,    -1,    29,    30,    31,    -1,    33,    34,    -1,
-      36,    37,    38,    39,    40,    41,    42,    -1,    -1,    -1,
-      -1,    47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,
-      -1,    -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,
-      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
-      76,    77,    78,    79,    80,    -1,    -1,    83,    84,    -1,
-      86,    87,    88,     0,     1,    -1,    92,    93,    -1,    -1,
-      -1,    97,    98,    -1,   100,   101,    -1,    14,    -1,    -1,
+      80,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,     1,    96,    97,    98,    99,
+     100,   101,    35,    -1,    -1,    -1,    -1,    -1,    14,    -1,
+      -1,    17,    18,    -1,    -1,    21,    -1,    23,    24,    25,
+      26,    27,    -1,    29,    -1,    -1,    -1,    33,    34,    62,
+      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    72,
+      73,    74,    -1,    -1,    50,    -1,    52,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
+      93,    94,    68,    -1,    -1,    -1,    -1,    -1,    -1,    75,
+      76,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,     0,     1,    91,    92,    -1,    -1,    -1,
+      -1,    97,    -1,    -1,   100,   101,   102,    14,    -1,    -1,
       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
       27,    -1,    29,    30,    31,    -1,    33,    34,    -1,    36,
       37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
       47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
-      -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,
-      -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
-      77,    78,    79,    80,    -1,    -1,    83,    84,    -1,    86,
-      87,    88,     0,     1,    -1,    92,    93,    -1,    -1,    -1,
-      97,    98,    -1,   100,   101,    -1,    14,    -1,    -1,    17,
+      -1,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
+      77,    78,    79,    -1,    -1,    82,    83,    -1,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
+      97,     0,     1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    14,    -1,    -1,    17,    18,
+      -1,    -1,    21,    22,    23,    24,    25,    26,    27,    -1,
+      29,    30,    31,    -1,    33,    34,    -1,    36,    37,    38,
+      39,    40,    41,    42,    -1,    -1,    -1,    -1,    47,    -1,
+      -1,    50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,
+      59,    60,    61,    -1,    -1,    -1,    -1,    -1,    -1,    68,
+      -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,
+      79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     0,
+       1,    -1,    91,    92,    -1,    -1,    -1,    96,    97,    -1,
+      99,   100,    -1,    14,    -1,    -1,    17,    18,    -1,    -1,
+      21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
+      31,    -1,    33,    34,    -1,    36,    37,    38,    39,    40,
+      41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,
+      51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,    60,
+      61,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
+      -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
+      -1,    82,    83,    -1,    85,    86,    87,     0,     1,    -1,
+      91,    92,    -1,    -1,    -1,    96,    97,    -1,    99,   100,
+      -1,    14,    -1,    -1,    17,    18,    -1,    -1,    21,    22,
+      23,    24,    25,    26,    27,    -1,    29,    -1,    31,    32,
+      33,    34,    -1,    -1,    -1,    38,    39,    40,    41,    42,
+      -1,    -1,    45,    -1,    47,    -1,    -1,    50,    51,    52,
+      -1,    -1,    55,    -1,    -1,    58,    59,    60,    61,    -1,
+      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
+      -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,    82,
+      83,    84,     0,     1,    -1,    -1,    -1,    -1,    91,    92,
+      -1,    -1,    -1,    96,    97,    -1,    14,   100,    -1,    17,
       18,    -1,    -1,    21,    22,    23,    24,    25,    26,    27,
-      -1,    29,    -1,    31,    32,    33,    34,    -1,    -1,    -1,
-      38,    39,    40,    41,    42,    -1,    -1,    45,    -1,    47,
+      -1,    29,    30,    31,    -1,    33,    34,    -1,    -1,    -1,
+      38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    47,
       -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,    -1,
-      -1,    59,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
-      -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
-      78,    79,    80,    -1,    -1,    83,    84,    85,     0,     1,
-      -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,    97,
-      98,    -1,    14,   101,    -1,    17,    18,    -1,    -1,    21,
-      22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
-      -1,    33,    34,    -1,    -1,    -1,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,
-      52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,
-      62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,    -1,
-      -1,    83,    84,     0,     1,    -1,    -1,    -1,    -1,    -1,
-      92,    93,    -1,    -1,    -1,    97,    98,    14,    -1,   101,
-      17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
-      27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,    -1,
-      -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
-      47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
-      -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,
-      -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
-      77,    78,    79,    80,    -1,    -1,    83,    84,     0,     1,
-      -1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,
-      97,    98,    14,    -1,   101,    17,    18,    -1,    -1,    21,
-      22,    23,    24,    25,    26,    27,    -1,    29,    -1,    31,
-      -1,    33,    34,    -1,    -1,    -1,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,
-      52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,    61,
-      62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,    -1,
-      -1,    83,    84,    -1,     1,    -1,    -1,    -1,    -1,    -1,
-      92,    93,    -1,    -1,    -1,    97,    98,    14,    -1,   101,
-      17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
-      27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,    36,
-      37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
-      47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
-      -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,
-      -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
-      77,    78,    79,    80,    -1,    -1,    83,    84,    -1,    86,
-       1,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,
-      97,    98,    -1,    14,   101,    -1,    17,    18,    -1,    -1,
-      21,    22,    23,    24,    25,    26,    27,    -1,    29,    -1,
-      31,    -1,    33,    34,    -1,    -1,    -1,    38,    39,    40,
-      41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,
-      51,    52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,
-      61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
-      -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,
-      -1,    -1,    83,    84,    -1,     1,    -1,    88,    -1,    -1,
-      -1,    92,    93,    -1,    -1,    -1,    97,    98,    14,    -1,
-     101,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
+      -1,    59,    60,    61,    -1,    -1,    -1,    -1,    -1,    -1,
+      68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
+      78,    79,    -1,    -1,    82,    83,     0,     1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    96,    97,
+      14,    -1,   100,    17,    18,    -1,    -1,    21,    22,    23,
+      24,    25,    26,    27,    -1,    29,    -1,    31,    -1,    33,
+      34,    -1,    -1,    -1,    38,    39,    40,    41,    42,    -1,
+      -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,    -1,
+      -1,    55,    -1,    -1,    -1,    59,    60,    61,    -1,    -1,
+      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
+      -1,    75,    76,    77,    78,    79,    -1,    -1,    82,    83,
+       0,     1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,
+      -1,    -1,    96,    97,    14,    -1,   100,    17,    18,    -1,
+      -1,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
+      -1,    31,    -1,    33,    34,    -1,    -1,    -1,    38,    39,
+      40,    41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,
+      50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,
+      60,    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,    -1,    96,    97,    14,    -1,
+     100,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
       26,    27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,
-      -1,    -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,
+      36,    37,    38,    39,    40,    41,    42,    -1,    -1,    -1,
       -1,    47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,
-      -1,    -1,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,
-      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
-      76,    77,    78,    79,    80,    -1,    -1,    83,    84,    -1,
-       1,    87,    -1,    -1,    -1,    -1,    92,    93,    -1,    -1,
-      -1,    97,    98,    14,    -1,   101,    17,    18,    -1,    -1,
+      -1,    -1,    -1,    59,    60,    61,    -1,    -1,    -1,    -1,
+      -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    75,
+      76,    77,    78,    79,    -1,    -1,    82,    83,    -1,    85,
+       1,    -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    -1,
+      96,    97,    -1,    14,   100,    -1,    17,    18,    -1,    -1,
       21,    22,    23,    24,    25,    26,    27,    -1,    29,    -1,
       31,    -1,    33,    34,    -1,    -1,    -1,    38,    39,    40,
       41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,
-      51,    52,    -1,    -1,    55,    -1,    -1,    -1,    -1,    60,
-      61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
-      -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,
-      -1,    -1,    83,    84,    -1,    86,     1,    -1,    -1,    -1,
-      -1,    92,    93,    -1,    -1,    -1,    97,    98,    -1,    14,
-     101,    -1,    17,    18,    -1,    -1,    21,    22,    23,    24,
-      25,    26,    27,    -1,    29,    -1,    31,    -1,    33,    34,
-      -1,    -1,    -1,    38,    39,    40,    41,    42,    -1,    -1,
-      -1,    -1,    47,    -1,    -1,    50,    51,    52,    -1,    -1,
-      55,    -1,    -1,    -1,    -1,    60,    61,    62,    -1,    -1,
-      -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,
-      -1,    76,    77,    78,    79,    80,    -1,    -1,    83,    84,
-      -1,     1,    87,    -1,    -1,    -1,    -1,    92,    93,    -1,
-      -1,    -1,    97,    98,    14,    -1,   101,    17,    18,    -1,
+      51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,    60,
+      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,    87,    -1,    -1,    -1,
+      91,    92,    -1,    -1,    -1,    96,    97,    14,    -1,   100,
+      17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
+      27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,    -1,
+      -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
+      47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
+      -1,    -1,    59,    60,    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,    86,
+      -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    96,
+      97,    14,    -1,   100,    17,    18,    -1,    -1,    21,    22,
+      23,    24,    25,    26,    27,    -1,    29,    -1,    31,    -1,
+      33,    34,    -1,    -1,    -1,    38,    39,    40,    41,    42,
+      -1,    -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,
+      -1,    -1,    55,    -1,    -1,    -1,    59,    60,    61,    -1,
+      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
+      -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,    82,
+      83,    -1,    85,     1,    -1,    -1,    -1,    -1,    91,    92,
+      -1,    -1,    -1,    96,    97,    -1,    14,   100,    -1,    17,
+      18,    -1,    -1,    21,    22,    23,    24,    25,    26,    27,
+      -1,    29,    -1,    31,    -1,    33,    34,    -1,    -1,    -1,
+      38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    47,
+      -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,    -1,
+      -1,    59,    60,    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,    86,    -1,
+      -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    96,    97,
+      14,    -1,   100,    17,    18,    -1,    -1,    21,    22,    23,
+      24,    25,    26,    27,    -1,    29,    -1,    31,    -1,    33,
+      34,    -1,    -1,    -1,    38,    39,    40,    41,    42,    -1,
+      -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,    -1,
+      -1,    55,    -1,    -1,    -1,    59,    60,    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,    86,    -1,    -1,    -1,    -1,    91,    92,    -1,
+      -1,    -1,    96,    97,    14,    -1,   100,    17,    18,    -1,
       -1,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
       -1,    31,    -1,    33,    34,    -1,    -1,    -1,    38,    39,
       40,    41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,
-      50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,    -1,
-      60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,
-      -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,
-      80,    -1,    -1,    83,    84,    -1,     1,    87,    -1,    -1,
-      -1,    -1,    92,    93,    -1,    -1,    -1,    97,    98,    14,
-      -1,   101,    17,    18,    -1,    -1,    21,    22,    23,    24,
-      25,    26,    27,    -1,    29,    -1,    31,    -1,    33,    34,
-      -1,    -1,    -1,    38,    39,    40,    41,    42,    -1,    -1,
-      -1,    -1,    47,    -1,    -1,    50,    51,    52,    -1,    -1,
-      55,    -1,    -1,    -1,    -1,    60,    61,    62,    -1,    -1,
-      -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,
-      -1,    76,    77,    78,    79,    80,    -1,    -1,    83,    84,
-      -1,     1,    87,    -1,    -1,    -1,    -1,    92,    93,    -1,
-      -1,    -1,    97,    98,    14,    -1,   101,    17,    18,    -1,
-      -1,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
-      -1,    31,    -1,    33,    34,    -1,    -1,    -1,    38,    39,
-      40,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      50,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,
-      -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,
-      80,    -1,    -1,     1,    84,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    92,    93,    -1,    -1,    14,    -1,    98,    17,
-      18,   101,    -1,    21,    -1,    23,    24,    25,    26,    27,
-      -1,    29,    -1,    -1,    -1,    33,    34,    -1,    -1,    -1,
-       1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    47,
-      48,    49,    50,    14,    52,    -1,    17,    18,    -1,    -1,
+      50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,
+      60,    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,    86,    -1,    -1,    -1,
+      -1,    91,    92,    -1,    -1,    -1,    96,    97,    14,    -1,
+     100,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
+      26,    27,    -1,    29,    -1,    31,    -1,    33,    34,    -1,
+      -1,    -1,    38,    39,    40,    41,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    50,    -1,    52,    -1,    -1,    -1,
+      -1,    -1,    -1,    59,    60,    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,    14,
+      -1,    97,    17,    18,   100,    -1,    21,    -1,    23,    24,
+      25,    26,    27,    -1,    29,    -1,    -1,    -1,    33,    34,
+      -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    46,    -1,    48,    -1,    50,    14,    52,    -1,    17,
+      18,    -1,    -1,    21,    -1,    23,    24,    25,    26,    27,
+      -1,    29,    -1,    68,    -1,    33,    34,    -1,    -1,    -1,
+      75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    50,    -1,    52,    -1,    91,    92,    -1,    -1,
+      -1,    -1,    97,    -1,    -1,   100,    -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,    -1,    -1,    97,
+      98,    99,   100,    14,    -1,    -1,    17,    18,    -1,    20,
       21,    -1,    23,    24,    25,    26,    27,    -1,    29,    -1,
-      -1,    69,    33,    34,    -1,    -1,    -1,    -1,    76,    77,
-      78,    79,    80,    -1,    -1,    46,    -1,    48,    -1,    50,
-      -1,    52,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,
-      98,    -1,    -1,   101,    -1,    -1,    -1,    -1,    69,    -1,
-      -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,
-      -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    92,    93,    -1,    -1,    14,    -1,    98,    17,    18,
-     101,    -1,    21,    -1,    23,    24,    25,    26,    27,    -1,
-      29,    -1,    -1,    -1,    33,    34,    -1,    -1,    -1,     1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    50,    14,    52,    -1,    17,    18,    -1,    20,    21,
-      -1,    23,    24,    25,    26,    27,    -1,    29,    -1,    -1,
-      69,    33,    34,    -1,   270,    -1,    -1,    76,    77,    78,
-      79,    80,    -1,   279,    -1,    -1,    -1,    -1,    50,    -1,
-      52,    -1,    -1,    92,    93,    -1,   292,    -1,   294,    98,
-      99,   100,   101,    -1,    -1,    -1,    -1,    69,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,    -1,
-      -1,    44,    -1,    -1,    -1,    -1,   322,    -1,    -1,    -1,
-      92,    93,   328,    -1,    -1,    -1,    98,    -1,    -1,   101,
-      63,    64,    65,    66,    67,    68,   342,    70,    71,    72,
-      73,    74,    75,    -1,    -1,    -1,   352,    46,   354,    48,
-      -1,    -1,   358,    -1,    -1,    -1,    89,    90,    91,    92,
-      93,    94,    95,    -1,    63,    64,    65,    66,    67,    68,
-      -1,    70,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
-      -1,    -1,    48,    -1,    -1,    -1,    -1,    -1,    54,    -1,
-      89,    90,    91,    92,    93,    94,    95,    63,    64,    65,
-      66,    67,    68,    -1,    70,    -1,    -1,    73,    74,    75,
-      -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,    -1,
-      -1,    54,    -1,    89,    90,    91,    92,    93,    94,    95,
-      63,    64,    65,    66,    67,    68,    -1,    70,    -1,    -1,
-      73,    74,    75,    -1,    -1,    -1,    -1,    -1,    48,    -1,
-      -1,    -1,    -1,    -1,    54,    -1,    89,    90,    91,    92,
-      93,    94,    95,    63,    64,    65,    66,    67,    68,    -1,
-      70,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
-      -1,    48,    -1,    -1,    -1,    -1,    -1,    54,    -1,    89,
-      90,    91,    92,    93,    94,    95,    63,    64,    65,    66,
-      67,    68,    -1,    70,    -1,    -1,    73,    74,    75,    -1,
+       1,    -1,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    14,    -1,    -1,    17,    18,    -1,    50,
+      21,    52,    23,    24,    25,    26,    27,    -1,    29,    -1,
+     270,    -1,    33,    34,    -1,    -1,    -1,    68,    -1,   279,
+      -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,    50,
+      -1,    52,   292,    -1,   294,    -1,    -1,    -1,    -1,    -1,
+      91,    92,    -1,    -1,    -1,    -1,    97,    68,    -1,   100,
+      -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
+      -1,    -1,   322,    -1,    -1,    -1,    -1,    -1,   328,    -1,
+      91,    92,    -1,    -1,    -1,    -1,    97,    -1,    -1,   100,
+      -1,    44,   342,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   352,    -1,   354,    -1,    -1,    -1,   358,    62,
+      63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
+      73,    74,    -1,    -1,    -1,    -1,    46,    -1,    48,    -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,    48,    -1,    -1,    -1,    -1,    -1,    54,    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,    48,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    89,    90,    91,    92,    93,    94,    95,    63,
-      64,    65,    66,    67,    68,    -1,    70,    -1,    -1,    73,
-      74,    75,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    89,    90,    91,    92,    93,
-      94,    95,    63,    64,    65,    66,    67,    68,    -1,    70,
-      -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
-      48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    90,
-      91,    92,    93,    94,    95,    63,    64,    65,    66,    67,
-      68,    -1,    70,    -1,    -1,    73,    74,    75,    -1,    -1,
+      54,    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,    48,    -1,    -1,
+      -1,    -1,    -1,    54,    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,
+      48,    -1,    -1,    -1,    -1,    -1,    54,    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,    48,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    89,    90,    91,    92,    93,    94,    95,    63,    64,
-      65,    66,    67,    68,    -1,    70,    -1,    -1,    73,    74,
-      75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    54,    -1,    89,    90,    91,    92,    93,    94,
-      95,    63,    64,    65,    66,    67,    68,    56,    70,    -1,
-      -1,    73,    74,    75,    63,    64,    65,    66,    67,    68,
-      -1,    70,    -1,    -1,    73,    74,    75,    89,    90,    91,
-      92,    93,    94,    95,    -1,    97,    -1,    -1,    -1,    -1,
-      89,    90,    91,    92,    93,    94,    95,    63,    64,    65,
-      66,    67,    68,    -1,    70,    -1,    -1,    73,    74,    75,
+      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,    48,    -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,    48,
+      -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,    48,    -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,    -1,
-      -1,    -1,    -1,    89,    90,    91,    92,    93,    94,    95,
-      -1,    -1,    -1,    99,    63,    64,    65,    66,    67,    68,
-      -1,    70,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
-      -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,    -1,
-      89,    90,    91,    92,    93,    94,    95,    63,    64,    65,
-      66,    67,    68,    -1,    70,    -1,    -1,    73,    74,    75,
-      63,    64,    65,    66,    -1,    -1,    -1,    70,    -1,    -1,
-      73,    74,    75,    89,    90,    91,    92,    93,    94,    95,
-      -1,    -1,    -1,    -1,    -1,    -1,    89,    90,    91,    92,
-      93,    94,    95
+      -1,    54,    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,    56,    96,    -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
@@ -1567,64 +1565,64 @@ static const yytype_uint8 yystos[] =
 {
        0,     1,    14,    17,    18,    21,    22,    23,    24,    25,
       26,    27,    29,    31,    32,    33,    34,    38,    39,    40,
-      41,    42,    45,    47,    50,    51,    52,    55,    59,    60,
-      61,    62,    69,    76,    77,    78,    79,    80,    83,    84,
-      85,    92,    93,    98,   101,   105,   106,   107,   108,   109,
-     120,   126,   129,   130,   131,   132,   133,   140,   142,   144,
-     148,   153,   156,    97,    26,   129,    26,    50,    98,   130,
-     154,    98,   154,   129,    48,    98,   130,   155,   143,   147,
-      51,   134,    46,    47,    48,    49,   130,   141,   145,    51,
-      20,   130,    56,    57,    17,    18,    19,    26,    33,    26,
-      26,   130,   130,   141,   136,   130,   130,   130,   130,   130,
-     130,   130,   135,   149,   130,   130,   130,    27,    29,   103,
-     130,   157,   158,   159,   160,     0,    97,   130,    63,    64,
-      65,    66,    67,    68,    70,    73,    74,    75,    89,    90,
-      91,    92,    93,    94,    95,   127,    98,   130,   130,   154,
-     100,   154,   129,   154,   100,   154,   127,    26,   137,   130,
-      46,   141,    26,    26,    44,    71,    72,    26,   127,    54,
-      65,   129,   129,    54,    65,    54,    53,    56,   141,    26,
-     139,    48,    54,    48,    54,    48,    54,    48,    54,    81,
-      82,    54,    97,    26,   138,    26,    99,   103,   103,   102,
-     100,   100,   105,   123,   130,   130,   130,   130,   130,   130,
-     130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
-     130,    26,   150,    99,   130,    99,    99,   130,   150,   100,
-     130,   146,   129,    26,   132,   130,   130,    43,    65,   130,
-     130,   130,    54,    65,    48,   130,   130,   130,   130,   130,
-     100,   130,   130,   130,   130,   130,   130,   130,   130,   130,
-     130,   119,   119,   100,   129,   129,   130,    27,    29,   160,
-      53,    97,   100,    97,    26,   127,    44,   130,   130,   123,
-     130,   130,    26,    26,    48,    48,    48,    48,   108,   128,
-      26,   128,   152,    26,   152,   150,   130,   116,   110,   113,
-     128,   129,   130,   130,   130,   130,   127,    97,   109,   127,
-     124,   128,   128,    97,   127,   125,   125,   124,    54,    88,
-     121,    30,   152,   117,   111,   114,    87,   130,    36,    37,
-     122,   127,    26,   151,   128,   123,    54,    35,   128,   130,
-      86,   100,   118,   130,    54,   127,   123,    26,   128,   112,
-     130,    86,    53,    87,   123,   115,   128,   128,   123,   124,
-      87,   128,    87
+      41,    42,    45,    47,    50,    51,    52,    55,    58,    59,
+      60,    61,    68,    75,    76,    77,    78,    79,    82,    83,
+      84,    91,    92,    97,   100,   104,   105,   106,   107,   108,
+     119,   125,   128,   129,   130,   131,   132,   139,   141,   143,
+     147,   152,   155,    96,    26,   128,    26,    50,    97,   129,
+     153,    97,   153,   128,    48,    97,   129,   154,   142,   146,
+      51,   133,    46,    47,    48,    49,   129,   140,   144,    51,
+      20,   129,    56,    57,    17,    18,    19,    26,    33,    26,
+      26,   129,   129,   140,   135,   129,   129,   129,   129,   129,
+     129,   129,   134,   148,   129,   129,   129,    27,    29,   102,
+     129,   156,   157,   158,   159,     0,    96,   129,    62,    63,
+      64,    65,    66,    67,    69,    72,    73,    74,    88,    89,
+      90,    91,    92,    93,    94,   126,    97,   129,   129,   153,
+      99,   153,   128,   153,    99,   153,   126,    26,   136,   129,
+      46,   140,    26,    26,    44,    70,    71,    26,   126,    54,
+      64,   128,   128,    54,    64,    54,    53,    56,   140,    26,
+     138,    48,    54,    48,    54,    48,    54,    48,    54,    80,
+      81,    54,    96,    26,   137,    26,    98,   102,   102,   101,
+      99,    99,   104,   122,   129,   129,   129,   129,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
+     129,    26,   149,    98,   129,    98,    98,   129,   149,    99,
+     129,   145,   128,    26,   131,   129,   129,    43,    64,   129,
+     129,   129,    54,    64,    48,   129,   129,   129,   129,   129,
+      99,   129,   129,   129,   129,   129,   129,   129,   129,   129,
+     129,   118,   118,    99,   128,   128,   129,    27,    29,   159,
+      53,    96,    99,    96,    26,   126,    44,   129,   129,   122,
+     129,   129,    26,    26,    48,    48,    48,    48,   107,   127,
+      26,   127,   151,    26,   151,   149,   129,   115,   109,   112,
+     127,   128,   129,   129,   129,   129,   126,    96,   108,   126,
+     123,   127,   127,    96,   126,   124,   124,   123,    54,    87,
+     120,    30,   151,   116,   110,   113,    86,   129,    36,    37,
+     121,   126,    26,   150,   127,   122,    54,    35,   127,   129,
+      85,    99,   117,   129,    54,   126,   122,    26,   127,   111,
+     129,    85,    53,    86,   122,   114,   127,   127,   122,   123,
+      86,   127,    86
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,   104,   105,   105,   106,   106,   106,   107,   107,   107,
-     107,   107,   107,   107,   107,   107,   107,   107,   107,   107,
-     108,   108,   108,   109,   109,   109,   110,   111,   112,   109,
-     113,   114,   115,   109,   116,   117,   118,   109,   109,   109,
-     109,   109,   119,   120,   120,   121,   121,   122,   123,   124,
-     125,   126,   127,   128,   128,   128,   129,   129,   129,   129,
-     129,   129,   129,   129,   129,   129,   130,   130,   130,   130,
-     130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
-     130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
-     130,   130,   130,   130,   130,   130,   130,   131,   131,   131,
-     131,   131,   131,   131,   131,   132,   132,   133,   133,   133,
-     133,   133,   134,   133,   135,   133,   136,   133,   133,   133,
-     133,   133,   137,   137,   138,   138,   139,   139,   140,   140,
-     140,   140,   140,   140,   141,   141,   142,   142,   142,   143,
-     142,   145,   146,   144,   144,   147,   144,   144,   144,   149,
-     148,   150,   150,   150,   151,   151,   151,   152,   153,   154,
-     154,   154,   155,   155,   156,   157,   157,   157,   157,   158,
-     158,   159,   159,   160,   160
+       0,   103,   104,   104,   105,   105,   105,   106,   106,   106,
+     106,   106,   106,   106,   106,   106,   106,   106,   106,   106,
+     107,   107,   107,   108,   108,   108,   109,   110,   111,   108,
+     112,   113,   114,   108,   115,   116,   117,   108,   108,   108,
+     108,   108,   118,   119,   119,   120,   120,   121,   122,   123,
+     124,   125,   126,   127,   127,   127,   128,   128,   128,   128,
+     128,   128,   128,   128,   128,   128,   129,   129,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,   130,   130,   130,
+     130,   130,   130,   130,   130,   131,   131,   132,   132,   132,
+     132,   132,   133,   132,   134,   132,   135,   132,   132,   132,
+     132,   132,   136,   136,   137,   137,   138,   138,   139,   139,
+     139,   139,   139,   139,   140,   140,   141,   141,   141,   142,
+     141,   144,   145,   143,   143,   146,   143,   143,   143,   148,
+     147,   149,   149,   149,   150,   150,   150,   151,   152,   153,
+     153,   153,   154,   154,   155,   156,   156,   156,   156,   157,
+     157,   158,   158,   159,   159
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1919,81 +1917,81 @@ yydestruct (const char *yymsg,
   switch (yykind)
     {
     case 22: /* BLTIN  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1925 "engines/director/lingo/lingo-gr.cpp"
+#line 1923 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 23: /* FBLTIN  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1931 "engines/director/lingo/lingo-gr.cpp"
+#line 1929 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 24: /* RBLTIN  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1937 "engines/director/lingo/lingo-gr.cpp"
+#line 1935 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 25: /* THEFBLTIN  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1943 "engines/director/lingo/lingo-gr.cpp"
+#line 1941 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 26: /* ID  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1949 "engines/director/lingo/lingo-gr.cpp"
+#line 1947 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 27: /* STRING  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1955 "engines/director/lingo/lingo-gr.cpp"
+#line 1953 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 28: /* HANDLER  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1961 "engines/director/lingo/lingo-gr.cpp"
+#line 1959 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 29: /* SYMBOL  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1967 "engines/director/lingo/lingo-gr.cpp"
+#line 1965 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 30: /* ENDCLAUSE  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1973 "engines/director/lingo/lingo-gr.cpp"
+#line 1971 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 31: /* tPLAYACCEL  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1979 "engines/director/lingo/lingo-gr.cpp"
+#line 1977 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 32: /* tMETHOD  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1985 "engines/director/lingo/lingo-gr.cpp"
+#line 1983 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 33: /* THEOBJECTFIELD  */
-#line 166 "engines/director/lingo/lingo-gr.y"
+#line 169 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).objectfield).os; }
-#line 1991 "engines/director/lingo/lingo-gr.cpp"
+#line 1989 "engines/director/lingo/lingo-gr.cpp"
         break;
 
-    case 148: /* on  */
-#line 165 "engines/director/lingo/lingo-gr.y"
+    case 147: /* on  */
+#line 168 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1997 "engines/director/lingo/lingo-gr.cpp"
+#line 1995 "engines/director/lingo/lingo-gr.cpp"
         break;
 
       default:
@@ -2272,7 +2270,7 @@ yyreduce:
   switch (yyn)
     {
   case 7:
-#line 177 "engines/director/lingo/lingo-gr.y"
+#line 180 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_varpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
@@ -2280,19 +2278,19 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2284 "engines/director/lingo/lingo-gr.cpp"
+#line 2282 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 8:
-#line 184 "engines/director/lingo/lingo-gr.y"
+#line 187 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2292 "engines/director/lingo/lingo-gr.cpp"
+#line 2290 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 9:
-#line 188 "engines/director/lingo/lingo-gr.y"
+#line 191 "engines/director/lingo/lingo-gr.y"
                                                                 {
 		if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
 			warning("LEXER: keyword 'menu' expected");
@@ -2304,23 +2302,23 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-4].e)[1]);
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2308 "engines/director/lingo/lingo-gr.cpp"
+#line 2306 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 10:
-#line 199 "engines/director/lingo/lingo-gr.y"
+#line 202 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_after); }
-#line 2314 "engines/director/lingo/lingo-gr.cpp"
+#line 2312 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 11:
-#line 200 "engines/director/lingo/lingo-gr.y"
+#line 203 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->code1(LC::c_before); }
-#line 2320 "engines/director/lingo/lingo-gr.cpp"
+#line 2318 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 12:
-#line 201 "engines/director/lingo/lingo-gr.y"
+#line 204 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_varpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2328,11 +2326,11 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2332 "engines/director/lingo/lingo-gr.cpp"
+#line 2330 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 13:
-#line 208 "engines/director/lingo/lingo-gr.y"
+#line 211 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(0); // Put dummy id
@@ -2340,11 +2338,11 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2344 "engines/director/lingo/lingo-gr.cpp"
+#line 2342 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 14:
-#line 215 "engines/director/lingo/lingo-gr.y"
+#line 218 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_varpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
@@ -2352,11 +2350,11 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2356 "engines/director/lingo/lingo-gr.cpp"
+#line 2354 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 15:
-#line 222 "engines/director/lingo/lingo-gr.y"
+#line 225 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(0); // Put dummy id
@@ -2364,33 +2362,33 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2368 "engines/director/lingo/lingo-gr.cpp"
+#line 2366 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 16:
-#line 229 "engines/director/lingo/lingo-gr.y"
+#line 232 "engines/director/lingo/lingo-gr.y"
                                                         {
 		g_lingo->code1(LC::c_swap);
 		g_lingo->code1(LC::c_theentityassign);
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2379 "engines/director/lingo/lingo-gr.cpp"
+#line 2377 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 17:
-#line 235 "engines/director/lingo/lingo-gr.y"
+#line 238 "engines/director/lingo/lingo-gr.y"
                                                         {
 		g_lingo->code1(LC::c_swap);
 		g_lingo->code1(LC::c_theentityassign);
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2390 "engines/director/lingo/lingo-gr.cpp"
+#line 2388 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 18:
-#line 242 "engines/director/lingo/lingo-gr.y"
+#line 245 "engines/director/lingo/lingo-gr.y"
                                                                         {
 		if (!(yyvsp[-3].s)->equalsIgnoreCase("menu")) {
 			warning("LEXER: keyword 'menu' expected");
@@ -2402,54 +2400,54 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-6].e)[0]);
 		g_lingo->codeInt((yyvsp[-6].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2406 "engines/director/lingo/lingo-gr.cpp"
+#line 2404 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 19:
-#line 253 "engines/director/lingo/lingo-gr.y"
+#line 256 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_objectfieldassign);
 		g_lingo->codeString((yyvsp[-2].objectfield).os->c_str());
 		g_lingo->codeInt((yyvsp[-2].objectfield).oe);
 		delete (yyvsp[-2].objectfield).os;
 		(yyval.code) = (yyvsp[0].code); }
-#line 2417 "engines/director/lingo/lingo-gr.cpp"
+#line 2415 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 25:
-#line 270 "engines/director/lingo/lingo-gr.y"
+#line 273 "engines/director/lingo/lingo-gr.y"
                                                                                 {
 		inst start = 0, end = 0;
 		WRITE_UINT32(&start, (yyvsp[-5].code) - (yyvsp[-1].code) + 1);
 		WRITE_UINT32(&end, (yyvsp[-1].code) - (yyvsp[-3].code) + 2);
 		(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end;		/* end, if cond fails */
 		(*g_lingo->_currentScript)[(yyvsp[-1].code)] = start; }
-#line 2428 "engines/director/lingo/lingo-gr.cpp"
+#line 2426 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 26:
-#line 282 "engines/director/lingo/lingo-gr.y"
+#line 285 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_varpush);
 				  g_lingo->codeString((yyvsp[-2].s)->c_str());
 				  mVar((yyvsp[-2].s), kVarLocal); }
-#line 2436 "engines/director/lingo/lingo-gr.cpp"
+#line 2434 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 27:
-#line 286 "engines/director/lingo/lingo-gr.y"
+#line 289 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_eval);
 				  g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2443 "engines/director/lingo/lingo-gr.cpp"
+#line 2441 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 28:
-#line 289 "engines/director/lingo/lingo-gr.y"
+#line 292 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_le); }
-#line 2449 "engines/director/lingo/lingo-gr.cpp"
+#line 2447 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 29:
-#line 289 "engines/director/lingo/lingo-gr.y"
+#line 292 "engines/director/lingo/lingo-gr.y"
                                                                                           {
 
 		g_lingo->code1(LC::c_eval);
@@ -2468,32 +2466,32 @@ yyreduce:
 		WRITE_UINT32(&end, pos - (yyvsp[-2].code) + 2);
 		(*g_lingo->_currentScript)[pos] = loop;		/* final count value */
 		(*g_lingo->_currentScript)[(yyvsp[-2].code)] = end;	}
-#line 2472 "engines/director/lingo/lingo-gr.cpp"
+#line 2470 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 30:
-#line 313 "engines/director/lingo/lingo-gr.y"
+#line 316 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_varpush);
 				  g_lingo->codeString((yyvsp[-2].s)->c_str());
 				  mVar((yyvsp[-2].s), kVarLocal); }
-#line 2480 "engines/director/lingo/lingo-gr.cpp"
+#line 2478 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 31:
-#line 317 "engines/director/lingo/lingo-gr.y"
+#line 320 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_eval);
 				  g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2487 "engines/director/lingo/lingo-gr.cpp"
+#line 2485 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 32:
-#line 320 "engines/director/lingo/lingo-gr.y"
+#line 323 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_ge); }
-#line 2493 "engines/director/lingo/lingo-gr.cpp"
+#line 2491 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 33:
-#line 321 "engines/director/lingo/lingo-gr.y"
+#line 324 "engines/director/lingo/lingo-gr.y"
                                                     {
 
 		g_lingo->code1(LC::c_eval);
@@ -2512,32 +2510,32 @@ yyreduce:
 		WRITE_UINT32(&end, pos - (yyvsp[-2].code) + 2);
 		(*g_lingo->_currentScript)[pos] = loop;		/* final count value */
 		(*g_lingo->_currentScript)[(yyvsp[-2].code)] = end;	}
-#line 2516 "engines/director/lingo/lingo-gr.cpp"
+#line 2514 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 34:
-#line 346 "engines/director/lingo/lingo-gr.y"
+#line 349 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_stackpeek);
 				  g_lingo->codeInt(0);
 				  Common::String count("count");
 				  g_lingo->codeFunc(&count, 1);
 				  g_lingo->code1(LC::c_intpush);	// start counter
 				  g_lingo->codeInt(1); }
-#line 2527 "engines/director/lingo/lingo-gr.cpp"
+#line 2525 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 35:
-#line 353 "engines/director/lingo/lingo-gr.y"
+#line 356 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_stackpeek);	// get counter
 				  g_lingo->codeInt(0);
 				  g_lingo->code1(LC::c_stackpeek);	// get array size
 				  g_lingo->codeInt(2);
 				  g_lingo->code1(LC::c_le); }
-#line 2537 "engines/director/lingo/lingo-gr.cpp"
+#line 2535 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 36:
-#line 359 "engines/director/lingo/lingo-gr.y"
+#line 362 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_stackpeek);	// get list
 				  g_lingo->codeInt(2);
 				  g_lingo->code1(LC::c_stackpeek);	// get counter
@@ -2548,11 +2546,11 @@ yyreduce:
 				  g_lingo->codeString((yyvsp[-6].s)->c_str());
 				  mVar((yyvsp[-6].s), kVarLocal);
 				  g_lingo->code1(LC::c_assign); }
-#line 2552 "engines/director/lingo/lingo-gr.cpp"
+#line 2550 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 37:
-#line 369 "engines/director/lingo/lingo-gr.y"
+#line 372 "engines/director/lingo/lingo-gr.y"
                                             {
 
 		g_lingo->code1(LC::c_intpush);
@@ -2570,44 +2568,44 @@ yyreduce:
 
 		(*g_lingo->_currentScript)[jump + 1] = loop;		/* final count value */
 		(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end;	}
-#line 2574 "engines/director/lingo/lingo-gr.cpp"
+#line 2572 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 38:
-#line 387 "engines/director/lingo/lingo-gr.y"
+#line 390 "engines/director/lingo/lingo-gr.y"
                         {
 		g_lingo->code1(LC::c_nextRepeat); }
-#line 2581 "engines/director/lingo/lingo-gr.cpp"
+#line 2579 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 39:
-#line 389 "engines/director/lingo/lingo-gr.y"
+#line 392 "engines/director/lingo/lingo-gr.y"
                               {
 		g_lingo->code1(LC::c_whencode);
 		g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2589 "engines/director/lingo/lingo-gr.cpp"
+#line 2587 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 40:
-#line 392 "engines/director/lingo/lingo-gr.y"
+#line 395 "engines/director/lingo/lingo-gr.y"
                                                           { g_lingo->code1(LC::c_telldone); }
-#line 2595 "engines/director/lingo/lingo-gr.cpp"
+#line 2593 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 41:
-#line 393 "engines/director/lingo/lingo-gr.y"
+#line 396 "engines/director/lingo/lingo-gr.y"
                                                     { g_lingo->code1(LC::c_telldone); }
-#line 2601 "engines/director/lingo/lingo-gr.cpp"
+#line 2599 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 42:
-#line 395 "engines/director/lingo/lingo-gr.y"
+#line 398 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_tell); }
-#line 2607 "engines/director/lingo/lingo-gr.cpp"
+#line 2605 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 43:
-#line 397 "engines/director/lingo/lingo-gr.y"
+#line 400 "engines/director/lingo/lingo-gr.y"
                                                                                          {
 		inst else1 = 0, end3 = 0;
 		WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2615,11 +2613,11 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-6].code)] = else1;		/* elsepart */
 		(*g_lingo->_currentScript)[(yyvsp[-3].code)] = end3;		/* end, if cond fails */
 		g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2619 "engines/director/lingo/lingo-gr.cpp"
+#line 2617 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 44:
-#line 404 "engines/director/lingo/lingo-gr.y"
+#line 407 "engines/director/lingo/lingo-gr.y"
                                                                                                           {
 		inst else1 = 0, end = 0;
 		WRITE_UINT32(&else1, (yyvsp[-5].code) + 1 - (yyvsp[-8].code) + 1);
@@ -2627,107 +2625,107 @@ yyreduce:
 		(*g_lingo->_currentScript)[(yyvsp[-8].code)] = else1;		/* elsepart */
 		(*g_lingo->_currentScript)[(yyvsp[-5].code)] = end;		/* end, if cond fails */
 		g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2631 "engines/director/lingo/lingo-gr.cpp"
+#line 2629 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 47:
-#line 415 "engines/director/lingo/lingo-gr.y"
+#line 418 "engines/director/lingo/lingo-gr.y"
                                                                 {
 		inst else1 = 0;
 		WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
 		(*g_lingo->_currentScript)[(yyvsp[-3].code)] = else1;	/* end, if cond fails */
 		g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2641 "engines/director/lingo/lingo-gr.cpp"
+#line 2639 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 48:
-#line 421 "engines/director/lingo/lingo-gr.y"
+#line 424 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code2(LC::c_jumpifz, 0);
 		(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2649 "engines/director/lingo/lingo-gr.cpp"
+#line 2647 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 49:
-#line 425 "engines/director/lingo/lingo-gr.y"
+#line 428 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code2(LC::c_jump, 0);
 		(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2657 "engines/director/lingo/lingo-gr.cpp"
+#line 2655 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 50:
-#line 429 "engines/director/lingo/lingo-gr.y"
+#line 432 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = g_lingo->_currentScript->size() - 1; }
-#line 2665 "engines/director/lingo/lingo-gr.cpp"
+#line 2663 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 51:
-#line 433 "engines/director/lingo/lingo-gr.y"
+#line 436 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->codeLabel(0); }
-#line 2672 "engines/director/lingo/lingo-gr.cpp"
+#line 2670 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 52:
-#line 436 "engines/director/lingo/lingo-gr.y"
+#line 439 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2678 "engines/director/lingo/lingo-gr.cpp"
+#line 2676 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 53:
-#line 438 "engines/director/lingo/lingo-gr.y"
+#line 441 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = g_lingo->_currentScript->size(); }
-#line 2684 "engines/director/lingo/lingo-gr.cpp"
+#line 2682 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 56:
-#line 442 "engines/director/lingo/lingo-gr.y"
+#line 445 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt((yyvsp[0].i)); }
-#line 2692 "engines/director/lingo/lingo-gr.cpp"
+#line 2690 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 57:
-#line 445 "engines/director/lingo/lingo-gr.y"
+#line 448 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_floatpush);
 		g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2700 "engines/director/lingo/lingo-gr.cpp"
+#line 2698 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 58:
-#line 448 "engines/director/lingo/lingo-gr.y"
+#line 451 "engines/director/lingo/lingo-gr.y"
                         {											// D3
 		(yyval.code) = g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2709 "engines/director/lingo/lingo-gr.cpp"
+#line 2707 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 59:
-#line 452 "engines/director/lingo/lingo-gr.y"
+#line 455 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2718 "engines/director/lingo/lingo-gr.cpp"
+#line 2716 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 60:
-#line 456 "engines/director/lingo/lingo-gr.y"
+#line 459 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_eval);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2727 "engines/director/lingo/lingo-gr.cpp"
+#line 2725 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 61:
-#line 460 "engines/director/lingo/lingo-gr.y"
+#line 463 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(0); // Put dummy id
@@ -2736,28 +2734,28 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[0].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[0].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2740 "engines/director/lingo/lingo-gr.cpp"
+#line 2738 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 62:
-#line 468 "engines/director/lingo/lingo-gr.y"
+#line 471 "engines/director/lingo/lingo-gr.y"
                                      {
 		(yyval.code) = g_lingo->code1(LC::c_theentitypush);
 		inst e = 0, f = 0;
 		WRITE_UINT32(&e, (yyvsp[-1].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[-1].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2751 "engines/director/lingo/lingo-gr.cpp"
+#line 2749 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 63:
-#line 474 "engines/director/lingo/lingo-gr.y"
+#line 477 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 2757 "engines/director/lingo/lingo-gr.cpp"
+#line 2755 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 65:
-#line 476 "engines/director/lingo/lingo-gr.y"
+#line 479 "engines/director/lingo/lingo-gr.y"
                                 {
 		// Director parser till D3 was forgiving for any hanging parentheses
 		if (g_lingo->_ignoreError) {
@@ -2768,531 +2766,531 @@ yyreduce:
 			yyerrok;
 		}
 	}
-#line 2772 "engines/director/lingo/lingo-gr.cpp"
+#line 2770 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 66:
-#line 487 "engines/director/lingo/lingo-gr.y"
+#line 490 "engines/director/lingo/lingo-gr.y"
                  { (yyval.code) = (yyvsp[0].code); }
-#line 2778 "engines/director/lingo/lingo-gr.cpp"
+#line 2776 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 68:
-#line 489 "engines/director/lingo/lingo-gr.y"
+#line 492 "engines/director/lingo/lingo-gr.y"
                                  {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2786 "engines/director/lingo/lingo-gr.cpp"
+#line 2784 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 69:
-#line 492 "engines/director/lingo/lingo-gr.y"
+#line 495 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 2794 "engines/director/lingo/lingo-gr.cpp"
+#line 2792 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 70:
-#line 495 "engines/director/lingo/lingo-gr.y"
+#line 498 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2802 "engines/director/lingo/lingo-gr.cpp"
+#line 2800 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 71:
-#line 498 "engines/director/lingo/lingo-gr.y"
+#line 501 "engines/director/lingo/lingo-gr.y"
                                         {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
 		delete (yyvsp[-2].s); }
-#line 2810 "engines/director/lingo/lingo-gr.cpp"
+#line 2808 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 72:
-#line 501 "engines/director/lingo/lingo-gr.y"
+#line 504 "engines/director/lingo/lingo-gr.y"
                          {
 		g_lingo->code1(LC::c_objectfieldpush);
 		g_lingo->codeString((yyvsp[0].objectfield).os->c_str());
 		g_lingo->codeInt((yyvsp[0].objectfield).oe);
 		delete (yyvsp[0].objectfield).os; }
-#line 2820 "engines/director/lingo/lingo-gr.cpp"
+#line 2818 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 73:
-#line 506 "engines/director/lingo/lingo-gr.y"
+#line 509 "engines/director/lingo/lingo-gr.y"
                        {
 		g_lingo->code1(LC::c_objectrefpush);
 		g_lingo->codeString((yyvsp[0].objectref).obj->c_str());
 		g_lingo->codeString((yyvsp[0].objectref).field->c_str());
 		delete (yyvsp[0].objectref).obj;
 		delete (yyvsp[0].objectref).field; }
-#line 2831 "engines/director/lingo/lingo-gr.cpp"
+#line 2829 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 75:
-#line 513 "engines/director/lingo/lingo-gr.y"
+#line 516 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_add); }
-#line 2837 "engines/director/lingo/lingo-gr.cpp"
+#line 2835 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 76:
-#line 514 "engines/director/lingo/lingo-gr.y"
+#line 517 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_sub); }
-#line 2843 "engines/director/lingo/lingo-gr.cpp"
+#line 2841 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 77:
-#line 515 "engines/director/lingo/lingo-gr.y"
+#line 518 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mul); }
-#line 2849 "engines/director/lingo/lingo-gr.cpp"
+#line 2847 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 78:
-#line 516 "engines/director/lingo/lingo-gr.y"
+#line 519 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_div); }
-#line 2855 "engines/director/lingo/lingo-gr.cpp"
+#line 2853 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 79:
-#line 517 "engines/director/lingo/lingo-gr.y"
+#line 520 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mod); }
-#line 2861 "engines/director/lingo/lingo-gr.cpp"
+#line 2859 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 80:
-#line 518 "engines/director/lingo/lingo-gr.y"
+#line 521 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gt); }
-#line 2867 "engines/director/lingo/lingo-gr.cpp"
+#line 2865 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 81:
-#line 519 "engines/director/lingo/lingo-gr.y"
+#line 522 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lt); }
-#line 2873 "engines/director/lingo/lingo-gr.cpp"
+#line 2871 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 82:
-#line 520 "engines/director/lingo/lingo-gr.y"
+#line 523 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_eq); }
-#line 2879 "engines/director/lingo/lingo-gr.cpp"
+#line 2877 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 83:
-#line 521 "engines/director/lingo/lingo-gr.y"
+#line 524 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_neq); }
-#line 2885 "engines/director/lingo/lingo-gr.cpp"
+#line 2883 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 84:
-#line 522 "engines/director/lingo/lingo-gr.y"
+#line 525 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ge); }
-#line 2891 "engines/director/lingo/lingo-gr.cpp"
+#line 2889 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 85:
-#line 523 "engines/director/lingo/lingo-gr.y"
+#line 526 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_le); }
-#line 2897 "engines/director/lingo/lingo-gr.cpp"
+#line 2895 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 86:
-#line 524 "engines/director/lingo/lingo-gr.y"
+#line 527 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_and); }
-#line 2903 "engines/director/lingo/lingo-gr.cpp"
+#line 2901 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 87:
-#line 525 "engines/director/lingo/lingo-gr.y"
+#line 528 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_or); }
-#line 2909 "engines/director/lingo/lingo-gr.cpp"
+#line 2907 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 88:
-#line 526 "engines/director/lingo/lingo-gr.y"
+#line 529 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_not); }
-#line 2915 "engines/director/lingo/lingo-gr.cpp"
+#line 2913 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 89:
-#line 527 "engines/director/lingo/lingo-gr.y"
+#line 530 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ampersand); }
-#line 2921 "engines/director/lingo/lingo-gr.cpp"
+#line 2919 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 90:
-#line 528 "engines/director/lingo/lingo-gr.y"
+#line 531 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_concat); }
-#line 2927 "engines/director/lingo/lingo-gr.cpp"
+#line 2925 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 91:
-#line 529 "engines/director/lingo/lingo-gr.y"
+#line 532 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_contains); }
-#line 2933 "engines/director/lingo/lingo-gr.cpp"
+#line 2931 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 92:
-#line 530 "engines/director/lingo/lingo-gr.y"
+#line 533 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_starts); }
-#line 2939 "engines/director/lingo/lingo-gr.cpp"
+#line 2937 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 93:
-#line 531 "engines/director/lingo/lingo-gr.y"
+#line 534 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[0].code); }
-#line 2945 "engines/director/lingo/lingo-gr.cpp"
+#line 2943 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 94:
-#line 532 "engines/director/lingo/lingo-gr.y"
+#line 535 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2951 "engines/director/lingo/lingo-gr.cpp"
+#line 2949 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 95:
-#line 533 "engines/director/lingo/lingo-gr.y"
+#line 536 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_intersects); }
-#line 2957 "engines/director/lingo/lingo-gr.cpp"
+#line 2955 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 96:
-#line 534 "engines/director/lingo/lingo-gr.y"
+#line 537 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_within); }
-#line 2963 "engines/director/lingo/lingo-gr.cpp"
+#line 2961 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 97:
-#line 536 "engines/director/lingo/lingo-gr.y"
+#line 539 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_charOf); }
-#line 2969 "engines/director/lingo/lingo-gr.cpp"
+#line 2967 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 98:
-#line 537 "engines/director/lingo/lingo-gr.y"
+#line 540 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_charToOf); }
-#line 2975 "engines/director/lingo/lingo-gr.cpp"
+#line 2973 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 99:
-#line 538 "engines/director/lingo/lingo-gr.y"
+#line 541 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_itemOf); }
-#line 2981 "engines/director/lingo/lingo-gr.cpp"
+#line 2979 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 100:
-#line 539 "engines/director/lingo/lingo-gr.y"
+#line 542 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_itemToOf); }
-#line 2987 "engines/director/lingo/lingo-gr.cpp"
+#line 2985 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 101:
-#line 540 "engines/director/lingo/lingo-gr.y"
+#line 543 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lineOf); }
-#line 2993 "engines/director/lingo/lingo-gr.cpp"
+#line 2991 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 102:
-#line 541 "engines/director/lingo/lingo-gr.y"
+#line 544 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_lineToOf); }
-#line 2999 "engines/director/lingo/lingo-gr.cpp"
+#line 2997 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 103:
-#line 542 "engines/director/lingo/lingo-gr.y"
+#line 545 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_wordOf); }
-#line 3005 "engines/director/lingo/lingo-gr.cpp"
+#line 3003 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 104:
-#line 543 "engines/director/lingo/lingo-gr.y"
+#line 546 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_wordToOf); }
-#line 3011 "engines/director/lingo/lingo-gr.cpp"
+#line 3009 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 105:
-#line 545 "engines/director/lingo/lingo-gr.y"
+#line 548 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->codeFunc((yyvsp[-1].s), 1);
 		delete (yyvsp[-1].s); }
-#line 3019 "engines/director/lingo/lingo-gr.cpp"
+#line 3017 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 107:
-#line 550 "engines/director/lingo/lingo-gr.y"
+#line 553 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_printtop); }
-#line 3025 "engines/director/lingo/lingo-gr.cpp"
+#line 3023 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 110:
-#line 553 "engines/director/lingo/lingo-gr.y"
+#line 556 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_exitRepeat); }
-#line 3031 "engines/director/lingo/lingo-gr.cpp"
+#line 3029 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 111:
-#line 554 "engines/director/lingo/lingo-gr.y"
+#line 557 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_procret); }
-#line 3037 "engines/director/lingo/lingo-gr.cpp"
+#line 3035 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 112:
-#line 555 "engines/director/lingo/lingo-gr.y"
+#line 558 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 3043 "engines/director/lingo/lingo-gr.cpp"
+#line 3041 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 113:
-#line 555 "engines/director/lingo/lingo-gr.y"
+#line 558 "engines/director/lingo/lingo-gr.y"
                                                                                  { inNone(); }
-#line 3049 "engines/director/lingo/lingo-gr.cpp"
+#line 3047 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 114:
-#line 556 "engines/director/lingo/lingo-gr.y"
+#line 559 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 3055 "engines/director/lingo/lingo-gr.cpp"
+#line 3053 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 115:
-#line 556 "engines/director/lingo/lingo-gr.y"
+#line 559 "engines/director/lingo/lingo-gr.y"
                                                                                    { inNone(); }
-#line 3061 "engines/director/lingo/lingo-gr.cpp"
+#line 3059 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 116:
-#line 557 "engines/director/lingo/lingo-gr.y"
+#line 560 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 3067 "engines/director/lingo/lingo-gr.cpp"
+#line 3065 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 117:
-#line 557 "engines/director/lingo/lingo-gr.y"
+#line 560 "engines/director/lingo/lingo-gr.y"
                                                                                    { inNone(); }
-#line 3073 "engines/director/lingo/lingo-gr.cpp"
+#line 3071 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 118:
-#line 558 "engines/director/lingo/lingo-gr.y"
+#line 561 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 3081 "engines/director/lingo/lingo-gr.cpp"
+#line 3079 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 119:
-#line 561 "engines/director/lingo/lingo-gr.y"
+#line 564 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->codeFunc((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 3089 "engines/director/lingo/lingo-gr.cpp"
+#line 3087 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 120:
-#line 564 "engines/director/lingo/lingo-gr.y"
+#line 567 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_open); }
-#line 3095 "engines/director/lingo/lingo-gr.cpp"
+#line 3093 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 121:
-#line 565 "engines/director/lingo/lingo-gr.y"
+#line 568 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code2(LC::c_voidpush, LC::c_open); }
-#line 3101 "engines/director/lingo/lingo-gr.cpp"
+#line 3099 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 122:
-#line 567 "engines/director/lingo/lingo-gr.y"
+#line 570 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_global);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mVar((yyvsp[0].s), kVarGlobal);
 		delete (yyvsp[0].s); }
-#line 3111 "engines/director/lingo/lingo-gr.cpp"
+#line 3109 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 123:
-#line 572 "engines/director/lingo/lingo-gr.y"
+#line 575 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_global);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mVar((yyvsp[0].s), kVarGlobal);
 		delete (yyvsp[0].s); }
-#line 3121 "engines/director/lingo/lingo-gr.cpp"
+#line 3119 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 124:
-#line 578 "engines/director/lingo/lingo-gr.y"
+#line 581 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_property);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mVar((yyvsp[0].s), kVarProperty);
 		delete (yyvsp[0].s); }
-#line 3131 "engines/director/lingo/lingo-gr.cpp"
+#line 3129 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 125:
-#line 583 "engines/director/lingo/lingo-gr.y"
+#line 586 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_property);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mVar((yyvsp[0].s), kVarProperty);
 		delete (yyvsp[0].s); }
-#line 3141 "engines/director/lingo/lingo-gr.cpp"
+#line 3139 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 126:
-#line 589 "engines/director/lingo/lingo-gr.y"
+#line 592 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_instance);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mVar((yyvsp[0].s), kVarInstance);
 		delete (yyvsp[0].s); }
-#line 3151 "engines/director/lingo/lingo-gr.cpp"
+#line 3149 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 127:
-#line 594 "engines/director/lingo/lingo-gr.y"
+#line 597 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_instance);
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		mVar((yyvsp[0].s), kVarInstance);
 		delete (yyvsp[0].s); }
-#line 3161 "engines/director/lingo/lingo-gr.cpp"
+#line 3159 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 128:
-#line 607 "engines/director/lingo/lingo-gr.y"
+#line 610 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoloop); }
-#line 3167 "engines/director/lingo/lingo-gr.cpp"
+#line 3165 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 129:
-#line 608 "engines/director/lingo/lingo-gr.y"
+#line 611 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_gotonext); }
-#line 3173 "engines/director/lingo/lingo-gr.cpp"
+#line 3171 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 130:
-#line 609 "engines/director/lingo/lingo-gr.y"
+#line 612 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoprevious); }
-#line 3179 "engines/director/lingo/lingo-gr.cpp"
+#line 3177 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 131:
-#line 610 "engines/director/lingo/lingo-gr.y"
+#line 613 "engines/director/lingo/lingo-gr.y"
                                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_goto); }
-#line 3188 "engines/director/lingo/lingo-gr.cpp"
+#line 3186 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 132:
-#line 614 "engines/director/lingo/lingo-gr.y"
+#line 617 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_goto); }
-#line 3197 "engines/director/lingo/lingo-gr.cpp"
+#line 3195 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 133:
-#line 618 "engines/director/lingo/lingo-gr.y"
+#line 621 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_goto); }
-#line 3206 "engines/director/lingo/lingo-gr.cpp"
+#line 3204 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 136:
-#line 626 "engines/director/lingo/lingo-gr.y"
+#line 629 "engines/director/lingo/lingo-gr.y"
                                         { // "play #done" is also caught by this
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_play); }
-#line 3215 "engines/director/lingo/lingo-gr.cpp"
+#line 3213 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 137:
-#line 630 "engines/director/lingo/lingo-gr.y"
+#line 633 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_play); }
-#line 3224 "engines/director/lingo/lingo-gr.cpp"
+#line 3222 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 138:
-#line 634 "engines/director/lingo/lingo-gr.y"
+#line 637 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_play); }
-#line 3233 "engines/director/lingo/lingo-gr.cpp"
+#line 3231 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 139:
-#line 638 "engines/director/lingo/lingo-gr.y"
+#line 641 "engines/director/lingo/lingo-gr.y"
                      { g_lingo->codeSetImmediate(true); }
-#line 3239 "engines/director/lingo/lingo-gr.cpp"
+#line 3237 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 140:
-#line 638 "engines/director/lingo/lingo-gr.y"
+#line 641 "engines/director/lingo/lingo-gr.y"
                                                                   {
 		g_lingo->codeSetImmediate(false);
 		g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
 		delete (yyvsp[-2].s); }
-#line 3248 "engines/director/lingo/lingo-gr.cpp"
+#line 3246 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 141:
-#line 668 "engines/director/lingo/lingo-gr.y"
+#line 671 "engines/director/lingo/lingo-gr.y"
              { startDef(); }
-#line 3254 "engines/director/lingo/lingo-gr.cpp"
+#line 3252 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 142:
-#line 668 "engines/director/lingo/lingo-gr.y"
+#line 671 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->_currentFactory.clear(); }
-#line 3260 "engines/director/lingo/lingo-gr.cpp"
+#line 3258 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 143:
-#line 669 "engines/director/lingo/lingo-gr.y"
+#line 672 "engines/director/lingo/lingo-gr.y"
                                                                         {
 		g_lingo->code1(LC::c_procret);
 		g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		endDef();
 		delete (yyvsp[-6].s); }
-#line 3270 "engines/director/lingo/lingo-gr.cpp"
+#line 3268 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 144:
-#line 674 "engines/director/lingo/lingo-gr.y"
+#line 677 "engines/director/lingo/lingo-gr.y"
                         { g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3276 "engines/director/lingo/lingo-gr.cpp"
+#line 3274 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 145:
-#line 675 "engines/director/lingo/lingo-gr.y"
+#line 678 "engines/director/lingo/lingo-gr.y"
                   { startDef(); }
-#line 3282 "engines/director/lingo/lingo-gr.cpp"
+#line 3280 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 146:
-#line 676 "engines/director/lingo/lingo-gr.y"
+#line 679 "engines/director/lingo/lingo-gr.y"
                                                                         {
 		g_lingo->code1(LC::c_procret);
 		g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1, &g_lingo->_currentFactory);
 		endDef();
 		delete (yyvsp[-6].s); }
-#line 3292 "engines/director/lingo/lingo-gr.cpp"
+#line 3290 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 147:
-#line 681 "engines/director/lingo/lingo-gr.y"
+#line 684 "engines/director/lingo/lingo-gr.y"
                                                                    {	// D3
 		g_lingo->code1(LC::c_procret);
 		g_lingo->codeDefine(*(yyvsp[-7].s), (yyvsp[-6].code), (yyvsp[-5].narg));
@@ -3301,70 +3299,70 @@ yyreduce:
 		checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
 		delete (yyvsp[-7].s);
 		delete (yyvsp[-1].s); }
-#line 3305 "engines/director/lingo/lingo-gr.cpp"
+#line 3303 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 148:
-#line 689 "engines/director/lingo/lingo-gr.y"
+#line 692 "engines/director/lingo/lingo-gr.y"
                                                {	// D4. No 'end' clause
 		g_lingo->code1(LC::c_procret);
 		g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		endDef();
 		delete (yyvsp[-5].s); }
-#line 3315 "engines/director/lingo/lingo-gr.cpp"
+#line 3313 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 149:
-#line 695 "engines/director/lingo/lingo-gr.y"
+#line 698 "engines/director/lingo/lingo-gr.y"
          { startDef(); }
-#line 3321 "engines/director/lingo/lingo-gr.cpp"
+#line 3319 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 150:
-#line 695 "engines/director/lingo/lingo-gr.y"
+#line 698 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.s) = (yyvsp[0].s); g_lingo->_currentFactory.clear(); g_lingo->_ignoreMe = true; }
-#line 3328 "engines/director/lingo/lingo-gr.cpp"
+#line 3326 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 151:
-#line 698 "engines/director/lingo/lingo-gr.y"
+#line 701 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 0; }
-#line 3334 "engines/director/lingo/lingo-gr.cpp"
+#line 3332 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 152:
-#line 699 "engines/director/lingo/lingo-gr.y"
+#line 702 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = 1; delete (yyvsp[0].s); }
-#line 3340 "engines/director/lingo/lingo-gr.cpp"
+#line 3338 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 153:
-#line 700 "engines/director/lingo/lingo-gr.y"
+#line 703 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->codeArg((yyvsp[0].s)); mVar((yyvsp[0].s), kVarArgument); (yyval.narg) = (yyvsp[-2].narg) + 1; delete (yyvsp[0].s); }
-#line 3346 "engines/director/lingo/lingo-gr.cpp"
+#line 3344 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 155:
-#line 703 "engines/director/lingo/lingo-gr.y"
+#line 706 "engines/director/lingo/lingo-gr.y"
                                                         { delete (yyvsp[0].s); }
-#line 3352 "engines/director/lingo/lingo-gr.cpp"
+#line 3350 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 156:
-#line 704 "engines/director/lingo/lingo-gr.y"
+#line 707 "engines/director/lingo/lingo-gr.y"
                                                 { delete (yyvsp[0].s); }
-#line 3358 "engines/director/lingo/lingo-gr.cpp"
+#line 3356 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 157:
-#line 706 "engines/director/lingo/lingo-gr.y"
+#line 709 "engines/director/lingo/lingo-gr.y"
                                         { inDef(); }
-#line 3364 "engines/director/lingo/lingo-gr.cpp"
+#line 3362 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 158:
-#line 708 "engines/director/lingo/lingo-gr.y"
+#line 711 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_call);
 		g_lingo->codeString((yyvsp[-1].s)->c_str());
@@ -3372,113 +3370,113 @@ yyreduce:
 		WRITE_UINT32(&numpar, (yyvsp[0].narg));
 		g_lingo->code1(numpar);
 		delete (yyvsp[-1].s); }
-#line 3376 "engines/director/lingo/lingo-gr.cpp"
+#line 3374 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 159:
-#line 716 "engines/director/lingo/lingo-gr.y"
+#line 719 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 0; }
-#line 3382 "engines/director/lingo/lingo-gr.cpp"
+#line 3380 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 160:
-#line 717 "engines/director/lingo/lingo-gr.y"
+#line 720 "engines/director/lingo/lingo-gr.y"
                                                         { (yyval.narg) = 1; }
-#line 3388 "engines/director/lingo/lingo-gr.cpp"
+#line 3386 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 161:
-#line 718 "engines/director/lingo/lingo-gr.y"
+#line 721 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3394 "engines/director/lingo/lingo-gr.cpp"
+#line 3392 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 162:
-#line 720 "engines/director/lingo/lingo-gr.y"
+#line 723 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3400 "engines/director/lingo/lingo-gr.cpp"
+#line 3398 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 163:
-#line 721 "engines/director/lingo/lingo-gr.y"
+#line 724 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3406 "engines/director/lingo/lingo-gr.cpp"
+#line 3404 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 164:
-#line 723 "engines/director/lingo/lingo-gr.y"
+#line 726 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[-1].code); }
-#line 3412 "engines/director/lingo/lingo-gr.cpp"
+#line 3410 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 165:
-#line 725 "engines/director/lingo/lingo-gr.y"
+#line 728 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3418 "engines/director/lingo/lingo-gr.cpp"
+#line 3416 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 166:
-#line 726 "engines/director/lingo/lingo-gr.y"
+#line 729 "engines/director/lingo/lingo-gr.y"
                                                         { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3424 "engines/director/lingo/lingo-gr.cpp"
+#line 3422 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 167:
-#line 727 "engines/director/lingo/lingo-gr.y"
+#line 730 "engines/director/lingo/lingo-gr.y"
                      { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3430 "engines/director/lingo/lingo-gr.cpp"
+#line 3428 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 168:
-#line 728 "engines/director/lingo/lingo-gr.y"
+#line 731 "engines/director/lingo/lingo-gr.y"
                          { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3436 "engines/director/lingo/lingo-gr.cpp"
+#line 3434 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 169:
-#line 730 "engines/director/lingo/lingo-gr.y"
+#line 733 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3442 "engines/director/lingo/lingo-gr.cpp"
+#line 3440 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 170:
-#line 731 "engines/director/lingo/lingo-gr.y"
+#line 734 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3448 "engines/director/lingo/lingo-gr.cpp"
+#line 3446 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 171:
-#line 733 "engines/director/lingo/lingo-gr.y"
+#line 736 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3454 "engines/director/lingo/lingo-gr.cpp"
+#line 3452 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 172:
-#line 734 "engines/director/lingo/lingo-gr.y"
+#line 737 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3460 "engines/director/lingo/lingo-gr.cpp"
+#line 3458 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 173:
-#line 736 "engines/director/lingo/lingo-gr.y"
+#line 739 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3469 "engines/director/lingo/lingo-gr.cpp"
+#line 3467 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 174:
-#line 740 "engines/director/lingo/lingo-gr.y"
+#line 743 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3478 "engines/director/lingo/lingo-gr.cpp"
+#line 3476 "engines/director/lingo/lingo-gr.cpp"
     break;
 
 
-#line 3482 "engines/director/lingo/lingo-gr.cpp"
+#line 3480 "engines/director/lingo/lingo-gr.cpp"
 
       default: break;
     }
@@ -3677,7 +3675,7 @@ yyreturn:
   return yyresult;
 }
 
-#line 746 "engines/director/lingo/lingo-gr.y"
+#line 749 "engines/director/lingo/lingo-gr.y"
 
 
 int yyreport_syntax_error(const yypcontext_t *ctx) {
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 8f5fb41915..a2eb53ffcc 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -109,37 +109,36 @@ extern int yydebug;
     tWHEN = 310,                   /* tWHEN  */
     tWITH = 311,                   /* tWITH  */
     tWHILE = 312,                  /* tWHILE  */
-    tNLELSE = 313,                 /* tNLELSE  */
-    tFACTORY = 314,                /* tFACTORY  */
-    tOPEN = 315,                   /* tOPEN  */
-    tPLAY = 316,                   /* tPLAY  */
-    tINSTANCE = 317,               /* tINSTANCE  */
-    tGE = 318,                     /* tGE  */
-    tLE = 319,                     /* tLE  */
-    tEQ = 320,                     /* tEQ  */
-    tNEQ = 321,                    /* tNEQ  */
-    tAND = 322,                    /* tAND  */
-    tOR = 323,                     /* tOR  */
-    tNOT = 324,                    /* tNOT  */
-    tMOD = 325,                    /* tMOD  */
-    tAFTER = 326,                  /* tAFTER  */
-    tBEFORE = 327,                 /* tBEFORE  */
-    tCONCAT = 328,                 /* tCONCAT  */
-    tCONTAINS = 329,               /* tCONTAINS  */
-    tSTARTS = 330,                 /* tSTARTS  */
-    tCHAR = 331,                   /* tCHAR  */
-    tITEM = 332,                   /* tITEM  */
-    tLINE = 333,                   /* tLINE  */
-    tWORD = 334,                   /* tWORD  */
-    tSPRITE = 335,                 /* tSPRITE  */
-    tINTERSECTS = 336,             /* tINTERSECTS  */
-    tWITHIN = 337,                 /* tWITHIN  */
-    tTELL = 338,                   /* tTELL  */
-    tPROPERTY = 339,               /* tPROPERTY  */
-    tON = 340,                     /* tON  */
-    tENDIF = 341,                  /* tENDIF  */
-    tENDREPEAT = 342,              /* tENDREPEAT  */
-    tENDTELL = 343                 /* tENDTELL  */
+    tFACTORY = 313,                /* tFACTORY  */
+    tOPEN = 314,                   /* tOPEN  */
+    tPLAY = 315,                   /* tPLAY  */
+    tINSTANCE = 316,               /* tINSTANCE  */
+    tGE = 317,                     /* tGE  */
+    tLE = 318,                     /* tLE  */
+    tEQ = 319,                     /* tEQ  */
+    tNEQ = 320,                    /* tNEQ  */
+    tAND = 321,                    /* tAND  */
+    tOR = 322,                     /* tOR  */
+    tNOT = 323,                    /* tNOT  */
+    tMOD = 324,                    /* tMOD  */
+    tAFTER = 325,                  /* tAFTER  */
+    tBEFORE = 326,                 /* tBEFORE  */
+    tCONCAT = 327,                 /* tCONCAT  */
+    tCONTAINS = 328,               /* tCONTAINS  */
+    tSTARTS = 329,                 /* tSTARTS  */
+    tCHAR = 330,                   /* tCHAR  */
+    tITEM = 331,                   /* tITEM  */
+    tLINE = 332,                   /* tLINE  */
+    tWORD = 333,                   /* tWORD  */
+    tSPRITE = 334,                 /* tSPRITE  */
+    tINTERSECTS = 335,             /* tINTERSECTS  */
+    tWITHIN = 336,                 /* tWITHIN  */
+    tTELL = 337,                   /* tTELL  */
+    tPROPERTY = 338,               /* tPROPERTY  */
+    tON = 339,                     /* tON  */
+    tENDIF = 340,                  /* tENDIF  */
+    tENDREPEAT = 341,              /* tENDREPEAT  */
+    tENDTELL = 342                 /* tENDTELL  */
   };
   typedef enum yytokentype yytoken_kind_t;
 #endif
@@ -168,7 +167,7 @@ union YYSTYPE
 		Common::String *field;
 	} objectref;
 
-#line 172 "engines/director/lingo/lingo-gr.h"
+#line 171 "engines/director/lingo/lingo-gr.h"
 
 };
 typedef union YYSTYPE YYSTYPE;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 3dd5680c77..a4017d1763 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -132,8 +132,11 @@ static void mVar(Common::String *s, VarType type) {
 }
 
 %token UNARY
+
+// Datum types
 %token CASTREF VOID VAR POINT RECT ARRAY OBJECT REFERENCE LEXERROR PARRAY
 %token<i> INT ARGC ARGCNORET
+
 %token<e> THEENTITY THEENTITYWITHID THEMENUITEMENTITY THEMENUITEMSENTITY
 %token<f> FLOAT
 %token<s> BLTIN FBLTIN RBLTIN THEFBLTIN
@@ -143,7 +146,7 @@ static void mVar(Common::String *s, VarType type) {
 %token<objectref> THEOBJECTREF
 %token tDOWN tELSE tELSIF tEXIT tGLOBAL tGO tGOLOOP tIF tIN tINTO tMACRO
 %token tMOVIE tNEXT tOF tPREVIOUS tPUT tREPEAT tSET tTHEN tTO tWHEN
-%token tWITH tWHILE tNLELSE tFACTORY tOPEN tPLAY tINSTANCE
+%token tWITH tWHILE tFACTORY tOPEN tPLAY tINSTANCE
 %token tGE tLE tEQ tNEQ tAND tOR tNOT tMOD
 %token tAFTER tBEFORE tCONCAT tCONTAINS tSTARTS tCHAR tITEM tLINE tWORD
 %token tSPRITE tINTERSECTS tWITHIN tTELL tPROPERTY


Commit: 1bf73587514342893888add4d511f95521899f00
    https://github.com/scummvm/scummvm/commit/1bf73587514342893888add4d511f95521899f00
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-06T12:48:08+02:00

Commit Message:
DIRECTOR: LINGO: Added test for additional 'the' entity syntax

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


diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index 9193ad189d..7af82725ee 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -49,3 +49,5 @@ set castname = the name of cast(the castnum of sprite 15)
 set res = the soundBusy of 1
 
 put the sqrt of 9
+
+put 5 into field the number of cast "MasterList"


Commit: aaaffa96d45422abbbc65e75704eabe3afc78a60
    https://github.com/scummvm/scummvm/commit/aaaffa96d45422abbbc65e75704eabe3afc78a60
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-06-06T12:59:06+02:00

Commit Message:
DIRECTOR: LINGO: Added undocumented 'the text of field' entity

Changed paths:
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/tests/the.lingo


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 0e43f30c36..5057b15f94 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -229,6 +229,7 @@ TheEntityField fields[] = {
 	{ kTheCast,		"text",			kTheText,		2 },// D2 p
 
 	// Field fields
+	{ kTheField,	"text",			kTheText,		4 },// 		D3 p undocumented
 	{ kTheField,	"textAlign",	kTheTextAlign,	3 },//		D3 p
 	{ kTheField,	"textFont",		kTheTextFont,	3 },//		D3 p
 	{ kTheField,	"textHeight",	kTheTextHeight,	3 },//		D3 p
diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index 7af82725ee..d68672909e 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -51,3 +51,5 @@ set res = the soundBusy of 1
 put the sqrt of 9
 
 put 5 into field the number of cast "MasterList"
+
+set the text of field 1 = "Hello"




More information about the Scummvm-git-logs mailing list