This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
remove dead listexprcom production from grammar
authorZefram <zefram@fysh.org>
Mon, 23 Aug 2010 19:49:45 +0000 (20:49 +0100)
committerFlorian Ragwitz <rafl@debian.org>
Tue, 31 Aug 2010 19:40:07 +0000 (21:40 +0200)
The third production of <listexprcom>, "expr ','", could never be invoked,
because <expr> can already end with arbitrarily many commas.

perly.act
perly.tab
perly.y

index 7cf5da3..ec48d5a 100644 (file)
--- a/perly.act
+++ b/perly.act
@@ -1584,83 +1584,69 @@ case 2:
     break;
 
   case 205:
-#line 1335 "perly.y"
-    {
-#ifdef MAD
-                         OP* op = newNULLLIST();
-                         token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
-                         (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
-#else
-                         (yyval.opval) = (ps[(1) - (2)].val.opval);
-#endif
-
-                       ;}
-    break;
-
-  case 206:
-#line 1350 "perly.y"
+#line 1339 "perly.y"
     { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
     break;
 
-  case 207:
-#line 1354 "perly.y"
+  case 206:
+#line 1343 "perly.y"
     { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
                          TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
                        ;}
     break;
 
-  case 208:
-#line 1360 "perly.y"
+  case 207:
+#line 1349 "perly.y"
     { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
                          TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
                        ;}
     break;
 
-  case 209:
-#line 1366 "perly.y"
+  case 208:
+#line 1355 "perly.y"
     { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
                          TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
                        ;}
     break;
 
-  case 210:
-#line 1372 "perly.y"
+  case 209:
+#line 1361 "perly.y"
     { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
                          TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
                        ;}
     break;
 
-  case 211:
-#line 1378 "perly.y"
+  case 210:
+#line 1367 "perly.y"
     { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
                          TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
                        ;}
     break;
 
-  case 212:
-#line 1384 "perly.y"
+  case 211:
+#line 1373 "perly.y"
     { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
                          TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
                        ;}
     break;
 
-  case 213:
-#line 1391 "perly.y"
+  case 212:
+#line 1380 "perly.y"
     { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
     break;
 
-  case 214:
-#line 1393 "perly.y"
+  case 213:
+#line 1382 "perly.y"
     { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
     break;
 
-  case 215:
-#line 1395 "perly.y"
+  case 214:
+#line 1384 "perly.y"
     { (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
     break;
 
-  case 216:
-#line 1398 "perly.y"
+  case 215:
+#line 1387 "perly.y"
     { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
     break;
 
index e5e975a..837aa05 100644 (file)
--- a/perly.tab
+++ b/perly.tab
@@ -1,15 +1,15 @@
 #define YYFINAL  3
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2106
+#define YYLAST   2053
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  93
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  67
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  216
+#define YYNRULES  215
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  431
+#define YYNSTATES  430
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -81,8 +81,8 @@ static const yytype_uint16 yyprhs[] =
      626,   628,   632,   637,   641,   643,   646,   649,   651,   654,
      657,   659,   662,   664,   667,   669,   673,   675,   679,   684,
      689,   691,   693,   695,   697,   701,   704,   708,   711,   713,
-     715,   717,   718,   720,   721,   723,   726,   728,   731,   734,
-     737,   740,   743,   746,   748,   750,   752
+     715,   717,   718,   720,   721,   723,   725,   728,   731,   734,
+     737,   740,   743,   745,   747,   749
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -160,10 +160,10 @@ static const yytype_int16 yyrhs[] =
       -1,   139,    -1,    45,    -1,    24,    -1,    60,   149,   130,
       -1,    60,   149,    -1,    91,   137,    90,    -1,    91,    90,
       -1,   154,    -1,   156,    -1,   155,    -1,    -1,   138,    -1,
-      -1,   137,    -1,   137,    69,    -1,   154,    -1,    13,   159,
-      -1,     9,   159,    -1,    10,   159,    -1,    11,   159,    -1,
-      55,   159,    -1,    12,   159,    -1,    15,    -1,   154,    -1,
-      95,    -1,    20,    -1
+      -1,   137,    -1,   154,    -1,    13,   159,    -1,     9,   159,
+      -1,    10,   159,    -1,    11,   159,    -1,    55,   159,    -1,
+      12,   159,    -1,    15,    -1,   154,    -1,    95,    -1,    20,
+      -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -189,8 +189,8 @@ static const yytype_uint16 yyrline[] =
     1182,  1184,  1189,  1202,  1207,  1212,  1216,  1220,  1224,  1228,
     1232,  1236,  1240,  1242,  1245,  1249,  1255,  1258,  1267,  1273,
     1278,  1279,  1280,  1286,  1290,  1298,  1305,  1310,  1315,  1317,
-    1319,  1324,  1326,  1331,  1332,  1334,  1349,  1353,  1359,  1365,
-    1371,  1377,  1383,  1390,  1392,  1394,  1397
+    1319,  1324,  1326,  1331,  1332,  1338,  1342,  1348,  1354,  1360,
+    1366,  1372,  1379,  1381,  1383,  1386
 };
 #endif
 
@@ -266,8 +266,8 @@ static const yytype_uint8 yyr1[] =
      147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
      147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
      147,   147,   147,   147,   148,   148,   149,   149,   149,   149,
-     149,   150,   150,   151,   151,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   159,   159,   159
+     149,   150,   150,   151,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   159,   159,   159
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -293,8 +293,8 @@ static const yytype_uint8 yyr2[] =
        1,     3,     4,     3,     1,     2,     2,     1,     2,     2,
        1,     2,     1,     2,     1,     3,     1,     3,     4,     4,
        1,     1,     1,     1,     3,     2,     3,     2,     1,     1,
-       1,     0,     1,     0,     1,     2,     1,     2,     2,     2,
-       2,     2,     2,     1,     1,     1,     1
+       1,     0,     1,     0,     1,     1,     2,     2,     2,     2,
+       2,     2,     1,     1,     1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -313,10 +313,10 @@ static const yytype_uint8 yydefact[] =
       35,     0,    12,    15,    21,    89,   191,   166,   151,   152,
      153,   154,    92,   157,   170,   161,   164,   163,   165,   162,
       64,     0,    71,    72,     0,     0,    72,     9,   141,     0,
-     132,   133,   213,   216,   215,   214,   208,   209,   210,   212,
-     207,   201,     0,     0,   183,     0,    72,     4,     4,     4,
+     132,   133,   212,   215,   214,   213,   207,   208,   209,   211,
+     206,   201,     0,     0,   183,     0,    72,     4,     4,     4,
        4,     4,     4,     0,     4,     4,    34,   175,     0,     0,
-     203,   178,   179,   213,   202,    99,   214,     0,   211,   190,
+     203,   178,   179,   212,   202,    99,   213,     0,   210,   190,
      146,   145,   161,     0,     0,   201,   158,     0,   195,   198,
      200,   199,   181,   176,   134,   135,   156,   139,   138,   160,
        0,     0,    43,    17,     0,     0,     0,     0,     0,     0,
@@ -333,94 +333,92 @@ static const yytype_uint8 yydefact[] =
      122,   131,   119,     0,     0,   103,     0,    96,   104,   171,
        0,     0,     0,     0,     0,     0,    76,     0,    82,   201,
        0,     3,     0,   189,   201,     0,     0,    49,     0,     0,
-      51,    53,     0,     0,   206,    47,    52,     0,     0,    21,
-       0,     0,     0,   188,   205,   100,     0,   147,     0,   149,
-       0,   142,   196,    77,     0,     0,     0,   108,   114,     0,
-       0,     0,   112,     0,   203,   172,     0,   106,     0,   167,
-       0,    75,    80,    79,    67,     9,     0,    66,    98,   102,
-     144,    45,    45,     0,     0,     0,     0,    48,     0,     0,
-       0,    94,   148,   150,   117,     0,   111,   155,     0,   107,
-     113,     0,   109,   168,   105,    54,    85,     0,     0,     8,
-      28,    28,     0,    35,     0,     0,     0,    33,   116,   110,
-      95,    83,    35,    35,     9,     0,     0,    31,    32,     0,
-      41,    45,    35,    44,    37,    38,    54,    29,     0,    35,
-       0,    40,     7,     0,    39,     0,     0,     0,    28,    42,
-      30
+      51,    53,     0,     0,   205,    47,    52,     0,     0,    21,
+       0,     0,     0,   188,   100,     0,   147,     0,   149,     0,
+     142,   196,    77,     0,     0,     0,   108,   114,     0,     0,
+       0,   112,     0,   203,   172,     0,   106,     0,   167,     0,
+      75,    80,    79,    67,     9,     0,    66,    98,   102,   144,
+      45,    45,     0,     0,     0,     0,    48,     0,     0,     0,
+      94,   148,   150,   117,     0,   111,   155,     0,   107,   113,
+       0,   109,   168,   105,    54,    85,     0,     0,     8,    28,
+      28,     0,    35,     0,     0,     0,    33,   116,   110,    95,
+      83,    35,    35,     9,     0,     0,    31,    32,     0,    41,
+      45,    35,    44,    37,    38,    54,    29,     0,    35,     0,
+      40,     7,     0,    39,     0,     0,     0,    28,    42,    30
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,   114,   107,   321,     2,   390,   404,     4,    12,
-     315,   407,    82,    83,   172,    13,    14,   387,   316,   306,
+      -1,     1,   114,   107,   321,     2,   389,   403,     4,    12,
+     315,   406,    82,    83,   172,    13,    14,   386,   316,   306,
      254,   309,   318,   312,    15,    16,    17,    18,   101,    19,
-      20,    25,   125,    24,   103,   213,   297,   249,   354,    21,
-      22,   355,    23,   105,   310,    85,    86,   304,   287,    87,
+      20,    25,   125,    24,   103,   213,   297,   249,   353,    21,
+      22,   354,    23,   105,   310,    85,    86,   304,   287,    87,
       88,    89,    90,    91,    92,    93,   158,   145,   238,   313,
       94,    95,    96,    97,    98,    99,   116
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -383
+#define YYPACT_NINF -388
 static const yytype_int16 yypact[] =
 {
-    -383,    35,  -383,  -383,    51,  -383,  -383,  -383,    -8,  -383,
-    -383,  -383,  -383,  -383,  -383,   399,  -383,  -383,  -383,  -383,
-    -383,  -383,  -383,  -383,    40,    45,    69,  -383,    45,  -383,
-    -383,   978,  1844,  1844,   216,   216,   216,   216,   216,  -383,
-    -383,   216,   216,  -383,   -50,  -383,  1844,  -383,  -383,  -383,
-    -383,   -21,     9,    18,    22,     5,    25,    46,   145,  1844,
-    -383,    66,    67,    77,   745,   658,   216,   832,  1063,   173,
-    1844,    23,  1844,  1844,  1844,  1844,  1844,  1844,  1844,  1148,
-     140,   182,  -383,  -383,  1146,   133,  -383,     3,  -383,  -383,
-    -383,  -383,  1939,  -383,   112,   148,   176,  -383,  -383,   206,
-    -383,   145,  -383,   198,    26,   197,   198,  -383,  -383,    32,
-      60,    60,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,
-    -383,  1844,   130,  1844,   863,   145,   198,  -383,  -383,  -383,
-    -383,  -383,  -383,   131,  -383,  -383,  -383,  1939,   142,  1235,
-     658,  -383,   863,   304,   133,  -383,   892,  1844,  -383,   150,
-    -383,   863,    10,   229,    89,  1844,   863,  1322,   202,  -383,
-    -383,  -383,   863,   133,    60,    60,    60,     1,     1,   267,
-     250,   145,  -383,  -383,  1844,  1844,  1844,  1844,  1844,  1844,
-    1844,  1844,  1844,  1844,  1844,  1844,  1409,  1844,  1844,  1844,
-    1844,  1844,  1844,  1844,  1844,  1844,  1844,  1844,  1844,  1844,
-    1844,  1844,  -383,  -383,    47,  1496,  1844,  1844,  1844,  1844,
-    1844,  -383,  -383,   207,  -383,  -383,   270,   207,    91,  -383,
-    -383,  1844,   -51,  -383,   207,  1844,  1844,  1844,  1844,   277,
-     484,  -383,  -383,  1844,  -383,  -383,   360,   449,   203,  1844,
-     133,  1583,  1670,  -383,   283,  -383,  -383,   386,   276,  -383,
-    1844,   290,  -383,   -45,  -383,   -45,   -45,   -45,   -45,   -45,
-     221,   221,  -383,  1939,   194,    41,  -383,   445,  2017,  1010,
-     730,   265,   384,  1939,  1900,   472,   472,   556,   644,   963,
-     246,    60,    60,  1844,  1844,  -383,  1757,   215,  -383,  -383,
-     455,   294,    74,   297,   208,   319,   284,    55,  -383,  1844,
-      55,  -383,   222,  -383,  1844,   145,   223,   -45,   224,   231,
-     -45,  -383,   237,   228,  -383,  -383,  -383,   244,   291,   257,
-    1844,  1844,   251,  -383,  -383,  -383,   530,  -383,   619,  -383,
-     645,  -383,  -383,  -383,   211,  1844,   322,  -383,  -383,  1844,
-     332,   214,  -383,   706,  1844,  -383,   338,  -383,   349,  -383,
-     361,  -383,  -383,  -383,  -383,  -383,   352,  -383,  -383,  -383,
-    -383,  -383,  -383,   365,   365,  1844,   365,  1844,   282,   301,
-     365,  -383,  -383,  -383,  -383,   217,  -383,  1978,   383,  -383,
-    -383,   306,  -383,  -383,  -383,   146,  -383,   365,   365,  -383,
-      38,    38,   311,   140,   389,   365,   365,  -383,  -383,  -383,
-    -383,  -383,   140,   140,  -383,   365,   328,  -383,  -383,   365,
-    -383,  -383,   140,  -383,  -383,  -383,   236,  -383,  1844,   140,
-     569,  -383,  -383,   339,  -383,   340,   365,   365,    38,  -383,
-    -383
+    -388,    25,  -388,  -388,     6,  -388,  -388,  -388,    -7,  -388,
+    -388,  -388,  -388,  -388,  -388,   366,  -388,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,    -2,    24,    36,  -388,    24,  -388,
+    -388,   858,  1724,  1724,   424,   424,   424,   424,   424,  -388,
+    -388,   424,   424,  -388,   -32,  -388,  1724,  -388,  -388,  -388,
+    -388,   -25,   -14,     0,     3,     5,    10,    47,   138,  1724,
+    -388,    64,    98,   110,   625,   267,   424,   712,   943,    80,
+    1724,    13,  1724,  1724,  1724,  1724,  1724,  1724,  1724,  1028,
+     111,   169,  -388,  -388,   534,   136,  -388,    15,  -388,  -388,
+    -388,  -388,  1886,  -388,   126,   211,   229,  -388,  -388,   215,
+    -388,   138,  -388,   204,    27,   210,   204,  -388,  -388,    42,
+     213,   213,  -388,  -388,  -388,  -388,  -388,  -388,  -388,  -388,
+    -388,  1724,   140,  1724,   743,   138,   204,  -388,  -388,  -388,
+    -388,  -388,  -388,   149,  -388,  -388,  -388,  1886,   175,  1115,
+     267,  -388,   743,  1784,   136,  -388,   772,  1724,  -388,   182,
+    -388,   743,    49,   277,   -10,  1724,   743,  1202,   237,  -388,
+    -388,  -388,   743,   136,   213,   213,   213,    33,    33,   306,
+     365,   138,  -388,  -388,  1724,  1724,  1724,  1724,  1724,  1724,
+    1724,  1724,  1724,  1724,  1724,  1724,  1289,  1724,  1724,  1724,
+    1724,  1724,  1724,  1724,  1724,  1724,  1724,  1724,  1724,  1724,
+    1724,  1724,  -388,  -388,    12,  1376,  1724,  1724,  1724,  1724,
+    1724,  -388,  -388,   258,  -388,  -388,   317,   258,    86,  -388,
+    -388,  1724,   -43,  -388,   258,  1724,  1724,  1724,  1724,   324,
+     451,  -388,  -388,  1724,  -388,  -388,   412,   121,   244,  1724,
+     136,  1463,  1550,  -388,   335,  -388,  -388,   497,   322,  -388,
+    1724,   337,  -388,   121,  -388,   121,   121,   121,   121,   121,
+     283,   283,  -388,  1886,   137,    70,  -388,   541,  1964,   252,
+     890,   356,   144,  1886,  1847,   613,   613,   845,   929,   975,
+     439,   213,   213,  1724,  1724,  -388,  1637,   261,  -388,  -388,
+     596,   154,    79,   228,    87,   278,   338,    58,  -388,  1724,
+      58,  -388,   263,  -388,  1724,   138,   272,   121,   274,   275,
+     121,  -388,   276,   266,  -388,  -388,  -388,   280,   354,   450,
+    1724,  1724,   282,  -388,  -388,   673,  -388,   683,  -388,   686,
+    -388,  -388,  -388,    91,  1724,   382,  -388,  -388,  1724,   294,
+     115,  -388,   699,  1724,  -388,   388,  -388,   389,  -388,   392,
+    -388,  -388,  -388,  -388,  -388,   383,  -388,  -388,  -388,  -388,
+    -388,  -388,   399,   399,  1724,   399,  1724,   313,   327,   399,
+    -388,  -388,  -388,  -388,   133,  -388,  1925,   414,  -388,  -388,
+     347,  -388,  -388,  -388,   146,  -388,   399,   399,  -388,   172,
+     172,   348,   111,   429,   399,   399,  -388,  -388,  -388,  -388,
+    -388,   111,   111,  -388,   399,   358,  -388,  -388,   399,  -388,
+    -388,   111,  -388,  -388,  -388,   584,  -388,  1724,   111,   536,
+    -388,  -388,   360,  -388,   361,   399,   399,   172,  -388,  -388
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -383,  -383,     4,  -104,  -383,  -383,  1541,  -383,   -97,  -383,
-     420,  -382,  -383,  -383,  -336,  -383,  -383,  -357,  -383,    76,
-     -44,  -229,    16,  -383,  -383,  -383,  -383,  -383,  -383,  -383,
-    -383,   177,   410,  -383,   434,   -89,  -113,  -383,   164,  -383,
-    -383,  -383,  -383,  -383,   -15,   -62,  -383,  -383,  -383,  -383,
-    -383,  -383,  -383,  -383,    56,  -383,  -383,  -119,  -209,  -383,
-    -383,   163,   394,   395,  -383,  -383,     7
+    -388,  -388,     4,   132,  -388,  -388,  1502,  -388,   -96,  -388,
+     456,  -387,  -388,  -388,    18,  -388,  -388,  -332,  -388,   120,
+      92,  -221,    57,  -388,  -388,  -388,  -388,  -388,  -388,  -388,
+    -388,    60,   431,  -388,   459,   -99,  -186,  -388,   188,  -388,
+    -388,  -388,  -388,  -388,   -15,   -63,  -388,  -388,  -388,  -388,
+    -388,  -388,  -388,  -388,    56,  -388,  -388,  -120,  -216,  -388,
+    -388,     8,   419,   432,  -388,  -388,    45
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -430,97 +428,85 @@ static const yytype_int16 yypgoto[] =
 #define YYTABLE_NINF -191
 static const yytype_int16 yytable[] =
 {
-      84,   317,   220,   144,   322,   388,   184,    26,   185,   408,
-     218,   163,   302,   206,    34,   207,   109,   217,   183,    80,
-     180,   181,   182,   225,   226,   227,   228,   229,   230,   214,
-     232,   233,    34,    35,    36,     3,   245,   224,   219,   303,
-     215,   123,   117,   118,   119,   120,   430,   337,   121,   122,
-     283,    -2,   284,   154,   420,   100,    34,   410,    30,   144,
-     102,   222,   136,   285,   170,   131,   414,   415,   141,   352,
-     127,   150,   147,   148,   405,   406,   421,     5,     6,     7,
-     347,     8,     9,   424,   104,   240,  -191,  -191,   110,   111,
-     204,   368,   369,   144,   186,   301,   132,   180,   181,   182,
-     128,   242,   124,   244,   300,   211,   180,   181,   182,   129,
-     298,   305,    10,   130,   157,   137,   134,     5,     6,     7,
-     142,     8,     9,   151,   236,   237,   156,   320,   162,   223,
-     164,   165,   166,   167,   168,   381,   392,   135,   286,   180,
-     181,   182,   247,    11,   201,   202,   203,   239,    30,   204,
-     401,   206,    10,   207,   180,   181,   182,   138,   139,   253,
-     255,   256,   257,   258,   259,   260,   261,   262,   140,   264,
-     265,   267,     5,     6,     7,   252,     8,     9,   171,   208,
-     356,   209,   308,    11,   311,   359,    27,    28,   155,   423,
-     290,   291,   292,   293,   294,   295,   173,   115,   115,   115,
-     115,   115,   183,   205,   115,   115,   237,    10,   336,   210,
-     307,   255,   216,   255,   349,   319,   212,   374,   133,    30,
-     379,   221,   231,   398,   326,    34,   328,   330,   146,   115,
-     152,   112,   234,   243,   159,   334,   113,   144,    11,   263,
-     422,   241,   144,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   385,   180,
-     181,   182,     5,     6,     7,   248,     8,     9,   340,   341,
-     296,   343,   250,   180,   181,   182,   180,   181,   182,   180,
-     181,   182,   180,   181,   182,   299,    34,   331,   182,   174,
-     175,   176,   177,   325,   333,   335,   178,    10,   179,   190,
-     191,   353,   351,   146,   353,   367,   344,   416,   346,   360,
-    -190,   348,   358,   361,   362,   180,   181,   182,  -190,   365,
-     375,   363,   180,   181,   182,   200,   376,   364,    11,   237,
-     201,   202,   203,   350,   366,   204,  -190,  -190,  -190,  -190,
-     251,   370,   382,  -190,   200,  -190,   378,   -51,  -190,   201,
-     202,   203,   307,   383,   204,  -190,  -190,  -190,  -190,   180,
-     181,   182,   180,   181,   182,   384,   386,   288,   389,  -190,
-    -190,  -190,   395,  -190,  -190,  -190,  -190,  -190,  -190,  -190,
-    -190,  -190,  -190,  -190,   180,   181,   182,   399,  -190,  -190,
-    -190,   396,   314,  -190,  -190,   377,   400,   180,   181,   182,
-      29,   409,    30,   411,    31,    84,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,   418,
-      45,    46,    47,    48,    49,   180,   181,   182,    50,   426,
-     427,    51,    52,    53,    54,    81,   425,   190,    55,    56,
-      57,    58,    59,   394,    60,    61,    62,    63,    64,    65,
-     323,   180,   181,   182,    66,    67,    68,    69,    70,    71,
-     126,    72,   106,   200,   357,   160,   161,    73,   201,   202,
-     203,     0,     0,   204,     0,     0,   332,     0,     0,    74,
-      75,    76,     0,     0,     0,    29,    77,    78,     0,    31,
-      79,    32,    33,    34,    35,    36,    37,    38,   -46,    40,
-      41,    42,    43,    44,     0,    45,    46,    47,    48,     0,
-     180,   181,   182,    50,   180,   181,   182,     0,   324,     0,
-     180,   181,   182,   188,   189,   190,   191,    59,     0,    60,
-      61,    62,    63,    64,    65,   338,     0,     0,     0,    66,
-      67,    68,    69,    70,    71,   345,    72,   196,   197,   198,
-     199,   200,    73,     0,     0,     0,   201,   202,   203,     0,
-       0,   204,     0,     0,    74,    75,    76,     0,     0,     0,
-      29,    77,    78,     0,    31,    79,    32,    33,    34,    35,
-      36,    37,    38,     0,    40,    41,    42,    43,    44,     0,
-      45,    46,    47,    48,     0,   180,   181,   182,    50,     0,
-       0,     0,     0,     0,     0,     0,     0,   188,   189,   190,
-     191,     0,    59,     0,    60,    61,    62,    63,    64,    65,
-     371,     0,     0,     0,    66,    67,    68,    69,    70,    71,
-       0,    72,   197,   198,   199,   200,     0,    73,     0,     0,
-     201,   202,   203,     0,     0,   204,     0,     0,     0,    74,
-      75,    76,     0,     0,     0,     0,    77,    78,     0,   -46,
-      79,    30,     0,    31,     0,    32,    33,    34,    35,    36,
-      37,    38,     0,   143,    41,    42,    43,    44,   113,    45,
-      46,    47,    48,     0,   180,   181,   182,    50,     0,     0,
-       0,     0,     0,     0,     0,   188,   189,   190,   191,     0,
-       0,    59,     0,    60,    61,    62,    63,    64,    65,   372,
-     180,   181,   182,    66,    67,    68,    69,    70,    71,     0,
-      72,   198,   199,   200,     0,     0,    73,     0,   201,   202,
-     203,     0,     0,   204,     0,   373,     0,     0,    74,    75,
-      76,     0,     0,     0,     0,    77,    78,     0,    30,    79,
-      31,     0,    32,    33,    34,    35,    36,    37,    38,     0,
-      40,    41,    42,    43,    44,     0,    45,    46,    47,    48,
-       0,   180,   181,   182,    50,     0,     0,     0,     0,     0,
-       0,   188,  -191,   190,   191,     0,     0,     0,    59,     0,
-      60,    61,    62,    63,    64,    65,   380,     0,     0,     0,
-      66,    67,    68,    69,    70,    71,     0,    72,   199,   200,
-       0,     0,     0,    73,   201,   202,   203,     0,     0,   204,
-       0,     0,     0,     0,     0,    74,    75,    76,     0,     0,
+      84,   220,   144,   407,   244,   302,    -2,   217,    26,   317,
+     163,   218,   322,   100,    34,   283,   109,   284,   184,    80,
+     185,    34,    34,    35,    36,     3,   183,   224,   285,   387,
+     214,   300,     5,     6,     7,   245,     8,     9,   305,   102,
+     429,   215,   115,   115,   115,   115,   115,   303,   219,   115,
+     115,   104,   206,   154,   207,   180,   181,   182,   144,   123,
+     222,    30,   136,   133,   170,   131,   127,    10,   141,    27,
+      28,   150,   351,   146,   115,   152,   336,   128,   419,   159,
+     117,   118,   119,   120,   240,   346,   121,   122,   110,   111,
+     301,   129,   144,   348,   130,   155,   132,   373,    11,   367,
+     368,   134,   124,   286,   157,   211,   186,   180,   181,   182,
+     147,   148,     5,     6,     7,   137,     8,     9,  -191,  -191,
+     142,   378,   204,   151,   236,   237,   156,   380,   162,   223,
+     164,   165,   166,   167,   168,   180,   181,   182,   135,   397,
+     242,    30,   247,   391,   180,   181,   182,    10,   146,   171,
+     400,   335,   180,   181,   182,   138,   180,   181,   182,   253,
+     255,   256,   257,   258,   259,   260,   261,   262,   345,   264,
+     265,   267,     5,     6,     7,   252,     8,     9,    11,   355,
+     180,   181,   182,   173,   358,   239,   180,   181,   182,   139,
+     290,   291,   292,   293,   294,   295,   422,   190,   180,   181,
+     182,   140,   180,   181,   182,   183,   237,    10,   404,   405,
+     307,   255,   288,   255,   206,   319,   207,   205,   210,   180,
+     181,   182,   212,   200,   325,   216,   327,   329,   201,   202,
+     203,   221,   208,   204,   209,   333,   144,   314,    11,   263,
+     231,   144,   347,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   384,   225,
+     226,   227,   228,   229,   230,   234,   232,   233,   339,   340,
+      30,   342,    31,   241,    32,    33,    34,    35,    36,    37,
+      38,   243,   143,    41,    42,    43,    44,   113,    45,    46,
+      47,    48,   349,   180,   181,   182,    50,   201,   202,   203,
+     248,   352,   204,  -191,   352,   190,   191,   415,   377,   359,
+      59,   250,    60,    61,    62,    63,    64,    65,   308,   374,
+     311,   296,    66,    67,    68,    69,    70,    71,   237,    72,
+     199,   200,   299,    34,   324,    73,   201,   202,   203,   330,
+     332,   204,   334,   180,   181,   182,   298,    74,    75,    76,
+     182,   307,   343,   357,    77,    78,   350,   364,    79,   180,
+     181,   182,   360,   320,   361,   362,   363,    29,   366,    30,
+     365,    31,   369,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,   375,    45,    46,    47,
+      48,    49,   381,   382,   376,    50,   383,   385,    51,    52,
+      53,    54,   388,   394,    84,    55,    56,    57,    58,    59,
+     409,    60,    61,    62,    63,    64,    65,   395,   398,   413,
+     414,    66,    67,    68,    69,    70,    71,    30,    72,   420,
+     180,   181,   182,    34,    73,   200,   423,   399,   408,   112,
+     201,   202,   203,   410,   113,   204,    74,    75,    76,   417,
+     425,   426,    29,    77,    78,   251,    31,    79,    32,    33,
+      34,    35,    36,    37,    38,   -46,    40,    41,    42,    43,
+      44,    81,    45,    46,    47,    48,   424,   180,   181,   182,
+      50,   126,   174,   175,   176,   177,   393,   106,   356,   178,
+     160,   179,   190,   191,    59,     0,    60,    61,    62,    63,
+      64,    65,   323,   161,     0,     0,    66,    67,    68,    69,
+      70,    71,     0,    72,     0,   180,   181,   182,   200,    73,
+       0,     0,     0,   201,   202,   203,     0,     0,   204,     0,
+       0,    74,    75,    76,     0,     0,     0,    29,    77,    78,
+     -51,    31,    79,    32,    33,    34,    35,    36,    37,    38,
+       0,    40,    41,    42,    43,    44,     0,    45,    46,    47,
+      48,     0,   180,   181,   182,    50,   174,   175,   176,   177,
+       0,     0,     0,   178,     0,   179,     0,     0,     0,    59,
+       0,    60,    61,    62,    63,    64,    65,   331,   421,     0,
+       0,    66,    67,    68,    69,    70,    71,     0,    72,   180,
+     181,   182,     0,     0,    73,     0,   180,   181,   182,     0,
+       5,     6,     7,     0,     8,     9,    74,    75,    76,     0,
+       0,     0,     0,    77,    78,     0,   -46,    79,    30,     0,
+      31,   337,    32,    33,    34,    35,    36,    37,    38,     0,
+      40,    41,    42,    43,    44,    10,    45,    46,    47,    48,
+       0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
+       0,   180,   181,   182,   188,   189,   190,   191,    59,     0,
+      60,    61,    62,    63,    64,    65,    11,     0,     0,     0,
+      66,    67,    68,    69,    70,    71,   344,    72,   196,   197,
+     198,   199,   200,    73,     0,     0,     0,   201,   202,   203,
+       0,     0,   204,     0,     0,    74,    75,    76,     0,     0,
        0,     0,    77,    78,     0,    30,    79,    31,     0,    32,
       33,    34,    35,    36,    37,    38,     0,   149,    41,    42,
-      43,    44,     0,    45,    46,    47,    48,     0,     0,     0,
-       0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    59,     0,    60,    61,    62,
-      63,    64,    65,     0,     0,     0,     0,    66,    67,    68,
-      69,    70,    71,     0,    72,   206,     0,   207,  -161,     0,
-      73,     0,     0,     0,     0,     0,  -161,     0,     0,     0,
+      43,    44,     0,    45,    46,    47,    48,     0,   180,   181,
+     182,    50,     0,     0,     0,     0,     0,     0,   180,   181,
+     182,   180,   181,   182,     0,    59,     0,    60,    61,    62,
+      63,    64,    65,   370,   180,   181,   182,    66,    67,    68,
+      69,    70,    71,   371,    72,   206,   372,   207,  -161,     0,
+      73,     0,     0,     0,     0,     0,  -161,     0,     0,   379,
        0,     0,    74,    75,    76,     0,   190,   191,     0,    77,
       78,     0,     0,    79,  -161,  -161,  -161,  -161,     0,     0,
        0,  -161,     0,  -161,     0,     0,  -161,     0,     0,     0,
@@ -531,27 +517,27 @@ static const yytype_int16 yytable[] =
        0,  -161,  -161,    31,   108,    32,    33,    34,    35,    36,
       37,    38,     0,    40,    41,    42,    43,    44,     0,    45,
       46,    47,    48,     0,     0,     0,     0,    50,     0,     0,
-       0,     0,     0,     0,   188,   189,   190,   191,     0,     0,
+       0,     0,     0,     0,     0,     0,   188,   189,   190,   191,
        0,    59,     0,    60,    61,    62,    63,    64,    65,     0,
        0,     0,     0,    66,    67,    68,    69,    70,    71,     0,
-      72,   199,   200,     0,     0,     0,    73,   201,   202,   203,
-       0,     0,   204,     0,     0,     0,     0,     0,    74,    75,
-      76,  -191,     0,   190,   191,    77,    78,     0,    31,    79,
+      72,   197,   198,   199,   200,     0,    73,     0,     0,   201,
+     202,   203,     0,     0,   204,     0,     0,     0,    74,    75,
+      76,   188,  -191,   190,   191,    77,    78,     0,    31,    79,
       32,    33,    34,    35,    36,    37,    38,   153,    40,    41,
       42,    43,    44,     0,    45,    46,    47,    48,   199,   200,
        0,     0,    50,     0,   201,   202,   203,     0,     0,   204,
-       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
+     188,   189,   190,   191,     0,     0,    59,     0,    60,    61,
       62,    63,    64,    65,     0,     0,     0,     0,    66,    67,
-      68,    69,    70,    71,     0,    72,     0,     0,     0,     0,
-       0,    73,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    74,    75,    76,     0,     0,     0,     0,
+      68,    69,    70,    71,     0,    72,   198,   199,   200,     0,
+       0,    73,     0,   201,   202,   203,     0,     0,   204,     0,
+       0,     0,     0,    74,    75,    76,   188,   189,   190,   191,
       77,    78,     0,    31,    79,    32,    33,    34,    35,    36,
       37,    38,     0,    40,    41,    42,    43,    44,     0,    45,
-      46,    47,    48,     0,     0,     0,     0,    50,   174,   175,
-     176,   177,     0,     0,     0,   178,     0,   179,     0,     0,
+      46,    47,    48,   199,   200,     0,     0,    50,     0,   201,
+     202,   203,     0,     0,   204,     0,     0,     0,     0,     0,
        0,    59,     0,    60,    61,    62,    63,    64,    65,     0,
        0,     0,     0,    66,    67,    68,    69,    70,    71,     0,
-      72,   180,   181,   182,     0,     0,    73,     0,     0,     0,
+      72,     0,     0,     0,     0,     0,    73,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,    74,    75,
       76,     0,     0,     0,     0,    77,    78,     0,   169,    79,
       31,     0,    32,    33,    34,    35,    36,    37,    38,     0,
@@ -597,7 +583,7 @@ static const yytype_int16 yytable[] =
       68,    69,    70,    71,     0,    72,     0,     0,     0,     0,
        0,    73,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    74,    75,    76,     0,     0,     0,     0,
-      77,    78,     0,   327,    79,    31,     0,    32,    33,    34,
+      77,    78,     0,   326,    79,    31,     0,    32,    33,    34,
       35,    36,    37,    38,     0,    40,    41,    42,    43,    44,
        0,    45,    46,    47,    48,     0,     0,     0,     0,    50,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -606,7 +592,7 @@ static const yytype_int16 yytable[] =
       71,     0,    72,     0,     0,     0,     0,     0,    73,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       74,    75,    76,     0,     0,     0,     0,    77,    78,     0,
-     329,    79,    31,     0,    32,    33,    34,    35,    36,    37,
+     328,    79,    31,     0,    32,    33,    34,    35,    36,    37,
       38,     0,    40,    41,    42,    43,    44,     0,    45,    46,
       47,    48,     0,     0,     0,     0,    50,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -614,128 +600,123 @@ static const yytype_int16 yytable[] =
        0,     0,    66,    67,    68,    69,    70,    71,     0,    72,
        0,     0,     0,     0,     0,    73,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    74,    75,    76,
-       0,     0,     0,     0,    77,    78,     0,   342,    79,    31,
+       0,     0,     0,     0,    77,    78,     0,   341,    79,    31,
        0,    32,    33,    34,    35,    36,    37,    38,     0,    40,
       41,    42,    43,    44,     0,    45,    46,    47,    48,     0,
        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    59,     0,    60,
       61,    62,    63,    64,    65,     0,     0,     0,     0,    66,
-      67,    68,    69,    70,    71,   391,    72,   393,     0,     0,
-       0,   397,    73,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    74,    75,    76,     0,   402,   403,
-       0,    77,    78,     0,     0,    79,   412,   413,     0,     0,
-       0,     0,     0,     0,   187,     0,   417,     0,     0,     0,
-     419,   188,   189,   190,   191,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   428,   429,     0,
-     192,   193,   339,   194,   195,   196,   197,   198,   199,   200,
-       0,     0,     0,   187,   201,   202,   203,     0,     0,   204,
-     188,   189,   190,   191,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   192,
-     193,     0,   194,   195,   196,   197,   198,   199,   200,     0,
-       0,     0,   187,   201,   202,   203,     0,     0,   204,   188,
-     189,   190,   191,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   193,
-       0,   194,   195,   196,   197,   198,   199,   200,     0,     0,
-       0,  -191,   201,   202,   203,     0,     0,   204,   188,   189,
-     190,   191,     0,     0,     0,     0,     0,     0,     0,     0,
+      67,    68,    69,    70,    71,     0,    72,     0,     0,     0,
+    -190,     0,    73,     0,     0,     0,     0,     0,  -190,     0,
+       0,     0,     0,     0,    74,    75,    76,     0,     0,     0,
+       0,    77,    78,     0,     0,    79,  -190,  -190,  -190,  -190,
+       0,     0,     0,  -190,     0,  -190,     0,     0,  -190,     0,
+       0,     0,     0,     0,     0,  -190,  -190,  -190,  -190,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,  -190,
+    -190,  -190,     0,  -190,  -190,  -190,  -190,  -190,  -190,  -190,
+    -190,  -190,  -190,  -190,     0,   390,     0,   392,  -190,  -190,
+    -190,   396,     0,  -190,  -190,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   401,   402,
+       0,   187,     0,     0,     0,     0,   411,   412,   188,   189,
+     190,   191,     0,     0,     0,     0,   416,     0,     0,     0,
+     418,     0,     0,     0,     0,     0,     0,   192,   193,   338,
+     194,   195,   196,   197,   198,   199,   200,   427,   428,     0,
+     187,   201,   202,   203,     0,     0,   204,   188,   189,   190,
+     191,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   192,   193,     0,   194,
+     195,   196,   197,   198,   199,   200,     0,     0,     0,   187,
+     201,   202,   203,     0,     0,   204,   188,   189,   190,   191,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   193,     0,   194,   195,
+     196,   197,   198,   199,   200,     0,     0,     0,  -191,   201,
+     202,   203,     0,     0,   204,   188,   189,   190,   191,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     194,   195,   196,   197,   198,   199,   200,     0,     0,     0,
-       0,   201,   202,   203,     0,     0,   204
+       0,     0,     0,     0,     0,     0,     0,   194,   195,   196,
+     197,   198,   199,   200,     0,     0,     0,     0,   201,   202,
+     203,     0,     0,   204
 };
 
 static const yytype_int16 yycheck[] =
 {
-      15,   230,   121,    65,   233,   362,     3,    15,     5,   391,
-     107,    73,   221,     3,     9,     5,    31,   106,    69,    15,
-      65,    66,    67,   127,   128,   129,   130,   131,   132,     3,
-     134,   135,     9,    10,    11,     0,   155,   126,     6,    90,
-      14,    91,    35,    36,    37,    38,   428,     6,    41,    42,
-       3,     0,     5,    68,   411,    15,     9,   393,     3,   121,
-      15,   123,    58,    16,    79,    60,   402,   403,    64,    14,
-      91,    67,    65,    66,    36,    37,   412,    26,    27,    28,
-       6,    30,    31,   419,    15,   147,    85,    86,    32,    33,
-      89,   320,   321,   155,    91,     4,    91,    65,    66,    67,
-      91,    91,    46,    14,   217,   101,    65,    66,    67,    91,
-     214,   224,    61,    91,    91,    59,    91,    26,    27,    28,
-      64,    30,    31,    67,   139,   140,    70,   231,    72,   125,
-      74,    75,    76,    77,    78,   344,   365,    91,    91,    65,
-      66,    67,   157,    92,    84,    85,    86,   140,     3,    89,
-       4,     3,    61,     5,    65,    66,    67,    91,    91,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,    91,   184,
-     185,   186,    26,    27,    28,   171,    30,    31,    38,     3,
-     299,     5,   226,    92,   228,   304,     9,    10,    15,   418,
-     205,   206,   207,   208,   209,   210,    14,    34,    35,    36,
-      37,    38,    69,    91,    41,    42,   221,    61,    14,     3,
-     225,   226,    15,   228,     6,   230,    18,     6,    55,     3,
-       6,    91,    91,     6,   239,     9,   241,   242,    65,    66,
-      67,    15,    90,     4,    71,   250,    20,   299,    92,   183,
-       4,    91,   304,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   355,    65,
-      66,    67,    26,    27,    28,    63,    30,    31,   283,   284,
-      63,   286,     5,    65,    66,    67,    65,    66,    67,    65,
-      66,    67,    65,    66,    67,    15,     9,     4,    67,    32,
-      33,    34,    35,    90,    18,     5,    39,    61,    41,    53,
-      54,   297,    18,   140,   300,    14,    91,   404,    14,   305,
-       6,    14,    90,    90,    90,    65,    66,    67,    14,    91,
-     335,    90,    65,    66,    67,    79,     4,    90,    92,   344,
-      84,    85,    86,    14,    90,    89,    32,    33,    34,    35,
-      90,    90,     4,    39,    79,    41,    14,    90,    44,    84,
-      85,    86,   367,     4,    89,    51,    52,    53,    54,    65,
-      66,    67,    65,    66,    67,     4,    14,   204,     3,    65,
-      66,    67,    90,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    65,    66,    67,     4,    84,    85,
-      86,    90,   229,    89,    90,   339,    90,    65,    66,    67,
-       1,    90,     3,    14,     5,   420,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    91,
-      21,    22,    23,    24,    25,    65,    66,    67,    29,    90,
-      90,    32,    33,    34,    35,    15,   420,    53,    39,    40,
-      41,    42,    43,   367,    45,    46,    47,    48,    49,    50,
-      90,    65,    66,    67,    55,    56,    57,    58,    59,    60,
-      50,    62,    28,    79,   300,    71,    71,    68,    84,    85,
-      86,    -1,    -1,    89,    -1,    -1,    90,    -1,    -1,    80,
-      81,    82,    -1,    -1,    -1,     1,    87,    88,    -1,     5,
-      91,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    -1,    21,    22,    23,    24,    -1,
-      65,    66,    67,    29,    65,    66,    67,    -1,    69,    -1,
-      65,    66,    67,    51,    52,    53,    54,    43,    -1,    45,
-      46,    47,    48,    49,    50,    90,    -1,    -1,    -1,    55,
-      56,    57,    58,    59,    60,    90,    62,    75,    76,    77,
-      78,    79,    68,    -1,    -1,    -1,    84,    85,    86,    -1,
-      -1,    89,    -1,    -1,    80,    81,    82,    -1,    -1,    -1,
-       1,    87,    88,    -1,     5,    91,     7,     8,     9,    10,
-      11,    12,    13,    -1,    15,    16,    17,    18,    19,    -1,
-      21,    22,    23,    24,    -1,    65,    66,    67,    29,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    53,
-      54,    -1,    43,    -1,    45,    46,    47,    48,    49,    50,
-      90,    -1,    -1,    -1,    55,    56,    57,    58,    59,    60,
-      -1,    62,    76,    77,    78,    79,    -1,    68,    -1,    -1,
-      84,    85,    86,    -1,    -1,    89,    -1,    -1,    -1,    80,
-      81,    82,    -1,    -1,    -1,    -1,    87,    88,    -1,    90,
-      91,     3,    -1,     5,    -1,     7,     8,     9,    10,    11,
-      12,    13,    -1,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    -1,    65,    66,    67,    29,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    51,    52,    53,    54,    -1,
-      -1,    43,    -1,    45,    46,    47,    48,    49,    50,    90,
-      65,    66,    67,    55,    56,    57,    58,    59,    60,    -1,
-      62,    77,    78,    79,    -1,    -1,    68,    -1,    84,    85,
-      86,    -1,    -1,    89,    -1,    90,    -1,    -1,    80,    81,
-      82,    -1,    -1,    -1,    -1,    87,    88,    -1,     3,    91,
-       5,    -1,     7,     8,     9,    10,    11,    12,    13,    -1,
-      15,    16,    17,    18,    19,    -1,    21,    22,    23,    24,
-      -1,    65,    66,    67,    29,    -1,    -1,    -1,    -1,    -1,
-      -1,    51,    52,    53,    54,    -1,    -1,    -1,    43,    -1,
-      45,    46,    47,    48,    49,    50,    90,    -1,    -1,    -1,
-      55,    56,    57,    58,    59,    60,    -1,    62,    78,    79,
-      -1,    -1,    -1,    68,    84,    85,    86,    -1,    -1,    89,
-      -1,    -1,    -1,    -1,    -1,    80,    81,    82,    -1,    -1,
+      15,   121,    65,   390,    14,   221,     0,   106,    15,   230,
+      73,   107,   233,    15,     9,     3,    31,     5,     3,    15,
+       5,     9,     9,    10,    11,     0,    69,   126,    16,   361,
+       3,   217,    26,    27,    28,   155,    30,    31,   224,    15,
+     427,    14,    34,    35,    36,    37,    38,    90,     6,    41,
+      42,    15,     3,    68,     5,    65,    66,    67,   121,    91,
+     123,     3,    58,    55,    79,    60,    91,    61,    64,     9,
+      10,    67,    14,    65,    66,    67,     6,    91,   410,    71,
+      35,    36,    37,    38,   147,     6,    41,    42,    32,    33,
+       4,    91,   155,     6,    91,    15,    91,     6,    92,   320,
+     321,    91,    46,    91,    91,   101,    91,    65,    66,    67,
+      65,    66,    26,    27,    28,    59,    30,    31,    85,    86,
+      64,     6,    89,    67,   139,   140,    70,   343,    72,   125,
+      74,    75,    76,    77,    78,    65,    66,    67,    91,     6,
+      91,     3,   157,   364,    65,    66,    67,    61,   140,    38,
+       4,    14,    65,    66,    67,    91,    65,    66,    67,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,    14,   184,
+     185,   186,    26,    27,    28,   171,    30,    31,    92,   299,
+      65,    66,    67,    14,   304,   140,    65,    66,    67,    91,
+     205,   206,   207,   208,   209,   210,   417,    53,    65,    66,
+      67,    91,    65,    66,    67,    69,   221,    61,    36,    37,
+     225,   226,   204,   228,     3,   230,     5,    91,     3,    65,
+      66,    67,    18,    79,   239,    15,   241,   242,    84,    85,
+      86,    91,     3,    89,     5,   250,   299,   229,    92,   183,
+      91,   304,    14,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   354,   127,
+     128,   129,   130,   131,   132,    90,   134,   135,   283,   284,
+       3,   286,     5,    91,     7,     8,     9,    10,    11,    12,
+      13,     4,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    14,    65,    66,    67,    29,    84,    85,    86,
+      63,   297,    89,    51,   300,    53,    54,   403,    14,   305,
+      43,     5,    45,    46,    47,    48,    49,    50,   226,   334,
+     228,    63,    55,    56,    57,    58,    59,    60,   343,    62,
+      78,    79,    15,     9,    90,    68,    84,    85,    86,     4,
+      18,    89,     5,    65,    66,    67,   214,    80,    81,    82,
+      67,   366,    91,    90,    87,    88,    18,    91,    91,    65,
+      66,    67,    90,   231,    90,    90,    90,     1,    14,     3,
+      90,     5,    90,     7,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     4,    21,    22,    23,
+      24,    25,     4,     4,   338,    29,     4,    14,    32,    33,
+      34,    35,     3,    90,   419,    39,    40,    41,    42,    43,
+     392,    45,    46,    47,    48,    49,    50,    90,     4,   401,
+     402,    55,    56,    57,    58,    59,    60,     3,    62,   411,
+      65,    66,    67,     9,    68,    79,   418,    90,    90,    15,
+      84,    85,    86,    14,    20,    89,    80,    81,    82,    91,
+      90,    90,     1,    87,    88,    90,     5,    91,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    15,    21,    22,    23,    24,   419,    65,    66,    67,
+      29,    50,    32,    33,    34,    35,   366,    28,   300,    39,
+      71,    41,    53,    54,    43,    -1,    45,    46,    47,    48,
+      49,    50,    90,    71,    -1,    -1,    55,    56,    57,    58,
+      59,    60,    -1,    62,    -1,    65,    66,    67,    79,    68,
+      -1,    -1,    -1,    84,    85,    86,    -1,    -1,    89,    -1,
+      -1,    80,    81,    82,    -1,    -1,    -1,     1,    87,    88,
+      90,     5,    91,     7,     8,     9,    10,    11,    12,    13,
+      -1,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
+      24,    -1,    65,    66,    67,    29,    32,    33,    34,    35,
+      -1,    -1,    -1,    39,    -1,    41,    -1,    -1,    -1,    43,
+      -1,    45,    46,    47,    48,    49,    50,    90,     4,    -1,
+      -1,    55,    56,    57,    58,    59,    60,    -1,    62,    65,
+      66,    67,    -1,    -1,    68,    -1,    65,    66,    67,    -1,
+      26,    27,    28,    -1,    30,    31,    80,    81,    82,    -1,
+      -1,    -1,    -1,    87,    88,    -1,    90,    91,     3,    -1,
+       5,    90,     7,     8,     9,    10,    11,    12,    13,    -1,
+      15,    16,    17,    18,    19,    61,    21,    22,    23,    24,
+      -1,    -1,    -1,    -1,    29,    -1,    -1,    -1,    -1,    -1,
+      -1,    65,    66,    67,    51,    52,    53,    54,    43,    -1,
+      45,    46,    47,    48,    49,    50,    92,    -1,    -1,    -1,
+      55,    56,    57,    58,    59,    60,    90,    62,    75,    76,
+      77,    78,    79,    68,    -1,    -1,    -1,    84,    85,    86,
+      -1,    -1,    89,    -1,    -1,    80,    81,    82,    -1,    -1,
       -1,    -1,    87,    88,    -1,     3,    91,     5,    -1,     7,
        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
-      18,    19,    -1,    21,    22,    23,    24,    -1,    -1,    -1,
-      -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46,    47,
-      48,    49,    50,    -1,    -1,    -1,    -1,    55,    56,    57,
-      58,    59,    60,    -1,    62,     3,    -1,     5,     6,    -1,
-      68,    -1,    -1,    -1,    -1,    -1,    14,    -1,    -1,    -1,
+      18,    19,    -1,    21,    22,    23,    24,    -1,    65,    66,
+      67,    29,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
+      67,    65,    66,    67,    -1,    43,    -1,    45,    46,    47,
+      48,    49,    50,    90,    65,    66,    67,    55,    56,    57,
+      58,    59,    60,    90,    62,     3,    90,     5,     6,    -1,
+      68,    -1,    -1,    -1,    -1,    -1,    14,    -1,    -1,    90,
       -1,    -1,    80,    81,    82,    -1,    53,    54,    -1,    87,
       88,    -1,    -1,    91,    32,    33,    34,    35,    -1,    -1,
       -1,    39,    -1,    41,    -1,    -1,    44,    -1,    -1,    -1,
@@ -746,27 +727,27 @@ static const yytype_int16 yycheck[] =
       -1,    89,    90,     5,     6,     7,     8,     9,    10,    11,
       12,    13,    -1,    15,    16,    17,    18,    19,    -1,    21,
       22,    23,    24,    -1,    -1,    -1,    -1,    29,    -1,    -1,
-      -1,    -1,    -1,    -1,    51,    52,    53,    54,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    53,    54,
       -1,    43,    -1,    45,    46,    47,    48,    49,    50,    -1,
       -1,    -1,    -1,    55,    56,    57,    58,    59,    60,    -1,
-      62,    78,    79,    -1,    -1,    -1,    68,    84,    85,    86,
-      -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    80,    81,
-      82,    51,    -1,    53,    54,    87,    88,    -1,     5,    91,
+      62,    76,    77,    78,    79,    -1,    68,    -1,    -1,    84,
+      85,    86,    -1,    -1,    89,    -1,    -1,    -1,    80,    81,
+      82,    51,    52,    53,    54,    87,    88,    -1,     5,    91,
        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
       17,    18,    19,    -1,    21,    22,    23,    24,    78,    79,
       -1,    -1,    29,    -1,    84,    85,    86,    -1,    -1,    89,
-      -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46,
+      51,    52,    53,    54,    -1,    -1,    43,    -1,    45,    46,
       47,    48,    49,    50,    -1,    -1,    -1,    -1,    55,    56,
-      57,    58,    59,    60,    -1,    62,    -1,    -1,    -1,    -1,
-      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    80,    81,    82,    -1,    -1,    -1,    -1,
+      57,    58,    59,    60,    -1,    62,    77,    78,    79,    -1,
+      -1,    68,    -1,    84,    85,    86,    -1,    -1,    89,    -1,
+      -1,    -1,    -1,    80,    81,    82,    51,    52,    53,    54,
       87,    88,    -1,     5,    91,     7,     8,     9,    10,    11,
       12,    13,    -1,    15,    16,    17,    18,    19,    -1,    21,
-      22,    23,    24,    -1,    -1,    -1,    -1,    29,    32,    33,
-      34,    35,    -1,    -1,    -1,    39,    -1,    41,    -1,    -1,
+      22,    23,    24,    78,    79,    -1,    -1,    29,    -1,    84,
+      85,    86,    -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,
       -1,    43,    -1,    45,    46,    47,    48,    49,    50,    -1,
       -1,    -1,    -1,    55,    56,    57,    58,    59,    60,    -1,
-      62,    65,    66,    67,    -1,    -1,    68,    -1,    -1,    -1,
+      62,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,
       82,    -1,    -1,    -1,    -1,    87,    88,    -1,    90,    91,
        5,    -1,     7,     8,     9,    10,    11,    12,    13,    -1,
@@ -835,27 +816,34 @@ static const yytype_int16 yycheck[] =
       -1,    -1,    -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,
       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    55,
-      56,    57,    58,    59,    60,   364,    62,   366,    -1,    -1,
-      -1,   370,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    80,    81,    82,    -1,   387,   388,
-      -1,    87,    88,    -1,    -1,    91,   395,   396,    -1,    -1,
-      -1,    -1,    -1,    -1,    44,    -1,   405,    -1,    -1,    -1,
-     409,    51,    52,    53,    54,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   426,   427,    -1,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      -1,    -1,    -1,    44,    84,    85,    86,    -1,    -1,    89,
-      51,    52,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
-      71,    -1,    73,    74,    75,    76,    77,    78,    79,    -1,
-      -1,    -1,    44,    84,    85,    86,    -1,    -1,    89,    51,
-      52,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,
-      -1,    73,    74,    75,    76,    77,    78,    79,    -1,    -1,
-      -1,    44,    84,    85,    86,    -1,    -1,    89,    51,    52,
-      53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      56,    57,    58,    59,    60,    -1,    62,    -1,    -1,    -1,
+       6,    -1,    68,    -1,    -1,    -1,    -1,    -1,    14,    -1,
+      -1,    -1,    -1,    -1,    80,    81,    82,    -1,    -1,    -1,
+      -1,    87,    88,    -1,    -1,    91,    32,    33,    34,    35,
+      -1,    -1,    -1,    39,    -1,    41,    -1,    -1,    44,    -1,
+      -1,    -1,    -1,    -1,    -1,    51,    52,    53,    54,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
+      66,    67,    -1,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    -1,   363,    -1,   365,    84,    85,
+      86,   369,    -1,    89,    90,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   386,   387,
+      -1,    44,    -1,    -1,    -1,    -1,   394,   395,    51,    52,
+      53,    54,    -1,    -1,    -1,    -1,   404,    -1,    -1,    -1,
+     408,    -1,    -1,    -1,    -1,    -1,    -1,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,   425,   426,    -1,
+      44,    84,    85,    86,    -1,    -1,    89,    51,    52,    53,
+      54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    70,    71,    -1,    73,
+      74,    75,    76,    77,    78,    79,    -1,    -1,    -1,    44,
+      84,    85,    86,    -1,    -1,    89,    51,    52,    53,    54,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    73,    74,
+      75,    76,    77,    78,    79,    -1,    -1,    -1,    44,    84,
+      85,    86,    -1,    -1,    89,    51,    52,    53,    54,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      73,    74,    75,    76,    77,    78,    79,    -1,    -1,    -1,
-      -1,    84,    85,    86,    -1,    -1,    89
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
+      76,    77,    78,    79,    -1,    -1,    -1,    -1,    84,    85,
+      86,    -1,    -1,    89
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -894,18 +882,17 @@ static const yytype_uint8 yystos[] =
      137,   137,   137,   137,   137,   137,    63,   129,    96,    15,
      129,     4,   151,    90,   140,   129,   112,   137,   113,   114,
      137,   113,   116,   152,   154,   103,   111,   114,   115,   137,
-      96,    97,   114,    90,    69,    90,   137,    90,   137,    90,
-     137,     4,    90,    18,   137,     5,    14,     6,    90,    72,
-     137,   137,    90,   137,    91,    90,    14,     6,    14,     6,
-      14,    18,    14,    95,   131,   134,   150,   131,    90,   150,
-      95,    90,    90,    90,    90,    91,    90,    14,   114,   114,
-      90,    90,    90,    90,     6,   137,     4,   147,    14,     6,
-      90,   151,     4,     4,     4,   101,    14,   110,   110,     3,
-      99,    99,   114,    99,   112,    90,    90,    99,     6,     4,
-      90,     4,    99,    99,   100,    36,    37,   104,   104,    90,
-     107,    14,    99,    99,   107,   107,   101,    99,    91,    99,
-     110,   107,     4,   114,   107,   115,    90,    90,    99,    99,
-     104
+      96,    97,   114,    90,    90,   137,    90,   137,    90,   137,
+       4,    90,    18,   137,     5,    14,     6,    90,    72,   137,
+     137,    90,   137,    91,    90,    14,     6,    14,     6,    14,
+      18,    14,    95,   131,   134,   150,   131,    90,   150,    95,
+      90,    90,    90,    90,    91,    90,    14,   114,   114,    90,
+      90,    90,    90,     6,   137,     4,   147,    14,     6,    90,
+     151,     4,     4,     4,   101,    14,   110,   110,     3,    99,
+      99,   114,    99,   112,    90,    90,    99,     6,     4,    90,
+       4,    99,    99,   100,    36,    37,   104,   104,    90,   107,
+      14,    99,    99,   107,   107,   101,    99,    91,    99,   110,
+     107,     4,   114,   107,   115,    90,    90,    99,    99,   104
 };
 
 typedef enum {
diff --git a/perly.y b/perly.y
index edbcb19..ebcf5e7 100644 (file)
--- a/perly.y
+++ b/perly.y
@@ -1331,17 +1331,6 @@ listexprcom:     /* NULL */
                        { $$ = (OP*)NULL; }
        |       expr
                        { $$ = $1; }
-       |       expr ','
-                       {
-#ifdef MAD
-                         OP* op = newNULLLIST();
-                         token_getmad($2,op,',');
-                         $$ = append_elem(OP_LIST, $1, op);
-#else
-                         $$ = $1;
-#endif
-
-                       }
        ;
 
 /* A little bit of trickery to make "for my $foo (@bar)" actually be