[Scummvm-git-logs] scummvm master -> 7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce

sev- sev at scummvm.org
Mon Feb 6 10:38:04 CET 2017


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:
7f5ff6cac0 DIRECTOR: Lingo: Fixing grammar for 'cast XX'


Commit: 7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce
    https://github.com/scummvm/scummvm/commit/7f5ff6cac066a0505fd4aacc211a2627e0c0f8ce
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-02-06T10:39:48+01:00

Commit Message:
DIRECTOR: Lingo: Fixing grammar for 'cast XX'

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 3e01ed0..e8f994d 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -518,18 +518,18 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  113
+#define YYFINAL  114
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1633
+#define YYLAST   1644
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  96
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  41
+#define YYNNTS  42
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  151
+#define YYNRULES  152
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  333
+#define YYNSTATES  336
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -592,12 +592,12 @@ static const yytype_uint16 yyprhs[] =
      279,   283,   287,   291,   295,   299,   303,   307,   310,   314,
      318,   322,   326,   329,   332,   336,   340,   345,   350,   355,
      362,   367,   374,   379,   386,   391,   398,   401,   403,   405,
-     408,   410,   413,   416,   419,   422,   424,   429,   432,   437,
-     444,   449,   452,   456,   458,   462,   464,   468,   471,   474,
-     477,   480,   484,   487,   490,   492,   496,   499,   502,   505,
-     509,   512,   513,   517,   518,   527,   530,   531,   540,   541,
-     542,   553,   554,   556,   560,   565,   566,   569,   570,   572,
-     576,   578
+     408,   410,   413,   416,   419,   422,   424,   427,   432,   439,
+     444,   447,   451,   453,   457,   459,   463,   466,   469,   472,
+     475,   479,   482,   485,   487,   491,   494,   497,   500,   504,
+     507,   508,   512,   513,   522,   525,   526,   535,   536,   537,
+     548,   549,   551,   555,   560,   561,   564,   565,   567,   571,
+     573,   577,   580
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -645,23 +645,23 @@ static const yytype_int16 yyrhs[] =
       -1,    75,   118,    46,   118,    40,   118,    -1,    42,   118,
       -1,   122,    -1,   125,    -1,    30,    43,    -1,    30,    -1,
       32,   120,    -1,    56,   121,    -1,    18,   118,    -1,    17,
-     118,    -1,    17,    -1,    19,    89,   135,    90,    -1,    19,
-     135,    -1,    80,    89,    21,    90,    -1,    80,    89,    21,
-      95,   135,    90,    -1,    53,   118,    48,   118,    -1,    53,
-     118,    -1,    20,    21,   135,    -1,    21,    -1,   120,    95,
-      21,    -1,    21,    -1,   121,    95,    21,    -1,    33,    36,
-      -1,    33,    39,    -1,    33,    41,    -1,    33,   123,    -1,
-      33,   123,   124,    -1,    33,   124,    -1,    31,   118,    -1,
-     118,    -1,    40,    38,   118,    -1,    38,   118,    -1,    54,
-      55,    -1,    54,   123,    -1,    54,   123,   124,    -1,    54,
-     124,    -1,    -1,    26,   126,   135,    -1,    -1,    37,    21,
-     128,   114,   132,    98,   133,   116,    -1,    51,    21,    -1,
-      -1,    52,    21,   129,   114,   132,    98,   133,   116,    -1,
-      -1,    -1,    79,    21,   130,   114,   131,   132,    98,   133,
-     116,    25,    -1,    -1,    21,    -1,   132,    95,    21,    -1,
-     132,    98,    95,    21,    -1,    -1,    21,   136,    -1,    -1,
-     118,    -1,   135,    95,   118,    -1,   118,    -1,   135,    95,
-     118,    -1
+     118,    -1,    17,    -1,    19,   137,    -1,    80,    89,    21,
+      90,    -1,    80,    89,    21,    95,   135,    90,    -1,    53,
+     118,    48,   118,    -1,    53,   118,    -1,    20,    21,   135,
+      -1,    21,    -1,   120,    95,    21,    -1,    21,    -1,   121,
+      95,    21,    -1,    33,    36,    -1,    33,    39,    -1,    33,
+      41,    -1,    33,   123,    -1,    33,   123,   124,    -1,    33,
+     124,    -1,    31,   118,    -1,   118,    -1,    40,    38,   118,
+      -1,    38,   118,    -1,    54,    55,    -1,    54,   123,    -1,
+      54,   123,   124,    -1,    54,   124,    -1,    -1,    26,   126,
+     135,    -1,    -1,    37,    21,   128,   114,   132,    98,   133,
+     116,    -1,    51,    21,    -1,    -1,    52,    21,   129,   114,
+     132,    98,   133,   116,    -1,    -1,    -1,    79,    21,   130,
+     114,   131,   132,    98,   133,   116,    25,    -1,    -1,    21,
+      -1,   132,    95,    21,    -1,   132,    98,    95,    21,    -1,
+      -1,    21,   136,    -1,    -1,   118,    -1,   135,    95,   118,
+      -1,   118,    -1,   135,    95,   118,    -1,   118,    98,    -1,
+     135,    95,   118,    98,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -678,11 +678,11 @@ static const yytype_uint16 yyrline[] =
      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
      451,   452,   453,   454,   455,   456,   459,   460,   461,   462,
      463,   465,   466,   467,   470,   473,   476,   477,   478,   479,
-     480,   481,   482,   485,   486,   489,   490,   501,   502,   503,
-     504,   507,   510,   515,   516,   519,   520,   523,   524,   527,
-     530,   533,   533,   563,   563,   569,   572,   572,   577,   578,
-     577,   588,   589,   590,   591,   594,   598,   606,   607,   608,
-     611,   612
+     480,   481,   484,   485,   488,   489,   500,   501,   502,   503,
+     506,   509,   514,   515,   518,   519,   522,   523,   526,   529,
+     532,   532,   562,   562,   568,   571,   571,   576,   577,   576,
+     587,   588,   589,   590,   593,   597,   605,   606,   607,   610,
+     611,   614,   615
 };
 #endif
 
@@ -711,7 +711,7 @@ static const char *const yytname[] =
   "repeatwith", "if", "elseif", "begin", "end", "stmtlist", "when", "expr",
   "func", "globallist", "instancelist", "gotofunc", "gotoframe",
   "gotomovie", "playfunc", "@1", "defn", "@2", "@3", "@4", "@5", "argdef",
-  "argstore", "macro", "arglist", "nonemptyarglist", 0
+  "argstore", "macro", "arglist", "nonemptyarglist", "nonemptyarglistnl", 0
 };
 #endif
 
@@ -747,11 +747,11 @@ static const yytype_uint8 yyr1[] =
      118,   118,   118,   118,   118,   118,   118,   118,   118,   118,
      118,   118,   118,   118,   118,   118,   119,   119,   119,   119,
      119,   119,   119,   119,   119,   119,   119,   119,   119,   119,
-     119,   119,   119,   120,   120,   121,   121,   122,   122,   122,
-     122,   122,   122,   123,   123,   124,   124,   125,   125,   125,
-     125,   126,   125,   128,   127,   127,   129,   127,   130,   131,
-     127,   132,   132,   132,   132,   133,   134,   135,   135,   135,
-     136,   136
+     119,   119,   120,   120,   121,   121,   122,   122,   122,   122,
+     122,   122,   123,   123,   124,   124,   125,   125,   125,   125,
+     126,   125,   128,   127,   127,   129,   127,   130,   131,   127,
+     132,   132,   132,   132,   133,   134,   135,   135,   135,   136,
+     136,   137,   137
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -767,12 +767,12 @@ static const yytype_uint8 yyr2[] =
        3,     3,     3,     3,     3,     3,     3,     2,     3,     3,
        3,     3,     2,     2,     3,     3,     4,     4,     4,     6,
        4,     6,     4,     6,     4,     6,     2,     1,     1,     2,
-       1,     2,     2,     2,     2,     1,     4,     2,     4,     6,
-       4,     2,     3,     1,     3,     1,     3,     2,     2,     2,
-       2,     3,     2,     2,     1,     3,     2,     2,     2,     3,
-       2,     0,     3,     0,     8,     2,     0,     8,     0,     0,
-      10,     0,     1,     3,     4,     0,     2,     0,     1,     3,
-       1,     3
+       1,     2,     2,     2,     2,     1,     2,     4,     6,     4,
+       2,     3,     1,     3,     1,     3,     2,     2,     2,     2,
+       3,     2,     2,     1,     3,     2,     2,     2,     3,     2,
+       0,     3,     0,     8,     2,     0,     8,     0,     0,    10,
+       0,     1,     3,     4,     0,     2,     0,     1,     3,     1,
+       3,     2,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -780,175 +780,167 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     0,    55,    62,     0,    56,    59,   105,     0,   147,
-       0,    61,    58,    57,   131,   100,     0,     0,    47,     0,
+       0,     0,    55,    62,     0,    56,    59,   105,     0,   146,
+       0,    61,    58,    57,   130,   100,     0,     0,    47,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     147,     0,     3,    64,    21,     9,    22,     0,     0,     0,
+     146,     0,     3,    64,    21,     9,    22,     0,     0,     0,
        0,    19,    20,    97,    98,     7,     8,     5,     4,    61,
-       0,    63,   104,   103,   147,   148,   107,   147,   147,   150,
-       0,   146,   147,    99,   113,   101,     0,   117,     0,   118,
-       0,   119,   124,   120,   122,   133,    96,     0,    45,     0,
-       0,     0,     0,   135,   136,   111,   127,   128,   130,   115,
-     102,    77,     0,     0,     0,     0,     0,   138,     0,    82,
-      83,     0,     0,     1,     6,     0,     0,     0,     0,    42,
-      50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   147,     0,   148,
-       0,     0,   112,     0,     0,   132,     0,   123,   126,     0,
-     121,    49,     0,     0,     0,    46,     0,     0,     0,     0,
-       0,    54,    49,     0,   129,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    49,     0,    84,    85,
-       2,     0,    50,     0,     0,    49,     0,    26,    73,    74,
-      72,    75,    76,    69,    79,    80,    81,    78,    65,    66,
-      67,    68,    70,    71,   106,   149,    60,   151,   114,   125,
-     141,    10,    11,    12,    17,    14,     0,     0,    16,    13,
-     141,   110,   116,    88,     0,    90,     0,    92,     0,    94,
-       0,    86,    87,   139,   108,   147,    51,     0,    44,    51,
-       0,    43,   142,     0,    18,    15,     0,     0,     0,     0,
-       0,   141,     0,    50,     0,     0,    50,    50,     0,   145,
-     145,    89,    91,    93,    95,     0,   109,    52,    53,     0,
-       0,    50,    49,    30,   143,     0,    51,    51,   145,    23,
-      50,    51,    27,    51,     0,    48,    49,    50,    38,     0,
-     144,   134,   137,    51,    51,    50,    50,    50,    40,    36,
-       0,     0,    37,    33,     0,     0,    50,     0,     0,    35,
-       0,     0,    50,    49,    50,    49,   140,     0,    24,    28,
-      29,    49,    31,     0,    32,     0,    25,    51,    34,    50,
-      50,    39,    41
+       0,    63,   104,   103,   147,     0,   106,   146,   146,   149,
+       0,   145,   146,    99,   112,   101,     0,   116,     0,   117,
+       0,   118,   123,   119,   121,   132,    96,     0,    45,     0,
+       0,     0,     0,   134,   135,   110,   126,   127,   129,   114,
+     102,    77,     0,     0,     0,     0,     0,   137,     0,    82,
+      83,     0,   147,     0,     1,     6,     0,     0,     0,     0,
+      42,    50,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   146,     0,
+     151,     0,   111,   147,     0,     0,   131,     0,   122,   125,
+       0,   120,    49,     0,     0,     0,    46,     0,     0,     0,
+       0,     0,    54,    49,     0,   128,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    49,     0,    84,
+      85,     0,     2,     0,    50,     0,     0,    49,     0,    26,
+      73,    74,    72,    75,    76,    69,    79,    80,    81,    78,
+      65,    66,    67,    68,    70,    71,   148,    60,   150,   113,
+     124,   140,    10,    11,    12,    17,    14,     0,     0,    16,
+      13,   140,   109,   115,    88,     0,    90,     0,    92,     0,
+      94,     0,    86,    87,   138,   107,   146,   148,    51,     0,
+      44,    51,     0,    43,   152,   141,     0,    18,    15,     0,
+       0,     0,     0,     0,   140,     0,    50,     0,     0,    50,
+      50,     0,   144,   144,    89,    91,    93,    95,     0,   108,
+      52,    53,     0,     0,    50,    49,    30,   142,     0,    51,
+      51,   144,    23,    50,    51,    27,    51,     0,    48,    49,
+      50,    38,     0,   143,   133,   136,    51,    51,    50,    50,
+      50,    40,    36,     0,     0,    37,    33,     0,     0,    50,
+       0,     0,    35,     0,     0,    50,    49,    50,    49,   139,
+       0,    24,    28,    29,    49,    31,     0,    32,     0,    25,
+      51,    34,    50,    50,    39,    41
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    41,   267,    42,    43,    44,   268,    46,   314,   297,
-     298,   288,   299,   118,    47,    48,    49,   289,   210,   187,
-     253,    50,    51,    52,    75,   100,    53,    83,    84,    54,
-      72,    55,   151,   162,   176,   251,   243,   276,    56,   143,
-      71
+      -1,    41,   270,    42,    43,    44,   271,    46,   317,   300,
+     301,   291,   302,   119,    47,    48,    49,   292,   211,   189,
+     256,    50,    51,    52,    75,   100,    53,    83,    84,    54,
+      72,    55,   152,   163,   177,   254,   246,   279,    56,   144,
+      71,    66
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -240
+#define YYPACT_NINF -275
 static const yytype_int16 yypact[] =
 {
-     286,   -64,  -240,  -240,   961,  -240,  -240,   961,   961,  1027,
-      35,   369,  -240,  -240,  -240,    53,    67,   860,  -240,    77,
-     961,   -26,    45,    80,    81,    82,   961,   926,    83,   961,
-     961,   961,   961,   961,   961,    84,    18,   961,   961,   961,
-     961,     2,  -240,  -240,  -240,  -240,  -240,    19,    25,  1052,
-     961,  1541,  -240,  -240,  -240,  -240,  -240,  -240,  -240,    22,
-     961,  1541,  1541,  1541,   961,  1541,    20,   961,   961,  1345,
-      24,  -240,   961,  -240,  -240,    26,   961,  -240,   961,  -240,
-      74,  -240,  1541,    36,  -240,  -240,   142,    92,  -240,   -39,
-     961,   -32,    75,  -240,  -240,  1314,  -240,    36,  -240,  -240,
-      46,   -66,   338,  1091,  1123,  1155,  1417,  -240,   119,   -66,
-     -66,  1479,    -9,  -240,   454,  1052,   961,  1052,    99,  1510,
-    1541,   961,   961,   961,   961,   961,   961,   961,   961,   961,
-     961,   961,   961,   961,   961,   961,   961,   961,   142,  1479,
-     -12,   961,    20,    -8,   961,    20,   125,  1541,  1541,   961,
-    -240,  -240,   126,   961,   961,  -240,   961,   961,   763,   961,
-     961,  -240,  -240,   961,  -240,   128,   961,   961,   961,   961,
-     961,   961,   961,   961,   961,   961,  -240,    -1,  -240,  -240,
-    -240,    61,  1541,    62,  1448,   -64,   961,  -240,   823,   823,
-     823,   -66,   -66,   -66,  1541,   823,   823,  1021,   129,   129,
-     -66,   -66,  1541,  1541,  -240,  1541,  -240,  1381,  -240,  1541,
-     135,  -240,  1541,  1541,  1541,  1541,   961,   961,  1541,  1541,
-     135,  1541,  -240,  1541,  1187,  1541,  1219,  1541,  1251,  1541,
-    1283,  1541,  1541,  -240,  -240,   961,  -240,    17,  -240,  -240,
-     786,  1541,  -240,   -24,  1541,  1541,   -24,   961,   961,   961,
-     961,   135,     5,   620,   113,   961,   620,  -240,   141,    68,
-      68,  1541,  1541,  1541,  1541,   -24,  -240,  -240,  -240,   140,
-     961,  1541,    -5,   -13,  -240,   145,  -240,  -240,    68,  -240,
-    1541,  -240,  -240,  -240,   150,  -240,  -240,   150,  -240,  1052,
-    -240,   620,   620,  -240,  -240,   620,   620,   150,   150,  -240,
-    1052,   786,  -240,   131,   138,   537,   620,   159,   160,  -240,
-     161,   146,  -240,  -240,  -240,  -240,  -240,   165,  -240,  -240,
-    -240,  -240,  -240,   786,  -240,   703,  -240,   703,  -240,  -240,
-     620,  -240,  -240
+     289,   -65,  -275,  -275,   964,  -275,  -275,   964,   964,   964,
+      37,   372,  -275,  -275,  -275,    31,    61,   863,  -275,    72,
+     964,    38,    71,    75,    76,    77,   964,   929,    79,   964,
+     964,   964,   964,   964,   964,    81,    15,   964,   964,   964,
+     964,     2,  -275,  -275,  -275,  -275,  -275,    16,    22,  1030,
+     964,  1552,  -275,  -275,  -275,  -275,  -275,  -275,  -275,    17,
+     964,  1552,  1552,  1552,  1458,    12,  -275,   964,   964,  1324,
+      13,  -275,   964,  -275,  -275,    18,   964,  -275,   964,  -275,
+      78,  -275,  1552,    32,  -275,  -275,   340,    89,  -275,   -39,
+     964,   -32,    69,  -275,  -275,  1007,  -275,    32,  -275,  -275,
+      25,   -45,  1069,  1101,  1133,  1165,  1396,  -275,   100,   -45,
+     -45,  1490,  1552,    -6,  -275,   457,  1030,   964,  1030,    95,
+    1521,  1552,   964,   964,   964,   964,   964,   964,   964,   964,
+     964,   964,   964,   964,   964,   964,   964,   964,   964,   340,
+    -275,   964,    27,  1490,   -33,   964,    27,   120,  1552,  1552,
+     964,  -275,  -275,   122,   964,   964,  -275,   964,   964,   766,
+     964,   964,  -275,  -275,   964,  -275,   123,   964,   964,   964,
+     964,   964,   964,   964,   964,   964,   964,  -275,   -31,  -275,
+    -275,   964,  -275,    57,  1552,    58,  1427,   -65,   964,  -275,
+     164,   164,   164,   -45,   -45,   -45,  1552,   164,   164,   826,
+     206,   206,   -45,   -45,  1552,  1552,  1458,  -275,  1360,  -275,
+    1552,   128,  -275,  1552,  1552,  1552,  1552,   964,   964,  1552,
+    1552,   128,  1552,  -275,  1552,  1197,  1552,  1229,  1552,  1261,
+    1552,  1293,  1552,  1552,  -275,  -275,   964,  1552,  -275,    -2,
+    -275,  -275,   789,  1552,  -275,  -275,   -66,  1552,  1552,   -66,
+     964,   964,   964,   964,   128,   -30,   623,   104,   964,   623,
+    -275,   131,    59,    59,  1552,  1552,  1552,  1552,   -66,  -275,
+    -275,  -275,   132,   964,  1552,    -5,   -13,  -275,   139,  -275,
+    -275,    59,  -275,  1552,  -275,  -275,  -275,   124,  -275,  -275,
+     124,  -275,  1030,  -275,   623,   623,  -275,  -275,   623,   623,
+     124,   124,  -275,  1030,   789,  -275,   113,   121,   540,   623,
+     142,   154,  -275,   158,   141,  -275,  -275,  -275,  -275,  -275,
+     162,  -275,  -275,  -275,  -275,  -275,   789,  -275,   706,  -275,
+     706,  -275,  -275,   623,  -275,  -275
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -240,  -240,    12,    87,  -240,  -239,     0,  -240,  -240,  -240,
-     -79,  -228,  -101,  -111,  -240,  -240,  -240,  -237,  -133,   -34,
-    -184,  -240,     1,  -240,  -240,  -240,  -240,   175,   -16,  -240,
-    -240,  -240,  -240,  -240,  -240,  -240,  -205,  -224,  -240,     8,
-    -240
+    -275,  -275,    14,    73,  -275,  -241,     0,  -275,  -275,  -275,
+     -86,  -247,  -108,  -112,  -275,  -275,  -275,  -274,  -111,   -75,
+    -185,  -275,     1,  -275,  -275,  -275,  -275,   166,   -16,  -275,
+    -275,  -275,  -275,  -275,  -275,  -275,  -218,  -210,  -275,     8,
+    -275,  -275
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -150
+#define YYTABLE_NINF -149
 static const yytype_int16 yytable[] =
 {
-      45,   257,   113,   127,   181,    61,   183,   156,    62,    63,
-      65,    98,    69,    58,   159,   246,   285,    66,    82,    70,
-     282,    86,    87,    88,    57,   135,   136,    95,    82,   220,
-     101,   102,   103,   104,   105,   106,   277,   286,   109,   110,
-     111,    65,   157,   233,   254,   283,   265,   300,   112,   160,
-     119,   120,   240,   114,   293,   256,    67,    89,    90,   302,
-     300,   138,   312,   255,    57,   139,    91,   150,    65,   139,
-     302,   258,   140,    65,    78,   142,    80,   147,   204,   148,
-     145,   164,   206,   141,   328,   179,   141,   141,    74,   234,
-      57,   158,   291,   292,   235,   266,    73,   295,    85,   296,
-     141,    92,    93,    94,    99,   107,   116,   108,   115,   305,
-     306,   137,   149,   155,    45,   141,   119,   182,   184,   144,
-     161,   146,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,    65,   284,
-     177,   165,   205,   330,   185,   207,   208,   211,   237,   222,
-     209,   236,   238,   301,   212,   213,   242,   214,   215,   270,
-     218,   219,   274,   275,   221,   279,   290,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   152,   304,   285,
-     323,   313,   325,   315,   318,   319,   320,   241,   327,   311,
-     326,   321,   124,   125,   287,   126,   309,   239,   127,   121,
-     122,   180,    97,     0,   123,   124,   125,     0,   126,   153,
-     154,   127,   128,   129,   133,   134,     0,   244,   245,   269,
-     135,   136,   272,   273,   130,   131,   132,   133,   134,     0,
-       0,     0,     0,   135,   136,     0,    65,   281,     0,     0,
-       0,     0,     0,   252,     0,     0,   294,     0,   261,   262,
-     263,   264,     0,   303,     0,   259,   271,     0,   260,     0,
-       0,   307,   308,   310,     0,     0,     0,     0,     0,     0,
-       0,   280,   317,     0,     0,     0,     0,   278,   322,     0,
-     324,     0,     0,     0,     0,     0,    -6,     1,     0,     0,
-     119,     0,     0,     0,     0,   331,   332,     2,     3,     4,
-       5,   119,     6,     7,     8,     9,    10,    11,    12,     0,
-      13,     0,    14,     0,     0,     0,    15,     0,    16,    17,
-      18,     0,     0,    19,     0,   329,     0,   329,    20,    21,
-      22,     0,     0,    23,     0,     0,     0,    24,    25,    26,
-      27,     0,    28,     0,     0,     0,     0,     0,     0,     0,
-       0,    29,     0,     0,     0,     0,     0,     0,    30,    31,
-      32,    33,    34,     0,     0,    35,    36,     0,     0,    37,
-      38,     0,     0,     0,    -6,    39,     0,     0,   166,    40,
-       2,     3,     4,     5,   167,     6,     0,     0,     0,     0,
-      59,    12,     0,    13,     0,   121,   122,     0,     0,     0,
-     123,   124,   125,     0,   126,     0,     0,   127,   128,   129,
-       0,    60,     0,    22,     0,     0,     0,     0,     0,     0,
-     130,   131,   132,   133,   134,     0,     0,     0,     0,   135,
-     136,     0,     0,     0,    29,     0,     0,     0,     0,     0,
-       0,    30,    31,    32,    33,    34,     0,     0,     0,     0,
-       0,     0,    37,    38,     0,     0,     0,     0,    68,     0,
-       0,     0,    40,     0,  -147,     2,     3,     4,     5,     0,
-       6,     7,     8,     9,    10,    11,    12,     0,    13,     0,
-      14,     0,     0,     0,    15,     0,    16,    17,    18,     0,
-       0,    19,     0,     0,     0,     0,    20,    21,    22,     0,
-       0,    23,     0,     0,     0,    24,    25,    26,    27,     0,
-      28,     0,     0,     0,     0,     0,     0,     0,     0,    29,
-       0,     0,     0,     0,     0,     0,    30,    31,    32,    33,
-      34,     0,     0,    35,    36,     0,     0,    37,    38,     0,
-       0,     0,     0,    39,     0,     0,     0,    40,     2,     3,
-       4,     5,     0,     6,     7,     8,     9,    10,    59,    12,
-       0,    13,   316,    14,     0,     0,     0,    15,     0,    16,
-      17,    18,     0,     0,     0,     0,     0,     0,     0,    20,
-      21,    22,     0,     0,    23,     0,     0,     0,     0,     0,
+      45,   260,   114,   249,   183,    61,   185,   157,    62,    63,
+      64,    98,    69,   303,   160,    58,   288,    65,    82,    70,
+     285,    86,    57,    57,   128,   257,   303,    95,    82,   261,
+     101,   102,   103,   104,   105,   106,   268,   289,   109,   110,
+     111,   112,   158,   305,   258,   286,   136,   137,   113,   161,
+     120,   121,   221,   280,   305,   115,   259,   207,    67,   235,
+     269,   139,   181,   315,   236,   181,   234,   151,   112,   143,
+      78,   296,    80,   112,    73,   142,   242,   148,   140,   149,
+     146,   165,    74,    89,    90,   331,    87,    88,   180,   181,
+      57,   159,    91,    85,   294,   295,    92,    93,    94,   298,
+      99,   299,   107,   117,   108,   116,   138,   141,   145,   239,
+     156,   308,   309,   147,   162,    45,   150,   120,   184,   186,
+     166,   178,   181,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   112,
+     187,   209,   206,   212,   223,   333,   208,   238,   240,   245,
+     273,   210,   277,   288,   278,   213,   214,   282,   215,   216,
+     293,   219,   220,   316,   287,   222,   318,   321,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   304,   322,
+     307,   272,   237,   323,   275,   276,   324,   329,   182,   243,
+     290,   314,   312,    97,     0,     0,     0,     0,     0,   284,
+       0,   241,     0,     0,     0,   326,     0,   328,   297,     0,
+       0,     0,     0,   330,     0,   306,     0,     0,   247,   248,
+     244,     0,     0,   310,   311,   313,     0,   125,   126,     0,
+     127,     0,     0,   128,   320,     0,     0,   112,     0,     0,
+     325,     0,   327,     0,   255,     0,   131,   132,   133,   134,
+     135,   264,   265,   266,   267,   136,   137,   334,   335,   274,
+     262,     0,     0,   263,     0,     0,     0,     0,     0,   125,
+     126,     0,   127,     0,   283,   128,     0,     0,     0,     0,
+       0,     0,   281,     0,     0,     0,     0,     0,     0,    -6,
+       1,   134,   135,   120,     0,     0,     0,   136,   137,     0,
+       2,     3,     4,     5,   120,     6,     7,     8,     9,    10,
+      11,    12,     0,    13,     0,    14,     0,     0,     0,    15,
+       0,    16,    17,    18,     0,     0,    19,     0,   332,     0,
+     332,    20,    21,    22,     0,     0,    23,     0,     0,     0,
+      24,    25,    26,    27,     0,    28,     0,     0,     0,     0,
+       0,     0,     0,     0,    29,     0,     0,     0,     0,     0,
+       0,    30,    31,    32,    33,    34,     0,     0,    35,    36,
+       0,     0,    37,    38,     0,   153,     0,    -6,    39,     0,
+       0,     0,    40,     2,     3,     4,     5,     0,     6,     0,
+       0,     0,     0,    59,    12,     0,    13,   122,   123,     0,
+       0,     0,   124,   125,   126,     0,   127,   154,   155,   128,
+     129,   130,     0,     0,    60,     0,    22,     0,     0,     0,
+       0,     0,   131,   132,   133,   134,   135,     0,     0,     0,
+       0,   136,   137,     0,     0,     0,     0,    29,     0,     0,
+       0,     0,     0,     0,    30,    31,    32,    33,    34,     0,
+       0,     0,     0,     0,     0,    37,    38,     0,     0,     0,
+       0,    68,     0,     0,     0,    40,     0,  -146,     2,     3,
+       4,     5,     0,     6,     7,     8,     9,    10,    11,    12,
+       0,    13,     0,    14,     0,     0,     0,    15,     0,    16,
+      17,    18,     0,     0,    19,     0,     0,     0,     0,    20,
+      21,    22,     0,     0,    23,     0,     0,     0,    24,    25,
       26,    27,     0,    28,     0,     0,     0,     0,     0,     0,
        0,     0,    29,     0,     0,     0,     0,     0,     0,    30,
-      31,    32,    33,    34,     0,     0,     0,    36,     0,     0,
-      37,    38,     0,     0,     0,    57,    39,     0,     0,     0,
+      31,    32,    33,    34,     0,     0,    35,    36,     0,     0,
+      37,    38,     0,     0,     0,     0,    39,     0,     0,     0,
       40,     2,     3,     4,     5,     0,     6,     7,     8,     9,
-      10,    59,    12,     0,    13,     0,    14,     0,     0,     0,
+      10,    59,    12,     0,    13,   319,    14,     0,     0,     0,
       15,     0,    16,    17,    18,     0,     0,     0,     0,     0,
        0,     0,    20,    21,    22,     0,     0,    23,     0,     0,
        0,     0,     0,    26,    27,     0,    28,     0,     0,     0,
@@ -963,160 +955,161 @@ static const yytype_int16 yytable[] =
        0,     0,     0,     0,     0,     0,     0,     0,    29,     0,
        0,     0,     0,     0,     0,    30,    31,    32,    33,    34,
        0,     0,     0,    36,     0,     0,    37,    38,     0,     0,
-       0,     0,    39,     0,     0,     0,    40,     2,     3,     4,
-       5,     0,     6,     7,     8,     9,    10,    59,    12,   216,
+       0,    57,    39,     0,     0,     0,    40,     2,     3,     4,
+       5,     0,     6,     7,     8,     9,    10,    59,    12,     0,
       13,     0,    14,     0,     0,     0,    15,     0,    16,    17,
-     121,   122,     0,     0,     0,   123,   124,   125,    20,   126,
-      22,     0,   127,   128,   129,     0,     0,     0,     0,    26,
-      27,     0,    28,     0,   217,   130,   131,   132,   133,   134,
-       0,    29,     0,     0,   135,   136,     0,     0,    30,    31,
-      32,    33,    34,     0,     0,     0,    36,     0,     0,    37,
-      38,     2,     3,     4,     5,    39,     6,     0,     0,    40,
-       0,    59,    12,     0,    13,     0,   124,   125,     0,   126,
-       0,    76,   127,     0,     0,     0,    77,     0,    78,    79,
-      80,    81,    60,     0,    22,   130,   131,   132,   133,   134,
-       0,     0,     0,     0,   135,   136,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    29,     0,     0,     0,     0,
-       0,     0,    30,    31,    32,    33,    34,     2,     3,     4,
-       5,     0,     6,    37,    38,     0,     0,    59,    12,    39,
-      13,     0,     0,    40,     0,     0,     0,    76,     0,     0,
-       0,     0,     0,     0,    78,     0,    80,     0,    60,     0,
-      22,     0,     2,     3,     4,     5,     0,     6,     0,     0,
-       0,    96,    59,    12,     0,    13,     0,     0,     0,     0,
+      18,     0,     0,     0,     0,     0,     0,     0,    20,    21,
+      22,     0,     0,    23,     0,     0,     0,     0,     0,    26,
+      27,     0,    28,     0,     0,     0,     0,     0,     0,     0,
        0,    29,     0,     0,     0,     0,     0,     0,    30,    31,
-      32,    33,    34,    60,     0,    22,     0,     0,     0,    37,
+      32,    33,    34,     0,     0,     0,    36,     0,     0,    37,
       38,     0,     0,     0,     0,    39,     0,     0,     0,    40,
-       0,     0,     0,     0,     0,     0,    29,     0,     0,     0,
-       0,     0,     0,    30,    31,    32,    33,    34,     2,     3,
-       4,     5,     0,     6,    37,    38,     0,     0,    59,    12,
-      39,    13,     0,     0,    40,     0,     0,     0,     0,     0,
-       0,     0,     0,     2,     3,     4,     5,     0,     6,    60,
-       0,    22,     0,    59,    12,     0,    13,     0,     0,     0,
-       0,     0,     0,     0,   124,   125,     0,   126,     0,     0,
-     127,     0,    29,     0,    60,     0,    22,     0,     0,    30,
-      31,    32,    33,    34,   131,   132,   133,   134,     0,     0,
-      37,    38,   135,   136,     0,     0,    64,    29,     0,     0,
-      40,     0,     0,     0,    30,    31,    32,    33,    34,     0,
-       0,   168,     0,     0,     0,    37,    38,   169,     0,     0,
-       0,   117,     0,     0,     0,    40,     0,     0,   121,   122,
-       0,     0,     0,   123,   124,   125,     0,   126,     0,     0,
-     127,   128,   129,   170,     0,     0,     0,     0,     0,   171,
-       0,     0,     0,   130,   131,   132,   133,   134,     0,     0,
-     121,   122,   135,   136,     0,   123,   124,   125,     0,   126,
-       0,     0,   127,   128,   129,   172,     0,     0,     0,     0,
-       0,   173,     0,     0,     0,   130,   131,   132,   133,   134,
-       0,     0,   121,   122,   135,   136,     0,   123,   124,   125,
-       0,   126,     0,     0,   127,   128,   129,   247,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   130,   131,   132,
-     133,   134,     0,     0,   121,   122,   135,   136,     0,   123,
-     124,   125,     0,   126,     0,     0,   127,   128,   129,   248,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   130,
-     131,   132,   133,   134,     0,     0,   121,   122,   135,   136,
-       0,   123,   124,   125,     0,   126,     0,     0,   127,   128,
-     129,   249,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   130,   131,   132,   133,   134,     0,     0,   121,   122,
-     135,   136,     0,   123,   124,   125,     0,   126,     0,     0,
-     127,   128,   129,   250,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   130,   131,   132,   133,   134,     0,     0,
-     121,   122,   135,   136,     0,   123,   124,   125,     0,   126,
-       0,     0,   127,   128,   129,     0,     0,     0,     0,     0,
-       0,     0,   163,     0,     0,   130,   131,   132,   133,   134,
-       0,   121,   122,     0,   135,   136,   123,   124,   125,     0,
-     126,     0,     0,   127,   128,   129,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   130,   131,   132,   133,
-     134,     0,   121,   122,     0,   135,   136,   123,   124,   125,
-       0,   126,     0,     0,   127,   128,   129,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   130,   131,   132,
-     133,   134,     0,     0,     0,     0,   135,   136,   121,   122,
-    -148,     0,     0,   123,   124,   125,     0,   126,     0,     0,
-     127,   128,   129,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   130,   131,   132,   133,   134,     0,     0,
-       0,     0,   135,   136,   121,   122,  -149,     0,     0,   123,
-     124,   125,     0,   126,     0,     0,   127,   128,   129,     0,
-       0,     0,     0,     0,   174,   175,     0,     0,     0,   130,
-     131,   132,   133,   134,     0,   121,   122,     0,   135,   136,
-     123,   124,   125,     0,   126,     0,     0,   127,   128,   129,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   186,
-     130,   131,   132,   133,   134,     0,   121,   122,   178,   135,
-     136,   123,   124,   125,     0,   126,     0,     0,   127,   128,
-     129,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   130,   131,   132,   133,   134,     0,   121,   122,   178,
-     135,   136,   123,   124,   125,     0,   126,     0,     0,   127,
-     128,   129,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   186,   130,   131,   132,   133,   134,     0,   121,   122,
-       0,   135,   136,   123,   124,   125,     0,   126,     0,     0,
-     127,   128,   129,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   130,   131,   132,   133,   134,     0,     0,
-       0,     0,   135,   136
+       2,     3,     4,     5,     0,     6,     7,     8,     9,    10,
+      59,    12,   217,    13,     0,    14,     0,     0,     0,    15,
+       0,    16,    17,   122,   123,     0,     0,     0,   124,   125,
+     126,    20,   127,    22,     0,   128,   129,   130,     0,     0,
+       0,     0,    26,    27,     0,    28,     0,   218,   131,   132,
+     133,   134,   135,     0,    29,     0,     0,   136,   137,     0,
+       0,    30,    31,    32,    33,    34,     0,     0,     0,    36,
+       0,     0,    37,    38,     2,     3,     4,     5,    39,     6,
+       0,     0,    40,     0,    59,    12,     0,    13,     0,   125,
+     126,     0,   127,     0,    76,   128,     0,     0,     0,    77,
+       0,    78,    79,    80,    81,    60,     0,    22,     0,   132,
+     133,   134,   135,     0,     0,     0,     0,   136,   137,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    29,     0,
+       0,     0,     0,     0,     0,    30,    31,    32,    33,    34,
+       2,     3,     4,     5,     0,     6,    37,    38,     0,     0,
+      59,    12,    39,    13,     0,     0,    40,     0,     0,     0,
+      76,     0,     0,     0,     0,     0,     0,    78,     0,    80,
+       0,    60,     0,    22,     0,     2,     3,     4,     5,     0,
+       6,     0,     0,     0,    96,    59,    12,     0,    13,     0,
+       0,     0,     0,     0,    29,     0,     0,     0,     0,     0,
+       0,    30,    31,    32,    33,    34,    60,     0,    22,     0,
+       0,     0,    37,    38,     0,     0,     0,     0,    39,     0,
+       0,     0,    40,     0,     0,     0,     0,     0,     0,    29,
+       0,     0,     0,     0,     0,     0,    30,    31,    32,    33,
+      34,     2,     3,     4,     5,     0,     6,    37,    38,     0,
+       0,    59,    12,    39,    13,   164,     0,    40,     0,     0,
+       0,     0,     0,     0,   122,   123,     0,     0,     0,   124,
+     125,   126,    60,   127,    22,     0,   128,   129,   130,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   131,
+     132,   133,   134,   135,     0,    29,     0,     0,   136,   137,
+       0,     0,    30,    31,    32,    33,    34,     0,     0,   167,
+       0,     0,     0,    37,    38,   168,     0,     0,     0,   118,
+       0,     0,     0,    40,     0,     0,   122,   123,     0,     0,
+       0,   124,   125,   126,     0,   127,     0,     0,   128,   129,
+     130,   169,     0,     0,     0,     0,     0,   170,     0,     0,
+       0,   131,   132,   133,   134,   135,     0,     0,   122,   123,
+     136,   137,     0,   124,   125,   126,     0,   127,     0,     0,
+     128,   129,   130,   171,     0,     0,     0,     0,     0,   172,
+       0,     0,     0,   131,   132,   133,   134,   135,     0,     0,
+     122,   123,   136,   137,     0,   124,   125,   126,     0,   127,
+       0,     0,   128,   129,   130,   173,     0,     0,     0,     0,
+       0,   174,     0,     0,     0,   131,   132,   133,   134,   135,
+       0,     0,   122,   123,   136,   137,     0,   124,   125,   126,
+       0,   127,     0,     0,   128,   129,   130,   250,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   131,   132,   133,
+     134,   135,     0,     0,   122,   123,   136,   137,     0,   124,
+     125,   126,     0,   127,     0,     0,   128,   129,   130,   251,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   131,
+     132,   133,   134,   135,     0,     0,   122,   123,   136,   137,
+       0,   124,   125,   126,     0,   127,     0,     0,   128,   129,
+     130,   252,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   131,   132,   133,   134,   135,     0,     0,   122,   123,
+     136,   137,     0,   124,   125,   126,     0,   127,     0,     0,
+     128,   129,   130,   253,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   131,   132,   133,   134,   135,     0,     0,
+     122,   123,   136,   137,     0,   124,   125,   126,     0,   127,
+       0,     0,   128,   129,   130,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   131,   132,   133,   134,   135,
+       0,   122,   123,     0,   136,   137,   124,   125,   126,     0,
+     127,     0,     0,   128,   129,   130,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   131,   132,   133,   134,
+     135,     0,     0,     0,     0,   136,   137,   122,   123,  -147,
+       0,     0,   124,   125,   126,     0,   127,     0,     0,   128,
+     129,   130,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   131,   132,   133,   134,   135,     0,     0,     0,
+       0,   136,   137,   122,   123,  -148,     0,     0,   124,   125,
+     126,     0,   127,     0,     0,   128,   129,   130,     0,     0,
+       0,     0,     0,   175,   176,     0,     0,     0,   131,   132,
+     133,   134,   135,     0,   122,   123,     0,   136,   137,   124,
+     125,   126,     0,   127,     0,     0,   128,   129,   130,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   188,   131,
+     132,   133,   134,   135,     0,   122,   123,   179,   136,   137,
+     124,   125,   126,     0,   127,     0,     0,   128,   129,   130,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     131,   132,   133,   134,   135,     0,    57,   122,   123,   136,
+     137,     0,   124,   125,   126,     0,   127,     0,     0,   128,
+     129,   130,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   131,   132,   133,   134,   135,     0,   122,   123,
+     179,   136,   137,   124,   125,   126,     0,   127,     0,     0,
+     128,   129,   130,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   188,   131,   132,   133,   134,   135,     0,   122,
+     123,     0,   136,   137,   124,   125,   126,     0,   127,     0,
+       0,   128,   129,   130,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   131,   132,   133,   134,   135,     0,
+       0,     0,     0,   136,   137
 };
 
 static const yytype_int16 yycheck[] =
 {
-       0,   240,     0,    69,   115,     4,   117,    46,     7,     8,
-       9,    27,    11,     1,    46,   220,    29,     9,    17,    11,
-      25,    20,    48,    49,    88,    91,    92,    26,    27,   162,
-      29,    30,    31,    32,    33,    34,   260,    50,    37,    38,
-      39,    40,    81,   176,    27,    50,   251,   284,    40,    81,
-      49,    50,   185,    41,   278,   239,    21,    12,    13,   287,
-     297,    60,   301,    46,    88,    64,    21,    83,    67,    68,
-     298,    95,    64,    72,    38,    67,    40,    76,    90,    78,
-      72,    97,    90,    95,   323,    94,    95,    95,    21,    90,
-      88,    90,   276,   277,    95,    90,    43,   281,    21,   283,
-      95,    21,    21,    21,    21,    21,    81,    89,    89,   293,
-     294,    89,    38,    21,   114,    95,   115,   116,   117,    95,
-      45,    95,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   272,
-      21,    95,   141,   327,    45,   144,    21,    21,   182,    21,
-     149,    90,    90,   286,   153,   154,    21,   156,   157,    46,
-     159,   160,    21,    95,   163,    25,    21,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,    35,   289,    29,
-     313,    50,   315,    45,    25,    25,    25,   186,   321,   300,
-      25,    45,    63,    64,   273,    66,   297,   185,    69,    57,
-      58,   114,    27,    -1,    62,    63,    64,    -1,    66,    67,
-      68,    69,    70,    71,    85,    86,    -1,   216,   217,   253,
-      91,    92,   256,   257,    82,    83,    84,    85,    86,    -1,
-      -1,    -1,    -1,    91,    92,    -1,   235,   271,    -1,    -1,
-      -1,    -1,    -1,   235,    -1,    -1,   280,    -1,   247,   248,
-     249,   250,    -1,   287,    -1,   243,   255,    -1,   246,    -1,
-      -1,   295,   296,   297,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   270,   306,    -1,    -1,    -1,    -1,   265,   312,    -1,
-     314,    -1,    -1,    -1,    -1,    -1,     0,     1,    -1,    -1,
-     289,    -1,    -1,    -1,    -1,   329,   330,    11,    12,    13,
-      14,   300,    16,    17,    18,    19,    20,    21,    22,    -1,
-      24,    -1,    26,    -1,    -1,    -1,    30,    -1,    32,    33,
-      34,    -1,    -1,    37,    -1,   325,    -1,   327,    42,    43,
-      44,    -1,    -1,    47,    -1,    -1,    -1,    51,    52,    53,
-      54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-      74,    75,    76,    -1,    -1,    79,    80,    -1,    -1,    83,
-      84,    -1,    -1,    -1,    88,    89,    -1,    -1,    40,    93,
-      11,    12,    13,    14,    46,    16,    -1,    -1,    -1,    -1,
-      21,    22,    -1,    24,    -1,    57,    58,    -1,    -1,    -1,
-      62,    63,    64,    -1,    66,    -1,    -1,    69,    70,    71,
-      -1,    42,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
-      82,    83,    84,    85,    86,    -1,    -1,    -1,    -1,    91,
-      92,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
-      -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    -1,
-      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    89,    -1,
-      -1,    -1,    93,    -1,    95,    11,    12,    13,    14,    -1,
-      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-      26,    -1,    -1,    -1,    30,    -1,    32,    33,    34,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,    42,    43,    44,    -1,
-      -1,    47,    -1,    -1,    -1,    51,    52,    53,    54,    -1,
-      56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
-      -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    74,    75,
-      76,    -1,    -1,    79,    80,    -1,    -1,    83,    84,    -1,
-      -1,    -1,    -1,    89,    -1,    -1,    -1,    93,    11,    12,
+       0,   242,     0,   221,   116,     4,   118,    46,     7,     8,
+       9,    27,    11,   287,    46,     1,    29,     9,    17,    11,
+      25,    20,    88,    88,    69,    27,   300,    26,    27,    95,
+      29,    30,    31,    32,    33,    34,   254,    50,    37,    38,
+      39,    40,    81,   290,    46,    50,    91,    92,    40,    81,
+      49,    50,   163,   263,   301,    41,   241,    90,    21,    90,
+      90,    60,    95,   304,    95,    95,   177,    83,    67,    68,
+      38,   281,    40,    72,    43,    67,   187,    76,    64,    78,
+      72,    97,    21,    12,    13,   326,    48,    49,    94,    95,
+      88,    90,    21,    21,   279,   280,    21,    21,    21,   284,
+      21,   286,    21,    81,    89,    89,    89,    95,    95,   184,
+      21,   296,   297,    95,    45,   115,    38,   116,   117,   118,
+      95,    21,    95,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+      45,    21,   141,    21,    21,   330,   145,    90,    90,    21,
+      46,   150,    21,    29,    95,   154,   155,    25,   157,   158,
+      21,   160,   161,    50,   275,   164,    45,    25,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   289,    25,
+     292,   256,   181,    25,   259,   260,    45,    25,   115,   188,
+     276,   303,   300,    27,    -1,    -1,    -1,    -1,    -1,   274,
+      -1,   187,    -1,    -1,    -1,   316,    -1,   318,   283,    -1,
+      -1,    -1,    -1,   324,    -1,   290,    -1,    -1,   217,   218,
+     206,    -1,    -1,   298,   299,   300,    -1,    63,    64,    -1,
+      66,    -1,    -1,    69,   309,    -1,    -1,   236,    -1,    -1,
+     315,    -1,   317,    -1,   236,    -1,    82,    83,    84,    85,
+      86,   250,   251,   252,   253,    91,    92,   332,   333,   258,
+     246,    -1,    -1,   249,    -1,    -1,    -1,    -1,    -1,    63,
+      64,    -1,    66,    -1,   273,    69,    -1,    -1,    -1,    -1,
+      -1,    -1,   268,    -1,    -1,    -1,    -1,    -1,    -1,     0,
+       1,    85,    86,   292,    -1,    -1,    -1,    91,    92,    -1,
+      11,    12,    13,    14,   303,    16,    17,    18,    19,    20,
+      21,    22,    -1,    24,    -1,    26,    -1,    -1,    -1,    30,
+      -1,    32,    33,    34,    -1,    -1,    37,    -1,   328,    -1,
+     330,    42,    43,    44,    -1,    -1,    47,    -1,    -1,    -1,
+      51,    52,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
+      -1,    72,    73,    74,    75,    76,    -1,    -1,    79,    80,
+      -1,    -1,    83,    84,    -1,    35,    -1,    88,    89,    -1,
+      -1,    -1,    93,    11,    12,    13,    14,    -1,    16,    -1,
+      -1,    -1,    -1,    21,    22,    -1,    24,    57,    58,    -1,
+      -1,    -1,    62,    63,    64,    -1,    66,    67,    68,    69,
+      70,    71,    -1,    -1,    42,    -1,    44,    -1,    -1,    -1,
+      -1,    -1,    82,    83,    84,    85,    86,    -1,    -1,    -1,
+      -1,    91,    92,    -1,    -1,    -1,    -1,    65,    -1,    -1,
+      -1,    -1,    -1,    -1,    72,    73,    74,    75,    76,    -1,
+      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
+      -1,    89,    -1,    -1,    -1,    93,    -1,    95,    11,    12,
       13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
-      -1,    24,    25,    26,    -1,    -1,    -1,    30,    -1,    32,
-      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
-      43,    44,    -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,
+      -1,    24,    -1,    26,    -1,    -1,    -1,    30,    -1,    32,
+      33,    34,    -1,    -1,    37,    -1,    -1,    -1,    -1,    42,
+      43,    44,    -1,    -1,    47,    -1,    -1,    -1,    51,    52,
       53,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    72,
-      73,    74,    75,    76,    -1,    -1,    -1,    80,    -1,    -1,
-      83,    84,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
+      73,    74,    75,    76,    -1,    -1,    79,    80,    -1,    -1,
+      83,    84,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,
       93,    11,    12,    13,    14,    -1,    16,    17,    18,    19,
-      20,    21,    22,    -1,    24,    -1,    26,    -1,    -1,    -1,
+      20,    21,    22,    -1,    24,    25,    26,    -1,    -1,    -1,
       30,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    42,    43,    44,    -1,    -1,    47,    -1,    -1,
       -1,    -1,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,
@@ -1131,43 +1124,52 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
       -1,    -1,    -1,    -1,    -1,    72,    73,    74,    75,    76,
       -1,    -1,    -1,    80,    -1,    -1,    83,    84,    -1,    -1,
-      -1,    -1,    89,    -1,    -1,    -1,    93,    11,    12,    13,
-      14,    -1,    16,    17,    18,    19,    20,    21,    22,    46,
+      -1,    88,    89,    -1,    -1,    -1,    93,    11,    12,    13,
+      14,    -1,    16,    17,    18,    19,    20,    21,    22,    -1,
       24,    -1,    26,    -1,    -1,    -1,    30,    -1,    32,    33,
-      57,    58,    -1,    -1,    -1,    62,    63,    64,    42,    66,
-      44,    -1,    69,    70,    71,    -1,    -1,    -1,    -1,    53,
-      54,    -1,    56,    -1,    81,    82,    83,    84,    85,    86,
-      -1,    65,    -1,    -1,    91,    92,    -1,    -1,    72,    73,
-      74,    75,    76,    -1,    -1,    -1,    80,    -1,    -1,    83,
-      84,    11,    12,    13,    14,    89,    16,    -1,    -1,    93,
-      -1,    21,    22,    -1,    24,    -1,    63,    64,    -1,    66,
-      -1,    31,    69,    -1,    -1,    -1,    36,    -1,    38,    39,
-      40,    41,    42,    -1,    44,    82,    83,    84,    85,    86,
-      -1,    -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
-      -1,    -1,    72,    73,    74,    75,    76,    11,    12,    13,
-      14,    -1,    16,    83,    84,    -1,    -1,    21,    22,    89,
-      24,    -1,    -1,    93,    -1,    -1,    -1,    31,    -1,    -1,
-      -1,    -1,    -1,    -1,    38,    -1,    40,    -1,    42,    -1,
-      44,    -1,    11,    12,    13,    14,    -1,    16,    -1,    -1,
-      -1,    55,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
+      34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
+      44,    -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,    53,
+      54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    72,    73,
-      74,    75,    76,    42,    -1,    44,    -1,    -1,    -1,    83,
+      74,    75,    76,    -1,    -1,    -1,    80,    -1,    -1,    83,
       84,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,    93,
-      -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
-      -1,    -1,    -1,    72,    73,    74,    75,    76,    11,    12,
-      13,    14,    -1,    16,    83,    84,    -1,    -1,    21,    22,
-      89,    24,    -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    11,    12,    13,    14,    -1,    16,    42,
-      -1,    44,    -1,    21,    22,    -1,    24,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    63,    64,    -1,    66,    -1,    -1,
-      69,    -1,    65,    -1,    42,    -1,    44,    -1,    -1,    72,
-      73,    74,    75,    76,    83,    84,    85,    86,    -1,    -1,
-      83,    84,    91,    92,    -1,    -1,    89,    65,    -1,    -1,
-      93,    -1,    -1,    -1,    72,    73,    74,    75,    76,    -1,
-      -1,    40,    -1,    -1,    -1,    83,    84,    46,    -1,    -1,
-      -1,    89,    -1,    -1,    -1,    93,    -1,    -1,    57,    58,
-      -1,    -1,    -1,    62,    63,    64,    -1,    66,    -1,    -1,
+      11,    12,    13,    14,    -1,    16,    17,    18,    19,    20,
+      21,    22,    46,    24,    -1,    26,    -1,    -1,    -1,    30,
+      -1,    32,    33,    57,    58,    -1,    -1,    -1,    62,    63,
+      64,    42,    66,    44,    -1,    69,    70,    71,    -1,    -1,
+      -1,    -1,    53,    54,    -1,    56,    -1,    81,    82,    83,
+      84,    85,    86,    -1,    65,    -1,    -1,    91,    92,    -1,
+      -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
+      -1,    -1,    83,    84,    11,    12,    13,    14,    89,    16,
+      -1,    -1,    93,    -1,    21,    22,    -1,    24,    -1,    63,
+      64,    -1,    66,    -1,    31,    69,    -1,    -1,    -1,    36,
+      -1,    38,    39,    40,    41,    42,    -1,    44,    -1,    83,
+      84,    85,    86,    -1,    -1,    -1,    -1,    91,    92,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
+      -1,    -1,    -1,    -1,    -1,    72,    73,    74,    75,    76,
+      11,    12,    13,    14,    -1,    16,    83,    84,    -1,    -1,
+      21,    22,    89,    24,    -1,    -1,    93,    -1,    -1,    -1,
+      31,    -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    40,
+      -1,    42,    -1,    44,    -1,    11,    12,    13,    14,    -1,
+      16,    -1,    -1,    -1,    55,    21,    22,    -1,    24,    -1,
+      -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
+      -1,    72,    73,    74,    75,    76,    42,    -1,    44,    -1,
+      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    89,    -1,
+      -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    65,
+      -1,    -1,    -1,    -1,    -1,    -1,    72,    73,    74,    75,
+      76,    11,    12,    13,    14,    -1,    16,    83,    84,    -1,
+      -1,    21,    22,    89,    24,    48,    -1,    93,    -1,    -1,
+      -1,    -1,    -1,    -1,    57,    58,    -1,    -1,    -1,    62,
+      63,    64,    42,    66,    44,    -1,    69,    70,    71,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      83,    84,    85,    86,    -1,    65,    -1,    -1,    91,    92,
+      -1,    -1,    72,    73,    74,    75,    76,    -1,    -1,    40,
+      -1,    -1,    -1,    83,    84,    46,    -1,    -1,    -1,    89,
+      -1,    -1,    -1,    93,    -1,    -1,    57,    58,    -1,    -1,
+      -1,    62,    63,    64,    -1,    66,    -1,    -1,    69,    70,
+      71,    40,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
+      -1,    82,    83,    84,    85,    86,    -1,    -1,    57,    58,
+      91,    92,    -1,    62,    63,    64,    -1,    66,    -1,    -1,
       69,    70,    71,    40,    -1,    -1,    -1,    -1,    -1,    46,
       -1,    -1,    -1,    82,    83,    84,    85,    86,    -1,    -1,
       57,    58,    91,    92,    -1,    62,    63,    64,    -1,    66,
@@ -1188,34 +1190,34 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    82,    83,    84,    85,    86,    -1,    -1,
       57,    58,    91,    92,    -1,    62,    63,    64,    -1,    66,
       -1,    -1,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    48,    -1,    -1,    82,    83,    84,    85,    86,
+      -1,    -1,    -1,    -1,    -1,    82,    83,    84,    85,    86,
       -1,    57,    58,    -1,    91,    92,    62,    63,    64,    -1,
       66,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    84,    85,
-      86,    -1,    57,    58,    -1,    91,    92,    62,    63,    64,
-      -1,    66,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    84,
-      85,    86,    -1,    -1,    -1,    -1,    91,    92,    57,    58,
-      95,    -1,    -1,    62,    63,    64,    -1,    66,    -1,    -1,
-      69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    82,    83,    84,    85,    86,    -1,    -1,
-      -1,    -1,    91,    92,    57,    58,    95,    -1,    -1,    62,
+      86,    -1,    -1,    -1,    -1,    91,    92,    57,    58,    95,
+      -1,    -1,    62,    63,    64,    -1,    66,    -1,    -1,    69,
+      70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    82,    83,    84,    85,    86,    -1,    -1,    -1,
+      -1,    91,    92,    57,    58,    95,    -1,    -1,    62,    63,
+      64,    -1,    66,    -1,    -1,    69,    70,    71,    -1,    -1,
+      -1,    -1,    -1,    77,    78,    -1,    -1,    -1,    82,    83,
+      84,    85,    86,    -1,    57,    58,    -1,    91,    92,    62,
       63,    64,    -1,    66,    -1,    -1,    69,    70,    71,    -1,
-      -1,    -1,    -1,    -1,    77,    78,    -1,    -1,    -1,    82,
-      83,    84,    85,    86,    -1,    57,    58,    -1,    91,    92,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    82,
+      83,    84,    85,    86,    -1,    57,    58,    90,    91,    92,
       62,    63,    64,    -1,    66,    -1,    -1,    69,    70,    71,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,
-      82,    83,    84,    85,    86,    -1,    57,    58,    90,    91,
-      92,    62,    63,    64,    -1,    66,    -1,    -1,    69,    70,
-      71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    82,    83,    84,    85,    86,    -1,    57,    58,    90,
-      91,    92,    62,    63,    64,    -1,    66,    -1,    -1,    69,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      82,    83,    84,    85,    86,    -1,    88,    57,    58,    91,
+      92,    -1,    62,    63,    64,    -1,    66,    -1,    -1,    69,
       70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    81,    82,    83,    84,    85,    86,    -1,    57,    58,
-      -1,    91,    92,    62,    63,    64,    -1,    66,    -1,    -1,
+      -1,    -1,    82,    83,    84,    85,    86,    -1,    57,    58,
+      90,    91,    92,    62,    63,    64,    -1,    66,    -1,    -1,
       69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    82,    83,    84,    85,    86,    -1,    -1,
-      -1,    -1,    91,    92
+      -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    57,
+      58,    -1,    91,    92,    62,    63,    64,    -1,    66,    -1,
+      -1,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    82,    83,    84,    85,    86,    -1,
+      -1,    -1,    -1,    91,    92
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1228,34 +1230,34 @@ static const yytype_uint8 yystos[] =
       72,    73,    74,    75,    76,    79,    80,    83,    84,    89,
       93,    97,    99,   100,   101,   102,   103,   110,   111,   112,
      117,   118,   119,   122,   125,   127,   134,    88,    98,    21,
-      42,   118,   118,   118,    89,   118,   135,    21,    89,   118,
+      42,   118,   118,   118,   118,   135,   137,    21,    89,   118,
      135,   136,   126,    43,    21,   120,    31,    36,    38,    39,
       40,    41,   118,   123,   124,    21,   118,    48,    49,    12,
       13,    21,    21,    21,    21,   118,    55,   123,   124,    21,
      121,   118,   118,   118,   118,   118,   118,    21,    89,   118,
-     118,   118,   135,     0,    98,    89,    81,    89,   109,   118,
-     118,    57,    58,    62,    63,    64,    66,    69,    70,    71,
-      82,    83,    84,    85,    86,    91,    92,    89,   118,   118,
-     135,    95,   135,   135,    95,   135,    95,   118,   118,    38,
-     124,   128,    35,    67,    68,    21,    46,    81,   118,    46,
-      81,    45,   129,    48,   124,    95,    40,    46,    40,    46,
-      40,    46,    40,    46,    77,    78,   130,    21,    90,    94,
-      99,   109,   118,   109,   118,    45,    81,   115,   118,   118,
+     118,   118,   118,   135,     0,    98,    89,    81,    89,   109,
+     118,   118,    57,    58,    62,    63,    64,    66,    69,    70,
+      71,    82,    83,    84,    85,    86,    91,    92,    89,   118,
+      98,    95,   135,   118,   135,    95,   135,    95,   118,   118,
+      38,   124,   128,    35,    67,    68,    21,    46,    81,   118,
+      46,    81,    45,   129,    48,   124,    95,    40,    46,    40,
+      46,    40,    46,    40,    46,    77,    78,   130,    21,    90,
+      94,    95,    99,   109,   118,   109,   118,    45,    81,   115,
      118,   118,   118,   118,   118,   118,   118,   118,   118,   118,
-     118,   118,   118,   118,    90,   118,    90,   118,    21,   118,
-     114,    21,   118,   118,   118,   118,    46,    81,   118,   118,
-     114,   118,    21,   118,   118,   118,   118,   118,   118,   118,
-     118,   118,   118,   114,    90,    95,    90,   115,    90,    98,
-     114,   118,    21,   132,   118,   118,   132,    40,    40,    40,
-      40,   131,   135,   116,    27,    46,   116,   101,    95,    98,
-      98,   118,   118,   118,   118,   132,    90,    98,   102,   115,
-      46,   118,   115,   115,    21,    95,   133,   133,    98,    25,
-     118,   115,    25,    50,   114,    29,    50,   106,   107,   113,
-      21,   116,   116,   133,   115,   116,   116,   105,   106,   108,
-     113,   114,   107,   115,   109,   116,   116,   115,   115,   108,
-     115,   109,   101,    50,   104,    45,    25,   115,    25,    25,
-      25,    45,   115,   114,   115,   114,    25,   114,   101,   102,
-     116,   115,   115
+     118,   118,   118,   118,   118,   118,   118,    90,   118,    21,
+     118,   114,    21,   118,   118,   118,   118,    46,    81,   118,
+     118,   114,   118,    21,   118,   118,   118,   118,   118,   118,
+     118,   118,   118,   118,   114,    90,    95,   118,    90,   115,
+      90,    98,   114,   118,    98,    21,   132,   118,   118,   132,
+      40,    40,    40,    40,   131,   135,   116,    27,    46,   116,
+     101,    95,    98,    98,   118,   118,   118,   118,   132,    90,
+      98,   102,   115,    46,   118,   115,   115,    21,    95,   133,
+     133,    98,    25,   118,   115,    25,    50,   114,    29,    50,
+     106,   107,   113,    21,   116,   116,   133,   115,   116,   116,
+     105,   106,   108,   113,   114,   107,   115,   109,   116,   116,
+     115,   115,   108,   115,   109,   101,    50,   104,    45,    25,
+     115,    25,    25,    25,    45,   115,   114,   115,   114,    25,
+     114,   101,   102,   116,   115,   115
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2681,140 +2683,135 @@ yyreduce:
 
   case 106:
 #line 476 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->codeFunc((yyvsp[(1) - (4)].s), (yyvsp[(3) - (4)].narg)); ;}
+    { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
     break;
 
   case 107:
 #line 477 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->codeFunc((yyvsp[(1) - (2)].s), (yyvsp[(2) - (2)].narg)); ;}
+    { g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;}
     break;
 
   case 108:
 #line 478 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->codeMe((yyvsp[(3) - (4)].s), 0); ;}
+    { g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;}
     break;
 
   case 109:
 #line 479 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->codeMe((yyvsp[(3) - (6)].s), (yyvsp[(5) - (6)].narg)); ;}
+    { g_lingo->code1(g_lingo->c_open); ;}
     break;
 
   case 110:
 #line 480 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_open); ;}
+    { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;}
     break;
 
   case 111:
 #line 481 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code2(g_lingo->c_voidpush, g_lingo->c_open); ;}
+    { Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;}
     break;
 
   case 112:
-#line 482 "engines/director/lingo/lingo-gr.y"
-    { Common::String s(*(yyvsp[(1) - (3)].s)); s += '-'; s += *(yyvsp[(2) - (3)].s); g_lingo->codeFunc(&s, (yyvsp[(3) - (3)].narg)); ;}
+#line 484 "engines/director/lingo/lingo-gr.y"
+    { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
     break;
 
   case 113:
 #line 485 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
+    { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
     break;
 
   case 114:
-#line 486 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_global); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
+#line 488 "engines/director/lingo/lingo-gr.y"
+    { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
     break;
 
   case 115:
 #line 489 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(1) - (1)].s)->c_str()); delete (yyvsp[(1) - (1)].s); ;}
+    { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
     break;
 
   case 116:
-#line 490 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_instance); g_lingo->codeString((yyvsp[(3) - (3)].s)->c_str()); delete (yyvsp[(3) - (3)].s); ;}
+#line 500 "engines/director/lingo/lingo-gr.y"
+    { g_lingo->code1(g_lingo->c_gotoloop); ;}
     break;
 
   case 117:
 #line 501 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_gotoloop); ;}
+    { g_lingo->code1(g_lingo->c_gotonext); ;}
     break;
 
   case 118:
 #line 502 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_gotonext); ;}
+    { g_lingo->code1(g_lingo->c_gotoprevious); ;}
     break;
 
   case 119:
 #line 503 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->code1(g_lingo->c_gotoprevious); ;}
-    break;
-
-  case 120:
-#line 504 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeConst(1);
 		g_lingo->code1(g_lingo->c_goto); ;}
     break;
 
-  case 121:
-#line 507 "engines/director/lingo/lingo-gr.y"
+  case 120:
+#line 506 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeConst(3);
 		g_lingo->code1(g_lingo->c_goto); ;}
     break;
 
-  case 122:
-#line 510 "engines/director/lingo/lingo-gr.y"
+  case 121:
+#line 509 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeConst(2);
 		g_lingo->code1(g_lingo->c_goto); ;}
     break;
 
-  case 127:
-#line 523 "engines/director/lingo/lingo-gr.y"
+  case 126:
+#line 522 "engines/director/lingo/lingo-gr.y"
     { g_lingo->code1(g_lingo->c_playdone); ;}
     break;
 
-  case 128:
-#line 524 "engines/director/lingo/lingo-gr.y"
+  case 127:
+#line 523 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeConst(1);
 		g_lingo->code1(g_lingo->c_play); ;}
     break;
 
-  case 129:
-#line 527 "engines/director/lingo/lingo-gr.y"
+  case 128:
+#line 526 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeConst(3);
 		g_lingo->code1(g_lingo->c_play); ;}
     break;
 
-  case 130:
-#line 530 "engines/director/lingo/lingo-gr.y"
+  case 129:
+#line 529 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeConst(2);
 		g_lingo->code1(g_lingo->c_play); ;}
     break;
 
-  case 131:
-#line 533 "engines/director/lingo/lingo-gr.y"
+  case 130:
+#line 532 "engines/director/lingo/lingo-gr.y"
     { g_lingo->codeSetImmediate(true); ;}
     break;
 
-  case 132:
-#line 533 "engines/director/lingo/lingo-gr.y"
+  case 131:
+#line 532 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->codeSetImmediate(false);
 		g_lingo->codeFunc((yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].narg)); ;}
     break;
 
-  case 133:
-#line 563 "engines/director/lingo/lingo-gr.y"
+  case 132:
+#line 562 "engines/director/lingo/lingo-gr.y"
     { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;}
     break;
 
-  case 134:
-#line 564 "engines/director/lingo/lingo-gr.y"
+  case 133:
+#line 563 "engines/director/lingo/lingo-gr.y"
     {
 			g_lingo->codeConst(0); // Push fake value on stack
 			g_lingo->code1(g_lingo->c_procret);
@@ -2822,38 +2819,38 @@ yyreduce:
 			g_lingo->_indef = false; ;}
     break;
 
-  case 135:
-#line 569 "engines/director/lingo/lingo-gr.y"
+  case 134:
+#line 568 "engines/director/lingo/lingo-gr.y"
     {
 			g_lingo->codeFactory(*(yyvsp[(2) - (2)].s));
 		;}
     break;
 
-  case 136:
-#line 572 "engines/director/lingo/lingo-gr.y"
+  case 135:
+#line 571 "engines/director/lingo/lingo-gr.y"
     { g_lingo->_indef = true; ;}
     break;
 
-  case 137:
-#line 573 "engines/director/lingo/lingo-gr.y"
+  case 136:
+#line 572 "engines/director/lingo/lingo-gr.y"
     {
 			g_lingo->code1(g_lingo->c_procret);
 			g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg) + 1, &g_lingo->_currentFactory);
 			g_lingo->_indef = false; ;}
     break;
 
-  case 138:
-#line 577 "engines/director/lingo/lingo-gr.y"
+  case 137:
+#line 576 "engines/director/lingo/lingo-gr.y"
     { g_lingo->_indef = true; g_lingo->_currentFactory.clear(); ;}
     break;
 
-  case 139:
-#line 578 "engines/director/lingo/lingo-gr.y"
+  case 138:
+#line 577 "engines/director/lingo/lingo-gr.y"
     { g_lingo->_ignoreMe = true; ;}
     break;
 
-  case 140:
-#line 578 "engines/director/lingo/lingo-gr.y"
+  case 139:
+#line 577 "engines/director/lingo/lingo-gr.y"
     {
 				g_lingo->codeConst(0); // Push fake value on stack
 				g_lingo->code1(g_lingo->c_procret);
@@ -2865,33 +2862,33 @@ yyreduce:
 			;}
     break;
 
+  case 140:
+#line 587 "engines/director/lingo/lingo-gr.y"
+    { (yyval.narg) = 0; ;}
+    break;
+
   case 141:
 #line 588 "engines/director/lingo/lingo-gr.y"
-    { (yyval.narg) = 0; ;}
+    { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;}
     break;
 
   case 142:
 #line 589 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;}
+    { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
     break;
 
   case 143:
 #line 590 "engines/director/lingo/lingo-gr.y"
-    { g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
-    break;
-
-  case 144:
-#line 591 "engines/director/lingo/lingo-gr.y"
     { g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;}
     break;
 
-  case 145:
-#line 594 "engines/director/lingo/lingo-gr.y"
+  case 144:
+#line 593 "engines/director/lingo/lingo-gr.y"
     { g_lingo->codeArgStore(); ;}
     break;
 
-  case 146:
-#line 598 "engines/director/lingo/lingo-gr.y"
+  case 145:
+#line 597 "engines/director/lingo/lingo-gr.y"
     {
 		g_lingo->code1(g_lingo->c_call);
 		g_lingo->codeString((yyvsp[(1) - (2)].s)->c_str());
@@ -2900,34 +2897,44 @@ yyreduce:
 		g_lingo->code1(numpar); ;}
     break;
 
+  case 146:
+#line 605 "engines/director/lingo/lingo-gr.y"
+    { (yyval.narg) = 0; ;}
+    break;
+
   case 147:
 #line 606 "engines/director/lingo/lingo-gr.y"
-    { (yyval.narg) = 0; ;}
+    { (yyval.narg) = 1; ;}
     break;
 
   case 148:
 #line 607 "engines/director/lingo/lingo-gr.y"
-    { (yyval.narg) = 1; ;}
+    { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
     break;
 
   case 149:
-#line 608 "engines/director/lingo/lingo-gr.y"
-    { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
+#line 610 "engines/director/lingo/lingo-gr.y"
+    { (yyval.narg) = 1; ;}
     break;
 
   case 150:
 #line 611 "engines/director/lingo/lingo-gr.y"
-    { (yyval.narg) = 1; ;}
+    { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
     break;
 
   case 151:
-#line 612 "engines/director/lingo/lingo-gr.y"
-    { (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
+#line 614 "engines/director/lingo/lingo-gr.y"
+    { (yyval.narg) = 1; ;}
+    break;
+
+  case 152:
+#line 615 "engines/director/lingo/lingo-gr.y"
+    { (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;}
     break;
 
 
 /* Line 1267 of yacc.c.  */
-#line 2931 "engines/director/lingo/lingo-gr.cpp"
+#line 2938 "engines/director/lingo/lingo-gr.cpp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3141,6 +3148,6 @@ yyreturn:
 }
 
 
-#line 615 "engines/director/lingo/lingo-gr.y"
+#line 618 "engines/director/lingo/lingo-gr.y"
 
 
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 2f69360..4033d76 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -103,7 +103,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
 %token tON tME
 
 %type<code> asgn begin elseif elsestmtoneliner end expr if when repeatwhile repeatwith stmtlist
-%type<narg> argdef arglist nonemptyarglist
+%type<narg> argdef arglist nonemptyarglist nonemptyarglistnl
 
 %right '='
 %left tLT tLE tGT tGE tNEQ tCONTAINS tSTARTS
@@ -473,8 +473,7 @@ func: tPUT expr				{ g_lingo->code1(g_lingo->c_printtop); }
 	| BLTINNOARGSORONE 		{
 		g_lingo->code2(g_lingo->c_voidpush, g_lingo->_builtins[*$1]->u.func);
 		delete $1; }
-	| BLTINARGLIST '(' arglist ')'	{ g_lingo->codeFunc($1, $3); }
-	| BLTINARGLIST arglist	{ g_lingo->codeFunc($1, $2); }
+	| BLTINARGLIST nonemptyarglistnl { g_lingo->codeFunc($1, $2); }
 	| tME '(' ID ')'				{ g_lingo->codeMe($3, 0); }
 	| tME '(' ID ',' arglist ')'	{ g_lingo->codeMe($3, $5); }
 	| tOPEN expr tWITH expr	{ g_lingo->code1(g_lingo->c_open); }
@@ -612,4 +611,8 @@ nonemptyarglist:  expr		{ $$ = 1; }
 	| arglist ',' expr		{ $$ = $1 + 1; }
 	;
 
+nonemptyarglistnl: expr nl	{ $$ = 1; }
+	| arglist ',' expr nl	{ $$ = $1 + 1; }
+	;
+
 %%





More information about the Scummvm-git-logs mailing list