[Scummvm-git-logs] scummvm master -> 4a96da0d61f7ca460d34ab6f7e9e7dbd212c3095

djsrv dservilla at gmail.com
Sun Jul 19 19:58:30 UTC 2020


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

Summary:
4a96da0d61 DIRECTOR: LINGO: Move error recovery rule to stmt


Commit: 4a96da0d61f7ca460d34ab6f7e9e7dbd212c3095
    https://github.com/scummvm/scummvm/commit/4a96da0d61f7ca460d34ab6f7e9e7dbd212c3095
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-19T15:57:08-04:00

Commit Message:
DIRECTOR: LINGO: Move error recovery rule to stmt

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


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index ce41715b82..88e8917c79 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -814,9 +814,9 @@ union yyalloc
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  99
+#define YYFINAL  100
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1944
+#define YYLAST   1811
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  103
@@ -887,10 +887,10 @@ static const yytype_int16 yyrline[] =
      276,   283,   290,   297,   303,   310,   321,   332,   339,   347,
      348,   350,   351,   356,   369,   373,   376,   368,   403,   407,
      410,   402,   437,   444,   450,   436,   480,   488,   491,   492,
-     494,   496,   498,   505,   513,   514,   516,   522,   526,   530,
-     534,   537,   539,   540,   542,   543,   545,   548,   551,   555,
-     559,   560,   561,   562,   563,   571,   577,   580,   583,   589,
-     590,   591,   592,   598,   598,   603,   606,   614,   616,   617,
+     493,   495,   497,   499,   506,   514,   515,   517,   523,   527,
+     531,   535,   538,   540,   541,   543,   544,   546,   549,   552,
+     556,   560,   561,   562,   563,   564,   572,   578,   581,   584,
+     590,   591,   592,   593,   599,   599,   604,   607,   616,   617,
      619,   620,   621,   622,   623,   624,   625,   626,   627,   628,
      629,   630,   631,   632,   633,   634,   635,   636,   638,   641,
      642,   643,   644,   645,   646,   647,   648,   650,   651,   654,
@@ -967,12 +967,12 @@ static const yytype_int16 yytoknum[] =
 };
 #endif
 
-#define YYPACT_NINF (-328)
+#define YYPACT_NINF (-330)
 
 #define yypact_value_is_default(Yyn) \
   ((Yyn) == YYPACT_NINF)
 
-#define YYTABLE_NINF (-181)
+#define YYTABLE_NINF (-66)
 
 #define yytable_value_is_error(Yyn) \
   0
@@ -981,45 +981,45 @@ static const yytype_int16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     154,  -328,  -328,  -328,  -328,  -328,  -328,  -328,   -42,  -328,
-    1183,  -328,  -328,  -328,   -29,  1329,    88,   124,    97,    97,
-    1410,  1222,  -328,  1410,  -328,  -328,    12,  -328,  1008,  -328,
-    -328,  -328,  -328,  1410,  -328,  -328,  -328,  -328,  -328,  1096,
-    -328,  -328,    97,   -83,  -328,  -328,  1410,  -328,   -24,  1410,
-    -328,  -328,  -328,   596,   699,   802,   905,  1410,  -328,    -3,
-    -328,  1410,  1410,  1410,  1410,  1410,  1410,  1410,  1410,  1410,
-     445,   -20,  -328,  -328,  1451,  -328,  -328,  -328,  -328,    97,
-    -328,    97,  1402,    97,  -328,   -33,  1410,  1410,   -13,     2,
-      31,  -328,  1754,  1451,  -328,    97,  1715,    97,    97,  -328,
-     154,  1303,  1837,    -5,  1837,    97,    -5,    97,  -328,    21,
-    -328,  -328,  1410,  -328,  -328,  -328,  -328,  -328,  1837,  1410,
-    -328,   501,  1484,  1517,  1550,  1804,  -328,  -328,  1767,    23,
-      35,  -328,   -40,  1837,    -2,    34,    40,  -328,  1303,  1410,
-    1410,  1410,  1410,  1410,  1410,  1410,  1410,  1410,  1410,  1410,
-    1410,  1410,  1410,  1410,  1410,  1410,  -328,  -328,  1410,    -4,
-      -4,    -4,   -27,  1410,  1410,  1410,     4,    75,  1410,  1410,
-    1410,  1410,  1410,  1410,  -328,  -328,    67,  -328,  -328,  -328,
-      68,  -328,  -328,    16,  1767,    48,  1410,    43,  -328,   -14,
-      -8,    97,  -328,  1837,  1410,  1410,  1410,  1410,  1410,  1410,
-    1410,  1410,  1410,  1410,  -328,  1410,  1410,  1410,  -328,  1410,
-     192,    19,    54,   -58,   -58,   -58,   -58,  1850,  1850,  -328,
-     -44,   -58,   -58,   -58,   -58,   -44,   -54,   -54,  -328,  -328,
-      97,   125,  -328,  -328,  -328,  -328,  -328,  -328,  1410,  1410,
-    1837,  1837,  1837,  1410,  1410,    97,  1837,  1837,  1837,  1837,
-    1837,  1837,    97,  1107,  1019,    97,  -328,  -328,  -328,  1837,
-    1019,  -328,    97,  -328,  -328,  -328,  1583,  -328,  1616,  -328,
-    1649,  -328,  1682,  -328,  -328,  1837,  1837,  1837,  1837,    23,
-      35,    70,  -328,  -328,  -328,  -328,    -6,  1410,  1837,   437,
-    -328,  1837,  1837,  1410,  -328,  -328,  -328,  -328,    72,  -328,
-    1410,  -328,  1019,  -328,  1019,  1410,  1410,  1410,  1410,  1410,
-    -328,  1837,  -328,  -328,  -328,  1019,    22,  -328,    83,  1019,
-    1837,    64,  -328,   147,  -328,  -328,  -328,  -328,  -328,    66,
-    1019,  -328,  -328,  -328,  -328,  1410,  1410,  -328,  -328,  -328,
-    1410,    24,    97,  -328,  -328,  -328,   122,   146,    98,  1837,
-    1837,  1837,  1019,  1410,  -328,   104,  -328,    91,  -328,  1410,
-     143,  -328,  -328,  1837,  -328,    97,  -328,  1837,  1410,   113,
-     149,  -328,  1019,  -328,  1837,  -328,  1019,   114,  -328,  -328,
-    -328,  -328,  1019,  -328,  -328,   117,  1019,  -328,   121,  -328
+     523,   -81,  -330,  -330,  -330,  -330,  -330,  -330,  -330,   -28,
+    -330,   925,  -330,  -330,  -330,     9,  1039,    -3,   133,    81,
+      81,  1120,  1006,  -330,  1120,  -330,  -330,     7,  -330,  1146,
+    -330,  -330,  -330,  -330,  1120,  -330,  -330,  -330,  -330,  -330,
+    -330,  1120,  -330,  -330,    81,  -330,  -330,  1120,  -330,    20,
+    1120,  -330,  -330,  -330,  1227,  1227,  1227,  1227,  1120,  -330,
+       2,  -330,  1120,  1120,  1120,  1120,  1120,  1120,  1120,  1120,
+    1120,   886,   -23,  -330,  -330,  1285,  -330,  -330,  -330,  -330,
+      81,  -330,    81,  1252,    81,  -330,   -43,  1120,  1120,   -38,
+      -9,    24,  -330,  1621,  1285,  -330,    81,  1582,    81,    81,
+    -330,   523,  1120,  1704,   -20,  1704,    81,   -20,    81,  -330,
+     -16,  -330,  1120,  -330,  -330,  -330,  -330,  -330,  1704,  1120,
+    -330,  1318,  1351,  1384,  1417,  1671,  -330,  -330,  1634,   -13,
+      -5,  -330,   -73,  1704,    21,    30,    38,  -330,  1120,  1120,
+    1120,  1120,  1120,  1120,  1120,  1120,  1120,  1120,  1120,  1120,
+    1120,  1120,  1120,  1120,  1120,  1120,  -330,  -330,  1120,   232,
+     232,   232,   -21,  1120,  1120,  1120,     5,    33,  1120,  1120,
+    1120,  1120,  1120,  1120,  -330,  -330,    50,  -330,  -330,  -330,
+      56,  -330,  -330,    29,  1634,    12,  1120,   103,  -330,   -69,
+     -35,    81,  -330,  1704,  1120,  1120,  1120,  1120,  1120,  1120,
+    1120,  1120,  1120,  1120,  -330,  1120,  1120,  1120,  -330,  1120,
+      61,    34,    41,   -59,   -59,   -59,   -59,  1717,  1717,  -330,
+     -55,   -59,   -59,   -59,   -59,   -55,   -52,   -52,  -330,  -330,
+      81,   114,  -330,  -330,  -330,  -330,  -330,  -330,  1120,  1120,
+    1704,  1704,  1704,  1120,  1120,    81,  1704,  1704,  1704,  1704,
+    1704,  1704,    81,   307,   683,    81,  -330,  -330,  -330,  1704,
+     161,  -330,    81,  -330,  -330,  -330,  1450,  -330,  1483,  -330,
+    1516,  -330,  1549,  -330,  -330,  1704,  1704,  1704,  1704,   -13,
+      -5,    66,  -330,  -330,  -330,  -330,    -8,  1120,  1704,  1200,
+    -330,  1704,  1704,  1120,  -330,  -330,  -330,  -330,    73,  -330,
+    1120,  -330,   596,  -330,   649,  1120,  1120,  1120,  1120,  1120,
+    -330,  1704,  -330,  -330,  -330,   749,     8,  -330,    83,   448,
+    1704,    47,  -330,   144,  -330,  -330,  -330,  -330,  -330,    49,
+     649,  -330,  -330,  -330,  -330,  1120,  1120,  -330,  -330,  -330,
+    1120,   117,    81,  -330,  -330,  -330,   119,   140,    91,  1704,
+    1704,  1704,   810,  1120,  -330,    94,  -330,    84,  -330,  1120,
+     128,  -330,  -330,  1704,  -330,    81,  -330,  1704,  1120,    99,
+     134,  -330,   749,  -330,  1704,  -330,   161,   100,  -330,  -330,
+    -330,  -330,   749,  -330,  -330,   102,   749,  -330,   104,  -330
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1027,68 +1027,68 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       4,     7,   156,   161,     8,     9,    10,    11,   125,   126,
-       0,   145,    60,   158,     0,     0,     0,     0,     0,     0,
-       0,     0,   130,     0,   128,   165,     0,     2,     0,    29,
-      31,     6,    32,     0,    30,   122,   123,     5,    61,     0,
-      61,   124,     0,     0,    66,    74,     0,    67,     0,     0,
-      69,    68,    78,     0,     0,     0,     0,     0,   146,     0,
-     147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    86,    88,    90,   148,   117,    73,   150,    81,     0,
-      46,     0,   121,     0,    61,     0,     0,     0,     0,     0,
-       0,   160,   133,   153,   155,     0,     0,     0,     0,     1,
-       4,     0,   175,   138,    57,   167,   157,   167,   139,   127,
-      87,    75,     0,    76,   118,   108,   119,   120,   152,     0,
-      72,     0,     0,     0,     0,     0,    70,    71,     0,    69,
-      68,   181,    86,   184,     0,   183,   182,   186,     0,     0,
+       0,     0,     7,   156,   161,     8,     9,    10,    11,   125,
+     126,     0,   145,    61,   158,     0,     0,     0,     0,     0,
+       0,     0,     0,   130,     0,   128,   165,     0,     2,   174,
+      29,    31,     6,    32,     0,    30,   122,   123,     5,    62,
+      50,   174,    62,   124,     0,    67,    75,     0,    68,     0,
+       0,    70,    69,    79,     8,     9,    10,    11,     0,   146,
+       0,   147,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   180,    87,    88,    90,   148,   117,    74,   150,    82,
+       0,    46,     0,   121,     0,    62,     0,     0,     0,     0,
+       0,     0,   160,   133,   153,   155,     0,     0,     0,     0,
+       1,     0,   174,   175,   138,    58,   167,   157,   167,   139,
+     127,    76,     0,    77,   118,   108,   119,   120,   152,     0,
+      73,     0,     0,     0,     0,     0,    71,    72,     0,    70,
+      69,   181,    87,   184,     0,   183,   182,   186,   174,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   149,    61,     0,     0,
+       0,     0,     0,     0,     0,     0,   149,    62,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   154,   143,   131,    51,    51,   141,
-     129,   166,     3,    86,   175,     0,     0,     0,   168,     0,
-       0,     0,    77,   151,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   154,   143,   131,    52,    52,   141,
+     129,   166,     3,    87,   175,     0,     0,     0,   168,     0,
+       0,     0,    78,   151,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    89,     0,     0,     0,   179,     0,
-       0,    86,     0,   100,   101,    98,    99,   102,   103,    95,
+       0,    87,     0,   100,   101,    98,    99,   102,   103,    95,
      105,   106,   107,    97,    96,   104,    91,    92,    93,    94,
      167,     0,    12,    13,    15,    16,    17,    18,     0,     0,
-      57,    22,    20,     0,     0,     0,    27,    28,    21,    19,
-      47,   132,     0,     0,    64,     0,   134,   135,   137,   176,
-      64,   173,     0,   173,   140,   109,     0,   111,     0,   113,
-       0,   115,     0,    79,    80,   189,   188,   190,   185,     0,
-       0,     0,   187,    82,    83,    85,     0,     0,    42,    34,
-      50,    23,    24,     0,   144,    61,    65,    61,    62,   142,
-       0,    58,    64,   169,    64,     0,     0,     0,     0,     0,
-     173,    14,    61,    59,    59,    64,     0,    49,     0,    64,
-     177,     0,    54,   164,   162,   110,   112,   114,   116,     0,
-      64,    43,    35,    39,    58,     0,     0,    48,    63,   136,
-       0,    61,   170,    84,   159,    57,     0,     0,     0,    25,
-      26,   178,    64,     0,    55,     0,   171,   163,    44,     0,
-       0,    33,    61,    57,    52,     0,    50,    36,     0,     0,
-       0,   172,    64,    57,    40,    53,    64,     0,    50,    57,
-      58,    45,    64,    50,    56,     0,    64,    37,     0,    41
+      58,    22,    20,     0,     0,     0,    27,    28,    21,    19,
+      47,   132,     0,     0,     0,     0,   134,   135,   137,   176,
+       0,   173,     0,   173,   140,   109,     0,   111,     0,   113,
+       0,   115,     0,    80,    81,   189,   188,   190,   185,     0,
+       0,     0,   187,    83,    84,    86,     0,     0,    42,    34,
+      51,    23,    24,     0,   144,    62,    66,    62,    63,   142,
+       0,    59,     0,   169,     0,     0,     0,     0,     0,     0,
+     173,    14,    62,    60,    60,     0,     0,    49,     0,     0,
+     177,     0,    55,   164,   162,   110,   112,   114,   116,     0,
+       0,    43,    35,    39,    59,     0,     0,    48,    64,   136,
+       0,    62,   170,    85,   159,    58,     0,     0,     0,    25,
+      26,   178,     0,     0,    56,     0,   171,   163,    44,     0,
+       0,    33,    62,    58,    53,     0,    51,    36,     0,     0,
+       0,   172,     0,    58,    40,    54,     0,     0,    51,    58,
+      59,    45,     0,    51,    57,     0,     0,    37,     0,    41
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -328,  -328,   108,     0,  -328,   -32,     3,  -328,  -328,  -328,
-    -328,  -328,  -328,  -328,  -328,  -328,  -291,    33,  -328,  -328,
-    -328,  -239,  -327,   -95,  -328,   -38,  -250,  -328,    56,  -328,
-     -23,   248,   -10,  -328,  -328,  -328,  -328,  -328,  -328,  -328,
-    -328,  -328,  -328,   -15,  -328,  -328,  -328,  -328,  -328,  -328,
-    -328,  -103,  -328,  -255,   -34,   -89,  -328,  -328,  -328,  -328,
-      17
+    -330,  -330,    95,     0,  -330,   -49,     3,  -330,  -330,  -330,
+    -330,  -330,  -330,  -330,  -330,  -330,  -308,    27,  -330,  -330,
+    -330,  -238,  -329,  -108,  -330,   -36,  -252,  -330,    62,  -330,
+     -22,   258,   -17,  -330,  -330,  -330,  -330,  -330,  -330,  -330,
+    -330,  -330,  -330,   -18,  -330,  -330,  -330,  -330,  -330,  -330,
+    -330,  -107,  -330,  -254,   -29,  -102,  -330,  -330,  -330,  -330,
+      -1
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    26,    27,    71,    29,    30,   296,   313,   346,   373,
-     314,   347,   379,   312,   345,   366,   315,   253,    32,   341,
-     354,   187,   322,   332,    33,   105,   297,   298,    72,   309,
-      73,   102,    75,    76,    34,    42,    97,    95,   300,   109,
-     180,   176,    35,    77,    36,    39,    37,    79,    40,    38,
-      98,   189,   357,   302,   103,   321,    78,   134,   135,   136,
+      -1,    27,    28,    72,    30,    31,   296,   313,   346,   373,
+     314,   347,   379,   312,   345,   366,   315,   253,    33,   341,
+     354,   187,   322,   332,    34,   106,   297,   298,    73,   309,
+      74,   103,    76,    77,    35,    44,    98,    96,   300,   110,
+     180,   176,    36,    78,    37,    41,    38,    80,    42,    39,
+      99,   189,   357,   302,   104,   321,    79,   134,   135,   136,
      137
 };
 
@@ -1097,357 +1097,334 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      28,   290,   107,    31,   190,   106,    94,   348,   304,    41,
-     301,   145,    99,   110,   146,   145,   238,    89,    90,    91,
-       1,   164,    80,   111,   112,   145,   113,     4,    54,     6,
-       7,   165,   151,   152,   153,   154,   155,   239,   120,   154,
-     155,   168,   108,   119,   126,   127,   163,   152,   153,   154,
-     155,   169,   323,   384,   324,   330,   170,   138,   243,   156,
-     352,   353,   207,   166,   167,   334,   171,   185,   244,   338,
-     132,    62,    63,    64,    65,   372,   335,   138,   174,   157,
-     344,   158,   261,   162,   172,   262,   336,   382,   263,   192,
-     310,   262,   386,   262,   186,   175,   260,   179,   181,   208,
-      28,   183,   362,    31,   212,   188,   358,   188,   100,   114,
-     115,   116,   117,   138,   256,   257,   138,   283,   284,   230,
-     191,     1,   377,   245,   370,   205,   380,   286,     4,     5,
-       6,     7,   385,   209,   378,   231,   388,   206,   211,   210,
-     383,    85,    86,    87,    83,    84,   258,   186,     1,   233,
-     235,   237,   285,   186,    88,     4,     5,     6,     7,   232,
-     234,   236,   339,   340,   343,   340,   252,   255,   319,   287,
-     337,   265,   207,   267,   342,   269,   359,   271,     1,   273,
-     274,   360,     2,     3,   361,     4,     5,     6,     7,   364,
-     365,   264,     8,     9,    10,    11,    12,   368,   375,    13,
-     381,    14,   376,   387,    15,    16,    17,   389,   182,    18,
-     281,   254,    19,    20,    21,    22,     1,   279,   280,   333,
-     329,   295,     0,     4,     5,     6,     7,   282,     0,     0,
-     188,     0,     0,     0,     0,     0,    23,    24,    25,     0,
-       0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
-       0,     0,   294,    28,    28,   299,     0,   317,    74,   318,
-      28,     0,   303,    82,     0,     0,     0,     0,    92,    93,
-     316,    96,     0,     0,   331,     0,     0,     0,     0,     0,
-       0,   104,   325,   326,   327,   328,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    28,   355,    28,   118,     0,     0,     0,     0,
-     121,   122,   123,   124,   125,    28,     0,   128,   133,    28,
-       0,     0,     0,     0,   369,     0,     0,     0,     0,     0,
-      28,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   356,     0,     0,     0,     0,     0,     0,   184,
-       0,     0,    28,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   371,     0,   193,     0,     0,
-       0,     0,    28,     0,     0,     0,    28,     0,     0,     0,
-       0,     0,    28,     0,     0,     0,    28,   213,   214,   215,
+      29,   190,   290,    32,    95,   348,   108,   100,   301,   304,
+     145,   164,   107,   146,   145,    40,   168,   145,    90,    91,
+      92,   165,   238,    43,   138,   111,   169,   261,   113,   207,
+     262,   151,   152,   153,   154,   155,   152,   153,   154,   155,
+     120,   154,   155,   239,   109,   170,   126,   127,   119,   163,
+     323,   384,   324,    84,    85,   171,   330,   156,   372,   243,
+      81,   263,   335,   334,   262,   166,   167,   338,   112,   244,
+     382,   132,   336,   185,   138,   386,   174,   172,   344,   186,
+     157,   245,   158,   191,   162,     2,   279,   280,   310,   205,
+     192,   262,     5,     6,     7,     8,   175,   206,   179,   181,
+     362,    29,   183,   101,    32,     2,   188,   358,   188,   212,
+     258,   186,     5,     6,     7,     8,   114,   115,   116,   117,
+     377,   230,   208,   286,   380,   370,   138,   256,   257,   209,
+     385,   138,   283,   284,   388,   378,   231,   210,   211,   285,
+     186,   383,   233,   235,   237,   339,   340,   343,   340,   252,
+      86,    87,    88,   352,   353,   255,   260,     2,   287,   232,
+     234,   236,     1,    89,     5,     6,     7,     8,   207,   319,
+     337,   342,   265,   359,   267,   360,   269,   361,   271,   364,
+     273,   274,   368,   365,   375,     2,   381,   376,   387,     3,
+     389,   264,     5,     6,     7,     8,   182,   -65,   -65,     9,
+      10,    11,    12,    13,   295,   254,   333,   329,    15,   282,
+     281,    16,    17,    18,     0,     0,    19,     0,     0,     0,
+      21,    22,    23,     0,     0,     0,     0,     0,     0,     0,
+     188,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    24,    25,   293,   -65,     0,     0,     0,
+       0,     0,   294,    29,    29,   299,     2,   -65,     0,   317,
+      29,   318,   303,     5,    55,     7,     8,     0,     0,    75,
+       0,   316,     0,     0,    83,     0,   331,     0,     0,    93,
+      94,     0,    97,   325,   326,   327,   328,     0,     0,     0,
+       0,     0,   105,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    29,     0,    29,   355,     0,    63,    64,    65,
+      66,     0,     0,     0,     0,    29,   118,     0,     0,    29,
+       0,   121,   122,   123,   124,   125,   369,     0,   128,   133,
+      29,     2,     0,     0,     0,     3,     0,     0,     5,     6,
+       7,     8,   356,     0,     0,     9,    10,    11,    12,     0,
+       0,     0,    29,     0,     0,     0,     0,    16,     0,    18,
+     184,     0,     0,     0,     0,   371,    21,    22,    23,     0,
+       0,     0,    29,     0,     0,     0,    29,   193,     0,     0,
+       0,     0,    29,     0,     0,     0,    29,     0,     0,     0,
+      25,     0,     0,     0,     0,     0,     0,   213,   214,   215,
      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
      226,   227,   228,   229,     0,     0,     0,     0,     0,     0,
        0,   240,   241,   242,     0,     0,   246,   247,   248,   249,
      250,   251,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
-       0,     0,     0,   266,     0,   268,    43,   270,     0,   272,
-       0,     0,     0,   275,   276,   277,     0,   278,     0,    44,
-       0,     0,    45,    46,     0,     0,    47,    48,    49,     1,
-     129,   130,   -38,     0,     0,    52,    53,    54,    55,    56,
-       0,     0,     0,     0,     0,     0,   288,   289,     0,     0,
-       0,   291,   292,     0,     0,     0,     0,     0,     0,   139,
-     140,   141,   142,   143,   144,     0,   145,     0,     0,   146,
-     147,   148,     0,    61,     0,     0,     0,     0,     0,     0,
-      62,    63,    64,    65,    66,   149,   150,   151,   152,   153,
-     154,   155,     0,     0,     0,   311,    67,    68,     0,     0,
-       0,     0,    69,     0,     0,    70,  -180,   131,   320,   194,
-       0,     0,     0,     0,     0,   195,     0,   320,     0,     0,
-       0,     0,     0,   139,   140,   141,   142,   143,   144,     0,
-     145,     0,     0,   146,   147,   148,     0,     0,     0,     0,
-       0,     0,     0,   349,   350,     0,     0,     0,   351,   149,
-     150,   151,   152,   153,   154,   155,    -8,    43,     0,     0,
-       0,   363,     0,     0,     0,     0,     0,   367,     0,     0,
-      44,     0,     0,    45,    46,     0,   374,    47,    48,    49,
-       1,    50,    51,    -8,    -8,     0,    52,    53,    54,    55,
-      56,    -8,    -8,    -8,    -8,    -8,    -8,    -8,    -8,     0,
-      -8,     0,    -8,    -8,    -8,     0,    -8,    -8,    -8,    -8,
-      -8,    -8,    -8,     0,     0,    -8,    -8,    -8,    -8,    -8,
-      -8,    -8,    -8,    -8,    61,    -8,    -8,    -8,    -8,    -8,
-      -8,    62,    63,    64,    65,    66,    -8,    -8,    -8,    -8,
-       0,    -8,    -8,    -8,    -8,    -8,    -8,    -8,    -8,    -8,
-      -8,     0,    -8,    -8,    -8,    -8,    70,    -8,    -8,    -9,
-      43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    44,     0,     0,    45,    46,     0,     0,
-      47,    48,    49,     1,    50,    51,    -9,    -9,     0,    52,
-      53,    54,    55,    56,    -9,    -9,    -9,    -9,    -9,    -9,
-      -9,    -9,     0,    -9,     0,    -9,    -9,    -9,     0,    -9,
-      -9,    -9,    -9,    -9,    -9,    -9,     0,     0,    -9,    -9,
-      -9,    -9,    -9,    -9,    -9,    -9,    -9,    61,    -9,    -9,
-      -9,    -9,    -9,    -9,    62,    63,    64,    65,    66,    -9,
-      -9,    -9,    -9,     0,    -9,    -9,    -9,    -9,    -9,    -9,
-      -9,    -9,    -9,    -9,     0,    -9,    -9,    -9,    -9,    70,
-      -9,    -9,   -10,    43,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    44,     0,     0,    45,
-      46,     0,     0,    47,    48,    49,     1,    50,    51,   -10,
-     -10,     0,    52,    53,    54,    55,    56,   -10,   -10,   -10,
-     -10,   -10,   -10,   -10,   -10,     0,   -10,     0,   -10,   -10,
-     -10,     0,   -10,   -10,   -10,   -10,   -10,   -10,   -10,     0,
-       0,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,
-      61,   -10,   -10,   -10,   -10,   -10,   -10,    62,    63,    64,
-      65,    66,   -10,   -10,   -10,   -10,     0,   -10,   -10,   -10,
-     -10,   -10,   -10,   -10,   -10,   -10,   -10,     0,   -10,   -10,
-     -10,   -10,    70,   -10,   -10,   -11,    43,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    44,
-       0,     0,    45,    46,     0,     0,    47,    48,    49,     1,
-      50,    51,   -11,   -11,     0,    52,    53,    54,    55,    56,
-     -11,   -11,   -11,   -11,   -11,   -11,   -11,   -11,     0,   -11,
-       0,   -11,   -11,   -11,     0,   -11,   -11,   -11,   -11,   -11,
-     -11,   -11,     0,     0,   -11,   -11,   -11,   -11,   -11,   -11,
-     -11,   -11,   -11,    61,   -11,   -11,   -11,   -11,   -11,   -11,
-      62,    63,    64,    65,    66,   -11,   -11,   -11,   -11,     0,
-     -11,   -11,   -11,   -11,   -11,   -11,   -11,   -11,   -11,   -11,
-       0,   -11,   -11,   -11,   -11,    70,   -11,   -11,  -174,    43,
+       0,     0,     0,     0,   259,     0,     0,     0,   -65,     1,
+       0,     0,     0,   266,     0,   268,     0,   270,     0,   272,
+       0,     0,     0,   275,   276,   277,     0,   278,     0,     0,
+       0,     0,     2,     0,     0,   -65,     3,     0,     0,     5,
+       6,     7,     8,     0,   -65,   -65,     9,    10,    11,    12,
+      13,     0,     0,     0,     0,    15,   288,   289,    16,    17,
+      18,   291,   292,    19,     0,     0,     0,    21,    22,    23,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    -4,     1,     0,     0,     0,     0,     0,
+      24,    25,     0,   -65,   -65,   -65,     0,     0,     0,     0,
+       0,     0,     0,     0,   -65,   311,     0,     2,     0,     0,
+       0,     3,     4,     0,     5,     6,     7,     8,   320,     0,
+       0,     9,    10,    11,    12,    13,     0,   320,    14,     0,
+      15,     0,     0,    16,    17,    18,     0,     0,    19,     0,
+       0,    20,    21,    22,    23,     0,     0,     0,     0,     0,
+       0,     0,     0,   349,   350,     0,   -65,     1,   351,     0,
+       0,     0,     0,     0,     0,    24,    25,    26,     0,     0,
+       0,   363,     0,     0,     0,     0,     0,   367,     0,    -4,
+       2,     0,     0,   -65,     3,     0,   374,     5,     6,     7,
+       8,     0,     0,     0,     9,    10,    11,    12,    13,     0,
+       0,     0,     0,    15,     0,     0,    16,    17,    18,   -65,
+       1,    19,     0,     0,     0,    21,    22,    23,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    44,     0,     0,    45,    46,     0,     0,    47,
-      48,    49,     1,    50,    51,  -174,     0,     0,    52,    53,
-      54,    55,    56,     1,  -174,  -174,     0,     2,     0,     0,
-       4,     5,     6,     7,     0,     0,     0,     8,     9,    10,
-      11,    12,     0,     0,     0,     0,    14,     0,     0,    15,
-      16,    17,     0,     0,    18,     0,    61,     0,    20,    21,
-      22,     0,     0,    62,    63,    64,    65,    66,     0,     0,
-       0,     0,     0,  -174,  -174,  -174,  -174,    43,     0,    67,
-      68,    23,    24,     0,  -174,   101,     0,  -174,    70,     0,
-      44,     0,     0,    45,    46,     0,     0,    47,    48,    49,
-       1,    50,    51,  -174,     0,     0,    52,    53,    54,    55,
-      56,     1,  -174,  -174,     0,     2,     0,     0,     4,     5,
-       6,     7,     0,     0,     0,     8,     9,    10,    11,     0,
-       0,     0,     0,     0,     0,     0,     0,    15,     0,    17,
-       0,     0,     0,     0,    61,     0,    20,    21,    22,     0,
-       0,    62,    63,    64,    65,    66,     0,     0,     0,     0,
-       0,  -174,  -174,  -174,    43,     0,     0,    67,    68,     0,
-      24,     0,  -174,    69,     0,  -174,    70,    44,     0,     0,
-      45,    46,     0,     0,    47,    48,    49,     1,    50,    51,
-       0,     0,     0,    52,    53,    54,    55,    56,     0,     0,
-       0,     0,     0,    43,     0,     0,     0,     0,     0,    57,
-      58,    59,    60,     0,     0,     0,    44,     0,     0,    45,
-      46,     0,     0,    47,    48,    49,     1,    50,    51,     0,
-       0,    61,    52,    53,    54,    55,    56,     0,    62,    63,
-      64,    65,    66,     0,     0,     0,     0,     0,    57,     0,
-      59,     0,     0,     0,    67,    68,     0,     0,     0,     0,
-      69,     0,     0,    70,     0,     0,     0,     0,     0,     0,
-      61,     0,     0,     0,     0,     0,     0,    62,    63,    64,
-      65,    66,     0,     0,    43,     0,     0,     0,     0,     0,
-       0,     0,     0,    67,    68,     0,     0,    44,     0,    69,
-      45,    46,    70,     0,    47,    48,    49,     1,    50,    51,
-      43,     0,     0,    52,    53,    54,    55,    56,     0,     0,
-       0,     0,     0,    44,     0,     0,    45,    46,     0,    81,
-      47,    48,    49,     1,    50,    51,     0,     0,     0,    52,
-      53,    54,    55,    56,     0,     0,     0,     0,     0,     0,
-       0,    61,     0,     0,     0,     0,     0,     0,    62,    63,
-      64,    65,    66,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    67,    68,     0,    61,     0,     0,
-      69,  -174,  -174,    70,    62,    63,    64,    65,    66,     0,
-       0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
-      67,    68,     0,     0,    44,     0,    69,    45,    46,    70,
-       0,    47,    48,    49,     1,    50,    51,     0,     0,     0,
-      52,    53,    54,    55,    56,     0,   159,     0,     0,     0,
+       0,     0,     0,     2,     0,     0,     0,     3,    24,    25,
+       5,     6,     7,     8,     1,     0,     0,     9,    10,    11,
+      12,    13,   -65,     0,     0,     0,    15,     0,     0,    16,
+      17,    18,     0,     0,    19,     0,     0,     2,    21,    22,
+      23,     3,     0,     0,     5,     6,     7,     8,     0,     0,
+       0,     9,    10,    11,    12,    13,     0,     0,     0,     0,
+      15,    24,    25,    16,    17,    18,     0,     0,    19,     0,
+       0,     0,    21,    22,    23,   -65,     0,     0,     0,     0,
+       1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    24,    25,     0,     0,     0,
+     -65,     0,     0,     2,     0,     0,     0,     3,     0,   -65,
+       5,     6,     7,     8,     0,     0,     0,     9,    10,    11,
+      12,    13,     0,     0,     0,     0,    15,     0,     0,    16,
+      17,    18,     0,     0,    19,     0,     0,     0,    21,    22,
+      23,     1,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    24,    25,     0,     2,   -65,     0,     0,     3,     0,
+       0,     5,     6,     7,     8,   -65,     0,     0,     9,    10,
+      11,    12,    13,     0,     0,     0,     0,    15,     0,     0,
+      16,    17,    18,     0,     0,    19,     0,     0,     0,    21,
+      22,    23,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    24,    25,     0,   -65,     0,     0,     0,     0,
+      45,     0,     0,    46,    47,     0,   -65,    48,    49,    50,
+       2,   129,   130,     0,     0,     0,    53,    54,    55,    56,
+      57,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
+       0,     0,    46,    47,     0,     0,    48,    49,    50,     2,
+      51,    52,     0,     0,    62,    53,    54,    55,    56,    57,
+       0,    63,    64,    65,    66,    67,     0,     0,     0,     0,
+       0,    58,    59,    60,    61,     0,     0,    68,    69,     0,
+       0,     0,     0,    70,     0,     0,    71,     0,   131,     0,
+       0,     0,     0,    62,     0,     0,     0,     0,     0,     0,
+      63,    64,    65,    66,    67,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    68,    69,     0,     0,
+      45,     0,    70,    46,    47,    71,     0,    48,    49,    50,
+       2,    51,    52,     0,     0,     0,    53,    54,    55,    56,
+      57,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    58,    45,    60,     0,    46,    47,     0,    82,
+      48,    49,    50,     2,    51,    52,     0,     0,     0,    53,
+      54,    55,    56,    57,    62,     0,     0,     0,     0,     0,
+       0,    63,    64,    65,    66,    67,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    68,    69,     0,
+       0,     0,     0,    70,     0,     0,    71,    62,     0,     0,
+       0,     0,     0,     0,    63,    64,    65,    66,    67,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      68,    69,     0,     0,    45,     0,    70,    46,    47,    71,
+       0,    48,    49,    50,     2,    51,    52,     0,     0,     0,
+      53,    54,    55,    56,    57,     0,     0,     0,     0,     0,
+      45,     0,     0,    46,    47,     0,     0,    48,    49,    50,
+       2,    51,    52,     0,     0,     0,    53,    54,    55,    56,
+      57,     0,     0,     0,     0,     0,     0,     0,    62,     0,
+       0,     0,     0,     0,     0,    63,    64,    65,    66,    67,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    68,    69,     0,    62,     0,     0,    70,     0,     0,
+      71,    63,    64,    65,    66,    67,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   -38,     0,    68,    69,     0,
+       0,    45,     0,   102,    46,    47,    71,     0,    48,    49,
+      50,     2,    51,    52,     0,     0,     0,    53,    54,    55,
+      56,    57,   139,   140,   141,   142,   143,   144,     0,   145,
+       0,     0,   146,   147,   148,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   149,   150,
+     151,   152,   153,   154,   155,    62,   159,     0,     0,     0,
+       0,     0,    63,    64,    65,    66,    67,     0,     0,     0,
        0,     0,     0,     0,   139,   140,   141,   142,   143,   144,
-       0,   145,   160,   161,   146,   147,   148,     0,    61,     0,
-       0,     0,     0,     0,     0,    62,    63,    64,    65,    66,
-     149,   150,   151,   152,   153,   154,   155,    57,     0,    59,
-       0,    67,    68,     0,     0,     0,     0,    69,     0,     0,
-      70,     0,     0,   139,   140,   141,   142,   143,   144,     0,
+       0,   145,   160,   161,   146,   147,   148,    71,     0,     0,
+       0,    58,     0,    60,     0,     0,     0,     0,     0,     0,
+     149,   150,   151,   152,   153,   154,   155,   139,   140,   141,
+     142,   143,   144,     0,   145,     0,     0,   146,   147,   148,
+       0,     0,     0,     0,     0,     0,   194,     0,     0,     0,
+       0,     0,   195,   149,   150,   151,   152,   153,   154,   155,
+     139,   140,   141,   142,   143,   144,     0,   145,     0,     0,
+     146,   147,   148,     0,     0,     0,     0,     0,     0,   196,
+       0,     0,     0,     0,     0,   197,   149,   150,   151,   152,
+     153,   154,   155,   139,   140,   141,   142,   143,   144,     0,
      145,     0,     0,   146,   147,   148,     0,     0,     0,     0,
-       0,     0,   196,     0,     0,     0,     0,     0,   197,   149,
+       0,     0,   198,     0,     0,     0,     0,     0,   199,   149,
      150,   151,   152,   153,   154,   155,   139,   140,   141,   142,
      143,   144,     0,   145,     0,     0,   146,   147,   148,     0,
-       0,     0,     0,     0,     0,   198,     0,     0,     0,     0,
-       0,   199,   149,   150,   151,   152,   153,   154,   155,   139,
+       0,     0,     0,     0,     0,   200,     0,     0,     0,     0,
+       0,   201,   149,   150,   151,   152,   153,   154,   155,   139,
      140,   141,   142,   143,   144,     0,   145,     0,     0,   146,
-     147,   148,     0,     0,     0,     0,     0,     0,   200,     0,
-       0,     0,     0,     0,   201,   149,   150,   151,   152,   153,
+     147,   148,     0,     0,     0,     0,     0,     0,   305,     0,
+       0,     0,     0,     0,     0,   149,   150,   151,   152,   153,
      154,   155,   139,   140,   141,   142,   143,   144,     0,   145,
        0,     0,   146,   147,   148,     0,     0,     0,     0,     0,
-       0,   305,     0,     0,     0,     0,     0,     0,   149,   150,
+       0,   306,     0,     0,     0,     0,     0,     0,   149,   150,
      151,   152,   153,   154,   155,   139,   140,   141,   142,   143,
      144,     0,   145,     0,     0,   146,   147,   148,     0,     0,
-       0,     0,     0,     0,   306,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   307,     0,     0,     0,     0,     0,
        0,   149,   150,   151,   152,   153,   154,   155,   139,   140,
      141,   142,   143,   144,     0,   145,     0,     0,   146,   147,
-     148,     0,     0,     0,     0,     0,     0,   307,     0,     0,
+     148,     0,     0,     0,     0,     0,     0,   308,     0,     0,
        0,     0,     0,     0,   149,   150,   151,   152,   153,   154,
      155,   139,   140,   141,   142,   143,   144,     0,   145,     0,
        0,   146,   147,   148,     0,     0,     0,     0,     0,     0,
-     308,     0,     0,     0,     0,     0,     0,   149,   150,   151,
+       0,     0,     0,     0,     0,     0,   177,   149,   150,   151,
      152,   153,   154,   155,   139,   140,   141,   142,   143,   144,
        0,   145,     0,     0,   146,   147,   148,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   177,
-     149,   150,   151,   152,   153,   154,   155,   139,   140,   141,
-     142,   143,   144,     0,   145,     0,     0,   146,   147,   148,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   149,   150,   151,   152,   153,   154,   155,
-     173,   178,     0,     0,     0,     0,   139,   140,   141,   142,
+     149,   150,   151,   152,   153,   154,   155,   173,   178,     0,
+       0,     0,     0,   139,   140,   141,   142,   143,   144,     0,
+     145,     0,     0,   146,   147,   148,   139,   140,   141,   142,
+     143,   144,     0,   145,     0,     0,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,     0,     0,     0,     0,
+       0,     0,   149,   150,   151,   152,   153,   154,   155,     0,
+       0,     0,   204,   139,   140,   141,   142,   143,   144,     0,
+     145,     0,     0,   146,   147,   148,     0,     0,     0,     0,
+       0,   202,   203,     0,     0,     0,     0,     0,     0,   149,
+     150,   151,   152,   153,   154,   155,   139,   140,   141,   142,
      143,   144,     0,   145,     0,     0,   146,   147,   148,   139,
-     140,   141,   142,   143,   144,     0,   145,     0,     0,   146,
+     140,   141,   142,     0,     0,     0,   145,     0,     0,   146,
      147,   148,   149,   150,   151,   152,   153,   154,   155,     0,
        0,     0,     0,     0,     0,   149,   150,   151,   152,   153,
-     154,   155,     0,     0,     0,   204,   139,   140,   141,   142,
-     143,   144,     0,   145,     0,     0,   146,   147,   148,     0,
-       0,     0,     0,     0,   202,   203,     0,     0,     0,     0,
-       0,     0,   149,   150,   151,   152,   153,   154,   155,   139,
-     140,   141,   142,   143,   144,     0,   145,     0,     0,   146,
-     147,   148,   139,   140,   141,   142,     0,     0,     0,   145,
-       0,     0,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,     0,     0,     0,     0,     0,     0,   149,   150,
-     151,   152,   153,   154,   155
+     154,   155
 };
 
 static const yytype_int16 yycheck[] =
 {
-       0,   240,    40,     0,   107,    39,    21,   334,   263,    51,
-     260,    69,     0,    96,    72,    69,    43,    17,    18,    19,
-      24,    54,    51,    46,    48,    69,    49,    31,    32,    33,
-      34,    64,    90,    91,    92,    93,    94,    64,    61,    93,
-      94,    54,    42,    46,    67,    68,    84,    91,    92,    93,
-      94,    64,   302,   380,   304,   310,    54,    97,    54,    74,
-      36,    37,   102,    86,    87,   315,    64,   101,    64,   319,
-      70,    75,    76,    77,    78,   366,    54,    97,    93,    79,
-     330,    81,    96,    83,    53,    99,    64,   378,    96,   112,
-      96,    99,   383,    99,    99,    95,    53,    97,    98,   101,
-     100,   101,   352,   100,   138,   105,   345,   107,    96,    53,
-      54,    55,    56,    97,    98,    99,    97,    98,    99,   157,
-      99,    24,   372,    48,   363,   102,   376,   230,    31,    32,
-      33,    34,   382,    99,   373,   158,   386,   102,   138,    99,
-     379,    17,    18,    19,    56,    57,    98,    99,    24,   159,
-     160,   161,    98,    99,    30,    31,    32,    33,    34,   159,
-     160,   161,    98,    99,    98,    99,    99,    99,    96,    44,
-      87,   194,   102,   196,    27,   198,    54,   200,    24,   202,
-     203,    35,    28,    29,    86,    31,    32,    33,    34,    85,
-      99,   191,    38,    39,    40,    41,    42,    54,    85,    45,
-      86,    47,    53,    86,    50,    51,    52,    86,   100,    55,
-     210,   178,    58,    59,    60,    61,    24,    25,    26,   314,
-     309,   253,    -1,    31,    32,    33,    34,   210,    -1,    -1,
-     230,    -1,    -1,    -1,    -1,    -1,    82,    83,    84,    -1,
-      -1,    -1,    -1,    -1,    -1,   245,    -1,    -1,    -1,    -1,
-      -1,    -1,   252,   253,   254,   255,    -1,   295,    10,   297,
-     260,    -1,   262,    15,    -1,    -1,    -1,    -1,    20,    21,
-     293,    23,    -1,    -1,   312,    -1,    -1,    -1,    -1,    -1,
-      -1,    33,   305,   306,   307,   308,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   302,   341,   304,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,   315,    -1,    69,    70,   319,
-      -1,    -1,    -1,    -1,   362,    -1,    -1,    -1,    -1,    -1,
-     330,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   342,    -1,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,    -1,   352,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   365,    -1,   119,    -1,    -1,
-      -1,    -1,   372,    -1,    -1,    -1,   376,    -1,    -1,    -1,
-      -1,    -1,   382,    -1,    -1,    -1,   386,   139,   140,   141,
+       0,   108,   240,     0,    22,   334,    42,     0,   260,   263,
+      69,    54,    41,    72,    69,    96,    54,    69,    18,    19,
+      20,    64,    43,    51,    97,    47,    64,    96,    50,   102,
+      99,    90,    91,    92,    93,    94,    91,    92,    93,    94,
+      62,    93,    94,    64,    44,    54,    68,    69,    46,    85,
+     302,   380,   304,    56,    57,    64,   310,    75,   366,    54,
+      51,    96,    54,   315,    99,    87,    88,   319,    48,    64,
+     378,    71,    64,   102,    97,   383,    94,    53,   330,    99,
+      80,    48,    82,    99,    84,    24,    25,    26,    96,   102,
+     112,    99,    31,    32,    33,    34,    96,   102,    98,    99,
+     352,   101,   102,    96,   101,    24,   106,   345,   108,   138,
+      98,    99,    31,    32,    33,    34,    54,    55,    56,    57,
+     372,   157,   101,   230,   376,   363,    97,    98,    99,    99,
+     382,    97,    98,    99,   386,   373,   158,    99,   138,    98,
+      99,   379,   159,   160,   161,    98,    99,    98,    99,    99,
+      17,    18,    19,    36,    37,    99,    53,    24,    44,   159,
+     160,   161,     1,    30,    31,    32,    33,    34,   102,    96,
+      87,    27,   194,    54,   196,    35,   198,    86,   200,    85,
+     202,   203,    54,    99,    85,    24,    86,    53,    86,    28,
+      86,   191,    31,    32,    33,    34,   101,    36,    37,    38,
+      39,    40,    41,    42,   253,   178,   314,   309,    47,   210,
+     210,    50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,
+      59,    60,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    82,    83,   245,    85,    -1,    -1,    -1,
+      -1,    -1,   252,   253,   254,   255,    24,    96,    -1,   295,
+     260,   297,   262,    31,    32,    33,    34,    -1,    -1,    11,
+      -1,   293,    -1,    -1,    16,    -1,   312,    -1,    -1,    21,
+      22,    -1,    24,   305,   306,   307,   308,    -1,    -1,    -1,
+      -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   302,    -1,   304,   341,    -1,    75,    76,    77,
+      78,    -1,    -1,    -1,    -1,   315,    58,    -1,    -1,   319,
+      -1,    63,    64,    65,    66,    67,   362,    -1,    70,    71,
+     330,    24,    -1,    -1,    -1,    28,    -1,    -1,    31,    32,
+      33,    34,   342,    -1,    -1,    38,    39,    40,    41,    -1,
+      -1,    -1,   352,    -1,    -1,    -1,    -1,    50,    -1,    52,
+     102,    -1,    -1,    -1,    -1,   365,    59,    60,    61,    -1,
+      -1,    -1,   372,    -1,    -1,    -1,   376,   119,    -1,    -1,
+      -1,    -1,   382,    -1,    -1,    -1,   386,    -1,    -1,    -1,
+      83,    -1,    -1,    -1,    -1,    -1,    -1,   139,   140,   141,
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
      152,   153,   154,   155,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   163,   164,   165,    -1,    -1,   168,   169,   170,   171,
      172,   173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   186,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   195,    -1,   197,     1,   199,    -1,   201,
-      -1,    -1,    -1,   205,   206,   207,    -1,   209,    -1,    14,
-      -1,    -1,    17,    18,    -1,    -1,    21,    22,    23,    24,
-      25,    26,    35,    -1,    -1,    30,    31,    32,    33,    34,
-      -1,    -1,    -1,    -1,    -1,    -1,   238,   239,    -1,    -1,
-      -1,   243,   244,    -1,    -1,    -1,    -1,    -1,    -1,    62,
-      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    72,
-      73,    74,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
-      75,    76,    77,    78,    79,    88,    89,    90,    91,    92,
-      93,    94,    -1,    -1,    -1,   287,    91,    92,    -1,    -1,
-      -1,    -1,    97,    -1,    -1,   100,   101,   102,   300,    48,
-      -1,    -1,    -1,    -1,    -1,    54,    -1,   309,    -1,    -1,
-      -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    -1,
-      69,    -1,    -1,    72,    73,    74,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   335,   336,    -1,    -1,    -1,   340,    88,
-      89,    90,    91,    92,    93,    94,     0,     1,    -1,    -1,
-      -1,   353,    -1,    -1,    -1,    -1,    -1,   359,    -1,    -1,
-      14,    -1,    -1,    17,    18,    -1,   368,    21,    22,    23,
-      24,    25,    26,    27,    28,    -1,    30,    31,    32,    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,    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,
-      -1,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    -1,    96,    97,    98,    99,   100,   101,   102,     0,
-       1,    -1,    -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,    28,    -1,    30,
-      31,    32,    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,    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,    -1,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    -1,    96,    97,    98,    99,   100,
-     101,   102,     0,     1,    -1,    -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,
-      28,    -1,    30,    31,    32,    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,    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,    -1,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    -1,    96,    97,
-      98,    99,   100,   101,   102,     0,     1,    -1,    -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,    28,    -1,    30,    31,    32,    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,    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,    -1,
-      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      -1,    96,    97,    98,    99,   100,   101,   102,     0,     1,
+      -1,    -1,    -1,    -1,   186,    -1,    -1,    -1,     0,     1,
+      -1,    -1,    -1,   195,    -1,   197,    -1,   199,    -1,   201,
+      -1,    -1,    -1,   205,   206,   207,    -1,   209,    -1,    -1,
+      -1,    -1,    24,    -1,    -1,    27,    28,    -1,    -1,    31,
+      32,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
+      42,    -1,    -1,    -1,    -1,    47,   238,   239,    50,    51,
+      52,   243,   244,    55,    -1,    -1,    -1,    59,    60,    61,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,     0,     1,    -1,    -1,    -1,    -1,    -1,
+      82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    96,   287,    -1,    24,    -1,    -1,
+      -1,    28,    29,    -1,    31,    32,    33,    34,   300,    -1,
+      -1,    38,    39,    40,    41,    42,    -1,   309,    45,    -1,
+      47,    -1,    -1,    50,    51,    52,    -1,    -1,    55,    -1,
+      -1,    58,    59,    60,    61,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   335,   336,    -1,     0,     1,   340,    -1,
+      -1,    -1,    -1,    -1,    -1,    82,    83,    84,    -1,    -1,
+      -1,   353,    -1,    -1,    -1,    -1,    -1,   359,    -1,    96,
+      24,    -1,    -1,    27,    28,    -1,   368,    31,    32,    33,
+      34,    -1,    -1,    -1,    38,    39,    40,    41,    42,    -1,
+      -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,     0,
+       1,    55,    -1,    -1,    -1,    59,    60,    61,    -1,    -1,
       -1,    -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,    -1,    30,    31,
-      32,    33,    34,    24,    36,    37,    -1,    28,    -1,    -1,
+      -1,    -1,    -1,    24,    -1,    -1,    -1,    28,    82,    83,
+      31,    32,    33,    34,     1,    -1,    -1,    38,    39,    40,
+      41,    42,    96,    -1,    -1,    -1,    47,    -1,    -1,    50,
+      51,    52,    -1,    -1,    55,    -1,    -1,    24,    59,    60,
+      61,    28,    -1,    -1,    31,    32,    33,    34,    -1,    -1,
+      -1,    38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
+      47,    82,    83,    50,    51,    52,    -1,    -1,    55,    -1,
+      -1,    -1,    59,    60,    61,    96,    -1,    -1,    -1,    -1,
+       1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    -1,    -1,
+      87,    -1,    -1,    24,    -1,    -1,    -1,    28,    -1,    96,
       31,    32,    33,    34,    -1,    -1,    -1,    38,    39,    40,
       41,    42,    -1,    -1,    -1,    -1,    47,    -1,    -1,    50,
-      51,    52,    -1,    -1,    55,    -1,    68,    -1,    59,    60,
-      61,    -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,
-      -1,    -1,    -1,    85,    86,    87,     0,     1,    -1,    91,
-      92,    82,    83,    -1,    96,    97,    -1,    99,   100,    -1,
-      14,    -1,    -1,    17,    18,    -1,    -1,    21,    22,    23,
-      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    33,
-      34,    24,    36,    37,    -1,    28,    -1,    -1,    31,    32,
-      33,    34,    -1,    -1,    -1,    38,    39,    40,    41,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,
-      -1,    -1,    -1,    -1,    68,    -1,    59,    60,    61,    -1,
+      51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,    60,
+      61,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    82,    83,    -1,    24,    86,    -1,    -1,    28,    -1,
+      -1,    31,    32,    33,    34,    96,    -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,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    82,    83,    -1,    85,    -1,    -1,    -1,    -1,
+      14,    -1,    -1,    17,    18,    -1,    96,    21,    22,    23,
+      24,    25,    26,    -1,    -1,    -1,    30,    31,    32,    33,
+      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    14,
+      -1,    -1,    17,    18,    -1,    -1,    21,    22,    23,    24,
+      25,    26,    -1,    -1,    68,    30,    31,    32,    33,    34,
       -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,
-      -1,    85,    86,    87,     1,    -1,    -1,    91,    92,    -1,
-      83,    -1,    96,    97,    -1,    99,   100,    14,    -1,    -1,
-      17,    18,    -1,    -1,    21,    22,    23,    24,    25,    26,
-      -1,    -1,    -1,    30,    31,    32,    33,    34,    -1,    -1,
-      -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    46,
-      47,    48,    49,    -1,    -1,    -1,    14,    -1,    -1,    17,
-      18,    -1,    -1,    21,    22,    23,    24,    25,    26,    -1,
-      -1,    68,    30,    31,    32,    33,    34,    -1,    75,    76,
-      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    46,    -1,
-      48,    -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    -1,
-      97,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
-      68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
-      78,    79,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    91,    92,    -1,    -1,    14,    -1,    97,
-      17,    18,   100,    -1,    21,    22,    23,    24,    25,    26,
-       1,    -1,    -1,    30,    31,    32,    33,    34,    -1,    -1,
-      -1,    -1,    -1,    14,    -1,    -1,    17,    18,    -1,    20,
+      -1,    46,    47,    48,    49,    -1,    -1,    91,    92,    -1,
+      -1,    -1,    -1,    97,    -1,    -1,   100,    -1,   102,    -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,
+      14,    -1,    97,    17,    18,   100,    -1,    21,    22,    23,
+      24,    25,    26,    -1,    -1,    -1,    30,    31,    32,    33,
+      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    46,    14,    48,    -1,    17,    18,    -1,    20,
       21,    22,    23,    24,    25,    26,    -1,    -1,    -1,    30,
-      31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,
-      77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    91,    92,    -1,    68,    -1,    -1,
-      97,    98,    99,   100,    75,    76,    77,    78,    79,    -1,
-      -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      31,    32,    33,    34,    68,    -1,    -1,    -1,    -1,    -1,
+      -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,
+      -1,    -1,    -1,    97,    -1,    -1,   100,    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,    14,    -1,    97,    17,    18,   100,
       -1,    21,    22,    23,    24,    25,    26,    -1,    -1,    -1,
-      30,    31,    32,    33,    34,    -1,    44,    -1,    -1,    -1,
+      30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
+      14,    -1,    -1,    17,    18,    -1,    -1,    21,    22,    23,
+      24,    25,    26,    -1,    -1,    -1,    30,    31,    32,    33,
+      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
+      -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    92,    -1,    68,    -1,    -1,    97,    -1,    -1,
+     100,    75,    76,    77,    78,    79,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    35,    -1,    91,    92,    -1,
+      -1,    14,    -1,    97,    17,    18,   100,    -1,    21,    22,
+      23,    24,    25,    26,    -1,    -1,    -1,    30,    31,    32,
+      33,    34,    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,    68,    44,    -1,    -1,    -1,
+      -1,    -1,    75,    76,    77,    78,    79,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
-      -1,    69,    70,    71,    72,    73,    74,    -1,    68,    -1,
-      -1,    -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,
-      88,    89,    90,    91,    92,    93,    94,    46,    -1,    48,
-      -1,    91,    92,    -1,    -1,    -1,    -1,    97,    -1,    -1,
-     100,    -1,    -1,    62,    63,    64,    65,    66,    67,    -1,
+      -1,    69,    70,    71,    72,    73,    74,   100,    -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,    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,
@@ -1456,7 +1433,7 @@ static const yytype_int16 yycheck[] =
       -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,
+      -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,
@@ -1469,46 +1446,43 @@ static const yytype_int16 yycheck[] =
       -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,
+      -1,    -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,    -1,    -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,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    88,    89,    90,    91,    92,    93,    94,
-      56,    96,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
+      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,    66,    67,    -1,    69,    -1,    -1,    72,
+      63,    64,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
       73,    74,    88,    89,    90,    91,    92,    93,    94,    -1,
       -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
-      93,    94,    -1,    -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
+      93,    94
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,    24,    28,    29,    31,    32,    33,    34,    38,    39,
-      40,    41,    42,    45,    47,    50,    51,    52,    55,    58,
-      59,    60,    61,    82,    83,    84,   104,   105,   106,   107,
-     108,   109,   121,   127,   137,   145,   147,   149,   152,   148,
-     151,    51,   138,     1,    14,    17,    18,    21,    22,    23,
-      25,    26,    30,    31,    32,    33,    34,    46,    47,    48,
-      49,    68,    75,    76,    77,    78,    79,    91,    92,    97,
-     100,   106,   131,   133,   134,   135,   136,   146,   159,   150,
-      51,    20,   134,    56,    57,    17,    18,    19,    30,   106,
-     106,   106,   134,   134,   146,   140,   134,   139,   153,     0,
-      96,    97,   134,   157,   134,   128,   157,   128,   106,   142,
-      96,   133,    48,   133,   131,   131,   131,   131,   134,    46,
+       0,     1,    24,    28,    29,    31,    32,    33,    34,    38,
+      39,    40,    41,    42,    45,    47,    50,    51,    52,    55,
+      58,    59,    60,    61,    82,    83,    84,   104,   105,   106,
+     107,   108,   109,   121,   127,   137,   145,   147,   149,   152,
+      96,   148,   151,    51,   138,    14,    17,    18,    21,    22,
+      23,    25,    26,    30,    31,    32,    33,    34,    46,    47,
+      48,    49,    68,    75,    76,    77,    78,    79,    91,    92,
+      97,   100,   106,   131,   133,   134,   135,   136,   146,   159,
+     150,    51,    20,   134,    56,    57,    17,    18,    19,    30,
+     106,   106,   106,   134,   134,   146,   140,   134,   139,   153,
+       0,    96,    97,   134,   157,   134,   128,   157,   128,   106,
+     142,   133,    48,   133,   131,   131,   131,   131,   134,    46,
      133,   134,   134,   134,   134,   134,   133,   133,   134,    25,
       26,   102,   106,   134,   160,   161,   162,   163,    97,    62,
       63,    64,    65,    66,    67,    69,    72,    73,    74,    88,
@@ -1546,10 +1520,10 @@ static const yytype_uint8 yyr1[] =
      107,   107,   107,   107,   107,   107,   107,   107,   107,   108,
      108,   109,   109,   109,   110,   111,   112,   109,   113,   114,
      115,   109,   116,   117,   118,   109,   109,   109,   109,   109,
-     119,   120,   121,   121,   122,   122,   123,   124,   125,   126,
-     127,   128,   129,   129,   130,   130,   131,   131,   131,   131,
+     109,   119,   120,   121,   121,   122,   122,   123,   124,   125,
+     126,   127,   128,   129,   129,   130,   130,   131,   131,   131,
      131,   131,   131,   131,   131,   131,   131,   131,   131,   131,
-     131,   131,   131,   132,   131,   131,   131,   131,   133,   133,
+     131,   131,   131,   131,   132,   131,   131,   131,   133,   133,
      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
      134,   134,   134,   134,   134,   134,   134,   134,   135,   135,
      135,   135,   135,   135,   135,   135,   135,   136,   136,   136,
@@ -1571,10 +1545,10 @@ static const yytype_int8 yyr2[] =
        4,     4,     4,     5,     5,     8,     8,     4,     4,     1,
        1,     1,     1,     9,     0,     0,     0,    15,     0,     0,
        0,    16,     0,     0,     0,    13,     2,     4,     7,     6,
-       0,     0,     9,    11,     0,     2,     6,     0,     0,     0,
-       1,     0,     1,     3,     0,     1,     1,     1,     1,     1,
-       2,     2,     2,     1,     1,     2,     2,     3,     1,     4,
-       4,     1,     4,     0,     7,     4,     1,     2,     1,     3,
+       2,     0,     0,     9,    11,     0,     2,     6,     0,     0,
+       0,     1,     0,     1,     3,     0,     1,     1,     1,     1,
+       1,     2,     2,     2,     1,     1,     2,     2,     3,     1,
+       4,     4,     1,     4,     0,     7,     4,     1,     1,     3,
        1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     2,     4,
        6,     4,     6,     4,     6,     4,     6,     1,     2,     2,
@@ -1859,61 +1833,61 @@ yydestruct (const char *yymsg,
     case 22: /* THEFUNC  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1863 "engines/director/lingo/lingo-gr.cpp"
+#line 1837 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 23: /* THEFUNCINOF  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1869 "engines/director/lingo/lingo-gr.cpp"
+#line 1843 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 24: /* VARID  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1875 "engines/director/lingo/lingo-gr.cpp"
+#line 1849 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 25: /* STRING  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1881 "engines/director/lingo/lingo-gr.cpp"
+#line 1855 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 26: /* SYMBOL  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1887 "engines/director/lingo/lingo-gr.cpp"
+#line 1861 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 27: /* ENDCLAUSE  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1893 "engines/director/lingo/lingo-gr.cpp"
+#line 1867 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 28: /* tPLAYACCEL  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1899 "engines/director/lingo/lingo-gr.cpp"
+#line 1873 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 29: /* tMETHOD  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1905 "engines/director/lingo/lingo-gr.cpp"
+#line 1879 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 106: /* ID  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1911 "engines/director/lingo/lingo-gr.cpp"
+#line 1885 "engines/director/lingo/lingo-gr.cpp"
         break;
 
     case 152: /* on  */
 #line 210 "engines/director/lingo/lingo-gr.y"
             { delete ((*yyvaluep).s); }
-#line 1917 "engines/director/lingo/lingo-gr.cpp"
+#line 1891 "engines/director/lingo/lingo-gr.cpp"
         break;
 
       default:
@@ -2194,25 +2168,25 @@ yyreduce:
   case 8:
 #line 222 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.s) = new Common::String("cast"); }
-#line 2198 "engines/director/lingo/lingo-gr.cpp"
+#line 2172 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 9:
 #line 223 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.s) = new Common::String("field"); }
-#line 2204 "engines/director/lingo/lingo-gr.cpp"
+#line 2178 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 10:
 #line 224 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.s) = new Common::String("script"); }
-#line 2210 "engines/director/lingo/lingo-gr.cpp"
+#line 2184 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 11:
 #line 225 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.s) = new Common::String("window"); }
-#line 2216 "engines/director/lingo/lingo-gr.cpp"
+#line 2190 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 12:
@@ -2224,7 +2198,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2228 "engines/director/lingo/lingo-gr.cpp"
+#line 2202 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 13:
@@ -2232,7 +2206,7 @@ yyreduce:
                                                 {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2236 "engines/director/lingo/lingo-gr.cpp"
+#line 2210 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 14:
@@ -2248,7 +2222,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-4].e)[1]);
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2252 "engines/director/lingo/lingo-gr.cpp"
+#line 2226 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 15:
@@ -2260,7 +2234,7 @@ yyreduce:
 		g_lingo->code1(LC::c_after);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2264 "engines/director/lingo/lingo-gr.cpp"
+#line 2238 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 16:
@@ -2268,7 +2242,7 @@ yyreduce:
                                                 {
 		g_lingo->code1(LC::c_after);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2272 "engines/director/lingo/lingo-gr.cpp"
+#line 2246 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 17:
@@ -2280,7 +2254,7 @@ yyreduce:
 		g_lingo->code1(LC::c_before);
 		(yyval.code) = (yyvsp[-2].code);
 		delete (yyvsp[0].s); }
-#line 2284 "engines/director/lingo/lingo-gr.cpp"
+#line 2258 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 18:
@@ -2288,7 +2262,7 @@ yyreduce:
                                                 {
 		g_lingo->code1(LC::c_before);
 		(yyval.code) = (yyvsp[-2].code); }
-#line 2292 "engines/director/lingo/lingo-gr.cpp"
+#line 2266 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 19:
@@ -2300,7 +2274,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2304 "engines/director/lingo/lingo-gr.cpp"
+#line 2278 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 20:
@@ -2312,7 +2286,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2316 "engines/director/lingo/lingo-gr.cpp"
+#line 2290 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 21:
@@ -2324,7 +2298,7 @@ yyreduce:
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = (yyvsp[0].code);
 		delete (yyvsp[-2].s); }
-#line 2328 "engines/director/lingo/lingo-gr.cpp"
+#line 2302 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 22:
@@ -2336,7 +2310,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-2].e)[0]);
 		g_lingo->codeInt((yyvsp[-2].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2340 "engines/director/lingo/lingo-gr.cpp"
+#line 2314 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 23:
@@ -2347,7 +2321,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2351 "engines/director/lingo/lingo-gr.cpp"
+#line 2325 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 24:
@@ -2358,7 +2332,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-3].e)[0]);
 		g_lingo->codeInt((yyvsp[-3].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2362 "engines/director/lingo/lingo-gr.cpp"
+#line 2336 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 25:
@@ -2374,7 +2348,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-6].e)[0]);
 		g_lingo->codeInt((yyvsp[-6].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2378 "engines/director/lingo/lingo-gr.cpp"
+#line 2352 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 26:
@@ -2390,7 +2364,7 @@ yyreduce:
 		g_lingo->codeInt((yyvsp[-6].e)[0]);
 		g_lingo->codeInt((yyvsp[-6].e)[1]);
 		(yyval.code) = (yyvsp[0].code); }
-#line 2394 "engines/director/lingo/lingo-gr.cpp"
+#line 2368 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 27:
@@ -2402,7 +2376,7 @@ yyreduce:
 		delete (yyvsp[-2].objectprop).obj;
 		delete (yyvsp[-2].objectprop).prop;
 		(yyval.code) = (yyvsp[0].code); }
-#line 2406 "engines/director/lingo/lingo-gr.cpp"
+#line 2380 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 28:
@@ -2414,7 +2388,7 @@ yyreduce:
 		delete (yyvsp[-2].objectprop).obj;
 		delete (yyvsp[-2].objectprop).prop;
 		(yyval.code) = (yyvsp[0].code); }
-#line 2418 "engines/director/lingo/lingo-gr.cpp"
+#line 2392 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 33:
@@ -2426,7 +2400,7 @@ yyreduce:
 		(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end;		/* end, if cond fails */
 		(*g_lingo->_currentAssembly)[(yyvsp[-1].code)] = start;	/* looping back */
 		endRepeat((yyvsp[-1].code) + 1, (yyvsp[-6].code));	}
-#line 2430 "engines/director/lingo/lingo-gr.cpp"
+#line 2404 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 34:
@@ -2434,20 +2408,20 @@ yyreduce:
                                 { g_lingo->code1(LC::c_varpush);
 				  g_lingo->codeString((yyvsp[-2].s)->c_str());
 				  mVar((yyvsp[-2].s), globalCheck()); }
-#line 2438 "engines/director/lingo/lingo-gr.cpp"
+#line 2412 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 35:
 #line 373 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_eval);
 				  g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2445 "engines/director/lingo/lingo-gr.cpp"
+#line 2419 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 36:
 #line 376 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_le); }
-#line 2451 "engines/director/lingo/lingo-gr.cpp"
+#line 2425 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 37:
@@ -2472,7 +2446,7 @@ yyreduce:
 		(*g_lingo->_currentAssembly)[pos] = loop;		/* final count value */
 		(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end;	/* end, if cond fails */
 		endRepeat(pos + 1, nextPos); }
-#line 2476 "engines/director/lingo/lingo-gr.cpp"
+#line 2450 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 38:
@@ -2480,20 +2454,20 @@ yyreduce:
                                 { g_lingo->code1(LC::c_varpush);
 				  g_lingo->codeString((yyvsp[-2].s)->c_str());
 				  mVar((yyvsp[-2].s), globalCheck()); }
-#line 2484 "engines/director/lingo/lingo-gr.cpp"
+#line 2458 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 39:
 #line 407 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_eval);
 				  g_lingo->codeString((yyvsp[-4].s)->c_str()); }
-#line 2491 "engines/director/lingo/lingo-gr.cpp"
+#line 2465 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 40:
 #line 410 "engines/director/lingo/lingo-gr.y"
                                 { g_lingo->code1(LC::c_ge); }
-#line 2497 "engines/director/lingo/lingo-gr.cpp"
+#line 2471 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 41:
@@ -2518,7 +2492,7 @@ yyreduce:
 		(*g_lingo->_currentAssembly)[pos] = loop;		/* final count value */
 		(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end;	/* end, if cond fails */
 		endRepeat(pos + 1, nextPos); }
-#line 2522 "engines/director/lingo/lingo-gr.cpp"
+#line 2496 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 42:
@@ -2529,7 +2503,7 @@ yyreduce:
 				  g_lingo->codeFunc(&count, 1);
 				  g_lingo->code1(LC::c_intpush);	// start counter
 				  g_lingo->codeInt(1); }
-#line 2533 "engines/director/lingo/lingo-gr.cpp"
+#line 2507 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 43:
@@ -2539,7 +2513,7 @@ yyreduce:
 				  g_lingo->code1(LC::c_stackpeek);	// get array size
 				  g_lingo->codeInt(2);
 				  g_lingo->code1(LC::c_le); }
-#line 2543 "engines/director/lingo/lingo-gr.cpp"
+#line 2517 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 44:
@@ -2554,7 +2528,7 @@ yyreduce:
 				  g_lingo->codeString((yyvsp[-6].s)->c_str());
 				  mVar((yyvsp[-6].s), globalCheck());
 				  g_lingo->code1(LC::c_assign); }
-#line 2558 "engines/director/lingo/lingo-gr.cpp"
+#line 2532 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 45:
@@ -2578,7 +2552,7 @@ yyreduce:
 		(*g_lingo->_currentAssembly)[jump + 1] = loop;		/* final count value */
 		(*g_lingo->_currentAssembly)[(yyvsp[-4].code)] = end;		/* end, if cond fails */
 		endRepeat(end2, nextPos); }
-#line 2582 "engines/director/lingo/lingo-gr.cpp"
+#line 2556 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 46:
@@ -2591,7 +2565,7 @@ yyreduce:
 		} else {
 			warning("# LINGO: next repeat not inside repeat block");
 		} }
-#line 2595 "engines/director/lingo/lingo-gr.cpp"
+#line 2569 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 47:
@@ -2599,35 +2573,41 @@ yyreduce:
                               {
 		g_lingo->code1(LC::c_whencode);
 		g_lingo->codeString((yyvsp[-2].s)->c_str()); }
-#line 2603 "engines/director/lingo/lingo-gr.cpp"
+#line 2577 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 48:
 #line 491 "engines/director/lingo/lingo-gr.y"
                                                           { g_lingo->code1(LC::c_telldone); }
-#line 2609 "engines/director/lingo/lingo-gr.cpp"
+#line 2583 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 49:
 #line 492 "engines/director/lingo/lingo-gr.y"
                                                     { g_lingo->code1(LC::c_telldone); }
-#line 2615 "engines/director/lingo/lingo-gr.cpp"
+#line 2589 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 50:
-#line 494 "engines/director/lingo/lingo-gr.y"
-                                { startRepeat(); }
-#line 2621 "engines/director/lingo/lingo-gr.cpp"
+#line 493 "engines/director/lingo/lingo-gr.y"
+                                        { yyerrok; }
+#line 2595 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 51:
-#line 496 "engines/director/lingo/lingo-gr.y"
-                                { g_lingo->code1(LC::c_tell); }
-#line 2627 "engines/director/lingo/lingo-gr.cpp"
+#line 495 "engines/director/lingo/lingo-gr.y"
+                                { startRepeat(); }
+#line 2601 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 52:
-#line 498 "engines/director/lingo/lingo-gr.y"
+#line 497 "engines/director/lingo/lingo-gr.y"
+                                { g_lingo->code1(LC::c_tell); }
+#line 2607 "engines/director/lingo/lingo-gr.cpp"
+    break;
+
+  case 53:
+#line 499 "engines/director/lingo/lingo-gr.y"
                                                                                          {
 		inst else1 = 0, end3 = 0;
 		WRITE_UINT32(&else1, (yyvsp[-3].code) + 1 - (yyvsp[-6].code) + 1);
@@ -2635,11 +2615,11 @@ yyreduce:
 		(*g_lingo->_currentAssembly)[(yyvsp[-6].code)] = else1;		/* elsepart */
 		(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = end3;		/* end, if cond fails */
 		g_lingo->processIf((yyvsp[-3].code), (yyvsp[-1].code)); }
-#line 2639 "engines/director/lingo/lingo-gr.cpp"
+#line 2619 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 53:
-#line 505 "engines/director/lingo/lingo-gr.y"
+  case 54:
+#line 506 "engines/director/lingo/lingo-gr.y"
                                                                                                           {
 		inst else1 = 0, end = 0;
 		WRITE_UINT32(&else1, (yyvsp[-5].code) + 1 - (yyvsp[-8].code) + 1);
@@ -2647,110 +2627,110 @@ yyreduce:
 		(*g_lingo->_currentAssembly)[(yyvsp[-8].code)] = else1;		/* elsepart */
 		(*g_lingo->_currentAssembly)[(yyvsp[-5].code)] = end;		/* end, if cond fails */
 		g_lingo->processIf((yyvsp[-5].code), (yyvsp[-1].code)); }
-#line 2651 "engines/director/lingo/lingo-gr.cpp"
+#line 2631 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 56:
-#line 516 "engines/director/lingo/lingo-gr.y"
+  case 57:
+#line 517 "engines/director/lingo/lingo-gr.y"
                                                                 {
 		inst else1 = 0;
 		WRITE_UINT32(&else1, (yyvsp[0].code) + 1 - (yyvsp[-3].code) + 1);
 		(*g_lingo->_currentAssembly)[(yyvsp[-3].code)] = else1;	/* end, if cond fails */
 		g_lingo->codeLabel((yyvsp[0].code)); }
-#line 2661 "engines/director/lingo/lingo-gr.cpp"
+#line 2641 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 57:
-#line 522 "engines/director/lingo/lingo-gr.y"
+  case 58:
+#line 523 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code2(LC::c_jumpifz, 0);
 		(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2669 "engines/director/lingo/lingo-gr.cpp"
+#line 2649 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 58:
-#line 526 "engines/director/lingo/lingo-gr.y"
+  case 59:
+#line 527 "engines/director/lingo/lingo-gr.y"
                                 {
 		g_lingo->code2(LC::c_jump, 0);
 		(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2677 "engines/director/lingo/lingo-gr.cpp"
+#line 2657 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 59:
-#line 530 "engines/director/lingo/lingo-gr.y"
+  case 60:
+#line 531 "engines/director/lingo/lingo-gr.y"
                                         {
 		g_lingo->code1(LC::c_assign);
 		(yyval.code) = g_lingo->_currentAssembly->size() - 1; }
-#line 2685 "engines/director/lingo/lingo-gr.cpp"
+#line 2665 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 60:
-#line 534 "engines/director/lingo/lingo-gr.y"
+  case 61:
+#line 535 "engines/director/lingo/lingo-gr.y"
                                                 {
 		g_lingo->codeLabel(0); }
-#line 2692 "engines/director/lingo/lingo-gr.cpp"
+#line 2672 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 61:
-#line 537 "engines/director/lingo/lingo-gr.y"
+  case 62:
+#line 538 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.code) = g_lingo->_currentAssembly->size(); }
-#line 2698 "engines/director/lingo/lingo-gr.cpp"
+#line 2678 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 66:
-#line 545 "engines/director/lingo/lingo-gr.y"
+  case 67:
+#line 546 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt((yyvsp[0].i)); }
-#line 2706 "engines/director/lingo/lingo-gr.cpp"
+#line 2686 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 67:
-#line 548 "engines/director/lingo/lingo-gr.y"
+  case 68:
+#line 549 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_floatpush);
 		g_lingo->codeFloat((yyvsp[0].f)); }
-#line 2714 "engines/director/lingo/lingo-gr.cpp"
+#line 2694 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 68:
-#line 551 "engines/director/lingo/lingo-gr.y"
+  case 69:
+#line 552 "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 2723 "engines/director/lingo/lingo-gr.cpp"
+#line 2703 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 69:
-#line 555 "engines/director/lingo/lingo-gr.y"
+  case 70:
+#line 556 "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 2732 "engines/director/lingo/lingo-gr.cpp"
-    break;
-
-  case 70:
-#line 559 "engines/director/lingo/lingo-gr.y"
-                                                { (yyval.code) = (yyvsp[0].code); }
-#line 2738 "engines/director/lingo/lingo-gr.cpp"
+#line 2712 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 71:
 #line 560 "engines/director/lingo/lingo-gr.y"
-                                                { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
-#line 2744 "engines/director/lingo/lingo-gr.cpp"
+                                                { (yyval.code) = (yyvsp[0].code); }
+#line 2718 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 72:
 #line 561 "engines/director/lingo/lingo-gr.y"
+                                                { (yyval.code) = (yyvsp[0].code); g_lingo->code1(LC::c_negate); }
+#line 2724 "engines/director/lingo/lingo-gr.cpp"
+    break;
+
+  case 73:
+#line 562 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_not); }
-#line 2750 "engines/director/lingo/lingo-gr.cpp"
+#line 2730 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 74:
-#line 563 "engines/director/lingo/lingo-gr.y"
+  case 75:
+#line 564 "engines/director/lingo/lingo-gr.y"
                         {
 		(yyval.code) = g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(0); // Put dummy id
@@ -2759,95 +2739,95 @@ yyreduce:
 		WRITE_UINT32(&e, (yyvsp[0].e)[0]);
 		WRITE_UINT32(&f, (yyvsp[0].e)[1]);
 		g_lingo->code2(e, f); }
-#line 2763 "engines/director/lingo/lingo-gr.cpp"
+#line 2743 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 75:
-#line 571 "engines/director/lingo/lingo-gr.y"
+  case 76:
+#line 572 "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 2774 "engines/director/lingo/lingo-gr.cpp"
+#line 2754 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 76:
-#line 577 "engines/director/lingo/lingo-gr.y"
+  case 77:
+#line 578 "engines/director/lingo/lingo-gr.y"
                                         {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-1].s), 1);
 		delete (yyvsp[-1].s); }
-#line 2782 "engines/director/lingo/lingo-gr.cpp"
+#line 2762 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 77:
-#line 580 "engines/director/lingo/lingo-gr.y"
+  case 78:
+#line 581 "engines/director/lingo/lingo-gr.y"
                                         {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-2].s), 1);
 		delete (yyvsp[-2].s); }
-#line 2790 "engines/director/lingo/lingo-gr.cpp"
+#line 2770 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 78:
-#line 583 "engines/director/lingo/lingo-gr.y"
+  case 79:
+#line 584 "engines/director/lingo/lingo-gr.y"
                         {
 		g_lingo->code1(LC::c_objectproppush);
 		g_lingo->codeString((yyvsp[0].objectprop).obj->c_str());
 		g_lingo->codeString((yyvsp[0].objectprop).prop->c_str());
 		delete (yyvsp[0].objectprop).obj;
 		delete (yyvsp[0].objectprop).prop; }
-#line 2801 "engines/director/lingo/lingo-gr.cpp"
+#line 2781 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 79:
-#line 589 "engines/director/lingo/lingo-gr.y"
+  case 80:
+#line 590 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_intersects); }
-#line 2807 "engines/director/lingo/lingo-gr.cpp"
+#line 2787 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 80:
-#line 590 "engines/director/lingo/lingo-gr.y"
+  case 81:
+#line 591 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_within); }
-#line 2813 "engines/director/lingo/lingo-gr.cpp"
+#line 2793 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 82:
-#line 592 "engines/director/lingo/lingo-gr.y"
+  case 83:
+#line 593 "engines/director/lingo/lingo-gr.y"
                                       {
 			g_lingo->code1(LC::c_lazyeval);
 			g_lingo->codeString((yyvsp[-1].s)->c_str());
 			g_lingo->codeFunc((yyvsp[-3].s), 1);
 			delete (yyvsp[-3].s);
 			delete (yyvsp[-1].s); }
-#line 2824 "engines/director/lingo/lingo-gr.cpp"
+#line 2804 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 83:
-#line 598 "engines/director/lingo/lingo-gr.y"
+  case 84:
+#line 599 "engines/director/lingo/lingo-gr.y"
                                       { g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 2830 "engines/director/lingo/lingo-gr.cpp"
+#line 2810 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 84:
-#line 599 "engines/director/lingo/lingo-gr.y"
+  case 85:
+#line 600 "engines/director/lingo/lingo-gr.y"
                                                     {
 			g_lingo->codeFunc((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
 			delete (yyvsp[-6].s);
 			delete (yyvsp[-4].s); }
-#line 2839 "engines/director/lingo/lingo-gr.cpp"
+#line 2819 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 85:
-#line 603 "engines/director/lingo/lingo-gr.y"
+  case 86:
+#line 604 "engines/director/lingo/lingo-gr.y"
                                 {
 		(yyval.code) = g_lingo->codeFunc((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 2847 "engines/director/lingo/lingo-gr.cpp"
+#line 2827 "engines/director/lingo/lingo-gr.cpp"
     break;
 
-  case 86:
-#line 606 "engines/director/lingo/lingo-gr.y"
+  case 87:
+#line 607 "engines/director/lingo/lingo-gr.y"
                         {
 		if (g_lingo->_builtinConsts.contains(*(yyvsp[0].s))) {
 			(yyval.code) = g_lingo->code1(LC::c_constpush);
@@ -2856,127 +2836,121 @@ yyreduce:
 		}
 		g_lingo->codeString((yyvsp[0].s)->c_str());
 		delete (yyvsp[0].s); }
-#line 2860 "engines/director/lingo/lingo-gr.cpp"
-    break;
-
-  case 87:
-#line 614 "engines/director/lingo/lingo-gr.y"
-                                { yyerrok; }
-#line 2866 "engines/director/lingo/lingo-gr.cpp"
+#line 2840 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 89:
 #line 617 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.code) = (yyvsp[-1].code); }
-#line 2872 "engines/director/lingo/lingo-gr.cpp"
+#line 2846 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 90:
 #line 619 "engines/director/lingo/lingo-gr.y"
                  { (yyval.code) = (yyvsp[0].code); }
-#line 2878 "engines/director/lingo/lingo-gr.cpp"
+#line 2852 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 91:
 #line 620 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_add); }
-#line 2884 "engines/director/lingo/lingo-gr.cpp"
+#line 2858 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 92:
 #line 621 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_sub); }
-#line 2890 "engines/director/lingo/lingo-gr.cpp"
+#line 2864 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 93:
 #line 622 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mul); }
-#line 2896 "engines/director/lingo/lingo-gr.cpp"
+#line 2870 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 94:
 #line 623 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_div); }
-#line 2902 "engines/director/lingo/lingo-gr.cpp"
+#line 2876 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 95:
 #line 624 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_mod); }
-#line 2908 "engines/director/lingo/lingo-gr.cpp"
+#line 2882 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 96:
 #line 625 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gt); }
-#line 2914 "engines/director/lingo/lingo-gr.cpp"
+#line 2888 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 97:
 #line 626 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lt); }
-#line 2920 "engines/director/lingo/lingo-gr.cpp"
+#line 2894 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 98:
 #line 627 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_eq); }
-#line 2926 "engines/director/lingo/lingo-gr.cpp"
+#line 2900 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 99:
 #line 628 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_neq); }
-#line 2932 "engines/director/lingo/lingo-gr.cpp"
+#line 2906 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 100:
 #line 629 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ge); }
-#line 2938 "engines/director/lingo/lingo-gr.cpp"
+#line 2912 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 101:
 #line 630 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_le); }
-#line 2944 "engines/director/lingo/lingo-gr.cpp"
+#line 2918 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 102:
 #line 631 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_and); }
-#line 2950 "engines/director/lingo/lingo-gr.cpp"
+#line 2924 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 103:
 #line 632 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_or); }
-#line 2956 "engines/director/lingo/lingo-gr.cpp"
+#line 2930 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 104:
 #line 633 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_ampersand); }
-#line 2962 "engines/director/lingo/lingo-gr.cpp"
+#line 2936 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 105:
 #line 634 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_concat); }
-#line 2968 "engines/director/lingo/lingo-gr.cpp"
+#line 2942 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 106:
 #line 635 "engines/director/lingo/lingo-gr.y"
                                         { g_lingo->code1(LC::c_contains); }
-#line 2974 "engines/director/lingo/lingo-gr.cpp"
+#line 2948 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 107:
 #line 636 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_starts); }
-#line 2980 "engines/director/lingo/lingo-gr.cpp"
+#line 2954 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 108:
@@ -2984,55 +2958,55 @@ yyreduce:
                                         {
 		Common::String field("field");
 		g_lingo->codeFunc(&field, 1); }
-#line 2988 "engines/director/lingo/lingo-gr.cpp"
+#line 2962 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 109:
 #line 641 "engines/director/lingo/lingo-gr.y"
                                                                 { g_lingo->code1(LC::c_charOf); }
-#line 2994 "engines/director/lingo/lingo-gr.cpp"
+#line 2968 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 110:
 #line 642 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_charToOf); }
-#line 3000 "engines/director/lingo/lingo-gr.cpp"
+#line 2974 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 111:
 #line 643 "engines/director/lingo/lingo-gr.y"
                                                                 { g_lingo->code1(LC::c_itemOf); }
-#line 3006 "engines/director/lingo/lingo-gr.cpp"
+#line 2980 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 112:
 #line 644 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_itemToOf); }
-#line 3012 "engines/director/lingo/lingo-gr.cpp"
+#line 2986 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 113:
 #line 645 "engines/director/lingo/lingo-gr.y"
                                                                 { g_lingo->code1(LC::c_lineOf); }
-#line 3018 "engines/director/lingo/lingo-gr.cpp"
+#line 2992 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 114:
 #line 646 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_lineToOf); }
-#line 3024 "engines/director/lingo/lingo-gr.cpp"
+#line 2998 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 115:
 #line 647 "engines/director/lingo/lingo-gr.y"
                                                                 { g_lingo->code1(LC::c_wordOf); }
-#line 3030 "engines/director/lingo/lingo-gr.cpp"
+#line 3004 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 116:
 #line 648 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_wordToOf); }
-#line 3036 "engines/director/lingo/lingo-gr.cpp"
+#line 3010 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 118:
@@ -3040,7 +3014,7 @@ yyreduce:
                                                 {
 		Common::String cast("cast");
 		g_lingo->codeFunc(&cast, 1); }
-#line 3044 "engines/director/lingo/lingo-gr.cpp"
+#line 3018 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 119:
@@ -3048,7 +3022,7 @@ yyreduce:
                                         {
 		Common::String script("script");
 		g_lingo->codeFunc(&script, 1); }
-#line 3052 "engines/director/lingo/lingo-gr.cpp"
+#line 3026 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 120:
@@ -3056,13 +3030,13 @@ yyreduce:
                                         {
 		Common::String window("window");
 		g_lingo->codeFunc(&window, 1); }
-#line 3060 "engines/director/lingo/lingo-gr.cpp"
+#line 3034 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 121:
 #line 661 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_printtop); }
-#line 3066 "engines/director/lingo/lingo-gr.cpp"
+#line 3040 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 124:
@@ -3075,49 +3049,49 @@ yyreduce:
 		} else {
 			warning("# LINGO: exit repeat not inside repeat block");
 		} }
-#line 3079 "engines/director/lingo/lingo-gr.cpp"
+#line 3053 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 125:
 #line 672 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_procret); }
-#line 3085 "engines/director/lingo/lingo-gr.cpp"
+#line 3059 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 126:
 #line 673 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 3091 "engines/director/lingo/lingo-gr.cpp"
+#line 3065 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 127:
 #line 673 "engines/director/lingo/lingo-gr.y"
                                                                                  { inLast(); }
-#line 3097 "engines/director/lingo/lingo-gr.cpp"
+#line 3071 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 128:
 #line 674 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 3103 "engines/director/lingo/lingo-gr.cpp"
+#line 3077 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 129:
 #line 674 "engines/director/lingo/lingo-gr.y"
                                                                                    { inLast(); }
-#line 3109 "engines/director/lingo/lingo-gr.cpp"
+#line 3083 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 130:
 #line 675 "engines/director/lingo/lingo-gr.y"
                                                         { inArgs(); }
-#line 3115 "engines/director/lingo/lingo-gr.cpp"
+#line 3089 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 131:
 #line 675 "engines/director/lingo/lingo-gr.y"
                                                                                    { inLast(); }
-#line 3121 "engines/director/lingo/lingo-gr.cpp"
+#line 3095 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 132:
@@ -3125,7 +3099,7 @@ yyreduce:
                                         {
 		Common::String open("open");
 		g_lingo->codeFunc(&open, 2); }
-#line 3129 "engines/director/lingo/lingo-gr.cpp"
+#line 3103 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 133:
@@ -3133,7 +3107,7 @@ yyreduce:
                                                 {
 		Common::String open("open");
 		g_lingo->codeFunc(&open, 1); }
-#line 3137 "engines/director/lingo/lingo-gr.cpp"
+#line 3111 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 134:
@@ -3144,13 +3118,13 @@ yyreduce:
 			g_lingo->codeCmd((yyvsp[-3].s), 1);
 			delete (yyvsp[-3].s);
 			delete (yyvsp[-1].s); }
-#line 3148 "engines/director/lingo/lingo-gr.cpp"
+#line 3122 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 135:
 #line 688 "engines/director/lingo/lingo-gr.y"
                                       { g_lingo->code1(LC::c_lazyeval); g_lingo->codeString((yyvsp[-1].s)->c_str()); }
-#line 3154 "engines/director/lingo/lingo-gr.cpp"
+#line 3128 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 136:
@@ -3159,7 +3133,7 @@ yyreduce:
 			g_lingo->codeCmd((yyvsp[-6].s), (yyvsp[-1].narg) + 1);
 			delete (yyvsp[-6].s);
 			delete (yyvsp[-4].s); }
-#line 3163 "engines/director/lingo/lingo-gr.cpp"
+#line 3137 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 137:
@@ -3167,7 +3141,7 @@ yyreduce:
                                         {
 		g_lingo->codeCmd((yyvsp[-3].s), (yyvsp[-1].narg));
 		delete (yyvsp[-3].s); }
-#line 3171 "engines/director/lingo/lingo-gr.cpp"
+#line 3145 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 138:
@@ -3175,7 +3149,7 @@ yyreduce:
                                                 {
 		g_lingo->codeCmd((yyvsp[-1].s), (yyvsp[0].narg));
 		delete (yyvsp[-1].s); }
-#line 3179 "engines/director/lingo/lingo-gr.cpp"
+#line 3153 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 139:
@@ -3183,7 +3157,7 @@ yyreduce:
                                                 {
 		mVar((yyvsp[0].s), kVarGlobal);
 		delete (yyvsp[0].s); }
-#line 3187 "engines/director/lingo/lingo-gr.cpp"
+#line 3161 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 140:
@@ -3191,7 +3165,7 @@ yyreduce:
                                                 {
 		mVar((yyvsp[0].s), kVarGlobal);
 		delete (yyvsp[0].s); }
-#line 3195 "engines/director/lingo/lingo-gr.cpp"
+#line 3169 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 141:
@@ -3199,7 +3173,7 @@ yyreduce:
                                                 {
 		mVar((yyvsp[0].s), kVarProperty);
 		delete (yyvsp[0].s); }
-#line 3203 "engines/director/lingo/lingo-gr.cpp"
+#line 3177 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 142:
@@ -3207,7 +3181,7 @@ yyreduce:
                                         {
 		mVar((yyvsp[0].s), kVarProperty);
 		delete (yyvsp[0].s); }
-#line 3211 "engines/director/lingo/lingo-gr.cpp"
+#line 3185 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 143:
@@ -3215,7 +3189,7 @@ yyreduce:
                                                 {
 		mVar((yyvsp[0].s), kVarInstance);
 		delete (yyvsp[0].s); }
-#line 3219 "engines/director/lingo/lingo-gr.cpp"
+#line 3193 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 144:
@@ -3223,25 +3197,25 @@ yyreduce:
                                         {
 		mVar((yyvsp[0].s), kVarInstance);
 		delete (yyvsp[0].s); }
-#line 3227 "engines/director/lingo/lingo-gr.cpp"
+#line 3201 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 145:
 #line 728 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoloop); }
-#line 3233 "engines/director/lingo/lingo-gr.cpp"
+#line 3207 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 146:
 #line 729 "engines/director/lingo/lingo-gr.y"
                                                         { g_lingo->code1(LC::c_gotonext); }
-#line 3239 "engines/director/lingo/lingo-gr.cpp"
+#line 3213 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 147:
 #line 730 "engines/director/lingo/lingo-gr.y"
                                                 { g_lingo->code1(LC::c_gotoprevious); }
-#line 3245 "engines/director/lingo/lingo-gr.cpp"
+#line 3219 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 148:
@@ -3250,7 +3224,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_goto); }
-#line 3254 "engines/director/lingo/lingo-gr.cpp"
+#line 3228 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 149:
@@ -3259,7 +3233,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_goto); }
-#line 3263 "engines/director/lingo/lingo-gr.cpp"
+#line 3237 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 150:
@@ -3268,7 +3242,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_goto); }
-#line 3272 "engines/director/lingo/lingo-gr.cpp"
+#line 3246 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 153:
@@ -3277,7 +3251,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(1);
 		g_lingo->code1(LC::c_play); }
-#line 3281 "engines/director/lingo/lingo-gr.cpp"
+#line 3255 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 154:
@@ -3286,7 +3260,7 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(3);
 		g_lingo->code1(LC::c_play); }
-#line 3290 "engines/director/lingo/lingo-gr.cpp"
+#line 3264 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 155:
@@ -3295,13 +3269,13 @@ yyreduce:
 		g_lingo->code1(LC::c_intpush);
 		g_lingo->codeInt(2);
 		g_lingo->code1(LC::c_play); }
-#line 3299 "engines/director/lingo/lingo-gr.cpp"
+#line 3273 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 156:
 #line 759 "engines/director/lingo/lingo-gr.y"
                      { g_lingo->codeSetImmediate(true); }
-#line 3305 "engines/director/lingo/lingo-gr.cpp"
+#line 3279 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 157:
@@ -3310,13 +3284,13 @@ yyreduce:
 		g_lingo->codeSetImmediate(false);
 		g_lingo->codeFunc((yyvsp[-2].s), (yyvsp[0].narg));
 		delete (yyvsp[-2].s); }
-#line 3314 "engines/director/lingo/lingo-gr.cpp"
+#line 3288 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 158:
 #line 789 "engines/director/lingo/lingo-gr.y"
              { startDef(); }
-#line 3320 "engines/director/lingo/lingo-gr.cpp"
+#line 3294 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 159:
@@ -3326,19 +3300,19 @@ yyreduce:
 		g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		endDef();
 		delete (yyvsp[-5].s); }
-#line 3330 "engines/director/lingo/lingo-gr.cpp"
+#line 3304 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 160:
 #line 795 "engines/director/lingo/lingo-gr.y"
                         { g_lingo->codeFactory(*(yyvsp[0].s)); delete (yyvsp[0].s); }
-#line 3336 "engines/director/lingo/lingo-gr.cpp"
+#line 3310 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 161:
 #line 796 "engines/director/lingo/lingo-gr.y"
                   { startDef(); (*g_lingo->_methodVars)["me"] = kVarArgument; }
-#line 3342 "engines/director/lingo/lingo-gr.cpp"
+#line 3316 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 162:
@@ -3348,7 +3322,7 @@ yyreduce:
 		g_lingo->codeDefine(*(yyvsp[-6].s), (yyvsp[-4].code), (yyvsp[-3].narg) + 1);
 		endDef();
 		delete (yyvsp[-6].s); }
-#line 3352 "engines/director/lingo/lingo-gr.cpp"
+#line 3326 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 163:
@@ -3361,7 +3335,7 @@ yyreduce:
 		checkEnd((yyvsp[-1].s), (yyvsp[-7].s)->c_str(), false);
 		delete (yyvsp[-7].s);
 		delete (yyvsp[-1].s); }
-#line 3365 "engines/director/lingo/lingo-gr.cpp"
+#line 3339 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 164:
@@ -3371,139 +3345,139 @@ yyreduce:
 		g_lingo->codeDefine(*(yyvsp[-5].s), (yyvsp[-4].code), (yyvsp[-3].narg));
 		endDef();
 		delete (yyvsp[-5].s); }
-#line 3375 "engines/director/lingo/lingo-gr.cpp"
+#line 3349 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 165:
 #line 816 "engines/director/lingo/lingo-gr.y"
          { startDef(); }
-#line 3381 "engines/director/lingo/lingo-gr.cpp"
+#line 3355 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 166:
 #line 816 "engines/director/lingo/lingo-gr.y"
                                 { (yyval.s) = (yyvsp[0].s); }
-#line 3387 "engines/director/lingo/lingo-gr.cpp"
+#line 3361 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 167:
 #line 818 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 0; }
-#line 3393 "engines/director/lingo/lingo-gr.cpp"
+#line 3367 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 168:
 #line 819 "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 3399 "engines/director/lingo/lingo-gr.cpp"
+#line 3373 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 169:
 #line 820 "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 3405 "engines/director/lingo/lingo-gr.cpp"
+#line 3379 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 171:
 #line 823 "engines/director/lingo/lingo-gr.y"
                                                         { delete (yyvsp[0].s); }
-#line 3411 "engines/director/lingo/lingo-gr.cpp"
+#line 3385 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 172:
 #line 824 "engines/director/lingo/lingo-gr.y"
                                                 { delete (yyvsp[0].s); }
-#line 3417 "engines/director/lingo/lingo-gr.cpp"
+#line 3391 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 173:
 #line 826 "engines/director/lingo/lingo-gr.y"
                                         { inDef(); }
-#line 3423 "engines/director/lingo/lingo-gr.cpp"
+#line 3397 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 174:
 #line 828 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 0; }
-#line 3429 "engines/director/lingo/lingo-gr.cpp"
+#line 3403 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 175:
 #line 829 "engines/director/lingo/lingo-gr.y"
                                                         { (yyval.narg) = 1; }
-#line 3435 "engines/director/lingo/lingo-gr.cpp"
+#line 3409 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 176:
 #line 830 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3441 "engines/director/lingo/lingo-gr.cpp"
+#line 3415 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 177:
 #line 832 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = 1; }
-#line 3447 "engines/director/lingo/lingo-gr.cpp"
+#line 3421 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 178:
 #line 833 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3453 "engines/director/lingo/lingo-gr.cpp"
+#line 3427 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 179:
 #line 835 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = (yyvsp[-1].code); }
-#line 3459 "engines/director/lingo/lingo-gr.cpp"
+#line 3433 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 180:
 #line 837 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.code) = g_lingo->code2(LC::c_arraypush, 0); }
-#line 3465 "engines/director/lingo/lingo-gr.cpp"
+#line 3439 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 181:
 #line 838 "engines/director/lingo/lingo-gr.y"
                                                         { (yyval.code) = g_lingo->code2(LC::c_proparraypush, 0); }
-#line 3471 "engines/director/lingo/lingo-gr.cpp"
+#line 3445 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 182:
 #line 839 "engines/director/lingo/lingo-gr.y"
                          { (yyval.code) = g_lingo->code1(LC::c_proparraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3477 "engines/director/lingo/lingo-gr.cpp"
+#line 3451 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 183:
 #line 840 "engines/director/lingo/lingo-gr.y"
                      { (yyval.code) = g_lingo->code1(LC::c_arraypush); (yyval.code) = g_lingo->codeInt((yyvsp[0].narg)); }
-#line 3483 "engines/director/lingo/lingo-gr.cpp"
+#line 3457 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 184:
 #line 842 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3489 "engines/director/lingo/lingo-gr.cpp"
+#line 3463 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 185:
 #line 843 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3495 "engines/director/lingo/lingo-gr.cpp"
+#line 3469 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 186:
 #line 845 "engines/director/lingo/lingo-gr.y"
                                                 { (yyval.narg) = 1; }
-#line 3501 "engines/director/lingo/lingo-gr.cpp"
+#line 3475 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 187:
 #line 846 "engines/director/lingo/lingo-gr.y"
                                         { (yyval.narg) = (yyvsp[-2].narg) + 1; }
-#line 3507 "engines/director/lingo/lingo-gr.cpp"
+#line 3481 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 188:
@@ -3512,7 +3486,7 @@ yyreduce:
 		g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3516 "engines/director/lingo/lingo-gr.cpp"
+#line 3490 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 189:
@@ -3521,7 +3495,7 @@ yyreduce:
 		g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3525 "engines/director/lingo/lingo-gr.cpp"
+#line 3499 "engines/director/lingo/lingo-gr.cpp"
     break;
 
   case 190:
@@ -3530,11 +3504,11 @@ yyreduce:
 		g_lingo->code1(LC::c_stringpush);
 		g_lingo->codeString((yyvsp[-2].s)->c_str());
 		delete (yyvsp[-2].s); }
-#line 3534 "engines/director/lingo/lingo-gr.cpp"
+#line 3508 "engines/director/lingo/lingo-gr.cpp"
     break;
 
 
-#line 3538 "engines/director/lingo/lingo-gr.cpp"
+#line 3512 "engines/director/lingo/lingo-gr.cpp"
 
       default: break;
     }
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 33f7292cf6..9c196f41d4 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -490,6 +490,7 @@ stmt: stmtoneliner
 		g_lingo->codeString($ID->c_str()); }
 	| tTELL expr '\n' tellstart stmtlist lbl tENDTELL { g_lingo->code1(LC::c_telldone); }
 	| tTELL expr tTO tellstart stmtoneliner lbl { g_lingo->code1(LC::c_telldone); }
+	| error	'\n'			{ yyerrok; }
 
 startrepeat:	/* nothing */	{ startRepeat(); }
 
@@ -611,7 +612,6 @@ simpleexprnoparens: INT		{
 		}
 		g_lingo->codeString($ID->c_str());
 		delete $ID; }
-	| error	'\n'		{ yyerrok; }
 
 simpleexpr: simpleexprnoparens
 	| '(' expr[arg] ')'			{ $$ = $arg; }




More information about the Scummvm-git-logs mailing list