[Scummvm-git-logs] scummvm master -> 54e0e7c1388ddcd4de9582dfaf42bc0752c53219

sev- sev at scummvm.org
Sun Jan 12 19:26:55 UTC 2020


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

Summary:
63daf81d47 DIRECTOR: LINGO: Added test for lists
54e0e7c138 DIRECTOR: LINGO: Lists also may have strings as they property names


Commit: 63daf81d47281e991245df4f98c80b8a38810d81
    https://github.com/scummvm/scummvm/commit/63daf81d47281e991245df4f98c80b8a38810d81
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-12T19:52:17+01:00

Commit Message:
DIRECTOR: LINGO: Added test for lists

Changed paths:
  A engines/director/lingo/tests/lists.lingo


diff --git a/engines/director/lingo/tests/lists.lingo b/engines/director/lingo/tests/lists.lingo
new file mode 100644
index 0000000..24f8d42
--- /dev/null
+++ b/engines/director/lingo/tests/lists.lingo
@@ -0,0 +1,4 @@
+set x = []
+set y = [:]
+set machinery = [#gears:6, #balls:3, #ramps:8]
+set nested = [1, 2, [3, 4], 5]


Commit: 54e0e7c1388ddcd4de9582dfaf42bc0752c53219
    https://github.com/scummvm/scummvm/commit/54e0e7c1388ddcd4de9582dfaf42bc0752c53219
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-12T20:26:31+01:00

Commit Message:
DIRECTOR: LINGO: Lists also may have strings as they property names

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


diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 3996f68..d9894d5 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -550,18 +550,18 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  133
+#define YYFINAL  134
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1637
+#define YYLAST   1589
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  108
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  46
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  170
+#define YYNRULES  171
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  355
+#define YYNSTATES  359
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -632,7 +632,7 @@ static const yytype_uint16 yyprhs[] =
      521,   530,   533,   534,   542,   551,   558,   561,   562,   564,
      568,   573,   574,   576,   580,   581,   584,   585,   587,   591,
      593,   597,   601,   602,   604,   606,   608,   610,   614,   616,
-     620
+     620,   624
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -700,7 +700,7 @@ static const yytype_int16 yyrhs[] =
       -1,   129,    -1,   148,   104,   129,    -1,   105,   150,   106,
       -1,    -1,   107,    -1,   151,    -1,   152,    -1,   128,    -1,
      151,   104,   128,    -1,   153,    -1,   152,   104,   153,    -1,
-      33,   107,   128,    -1
+      33,   107,   128,    -1,    31,   107,   128,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -723,7 +723,7 @@ static const yytype_uint16 yyrline[] =
      572,   578,   579,   579,   585,   593,   600,   602,   603,   604,
      605,   608,   609,   610,   613,   616,   624,   625,   626,   629,
      630,   633,   636,   637,   638,   639,   642,   643,   646,   647,
-     650
+     650,   653
 };
 #endif
 
@@ -798,7 +798,7 @@ static const yytype_uint8 yyr1[] =
      139,   139,   141,   139,   139,   139,   142,   143,   143,   143,
      143,   144,   144,   144,   145,   146,   147,   147,   147,   148,
      148,   149,   150,   150,   150,   150,   151,   151,   152,   152,
-     153
+     153,   153
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -821,7 +821,7 @@ static const yytype_uint8 yyr2[] =
        8,     2,     0,     7,     8,     6,     2,     0,     1,     3,
        4,     0,     1,     3,     0,     2,     0,     1,     3,     1,
        3,     3,     0,     1,     1,     1,     1,     3,     1,     3,
-       3
+       3,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -841,93 +841,93 @@ static const yytype_uint8 yydefact[] =
      125,     0,   126,     0,   127,   128,   130,   139,   103,     0,
       41,     0,     0,     0,     0,     0,   141,   117,   133,   134,
      136,   123,   110,    81,     0,     0,     0,     0,     0,   121,
-     109,   146,     0,    86,    87,     0,    54,   163,   166,     0,
-     164,   165,   168,     1,     5,    46,     0,    46,    46,    25,
-       0,    23,    24,    22,     0,     0,     0,     0,     0,     0,
+     109,   146,     0,    86,    87,     0,    55,    54,   163,   166,
+       0,   164,   165,   168,     1,     5,    46,     0,    46,    46,
+      25,     0,    23,    24,    22,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   147,   156,     0,     0,   118,   157,     0,     0,
-     138,   147,     0,   132,     0,   129,    45,     0,     0,     0,
-      42,     0,     0,     0,     0,     0,     0,    50,     0,   135,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    88,     0,   161,     0,     0,     2,    47,
-      46,     0,    31,    46,     0,    47,    77,    78,    75,    76,
-      79,    80,    72,    83,    84,    85,    74,    73,    82,    68,
-      69,    70,    71,   148,     0,   158,    63,   160,     0,   120,
-     131,   147,     8,     9,    10,    11,    15,    13,     0,     0,
-      14,    12,    18,   116,   124,    91,     0,    93,     0,    95,
-       0,    97,     0,    89,    90,   122,    99,   156,   170,   167,
-       0,   169,    46,     0,    47,     0,    33,    46,   154,     0,
-     154,     0,    16,    17,     0,     0,     0,     0,     0,    48,
-      49,     0,     0,     0,    46,     0,     0,     0,    47,   149,
-      47,   154,    92,    94,    96,    98,   100,    28,     0,    46,
-      36,    46,    32,   150,   145,   143,    47,    46,    47,    46,
-       0,   151,   140,    47,    46,    45,    44,    37,     0,     0,
-      45,    40,   152,   144,    46,     0,    47,    46,    34,     0,
-       0,     0,    29,    46,     0,    46,   153,    30,     0,    47,
-       0,    35,    46,    39,    38
+       0,     0,     0,   147,   156,     0,     0,   118,   157,     0,
+       0,   138,   147,     0,   132,     0,   129,    45,     0,     0,
+       0,    42,     0,     0,     0,     0,     0,     0,    50,     0,
+     135,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    88,     0,     0,   161,     0,     0,
+       2,    47,    46,     0,    31,    46,     0,    47,    77,    78,
+      75,    76,    79,    80,    72,    83,    84,    85,    74,    73,
+      82,    68,    69,    70,    71,   148,     0,   158,    63,   160,
+       0,   120,   131,   147,     8,     9,    10,    11,    15,    13,
+       0,     0,    14,    12,    18,   116,   124,    91,     0,    93,
+       0,    95,     0,    97,     0,    89,    90,   122,    99,   156,
+     171,   170,   167,     0,     0,   169,    46,     0,    47,     0,
+      33,    46,   154,     0,   154,     0,    16,    17,     0,     0,
+       0,     0,     0,    48,    49,     0,     0,     0,    46,     0,
+       0,     0,    47,   149,    47,   154,    92,    94,    96,    98,
+     100,    28,     0,    46,    36,    46,    32,   150,   145,   143,
+      47,    46,    47,    46,     0,   151,   140,    47,    46,    45,
+      44,    37,     0,     0,    45,    40,   152,   144,    46,     0,
+      47,    46,    34,     0,     0,     0,    29,    46,     0,    46,
+     153,    30,     0,    47,     0,    35,    46,    39,    38
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    48,    49,    50,    51,   138,   290,    53,   319,   327,
-     139,    54,    55,    56,   328,   162,   209,   272,    57,    58,
+      -1,    48,    49,    50,    51,   139,   294,    53,   323,   331,
+     140,    54,    55,    56,   332,   163,   211,   276,    57,    58,
       59,    60,    61,    62,    89,   120,   112,    63,    96,    64,
-      85,    65,   176,    86,    66,   234,   333,   298,    67,   168,
-      84,    68,   129,   130,   131,   132
+      85,    65,   177,    86,    66,   236,   337,   302,    67,   169,
+      84,    68,   130,   131,   132,   133
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -283
+#define YYPACT_NINF -282
 static const yytype_int16 yypact[] =
 {
-     336,   -86,  -283,  -283,    29,  -283,  -283,   996,   996,   996,
-      15,  -283,   996,   996,    29,  1030,  -283,  -283,  -283,  -283,
-    -283,   -17,    22,   874,  -283,    26,   996,    33,    18,    31,
-      35,   996,   935,    37,   996,   996,   996,   996,   996,   996,
-    -283,    51,    79,    16,   996,   996,   996,    52,     9,  -283,
-    -283,  -283,  -283,  -283,   996,    53,   996,   700,   996,  -283,
-    1525,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,  -283,
-    -283,  -283,    17,   996,  1525,  1525,  1525,    19,   996,  1525,
-      19,  -283,   996,  1525,    20,   996,  -283,  -283,  -283,    23,
-    -283,   996,  -283,    72,  -283,  1083,  -283,  -283,  1070,    92,
-    -283,   -14,    29,     2,    69,    71,  -283,  1419,  -283,  1083,
-    -283,  -283,    24,  -283,  1133,  1167,  1201,  1235,  1491,  -283,
-      27,  -283,   100,  -283,  -283,  1453,    25,  -283,  -283,    54,
-      57,    59,  -283,  -283,   427,  1525,   996,  1525,  -283,  -283,
-     996,  1525,  -283,  -283,  1405,   996,   996,   996,   996,   996,
-     996,   996,   996,   996,   996,   996,   996,   996,   996,   996,
-     996,   996,   107,   996,  1070,   996,    19,  1453,     1,   996,
-      19,   107,   134,  1525,   996,  -283,  -283,    77,   996,   996,
-    -283,   996,   996,    12,   996,   996,   996,  -283,   996,  -283,
-     135,   996,   996,   996,   996,   996,   996,   996,   996,   996,
-     996,   136,     8,  -283,    29,  -283,    29,   137,  -283,  -283,
-    1525,   113,  -283,  1525,   996,  -283,     0,     0,     0,     0,
-    1538,  1538,  -283,     4,     0,     0,     0,     0,     4,   -55,
-     -55,  -283,  -283,  -283,   -78,  1525,  -283,  1525,   -15,  -283,
-    1525,   107,  -283,  -283,  1525,  1525,  1525,     0,   996,   996,
-    1525,     0,  1525,  1525,  -283,  1525,  1269,  1525,  1303,  1525,
-    1337,  1525,  1371,  1525,  1525,  -283,  -283,   996,  -283,  -283,
-      25,  -283,   609,   -16,  -283,   114,  1525,   609,    78,   143,
-      78,   -11,  1525,     0,   996,   996,   996,   996,    10,  -283,
-    -283,    89,   127,   996,   609,   791,   102,   165,  -283,  -283,
-    -283,    78,  1525,  1525,  1525,  1525,  -283,  -283,   996,  1525,
-    -283,  -283,  -283,  -283,   518,   609,  -283,  1525,  -283,    76,
-     -27,   166,   609,  -283,   609,  -283,  -283,  -283,   996,   108,
-    -283,  -283,  -283,    93,   609,   110,  -283,  1525,  -283,   791,
-     169,   112,  -283,   609,   149,  -283,  -283,  -283,   115,  -283,
-     116,  -283,   609,  -283,  -283
+     330,   -55,  -282,  -282,    28,  -282,  -282,   990,   990,   990,
+      35,  -282,   990,   990,    28,  1024,  -282,  -282,  -282,  -282,
+    -282,     3,    47,   868,  -282,    52,   990,    15,   168,    55,
+      62,   990,   929,    71,   990,   990,   990,   990,   990,   990,
+    -282,    79,    81,    18,   990,   990,   990,    24,    11,  -282,
+    -282,  -282,  -282,  -282,   990,    60,   990,   694,   990,  -282,
+    1490,  -282,  -282,  -282,  -282,  -282,  -282,  -282,  -282,  -282,
+    -282,  -282,    30,   990,  1490,  1490,  1490,    54,   990,  1490,
+      54,  -282,   990,  1490,    58,   990,  -282,  -282,  -282,    61,
+    -282,   990,  -282,   116,  -282,  1064,  -282,  -282,   161,   136,
+    -282,   -34,    28,    -8,   111,   114,  -282,  1384,  -282,  1064,
+    -282,  -282,    66,  -282,  1098,  1132,  1166,  1200,  1456,  -282,
+      70,  -282,   147,  -282,  -282,  1418,    74,    89,  -282,  -282,
+      93,    97,    98,  -282,  -282,   421,  1490,   990,  1490,  -282,
+    -282,   990,  1490,  -282,  -282,  1370,   990,   990,   990,   990,
+     990,   990,   990,   990,   990,   990,   990,   990,   990,   990,
+     990,   990,   990,   174,   990,   161,   990,    54,  1418,     1,
+     990,    54,   174,   177,  1490,   990,  -282,  -282,    77,   990,
+     990,  -282,   990,   990,    -4,   990,   990,   990,  -282,   990,
+    -282,   178,   990,   990,   990,   990,   990,   990,   990,   990,
+     990,   990,   180,    32,  -282,    28,    28,  -282,    28,    50,
+    -282,  -282,  1490,   162,  -282,  1490,   990,  -282,    26,    26,
+      26,    26,    20,    20,  -282,   -29,    26,    26,    26,    26,
+     -29,   -56,   -56,  -282,  -282,  -282,   -78,  1490,  -282,  1490,
+     -10,  -282,  1490,   174,  -282,  -282,  1490,  1490,  1490,    26,
+     990,   990,  1490,    26,  1490,  1490,  -282,  1490,  1234,  1490,
+    1268,  1490,  1302,  1490,  1336,  1490,  1490,  -282,  -282,   990,
+    -282,  -282,  -282,    74,    89,  -282,   603,   -23,  -282,   163,
+    1490,   603,   112,   189,   112,    -1,  1490,    26,   990,   990,
+     990,   990,    34,  -282,  -282,   130,   166,   990,   603,   785,
+     131,   194,  -282,  -282,  -282,   112,  1490,  1490,  1490,  1490,
+    -282,  -282,   990,  1490,  -282,  -282,  -282,  -282,   512,   603,
+    -282,  1490,  -282,   121,   -27,   195,   603,  -282,   603,  -282,
+    -282,  -282,   990,   150,  -282,  -282,  -282,   122,   603,   151,
+    -282,  1490,  -282,   785,   211,   154,  -282,   603,   193,  -282,
+    -282,  -282,   159,  -282,   160,  -282,   603,  -282,  -282
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -283,  -283,    75,  -283,  -282,  -283,    21,  -283,  -283,  -283,
-    -283,  -283,  -283,   156,  -283,   -82,    -2,   -98,  -283,  -283,
-       6,    -7,    38,   157,  -283,  -283,  -283,  -283,   -21,  -283,
-    -283,  -283,  -283,  -283,  -283,  -154,  -283,  -266,   159,    -6,
-    -283,  -283,  -283,  -283,  -283,    14
+    -282,  -282,   118,  -282,  -281,  -282,    21,  -282,  -282,  -282,
+    -282,  -282,  -282,   204,  -282,   -82,   -12,  -107,  -282,  -282,
+       6,    -7,    73,   208,  -282,  -282,  -282,  -282,   -19,  -282,
+    -282,  -282,  -282,  -282,  -282,  -163,  -282,  -270,   209,    -6,
+    -282,  -282,  -282,  -282,  -282,    59
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -937,338 +937,328 @@ static const yytype_int16 yypgoto[] =
 #define YYTABLE_NINF -6
 static const yytype_int16 yytable[] =
 {
-      74,    75,    76,    77,   171,    79,    76,    80,    83,   133,
-      71,   110,   330,   311,   300,    69,    95,   238,   151,    98,
-      81,    52,   292,   278,   107,   109,   279,   113,   114,   115,
-     116,   117,   118,   101,   102,   316,    87,   123,   124,   125,
-     293,     2,   181,   160,   161,    78,     5,   135,   103,   137,
-     141,   144,    88,   128,   182,   104,    97,   345,   184,    70,
-      16,   105,    17,   331,     2,   106,   164,   111,   248,     5,
-     185,    76,   166,   151,   175,   167,   152,   151,    76,   170,
-     249,   119,    70,    16,   173,   126,   280,   281,   189,   279,
-     301,    99,   100,   279,   241,   157,   158,   159,   160,   161,
-     158,   159,   160,   161,   236,   165,    14,   242,   183,   121,
-     134,   266,   267,   306,   165,   325,   326,   277,   122,   163,
-     174,   136,   180,   165,   169,   186,   187,   172,   190,   210,
-     202,   201,   204,   213,    47,   211,   212,   233,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,    52,    76,    47,   235,   127,
-     205,   206,   237,   207,   239,   254,   265,   240,   274,   295,
-     270,   244,   245,   299,   246,   247,   294,   250,   251,   252,
-     307,   253,   297,   308,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   312,   313,   332,   340,   338,   346,
-     314,   342,   315,   347,   349,   351,   353,   276,   273,   208,
-     268,   275,   269,   140,   142,   243,   143,     0,   322,     0,
-     324,   271,     0,     0,     0,   334,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   343,     0,
-       0,   282,   283,   336,     0,     0,     0,     0,   339,     0,
-       0,   352,     0,     0,     0,     0,     0,     0,     0,     0,
-      76,   288,     0,     0,     0,     0,     0,     0,     0,     0,
-     291,     0,     0,     0,     0,   296,     0,   302,   303,   304,
-     305,     0,     0,     0,     0,     0,   309,     0,     0,     0,
-       0,     0,   310,     0,     0,     0,     0,     0,     0,     0,
-       0,   317,     0,     0,     0,     0,     0,   318,     0,   320,
-       0,     0,     0,     0,     0,   323,     0,   329,     0,     0,
-       0,   337,   335,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   341,     0,     0,   344,    -5,     1,     0,     0,
-       0,   348,     0,   350,     0,     0,     0,     0,     2,     0,
-     354,     3,     4,     5,     0,     6,     7,     8,     9,    10,
-       0,    11,    12,    13,     0,    14,    15,    16,     0,    17,
-       0,    18,    19,    20,     0,     0,     0,    21,    22,    23,
-      24,     0,     0,    25,     0,     0,     0,     0,    26,    27,
-      28,     0,     0,    29,     0,     0,     0,    30,    31,    32,
-       0,    33,     0,     0,     0,     0,     0,     0,    34,     0,
-       0,     0,     0,     0,     0,    35,    36,    37,    38,    39,
-       0,     0,    40,    41,    42,    43,     0,     0,     0,     0,
-       0,     0,    44,    45,     0,     0,     0,    -5,    46,     2,
-       0,    47,     3,     4,     5,     0,     6,     7,     8,     9,
-      10,     0,    11,    12,    13,     0,    14,    15,    16,     0,
-      17,     0,    18,    19,    20,     0,     0,     0,    21,    22,
-      23,    24,     0,     0,    25,     0,     0,     0,     0,    26,
-      27,    28,     0,     0,    29,     0,     0,     0,    30,    31,
-      32,     0,    33,     0,     0,     0,     0,     0,     0,    34,
-       0,     0,     0,     0,     0,     0,    35,    36,    37,    38,
-      39,     0,     0,    40,    41,    42,    43,     0,     0,     0,
-       0,     0,     0,    44,    45,     0,     0,     0,     0,    46,
-       2,     0,    47,     3,     4,     5,     0,     6,     7,     8,
-       9,    10,     0,    11,    12,    13,     0,    14,    15,    16,
-       0,    17,   321,    18,     0,    20,     0,     0,     0,    21,
-      22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
-      26,    27,    28,     0,     0,    29,     0,     0,     0,     0,
-      31,    32,     0,    33,     0,     0,     0,     0,     0,     0,
-      34,     0,     0,     0,     0,     0,     0,    35,    36,    37,
-      38,    39,     0,     0,    40,    41,     0,    43,     0,     0,
-       0,     0,     0,     0,    44,    45,     0,     0,     0,   289,
-      46,     2,     0,    47,     3,     4,     5,     0,     6,     7,
-       8,     9,    10,     0,    11,    12,    13,     0,    14,    15,
-      16,     0,    17,     0,    18,     0,    20,     0,     0,     0,
-      21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
-       0,    26,    27,    28,     0,     0,    29,     0,     0,     0,
-       0,    31,    32,     0,    33,     0,     0,     0,     0,     0,
-       0,    34,     0,     0,     0,     0,     0,     0,    35,    36,
-      37,    38,    39,     0,     0,    40,    41,     0,    43,     0,
-       0,     0,     0,     0,     0,    44,    45,     0,     0,     0,
-     289,    46,     2,     0,    47,     3,     4,     5,     0,     6,
+      74,    75,    76,    77,   172,    79,    76,    80,    83,   240,
+      71,   134,   334,   110,   304,   296,    95,   152,   315,    98,
+      81,    52,   182,   282,   107,   109,   283,   113,   114,   115,
+     116,   117,   118,   297,   183,   320,     2,   123,   124,   125,
+       2,     5,   161,   162,   152,     5,    69,   136,   185,   138,
+     142,   145,   250,   129,    70,   126,    87,   127,    70,    16,
+     186,    17,   349,   335,   251,    78,   165,   159,   160,   161,
+     162,    76,   167,    99,   100,   168,   176,    88,    76,   171,
+     285,   273,    97,   274,   174,   105,   146,   147,   148,   149,
+     190,   284,   106,   152,   283,   243,   153,   154,   155,   152,
+     305,   111,   153,   283,   238,   166,    14,   244,   184,   119,
+     281,   121,   135,   156,   157,   158,   159,   160,   161,   162,
+     122,   158,   159,   160,   161,   162,   213,   214,   137,    47,
+     212,   128,   164,    47,   215,   268,   269,   310,   166,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,    52,    76,   166,   237,
+     329,   330,   170,   239,   175,   173,   181,   187,   242,   188,
+     191,   298,   246,   247,   202,   248,   249,   203,   252,   253,
+     254,   205,   255,   101,   102,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   318,   206,   319,   103,   207,
+     277,   208,   209,   279,   235,   104,   178,   241,   256,   280,
+     267,   270,   271,   326,   272,   328,   301,   278,   299,   303,
+     338,   311,   312,   316,   317,   336,   344,   146,   147,   148,
+     149,   150,   151,   347,   152,   179,   180,   153,   154,   155,
+     342,   350,   346,   286,   287,   351,   356,   340,   353,   355,
+     357,   245,   343,   210,   156,   157,   158,   159,   160,   161,
+     162,   141,    76,   292,   295,   143,   144,     0,   275,   300,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   306,   307,   308,   309,     0,   314,     0,     0,     0,
+     313,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   322,     0,   324,     0,   321,     0,     0,     0,   327,
+       0,   333,     0,     0,     0,     0,   339,     0,     0,     0,
+       0,     0,     0,     0,     0,   341,   345,     0,     0,   348,
+      -5,     1,     0,     0,     0,   352,     0,   354,     0,     0,
+       0,     0,     2,     0,   358,     3,     4,     5,     0,     6,
        7,     8,     9,    10,     0,    11,    12,    13,     0,    14,
-      15,    16,     0,    17,     0,    18,     0,    20,     0,     0,
-       0,    21,    22,    23,    24,     0,     0,     0,     0,     0,
-       0,     0,    26,     0,    28,     0,     0,     0,     0,     0,
-       0,     0,    31,    32,     0,    33,     0,     0,     0,     0,
+      15,    16,     0,    17,     0,    18,    19,    20,     0,     0,
+       0,    21,    22,    23,    24,     0,     0,    25,     0,     0,
+       0,     0,    26,    27,    28,     0,     0,    29,     0,     0,
+       0,    30,    31,    32,     0,    33,     0,     0,     0,     0,
        0,     0,    34,     0,     0,     0,     0,     0,     0,    35,
-      36,    37,    38,    39,     0,     0,     0,    41,     0,    43,
+      36,    37,    38,    39,     0,     0,    40,    41,    42,    43,
        0,     0,     0,     0,     0,     0,    44,    45,     0,     0,
-       0,     0,    46,     2,     0,    47,     3,     4,     5,     0,
+       0,    -5,    46,     2,     0,    47,     3,     4,     5,     0,
        6,     7,     8,     9,    10,     0,    11,    12,    13,     0,
-      14,    15,    16,     0,    17,     0,    18,     0,    20,     0,
-       0,     0,    21,    22,    23,     0,     0,     0,     0,     0,
-       0,     0,     0,    26,     0,    28,     0,     0,     0,     0,
-       0,     0,     0,    31,    32,     0,    33,     0,     0,     0,
+      14,    15,    16,     0,    17,     0,    18,    19,    20,     0,
+       0,     0,    21,    22,    23,    24,     0,     0,    25,     0,
+       0,     0,     0,    26,    27,    28,     0,     0,    29,     0,
+       0,     0,    30,    31,    32,     0,    33,     0,     0,     0,
        0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
-      35,    36,    37,    38,    39,     0,     0,     0,    41,     0,
-      43,     0,     0,     0,     0,     0,     2,    44,    45,     3,
-       4,     5,     0,    46,     0,     0,    47,     0,     0,    11,
-      12,    13,     0,    14,    72,    16,     0,    17,     0,     0,
-       0,    20,     0,     0,     0,     0,     0,     0,     0,     0,
-      90,     0,    91,    92,    93,    94,    73,     0,    28,     0,
+      35,    36,    37,    38,    39,     0,     0,    40,    41,    42,
+      43,     0,     0,     0,     0,     0,     0,    44,    45,     0,
+       0,     0,     0,    46,     2,     0,    47,     3,     4,     5,
+       0,     6,     7,     8,     9,    10,     0,    11,    12,    13,
+       0,    14,    15,    16,     0,    17,   325,    18,     0,    20,
+       0,     0,     0,    21,    22,    23,    24,     0,     0,     0,
+       0,     0,     0,     0,    26,    27,    28,     0,     0,    29,
+       0,     0,     0,     0,    31,    32,     0,    33,     0,     0,
+       0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
+       0,    35,    36,    37,    38,    39,     0,     0,    40,    41,
+       0,    43,     0,     0,     0,     0,     0,     0,    44,    45,
+       0,     0,     0,   293,    46,     2,     0,    47,     3,     4,
+       5,     0,     6,     7,     8,     9,    10,     0,    11,    12,
+      13,     0,    14,    15,    16,     0,    17,     0,    18,     0,
+      20,     0,     0,     0,    21,    22,    23,    24,     0,     0,
+       0,     0,     0,     0,     0,    26,    27,    28,     0,     0,
+      29,     0,     0,     0,     0,    31,    32,     0,    33,     0,
+       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
+       0,     0,    35,    36,    37,    38,    39,     0,     0,    40,
+      41,     0,    43,     0,     0,     0,     0,     0,     0,    44,
+      45,     0,     0,     0,   293,    46,     2,     0,    47,     3,
+       4,     5,     0,     6,     7,     8,     9,    10,     0,    11,
+      12,    13,     0,    14,    15,    16,     0,    17,     0,    18,
+       0,    20,     0,     0,     0,    21,    22,    23,    24,     0,
+       0,     0,     0,     0,     0,     0,    26,     0,    28,     0,
+       0,     0,     0,     0,     0,     0,    31,    32,     0,    33,
+       0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
+       0,     0,     0,    35,    36,    37,    38,    39,     0,     0,
+       0,    41,     0,    43,     0,     0,     0,     0,     0,     0,
+      44,    45,     0,     0,     0,     0,    46,     2,     0,    47,
+       3,     4,     5,     0,     6,     7,     8,     9,    10,     0,
+      11,    12,    13,     0,    14,    15,    16,     0,    17,     0,
+      18,     0,    20,     0,     0,     0,    21,    22,    23,     0,
+       0,     0,     0,     0,     0,     0,     0,    26,     0,    28,
+       0,     0,     0,     0,     0,     0,     0,    31,    32,     0,
+      33,     0,     0,     0,     0,     0,     0,    34,     0,     0,
+       0,     0,     0,     0,    35,    36,    37,    38,    39,     0,
+       0,     0,    41,     0,    43,     0,     0,     0,     0,     0,
+       2,    44,    45,     3,     4,     5,     0,    46,     0,     0,
+      47,     0,     0,    11,    12,    13,     0,    14,    72,    16,
+       0,    17,     0,     0,     0,    20,     0,     0,     0,     0,
+       0,     0,     0,     0,    90,     0,    91,    92,    93,    94,
+      73,     0,    28,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    34,     2,     0,     0,
-       3,     4,     5,    35,    36,    37,    38,    39,     0,     0,
-      11,    12,    13,    43,    14,    72,    16,     0,    17,     0,
-      44,    45,    20,     0,     0,     0,    46,     0,     0,    47,
-       0,     0,     0,    91,     0,    93,     0,    73,     0,    28,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
-       0,     0,     0,     0,     0,     0,     0,    34,     2,     0,
-       0,     3,     4,     5,    35,    36,    37,    38,    39,     0,
-       0,    11,    12,    13,    43,    14,    72,    16,     0,    17,
-       0,    44,    45,    20,     0,     0,     0,    46,     0,     0,
-      47,     0,     2,     0,     0,     3,     4,     5,    73,     0,
-      28,     0,     0,     0,     0,    11,    12,    13,     0,    14,
-      72,    16,     0,    17,     0,     0,     0,    20,    34,     0,
-       0,     0,     0,     0,     0,    35,    36,    37,    38,    39,
-       0,     0,    73,     0,    28,    43,     0,     0,     0,     0,
-       0,     0,    44,    45,     0,     0,     0,     0,    46,     0,
-       0,    47,    34,     0,     0,     0,     0,     0,     0,    35,
-      36,    37,    38,    39,     0,   177,     0,     0,     0,    43,
+      34,     2,     0,     0,     3,     4,     5,    35,    36,    37,
+      38,    39,     0,     0,    11,    12,    13,    43,    14,    72,
+      16,     0,    17,     0,    44,    45,    20,     0,     0,     0,
+      46,     0,     0,    47,     0,     0,     0,    91,     0,    93,
+       0,    73,     0,    28,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   108,     0,     0,     0,     0,     0,     0,
+       0,    34,     2,     0,     0,     3,     4,     5,    35,    36,
+      37,    38,    39,     0,     0,    11,    12,    13,    43,    14,
+      72,    16,     0,    17,     0,    44,    45,    20,     0,     0,
+       0,    46,     0,     0,    47,     0,     2,     0,     0,     3,
+       4,     5,    73,     0,    28,     0,     0,     0,     0,    11,
+      12,    13,     0,    14,    72,    16,     0,    17,     0,     0,
+       0,    20,    34,     0,     0,     0,     0,     0,     0,    35,
+      36,    37,    38,    39,     0,     0,    73,     0,    28,    43,
        0,     0,     0,     0,     0,     0,    44,    45,     0,     0,
-       0,    91,    82,    93,     0,    47,   145,   146,   147,   148,
-     149,   150,     0,   151,   178,   179,   152,   153,   154,   145,
-     146,   147,   148,   149,   150,     0,   151,     0,     0,   152,
-     153,   154,     0,   155,   156,   157,   158,   159,   160,   161,
-       0,     0,     0,     0,     0,     0,   155,   156,   157,   158,
-     159,   160,   161,   191,     0,     0,     0,     0,     0,   192,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   145,
-     146,   147,   148,   149,   150,     0,   151,     0,     0,   152,
-     153,   154,     0,     0,     0,     0,     0,   193,     0,     0,
-       0,     0,     0,   194,     0,     0,   155,   156,   157,   158,
-     159,   160,   161,   145,   146,   147,   148,   149,   150,     0,
-     151,     0,     0,   152,   153,   154,     0,     0,     0,     0,
-       0,   195,     0,     0,     0,     0,     0,   196,     0,     0,
-     155,   156,   157,   158,   159,   160,   161,   145,   146,   147,
-     148,   149,   150,     0,   151,     0,     0,   152,   153,   154,
-       0,     0,     0,     0,     0,   197,     0,     0,     0,     0,
-       0,   198,     0,     0,   155,   156,   157,   158,   159,   160,
-     161,   145,   146,   147,   148,   149,   150,     0,   151,     0,
-       0,   152,   153,   154,     0,     0,     0,     0,     0,   284,
-       0,     0,     0,     0,     0,     0,     0,     0,   155,   156,
-     157,   158,   159,   160,   161,   145,   146,   147,   148,   149,
-     150,     0,   151,     0,     0,   152,   153,   154,     0,     0,
-       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
-       0,     0,   155,   156,   157,   158,   159,   160,   161,   145,
-     146,   147,   148,   149,   150,     0,   151,     0,     0,   152,
-     153,   154,     0,     0,     0,     0,     0,   286,     0,     0,
-       0,     0,     0,     0,     0,     0,   155,   156,   157,   158,
-     159,   160,   161,   145,   146,   147,   148,   149,   150,     0,
-     151,     0,     0,   152,   153,   154,     0,     0,     0,     0,
-       0,   287,     0,     0,     0,     0,     0,     0,     0,     0,
-     155,   156,   157,   158,   159,   160,   161,   145,   146,   147,
-     148,   149,   150,     0,   151,     0,     0,   152,   153,   154,
+       0,     0,    46,     0,     0,    47,    34,     0,     0,     0,
+       0,     0,     0,    35,    36,    37,    38,    39,     0,     0,
+       0,     0,    91,    43,    93,     0,     0,     0,     0,     0,
+      44,    45,     0,     0,     0,     0,    82,     0,     0,    47,
+     146,   147,   148,   149,   150,   151,     0,   152,     0,     0,
+     153,   154,   155,     0,     0,     0,     0,     0,   192,     0,
+       0,     0,     0,     0,   193,     0,     0,   156,   157,   158,
+     159,   160,   161,   162,   146,   147,   148,   149,   150,   151,
+       0,   152,     0,     0,   153,   154,   155,     0,     0,     0,
+       0,     0,   194,     0,     0,     0,     0,     0,   195,     0,
+       0,   156,   157,   158,   159,   160,   161,   162,   146,   147,
+     148,   149,   150,   151,     0,   152,     0,     0,   153,   154,
+     155,     0,     0,     0,     0,     0,   196,     0,     0,     0,
+       0,     0,   197,     0,     0,   156,   157,   158,   159,   160,
+     161,   162,   146,   147,   148,   149,   150,   151,     0,   152,
+       0,     0,   153,   154,   155,     0,     0,     0,     0,     0,
+     198,     0,     0,     0,     0,     0,   199,     0,     0,   156,
+     157,   158,   159,   160,   161,   162,   146,   147,   148,   149,
+     150,   151,     0,   152,     0,     0,   153,   154,   155,     0,
+       0,     0,     0,     0,   288,     0,     0,     0,     0,     0,
+       0,     0,     0,   156,   157,   158,   159,   160,   161,   162,
+     146,   147,   148,   149,   150,   151,     0,   152,     0,     0,
+     153,   154,   155,     0,     0,     0,     0,     0,   289,     0,
+       0,     0,     0,     0,     0,     0,     0,   156,   157,   158,
+     159,   160,   161,   162,   146,   147,   148,   149,   150,   151,
+       0,   152,     0,     0,   153,   154,   155,     0,     0,     0,
+       0,     0,   290,     0,     0,     0,     0,     0,     0,     0,
+       0,   156,   157,   158,   159,   160,   161,   162,   146,   147,
+     148,   149,   150,   151,     0,   152,     0,     0,   153,   154,
+     155,     0,     0,     0,     0,     0,   291,     0,     0,     0,
+       0,     0,     0,     0,     0,   156,   157,   158,   159,   160,
+     161,   162,   146,   147,   148,   149,   150,   151,     0,   152,
+       0,     0,   153,   154,   155,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   216,     0,     0,   156,
+     157,   158,   159,   160,   161,   162,   146,   147,   148,   149,
+     150,   151,   189,   152,     0,     0,   153,   154,   155,     0,
+     146,   147,   148,   149,   150,   151,     0,   152,     0,     0,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+       0,   217,     0,     0,     0,     0,     0,   156,   157,   158,
+     159,   160,   161,   162,   146,   147,   148,   149,   150,   151,
+       0,   152,     0,     0,   153,   154,   155,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   156,   157,   158,   159,   160,   161,   162,     0,     0,
+       0,   204,   146,   147,   148,   149,   150,   151,     0,   152,
+       0,     0,   153,   154,   155,     0,     0,     0,     0,     0,
+     200,   201,     0,     0,     0,     0,     0,     0,     0,   156,
+     157,   158,   159,   160,   161,   162,   146,   147,   148,   149,
+     150,   151,     0,   152,     0,     0,   153,   154,   155,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   214,     0,     0,   155,   156,   157,   158,   159,   160,
-     161,   145,   146,   147,   148,   149,   150,   188,   151,     0,
-       0,   152,   153,   154,     0,   145,   146,   147,   148,   149,
-     150,     0,   151,     0,     0,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,     0,   215,     0,     0,     0,
-       0,     0,   155,   156,   157,   158,   159,   160,   161,   145,
-     146,   147,   148,   149,   150,     0,   151,     0,     0,   152,
-     153,   154,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   155,   156,   157,   158,
-     159,   160,   161,     0,     0,     0,   203,   145,   146,   147,
-     148,   149,   150,     0,   151,     0,     0,   152,   153,   154,
-       0,     0,     0,     0,     0,   199,   200,     0,     0,     0,
-       0,     0,     0,     0,   155,   156,   157,   158,   159,   160,
-     161,   145,   146,   147,   148,   149,   150,     0,   151,     0,
-       0,   152,   153,   154,   145,   146,   147,   148,     0,     0,
-       0,   151,     0,     0,   152,   153,   154,     0,   155,   156,
-     157,   158,   159,   160,   161,     0,     0,     0,     0,     0,
-       0,   155,   156,   157,   158,   159,   160,   161
+       0,     0,     0,   156,   157,   158,   159,   160,   161,   162
 };
 
 static const yytype_int16 yycheck[] =
 {
-       7,     8,     9,     9,    86,    12,    13,    13,    15,     0,
-       4,    32,    39,   295,   280,   101,    23,   171,    73,    26,
-      14,     0,    38,   101,    31,    32,   104,    34,    35,    36,
-      37,    38,    39,    15,    16,   301,    53,    44,    45,    46,
-      56,    12,    56,    98,    99,    30,    17,    54,    30,    56,
-      57,    58,    30,    47,    68,    37,    30,   339,    56,    30,
-      31,    30,    33,    90,    12,    30,    73,    30,    56,    17,
-      68,    78,    78,    73,    95,    82,    76,    73,    85,    85,
-      68,    30,    30,    31,    91,    33,   101,   241,   109,   104,
-     101,    58,    59,   104,   176,    95,    96,    97,    98,    99,
-      96,    97,    98,    99,   103,   104,    29,    30,   102,    30,
-     101,   103,   104,   103,   104,    39,    40,   215,   102,   102,
-      48,    68,    30,   104,   104,    56,    55,   104,   104,   136,
-      30,   104,   107,   140,   105,   137,   138,    30,   145,   146,
+       7,     8,     9,     9,    86,    12,    13,    13,    15,   172,
+       4,     0,    39,    32,   284,    38,    23,    73,   299,    26,
+      14,     0,    56,   101,    31,    32,   104,    34,    35,    36,
+      37,    38,    39,    56,    68,   305,    12,    44,    45,    46,
+      12,    17,    98,    99,    73,    17,   101,    54,    56,    56,
+      57,    58,    56,    47,    30,    31,    53,    33,    30,    31,
+      68,    33,   343,    90,    68,    30,    73,    96,    97,    98,
+      99,    78,    78,    58,    59,    82,    95,    30,    85,    85,
+     243,    31,    30,    33,    91,    30,    66,    67,    68,    69,
+     109,   101,    30,    73,   104,   177,    76,    77,    78,    73,
+     101,    30,    76,   104,   103,   104,    29,    30,   102,    30,
+     217,    30,   101,    93,    94,    95,    96,    97,    98,    99,
+     102,    95,    96,    97,    98,    99,   138,   139,    68,   105,
+     137,   107,   102,   105,   141,   103,   104,   103,   104,   146,
      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   134,   163,   105,   165,   107,
-     106,   104,   169,   104,    30,    30,    30,   174,    55,    55,
-      33,   178,   179,    30,   181,   182,   274,   184,   185,   186,
-      91,   188,   104,    56,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,    92,    30,    30,   104,    90,    30,
-     298,    91,   300,    91,    55,    90,    90,   214,   210,   134,
-     204,   213,   206,    57,    57,   177,    57,    -1,   316,    -1,
-     318,   207,    -1,    -1,    -1,   323,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   336,    -1,
-      -1,   248,   249,   325,    -1,    -1,    -1,    -1,   330,    -1,
-      -1,   349,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     267,   267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     272,    -1,    -1,    -1,    -1,   277,    -1,   284,   285,   286,
-     287,    -1,    -1,    -1,    -1,    -1,   293,    -1,    -1,    -1,
-      -1,    -1,   294,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   308,    -1,    -1,    -1,    -1,    -1,   309,    -1,   311,
-      -1,    -1,    -1,    -1,    -1,   317,    -1,   319,    -1,    -1,
-      -1,   328,   324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   334,    -1,    -1,   337,     0,     1,    -1,    -1,
-      -1,   343,    -1,   345,    -1,    -1,    -1,    -1,    12,    -1,
-     352,    15,    16,    17,    -1,    19,    20,    21,    22,    23,
-      -1,    25,    26,    27,    -1,    29,    30,    31,    -1,    33,
-      -1,    35,    36,    37,    -1,    -1,    -1,    41,    42,    43,
-      44,    -1,    -1,    47,    -1,    -1,    -1,    -1,    52,    53,
-      54,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    63,
-      -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,
-      -1,    -1,    -1,    -1,    -1,    79,    80,    81,    82,    83,
-      -1,    -1,    86,    87,    88,    89,    -1,    -1,    -1,    -1,
-      -1,    -1,    96,    97,    -1,    -1,    -1,   101,   102,    12,
-      -1,   105,    15,    16,    17,    -1,    19,    20,    21,    22,
-      23,    -1,    25,    26,    27,    -1,    29,    30,    31,    -1,
-      33,    -1,    35,    36,    37,    -1,    -1,    -1,    41,    42,
-      43,    44,    -1,    -1,    47,    -1,    -1,    -1,    -1,    52,
-      53,    54,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
-      63,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    72,
-      -1,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,    82,
-      83,    -1,    -1,    86,    87,    88,    89,    -1,    -1,    -1,
-      -1,    -1,    -1,    96,    97,    -1,    -1,    -1,    -1,   102,
-      12,    -1,   105,    15,    16,    17,    -1,    19,    20,    21,
-      22,    23,    -1,    25,    26,    27,    -1,    29,    30,    31,
-      -1,    33,    34,    35,    -1,    37,    -1,    -1,    -1,    41,
-      42,    43,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      52,    53,    54,    -1,    -1,    57,    -1,    -1,    -1,    -1,
-      62,    63,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
-      72,    -1,    -1,    -1,    -1,    -1,    -1,    79,    80,    81,
-      82,    83,    -1,    -1,    86,    87,    -1,    89,    -1,    -1,
-      -1,    -1,    -1,    -1,    96,    97,    -1,    -1,    -1,   101,
-     102,    12,    -1,   105,    15,    16,    17,    -1,    19,    20,
-      21,    22,    23,    -1,    25,    26,    27,    -1,    29,    30,
-      31,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,    -1,
-      41,    42,    43,    44,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    52,    53,    54,    -1,    -1,    57,    -1,    -1,    -1,
-      -1,    62,    63,    -1,    65,    -1,    -1,    -1,    -1,    -1,
-      -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,    79,    80,
-      81,    82,    83,    -1,    -1,    86,    87,    -1,    89,    -1,
-      -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    -1,    -1,
-     101,   102,    12,    -1,   105,    15,    16,    17,    -1,    19,
+     157,   158,   159,   160,   161,   162,   135,   164,   104,   166,
+      39,    40,   104,   170,    48,   104,    30,    56,   175,    55,
+     104,   278,   179,   180,   104,   182,   183,    30,   185,   186,
+     187,   107,   189,    15,    16,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   302,   107,   304,    30,   106,
+     212,   104,   104,   215,    30,    37,    45,    30,    30,   216,
+      30,   205,   206,   320,   208,   322,   104,    55,    55,    30,
+     327,    91,    56,    92,    30,    30,   104,    66,    67,    68,
+      69,    70,    71,   340,    73,    74,    75,    76,    77,    78,
+      90,    30,    91,   250,   251,    91,   353,   329,    55,    90,
+      90,   178,   334,   135,    93,    94,    95,    96,    97,    98,
+      99,    57,   269,   269,   276,    57,    57,    -1,   209,   281,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   288,   289,   290,   291,    -1,   298,    -1,    -1,    -1,
+     297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   313,    -1,   315,    -1,   312,    -1,    -1,    -1,   321,
+      -1,   323,    -1,    -1,    -1,    -1,   328,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   332,   338,    -1,    -1,   341,
+       0,     1,    -1,    -1,    -1,   347,    -1,   349,    -1,    -1,
+      -1,    -1,    12,    -1,   356,    15,    16,    17,    -1,    19,
       20,    21,    22,    23,    -1,    25,    26,    27,    -1,    29,
-      30,    31,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,
-      -1,    41,    42,    43,    44,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    52,    -1,    54,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    62,    63,    -1,    65,    -1,    -1,    -1,    -1,
+      30,    31,    -1,    33,    -1,    35,    36,    37,    -1,    -1,
+      -1,    41,    42,    43,    44,    -1,    -1,    47,    -1,    -1,
+      -1,    -1,    52,    53,    54,    -1,    -1,    57,    -1,    -1,
+      -1,    61,    62,    63,    -1,    65,    -1,    -1,    -1,    -1,
       -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,    79,
-      80,    81,    82,    83,    -1,    -1,    -1,    87,    -1,    89,
+      80,    81,    82,    83,    -1,    -1,    86,    87,    88,    89,
       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    -1,
-      -1,    -1,   102,    12,    -1,   105,    15,    16,    17,    -1,
+      -1,   101,   102,    12,    -1,   105,    15,    16,    17,    -1,
       19,    20,    21,    22,    23,    -1,    25,    26,    27,    -1,
-      29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    -1,
-      -1,    -1,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    52,    -1,    54,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    62,    63,    -1,    65,    -1,    -1,    -1,
+      29,    30,    31,    -1,    33,    -1,    35,    36,    37,    -1,
+      -1,    -1,    41,    42,    43,    44,    -1,    -1,    47,    -1,
+      -1,    -1,    -1,    52,    53,    54,    -1,    -1,    57,    -1,
+      -1,    -1,    61,    62,    63,    -1,    65,    -1,    -1,    -1,
       -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,
-      79,    80,    81,    82,    83,    -1,    -1,    -1,    87,    -1,
-      89,    -1,    -1,    -1,    -1,    -1,    12,    96,    97,    15,
-      16,    17,    -1,   102,    -1,    -1,   105,    -1,    -1,    25,
-      26,    27,    -1,    29,    30,    31,    -1,    33,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      46,    -1,    48,    49,    50,    51,    52,    -1,    54,    -1,
+      79,    80,    81,    82,    83,    -1,    -1,    86,    87,    88,
+      89,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,
+      -1,    -1,    -1,   102,    12,    -1,   105,    15,    16,    17,
+      -1,    19,    20,    21,    22,    23,    -1,    25,    26,    27,
+      -1,    29,    30,    31,    -1,    33,    34,    35,    -1,    37,
+      -1,    -1,    -1,    41,    42,    43,    44,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    52,    53,    54,    -1,    -1,    57,
+      -1,    -1,    -1,    -1,    62,    63,    -1,    65,    -1,    -1,
+      -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,
+      -1,    79,    80,    81,    82,    83,    -1,    -1,    86,    87,
+      -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
+      -1,    -1,    -1,   101,   102,    12,    -1,   105,    15,    16,
+      17,    -1,    19,    20,    21,    22,    23,    -1,    25,    26,
+      27,    -1,    29,    30,    31,    -1,    33,    -1,    35,    -1,
+      37,    -1,    -1,    -1,    41,    42,    43,    44,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    52,    53,    54,    -1,    -1,
+      57,    -1,    -1,    -1,    -1,    62,    63,    -1,    65,    -1,
+      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
+      -1,    -1,    79,    80,    81,    82,    83,    -1,    -1,    86,
+      87,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,
+      97,    -1,    -1,    -1,   101,   102,    12,    -1,   105,    15,
+      16,    17,    -1,    19,    20,    21,    22,    23,    -1,    25,
+      26,    27,    -1,    29,    30,    31,    -1,    33,    -1,    35,
+      -1,    37,    -1,    -1,    -1,    41,    42,    43,    44,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    54,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    62,    63,    -1,    65,
+      -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
+      -1,    -1,    -1,    79,    80,    81,    82,    83,    -1,    -1,
+      -1,    87,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,
+      96,    97,    -1,    -1,    -1,    -1,   102,    12,    -1,   105,
+      15,    16,    17,    -1,    19,    20,    21,    22,    23,    -1,
+      25,    26,    27,    -1,    29,    30,    31,    -1,    33,    -1,
+      35,    -1,    37,    -1,    -1,    -1,    41,    42,    43,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    54,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    63,    -1,
+      65,    -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
+      -1,    -1,    -1,    -1,    79,    80,    81,    82,    83,    -1,
+      -1,    -1,    87,    -1,    89,    -1,    -1,    -1,    -1,    -1,
+      12,    96,    97,    15,    16,    17,    -1,   102,    -1,    -1,
+     105,    -1,    -1,    25,    26,    27,    -1,    29,    30,    31,
+      -1,    33,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    46,    -1,    48,    49,    50,    51,
+      52,    -1,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    72,    12,    -1,    -1,
-      15,    16,    17,    79,    80,    81,    82,    83,    -1,    -1,
-      25,    26,    27,    89,    29,    30,    31,    -1,    33,    -1,
-      96,    97,    37,    -1,    -1,    -1,   102,    -1,    -1,   105,
-      -1,    -1,    -1,    48,    -1,    50,    -1,    52,    -1,    54,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    12,    -1,
-      -1,    15,    16,    17,    79,    80,    81,    82,    83,    -1,
-      -1,    25,    26,    27,    89,    29,    30,    31,    -1,    33,
-      -1,    96,    97,    37,    -1,    -1,    -1,   102,    -1,    -1,
-     105,    -1,    12,    -1,    -1,    15,    16,    17,    52,    -1,
-      54,    -1,    -1,    -1,    -1,    25,    26,    27,    -1,    29,
-      30,    31,    -1,    33,    -1,    -1,    -1,    37,    72,    -1,
-      -1,    -1,    -1,    -1,    -1,    79,    80,    81,    82,    83,
-      -1,    -1,    52,    -1,    54,    89,    -1,    -1,    -1,    -1,
-      -1,    -1,    96,    97,    -1,    -1,    -1,    -1,   102,    -1,
-      -1,   105,    72,    -1,    -1,    -1,    -1,    -1,    -1,    79,
-      80,    81,    82,    83,    -1,    45,    -1,    -1,    -1,    89,
+      72,    12,    -1,    -1,    15,    16,    17,    79,    80,    81,
+      82,    83,    -1,    -1,    25,    26,    27,    89,    29,    30,
+      31,    -1,    33,    -1,    96,    97,    37,    -1,    -1,    -1,
+     102,    -1,    -1,   105,    -1,    -1,    -1,    48,    -1,    50,
+      -1,    52,    -1,    54,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    72,    12,    -1,    -1,    15,    16,    17,    79,    80,
+      81,    82,    83,    -1,    -1,    25,    26,    27,    89,    29,
+      30,    31,    -1,    33,    -1,    96,    97,    37,    -1,    -1,
+      -1,   102,    -1,    -1,   105,    -1,    12,    -1,    -1,    15,
+      16,    17,    52,    -1,    54,    -1,    -1,    -1,    -1,    25,
+      26,    27,    -1,    29,    30,    31,    -1,    33,    -1,    -1,
+      -1,    37,    72,    -1,    -1,    -1,    -1,    -1,    -1,    79,
+      80,    81,    82,    83,    -1,    -1,    52,    -1,    54,    89,
       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    -1,
-      -1,    48,   102,    50,    -1,   105,    66,    67,    68,    69,
-      70,    71,    -1,    73,    74,    75,    76,    77,    78,    66,
-      67,    68,    69,    70,    71,    -1,    73,    -1,    -1,    76,
-      77,    78,    -1,    93,    94,    95,    96,    97,    98,    99,
-      -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    95,    96,
-      97,    98,    99,    50,    -1,    -1,    -1,    -1,    -1,    56,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
-      67,    68,    69,    70,    71,    -1,    73,    -1,    -1,    76,
-      77,    78,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
-      -1,    -1,    -1,    56,    -1,    -1,    93,    94,    95,    96,
-      97,    98,    99,    66,    67,    68,    69,    70,    71,    -1,
-      73,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,
-      -1,    50,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,
-      93,    94,    95,    96,    97,    98,    99,    66,    67,    68,
-      69,    70,    71,    -1,    73,    -1,    -1,    76,    77,    78,
-      -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
-      -1,    56,    -1,    -1,    93,    94,    95,    96,    97,    98,
-      99,    66,    67,    68,    69,    70,    71,    -1,    73,    -1,
-      -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    50,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,    94,
-      95,    96,    97,    98,    99,    66,    67,    68,    69,    70,
-      71,    -1,    73,    -1,    -1,    76,    77,    78,    -1,    -1,
-      -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    93,    94,    95,    96,    97,    98,    99,    66,
-      67,    68,    69,    70,    71,    -1,    73,    -1,    -1,    76,
-      77,    78,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    95,    96,
-      97,    98,    99,    66,    67,    68,    69,    70,    71,    -1,
-      73,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,
-      -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      93,    94,    95,    96,    97,    98,    99,    66,    67,    68,
-      69,    70,    71,    -1,    73,    -1,    -1,    76,    77,    78,
+      -1,    -1,   102,    -1,    -1,   105,    72,    -1,    -1,    -1,
+      -1,    -1,    -1,    79,    80,    81,    82,    83,    -1,    -1,
+      -1,    -1,    48,    89,    50,    -1,    -1,    -1,    -1,    -1,
+      96,    97,    -1,    -1,    -1,    -1,   102,    -1,    -1,   105,
+      66,    67,    68,    69,    70,    71,    -1,    73,    -1,    -1,
+      76,    77,    78,    -1,    -1,    -1,    -1,    -1,    50,    -1,
+      -1,    -1,    -1,    -1,    56,    -1,    -1,    93,    94,    95,
+      96,    97,    98,    99,    66,    67,    68,    69,    70,    71,
+      -1,    73,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
+      -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    56,    -1,
+      -1,    93,    94,    95,    96,    97,    98,    99,    66,    67,
+      68,    69,    70,    71,    -1,    73,    -1,    -1,    76,    77,
+      78,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
+      -1,    -1,    56,    -1,    -1,    93,    94,    95,    96,    97,
+      98,    99,    66,    67,    68,    69,    70,    71,    -1,    73,
+      -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
+      50,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,    93,
+      94,    95,    96,    97,    98,    99,    66,    67,    68,    69,
+      70,    71,    -1,    73,    -1,    -1,    76,    77,    78,    -1,
+      -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    93,    94,    95,    96,    97,    98,    99,
+      66,    67,    68,    69,    70,    71,    -1,    73,    -1,    -1,
+      76,    77,    78,    -1,    -1,    -1,    -1,    -1,    50,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    95,
+      96,    97,    98,    99,    66,    67,    68,    69,    70,    71,
+      -1,    73,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
+      -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    93,    94,    95,    96,    97,    98,    99,    66,    67,
+      68,    69,    70,    71,    -1,    73,    -1,    -1,    76,    77,
+      78,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    93,    94,    95,    96,    97,
+      98,    99,    66,    67,    68,    69,    70,    71,    -1,    73,
+      -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,    93,
+      94,    95,    96,    97,    98,    99,    66,    67,    68,    69,
+      70,    71,    58,    73,    -1,    -1,    76,    77,    78,    -1,
+      66,    67,    68,    69,    70,    71,    -1,    73,    -1,    -1,
+      76,    77,    78,    93,    94,    95,    96,    97,    98,    99,
+      -1,   101,    -1,    -1,    -1,    -1,    -1,    93,    94,    95,
+      96,    97,    98,    99,    66,    67,    68,    69,    70,    71,
+      -1,    73,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    93,    94,    95,    96,    97,    98,    99,    -1,    -1,
+      -1,   103,    66,    67,    68,    69,    70,    71,    -1,    73,
+      -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
+      84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,
+      94,    95,    96,    97,    98,    99,    66,    67,    68,    69,
+      70,    71,    -1,    73,    -1,    -1,    76,    77,    78,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    56,    -1,    -1,    93,    94,    95,    96,    97,    98,
-      99,    66,    67,    68,    69,    70,    71,    58,    73,    -1,
-      -1,    76,    77,    78,    -1,    66,    67,    68,    69,    70,
-      71,    -1,    73,    -1,    -1,    76,    77,    78,    93,    94,
-      95,    96,    97,    98,    99,    -1,   101,    -1,    -1,    -1,
-      -1,    -1,    93,    94,    95,    96,    97,    98,    99,    66,
-      67,    68,    69,    70,    71,    -1,    73,    -1,    -1,    76,
-      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    95,    96,
-      97,    98,    99,    -1,    -1,    -1,   103,    66,    67,    68,
-      69,    70,    71,    -1,    73,    -1,    -1,    76,    77,    78,
-      -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    93,    94,    95,    96,    97,    98,
-      99,    66,    67,    68,    69,    70,    71,    -1,    73,    -1,
-      -1,    76,    77,    78,    66,    67,    68,    69,    -1,    -1,
-      -1,    73,    -1,    -1,    76,    77,    78,    -1,    93,    94,
-      95,    96,    97,    98,    99,    -1,    -1,    -1,    -1,    -1,
-      -1,    93,    94,    95,    96,    97,    98,    99
+      -1,    -1,    -1,    93,    94,    95,    96,    97,    98,    99
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1287,30 +1277,30 @@ static const yytype_uint8 yystos[] =
       46,    48,    49,    50,    51,   129,   136,    30,   129,    58,
       59,    15,    16,    30,    37,    30,    30,   129,    64,   129,
      136,    30,   134,   129,   129,   129,   129,   129,   129,    30,
-     133,    30,   102,   129,   129,   129,    33,   107,   128,   150,
-     151,   152,   153,     0,   101,   129,    68,   129,   113,   118,
-     121,   129,   131,   146,   129,    66,    67,    68,    69,    70,
-      71,    73,    76,    77,    78,    93,    94,    95,    96,    97,
-      98,    99,   123,   102,   129,   104,   147,   129,   147,   104,
-     147,   123,   104,   129,    48,   136,   140,    45,    74,    75,
-      30,    56,    68,   128,    56,    68,    56,    55,    58,   136,
-     104,    50,    56,    50,    56,    50,    56,    50,    56,    84,
-      85,   104,    30,   103,   107,   106,   104,   104,   110,   124,
-     129,   124,   124,   129,    56,   101,   129,   129,   129,   129,
+     133,    30,   102,   129,   129,   129,    31,    33,   107,   128,
+     150,   151,   152,   153,     0,   101,   129,    68,   129,   113,
+     118,   121,   129,   131,   146,   129,    66,    67,    68,    69,
+      70,    71,    73,    76,    77,    78,    93,    94,    95,    96,
+      97,    98,    99,   123,   102,   129,   104,   147,   129,   147,
+     104,   147,   123,   104,   129,    48,   136,   140,    45,    74,
+      75,    30,    56,    68,   128,    56,    68,    56,    55,    58,
+     136,   104,    50,    56,    50,    56,    50,    56,    50,    56,
+      84,    85,   104,    30,   103,   107,   107,   106,   104,   104,
+     110,   124,   129,   124,   124,   129,    56,   101,   129,   129,
      129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
-     129,   129,   129,    30,   143,   129,   103,   129,   143,    30,
-     129,   123,    30,   130,   129,   129,   129,   129,    56,    68,
-     129,   129,   129,   129,    30,   129,   129,   129,   129,   129,
-     129,   129,   129,   129,   129,    30,   103,   104,   128,   128,
-      33,   153,   125,   124,    55,   124,   129,   125,   101,   104,
-     101,   143,   129,   129,    50,    50,    50,    50,   147,   101,
-     114,   124,    38,    56,   125,    55,   124,   104,   145,    30,
-     145,   101,   129,   129,   129,   129,   103,    91,    56,   129,
-     124,   112,    92,    30,   125,   125,   145,   129,   124,   116,
-     124,    34,   125,   124,   125,    39,    40,   117,   122,   124,
-      39,    90,    30,   144,   125,   124,   123,   129,    90,   123,
-     104,   124,    91,   125,   124,   112,    30,    91,   124,    55,
-     124,    90,   125,    90,   124
+     129,   129,   129,   129,   129,    30,   143,   129,   103,   129,
+     143,    30,   129,   123,    30,   130,   129,   129,   129,   129,
+      56,    68,   129,   129,   129,   129,    30,   129,   129,   129,
+     129,   129,   129,   129,   129,   129,   129,    30,   103,   104,
+     128,   128,   128,    31,    33,   153,   125,   124,    55,   124,
+     129,   125,   101,   104,   101,   143,   129,   129,    50,    50,
+      50,    50,   147,   101,   114,   124,    38,    56,   125,    55,
+     124,   104,   145,    30,   145,   101,   129,   129,   129,   129,
+     103,    91,    56,   129,   124,   112,    92,    30,   125,   125,
+     145,   129,   124,   116,   124,    34,   125,   124,   125,    39,
+      40,   117,   122,   124,    39,    90,    30,   144,   125,   124,
+     123,   129,    90,   123,   104,   124,    91,   125,   124,   112,
+      30,    91,   124,    55,   124,    90,   125,    90,   124
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3041,9 +3031,16 @@ yyreduce:
 		g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); ;}
     break;
 
+  case 171:
+#line 653 "engines/director/lingo/lingo-gr.y"
+    {
+			g_lingo->code1(LC::c_stringpush);
+			g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str()); ;}
+    break;
+
 
 /* Line 1267 of yacc.c.  */
-#line 3047 "engines/director/lingo/lingo-gr.cpp"
+#line 3044 "engines/director/lingo/lingo-gr.cpp"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3257,6 +3254,6 @@ yyreturn:
 }
 
 
-#line 656 "engines/director/lingo/lingo-gr.y"
+#line 659 "engines/director/lingo/lingo-gr.y"
 
 
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index b4d8486..ba6286b 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -650,6 +650,9 @@ proplist:  proppair			{ $$ = 1; }
 proppair: SYMBOL ':' simpleexpr {
 		g_lingo->code1(LC::c_symbolpush);
 		g_lingo->codeString($1->c_str()); }
+	| STRING ':' simpleexpr {
+			g_lingo->code1(LC::c_stringpush);
+			g_lingo->codeString($1->c_str()); }
 	;
 
 
diff --git a/engines/director/lingo/tests/lists.lingo b/engines/director/lingo/tests/lists.lingo
index 24f8d42..998af9e 100644
--- a/engines/director/lingo/tests/lists.lingo
+++ b/engines/director/lingo/tests/lists.lingo
@@ -2,3 +2,4 @@ set x = []
 set y = [:]
 set machinery = [#gears:6, #balls:3, #ramps:8]
 set nested = [1, 2, [3, 4], 5]
+set gList = ["car":1, "boat": 20]




More information about the Scummvm-git-logs mailing list