gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-2635-g8af895d
Date: Mon, 17 Jul 2017 14:20:25 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, feature/namespaces has been updated
       via  8af895d5ca8d6d98a8ec0d0f9271fa6bd4f45fcc (commit)
       via  28d52ed81ab0a04b2896b26547faa2b2690798e4 (commit)
      from  8f091239327613994ecb5a42805ae1019ab14c97 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=8af895d5ca8d6d98a8ec0d0f9271fa6bd4f45fcc

commit 8af895d5ca8d6d98a8ec0d0f9271fa6bd4f45fcc
Merge: 8f09123 28d52ed
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jul 17 21:20:18 2017 +0300

    Merge branch 'master' into feature/namespaces

diff --cc awkgram.c
index 75d0f96,99387f5..21e748b
--- a/awkgram.c
+++ b/awkgram.c
@@@ -219,7 -212,7 +219,7 @@@ extern double fmod(double x, double y)
  
  #define YYSTYPE INSTRUCTION *
  
- #line 223 "y.tab.c" /* yacc.c:339  */
 -#line 216 "awkgram.c" /* yacc.c:339  */
++#line 223 "awkgram.c" /* yacc.c:339  */
  
  # ifndef YY_NULLPTR
  #  if defined __cplusplus && 201103L <= __cplusplus
@@@ -377,7 -368,7 +377,7 @@@ int yyparse (void)
  
  /* Copy the second part of user declarations.  */
  
- #line 381 "y.tab.c" /* yacc.c:358  */
 -#line 372 "awkgram.c" /* yacc.c:358  */
++#line 381 "awkgram.c" /* yacc.c:358  */
  
  #ifdef short
  # undef short
@@@ -619,16 -610,16 +619,16 @@@ union yyallo
  /* YYFINAL -- State number of the termination state.  */
  #define YYFINAL  2
  /* YYLAST -- Last index in YYTABLE.  */
- #define YYLAST   1217
 -#define YYLAST   1236
++#define YYLAST   1199
  
  /* YYNTOKENS -- Number of terminals.  */
 -#define YYNTOKENS  76
 +#define YYNTOKENS  77
  /* YYNNTS -- Number of nonterminals.  */
 -#define YYNNTS  70
 +#define YYNNTS  71
  /* YYNRULES -- Number of rules.  */
- #define YYNRULES  206
 -#define YYNRULES  203
++#define YYNRULES  207
  /* YYNSTATES -- Number of states.  */
- #define YYNSTATES  353
 -#define YYNSTATES  350
++#define YYNSTATES  356
  
  /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
     by yylex, with out-of-bounds checking.  */
@@@ -680,27 -670,27 +680,27 @@@ static const yytype_uint8 yytranslate[
    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
  static const yytype_uint16 yyrline[] =
  {
 -       0,   215,   215,   217,   222,   223,   227,   239,   244,   255,
 -     262,   268,   277,   285,   287,   292,   300,   302,   308,   316,
 -     326,   356,   370,   384,   392,   403,   415,   417,   419,   425,
 -     433,   434,   438,   438,   484,   483,   517,   532,   534,   539,
 -     549,   596,   601,   602,   606,   608,   610,   617,   707,   749,
 -     791,   904,   911,   918,   929,   939,   949,   959,   971,   988,
 -     987,  1012,  1024,  1024,  1123,  1123,  1157,  1188,  1197,  1198,
 -    1204,  1205,  1212,  1217,  1229,  1243,  1245,  1253,  1260,  1262,
 -    1270,  1279,  1281,  1290,  1291,  1299,  1304,  1304,  1315,  1319,
 -    1327,  1328,  1331,  1333,  1338,  1339,  1348,  1349,  1354,  1359,
 -    1368,  1370,  1372,  1379,  1380,  1386,  1387,  1392,  1394,  1399,
 -    1401,  1409,  1414,  1423,  1424,  1429,  1431,  1436,  1438,  1446,
 -    1451,  1459,  1460,  1465,  1472,  1476,  1478,  1480,  1493,  1510,
 -    1520,  1527,  1529,  1534,  1536,  1538,  1546,  1548,  1553,  1555,
 -    1560,  1562,  1564,  1620,  1622,  1624,  1626,  1628,  1630,  1632,
 -    1634,  1648,  1653,  1658,  1683,  1689,  1691,  1693,  1695,  1697,
 -    1699,  1704,  1708,  1740,  1747,  1753,  1759,  1772,  1773,  1774,
 -    1779,  1784,  1788,  1792,  1807,  1828,  1833,  1870,  1899,  1900,
 -    1906,  1907,  1912,  1914,  1921,  1938,  1955,  1957,  1964,  1969,
 -    1977,  1987,  1999,  2008,  2012,  2016,  2020,  2024,  2028,  2031,
 -    2033,  2037,  2041,  2045
 +       0,   222,   222,   224,   229,   230,   234,   246,   251,   262,
 +     269,   275,   281,   295,   303,   305,   310,   318,   320,   325,
 +     327,   329,   335,   343,   353,   383,   397,   411,   419,   430,
 +     442,   444,   446,   452,   460,   461,   465,   465,   511,   510,
 +     544,   559,   561,   566,   576,   623,   628,   629,   633,   635,
 +     637,   644,   734,   776,   818,   931,   938,   945,   956,   966,
 +     976,   986,   998,  1015,  1014,  1039,  1051,  1051,  1150,  1150,
 +    1184,  1215,  1224,  1225,  1231,  1232,  1239,  1244,  1256,  1270,
 +    1272,  1280,  1287,  1289,  1297,  1306,  1308,  1317,  1318,  1326,
 +    1331,  1331,  1342,  1346,  1354,  1355,  1358,  1360,  1365,  1366,
 +    1375,  1376,  1381,  1386,  1395,  1397,  1399,  1406,  1407,  1413,
 +    1414,  1419,  1421,  1426,  1428,  1436,  1441,  1450,  1451,  1456,
 +    1458,  1463,  1465,  1473,  1478,  1486,  1487,  1492,  1499,  1503,
 +    1505,  1507,  1520,  1537,  1547,  1554,  1556,  1561,  1563,  1565,
 +    1573,  1575,  1580,  1582,  1587,  1589,  1591,  1647,  1649,  1651,
 +    1653,  1655,  1657,  1659,  1661,  1675,  1680,  1685,  1710,  1716,
 +    1718,  1720,  1722,  1724,  1726,  1731,  1735,  1767,  1774,  1780,
-     1793,  1794,  1795,  1800,  1805,  1809,  1813,  1828,  1849,  1854,
-     1891,  1925,  1926,  1932,  1933,  1938,  1940,  1947,  1964,  1981,
-     1983,  1990,  1995,  2003,  2013,  2025,  2034,  2038,  2042,  2046,
-     2050,  2054,  2057,  2059,  2063,  2067,  2071
++    1786,  1799,  1800,  1801,  1806,  1811,  1815,  1819,  1834,  1855,
++    1860,  1897,  1931,  1932,  1938,  1939,  1944,  1946,  1953,  1970,
++    1987,  1989,  1996,  2001,  2009,  2019,  2031,  2040,  2044,  2048,
++    2052,  2056,  2060,  2063,  2065,  2069,  2073,  2077
  };
  #endif
  
@@@ -756,56 -745,55 +756,56 @@@ static const yytype_uint16 yytoknum[] 
  };
  # endif
  
- #define YYPACT_NINF -287
 -#define YYPACT_NINF -275
++#define YYPACT_NINF -294
  
  #define yypact_value_is_default(Yystate) \
-   (!!((Yystate) == (-287)))
 -  (!!((Yystate) == (-275)))
++  (!!((Yystate) == (-294)))
  
 -#define YYTABLE_NINF -115
 +#define YYTABLE_NINF -119
  
  #define yytable_value_is_error(Yytable_value) \
 -  (!!((Yytable_value) == (-115)))
 +  (!!((Yytable_value) == (-119)))
  
    /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
       STATE-NUM.  */
  static const yytype_int16 yypact[] =
  {
-     -287,   332,  -287,  -287,   -40,   -39,  -287,  -287,  -287,  -287,
-      318,  -287,  -287,    24,    24,    24,  -287,   -27,  -287,  -287,
-     -287,  1063,  1063,  -287,  1063,  1091,   834,    18,  -287,    -8,
-      -21,   -14,  -287,  -287,    11,  1129,   990,   299,   358,  -287,
-     -287,  -287,  -287,   129,   758,   834,  -287,    40,  -287,  -287,
-     -287,  -287,    12,    44,  -287,    28,  -287,  -287,  -287,   148,
-       83,     5,    83,    83,  1063,    30,  -287,  -287,    78,  1033,
-       31,    45,   153,  -287,   105,  -287,  -287,  -287,    11,  -287,
-      105,   758,  -287,   171,  -287,  -287,  1018,   166,  1063,  1063,
-     1063,   105,  -287,  -287,  -287,  1063,   130,   299,  1063,  1063,
-     1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,  1063,
-     -287,   168,  -287,  -287,   172,  1063,  -287,  -287,  -287,   108,
-       90,  -287,  1158,     8,  1158,  -287,  -287,  -287,  -287,  1063,
-     -287,  1033,  -287,  -287,  -287,  1063,   105,  -287,   149,   862,
-     -287,  -287,     1,   -17,  -287,    55,   -17,  -287,    57,   -17,
-       11,  -287,   558,  -287,   108,  -287,  -287,   147,  -287,   584,
-      315,  1148,  1063,   165,    24,     9,     9,    83,    83,    83,
-       83,     9,     9,    83,    83,    83,    83,  -287,  -287,  1158,
-     -287,  1018,   786,  -287,    23,   299,  1158,  -287,   166,  -287,
-     1158,  -287,  -287,  -287,  -287,  -287,  -287,  -287,   110,  -287,
-       14,   120,   123,   105,   124,   -17,   -17,  -287,  -287,   -17,
-     1063,   -17,   105,  -287,  -287,   -17,  -287,  -287,  1158,  -287,
-      118,   105,  -287,  1063,  1158,  -287,  -287,  -287,  -287,  -287,
-     -287,   108,   144,  -287,  1063,  1063,  -287,   192,  1063,  1063,
-      676,   911,  -287,  -287,  -287,   -17,  1158,  -287,  -287,  -287,
-      606,   558,   105,  -287,  -287,  1158,   105,  -287,   164,  1033,
-      -17,   -39,   127,  1033,  1033,   175,   -11,  -287,   118,  -287,
-      834,   193,  -287,   341,  -287,  -287,  -287,  -287,  -287,   105,
-     -287,  -287,    94,  -287,  -287,  -287,   105,   105,   134,   166,
-      105,    78,  -287,  -287,   676,  -287,  -287,   -14,   676,  1063,
-      108,   710,   149,  1063,   187,  -287,  -287,  1033,   105,  1106,
-      105,   990,   105,   138,   105,   676,   105,   945,   676,  -287,
-      250,   170,  -287,   155,  -287,  -287,   945,   108,  -287,  -287,
-     -287,   221,   224,  -287,  -287,   170,  -287,   105,  -287,   108,
-      105,  -287,  -287,   105,  -287,   105,   676,  -287,   406,   676,
-     -287,   482,  -287
 -    -275,   376,  -275,  -275,   -12,    -9,  -275,  -275,  -275,  -275,
 -     171,  -275,  -275,    44,    44,    44,     5,    40,  -275,  -275,
 -    -275,  1139,  1139,  -275,  1139,  1166,   869,    27,  -275,   -18,
 -       2,  -275,  -275,    89,   884,  1065,   192,   214,  -275,  -275,
 -    -275,  -275,   248,   795,   869,  -275,    10,  -275,  -275,  -275,
 -    -275,  -275,   116,    82,  -275,   115,  -275,  -275,  -275,   795,
 -     795,   166,   107,   104,   107,   107,  1139,   117,  -275,  -275,
 -      15,   349,    23,    45,  -275,   125,  -275,  -275,  -275,    89,
 -    -275,   125,  -275,   178,  -275,  -275,  1092,   172,  1139,  1139,
 -    1139,   125,  -275,  -275,  -275,  1139,   146,   192,  1139,  1139,
 -    1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,
 -    -275,   181,  -275,  -275,   173,  1139,  -275,  -275,  -275,   128,
 -      73,  -275,  1107,    14,  1107,  -275,  -275,  -275,  -275,  1139,
 -    -275,   128,   128,   349,  -275,  -275,  -275,  1139,   125,  -275,
 -     152,   916,  -275,  -275,    16,    92,  -275,    20,    92,    89,
 -    -275,   599,  -275,  -275,  -275,   148,  -275,   124,    22,  1048,
 -    1139,   199,    44,   265,   265,   107,   107,   107,   107,   265,
 -     265,   107,   107,   107,   107,  -275,  -275,  1107,  -275,  1092,
 -     842,  -275,    43,   192,  -275,  -275,  1107,  -275,   172,  -275,
 -    1107,  -275,  -275,  -275,  -275,  -275,   133,  -275,    41,   144,
 -     145,   125,   147,    92,    92,  -275,  -275,    92,  1139,    92,
 -     125,  -275,  -275,    92,  -275,  -275,  1107,  -275,   151,   125,
 -    1139,  1107,  -275,  -275,  -275,  -275,  -275,  -275,   128,    76,
 -    -275,  1139,  1139,  -275,   224,  1139,  1139,   715,   949,  -275,
 -    -275,  -275,    92,  1107,  -275,  -275,  -275,   646,   599,   125,
 -    -275,  -275,  1107,   125,  -275,    49,   349,    92,    -9,   160,
 -     349,   349,   206,   113,  -275,   151,  -275,   869,   225,  -275,
 -     169,  -275,  -275,  -275,  -275,  -275,   125,  -275,  -275,    11,
 -    -275,  -275,  -275,   125,   125,   179,   172,   125,    15,  -275,
 -    -275,   715,  -275,  -275,     2,   715,  1139,   128,   762,   152,
 -    1139,   219,  -275,  -275,   349,   125,   275,   125,  1065,   125,
 -     112,   125,   715,   125,   997,   715,  -275,   261,   205,  -275,
 -     191,  -275,  -275,   997,   128,  -275,  -275,  -275,   271,   272,
 -    -275,  -275,   205,  -275,   125,  -275,   128,   125,  -275,  -275,
 -     125,  -275,   125,   715,  -275,   449,   715,  -275,   524,  -275
++    -294,   343,  -294,  -294,   -20,   -16,  -294,  -294,  -294,  -294,
++      14,  -294,  -294,    26,    26,    26,    -7,    13,  -294,  -294,
++    -294,  1074,  1074,  -294,  1074,  1102,   845,   248,  -294,   194,
++     -10,  -294,  -294,    25,   312,  1001,   366,   405,  -294,  -294,
++    -294,  -294,   320,   769,   845,  -294,     9,  -294,  -294,  -294,
++    -294,  -294,    59,    76,  -294,   101,  -294,  -294,  -294,   769,
++     769,   159,    98,   129,    98,    98,  1074,   140,  -294,  -294,
++       0,   265,    28,    39,    45,  -294,   115,  -294,  -294,  -294,
++      25,  -294,   115,  -294,   165,  -294,  -294,  1029,   176,  1074,
++    1074,  1074,   115,  -294,  -294,  -294,  1074,   149,   366,  1074,
++    1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
++    1074,  -294,   186,  -294,  -294,   189,  1074,  -294,  -294,  -294,
++     130,    23,  -294,  1044,    83,  1044,  -294,  -294,  -294,  -294,
++    1074,  -294,   130,   130,   265,  -294,  -294,  -294,  1074,   115,
++    -294,   167,   873,  -294,  -294,    20,    -5,  -294,    82,    -5,
++    -294,    90,    -5,    25,  -294,   569,  -294,  -294,  -294,    18,
++    -294,   342,   157,  1140,  1074,   199,    26,    88,    88,    98,
++      98,    98,    98,    88,    88,    98,    98,    98,    98,  -294,
++    -294,  1044,  -294,  1029,   797,  -294,    43,   366,  -294,  -294,
++    1044,  -294,   176,  -294,  1044,  -294,  -294,  -294,  -294,  -294,
++    -294,  -294,   145,  -294,    10,   151,   155,   115,   163,    -5,
++      -5,  -294,  -294,    -5,  1074,    -5,   115,  -294,  -294,    -5,
++    -294,  -294,  1044,  -294,   168,   115,  1074,  1044,  -294,  -294,
++    -294,  -294,  -294,  -294,   130,    91,  -294,  1074,  1074,  -294,
++     245,  1074,  1074,   687,   922,  -294,  -294,  -294,    -5,  1044,
++    -294,  -294,  -294,   617,   569,   115,  -294,  -294,  1044,   115,
++    -294,   110,   265,    -5,   -16,   184,   265,   265,   239,    -6,
++    -294,   168,  -294,   845,   263,  -294,   193,  -294,  -294,  -294,
++    -294,  -294,   115,  -294,  -294,    15,  -294,  -294,  -294,   115,
++     115,   207,   176,   115,     0,  -294,  -294,   687,  -294,  -294,
++     -10,   687,  1074,   130,   721,   167,  1074,   258,  -294,  -294,
++     265,   115,   134,   115,  1001,   115,   180,   115,   687,   115,
++     956,   687,  -294,   332,   225,  -294,   208,  -294,  -294,   956,
++     130,  -294,  -294,  -294,   278,   282,  -294,  -294,   225,  -294,
++     115,  -294,   130,   115,  -294,  -294,   115,  -294,   115,   687,
++    -294,   417,   687,  -294,   493,  -294
  };
  
    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@@ -813,68 -801,65 +813,68 @@@
       means the default is an error.  */
  static const yytype_uint8 yydefact[] =
  {
-        2,     0,     1,     6,     0,   192,   174,   175,    25,    26,
-        0,    27,    28,   181,     0,     0,    34,   169,     5,    94,
 -       2,     0,     1,     6,     0,   189,   171,   172,    21,    22,
 -       0,    23,    24,   178,     0,     0,     0,   166,     5,    90,
 -      38,     0,     0,    37,     0,     0,     0,     0,     3,     0,
 -       0,   161,    34,     4,    19,   132,   140,   141,   143,   167,
 -     175,   191,   168,     0,     0,   186,     0,   190,    27,    26,
 -      30,    31,     0,     0,    28,    94,   179,   169,   170,     0,
 -       0,     0,   174,   168,   173,   162,     0,   195,   168,   109,
 -       0,   107,     0,     0,   176,    92,   201,     7,     8,    42,
 -      39,    92,     9,     0,    91,   136,     0,     0,     0,     0,
 -       0,    92,   137,   139,   138,     0,     0,   142,     0,     0,
++       2,     0,     1,     6,     0,   193,   175,   176,    25,    26,
++       0,    27,    28,   182,     0,     0,     0,   170,     5,    94,
 +      42,     0,     0,    41,     0,     0,     0,     0,     3,     0,
-        0,     0,   165,    38,     4,    23,   136,   144,   145,   147,
-      170,   178,   194,   171,     0,     0,   189,     0,   193,    31,
-       30,    35,     0,     0,    32,    98,   182,   172,   173,     0,
-      177,   171,   176,   166,     0,   198,   171,   113,     0,   111,
-        0,     0,     0,   179,    96,   204,     7,     8,    46,    43,
-       96,     0,     9,     0,    95,   140,     0,     0,     0,     0,
-        0,    96,   141,   143,   142,     0,     0,   146,     0,     0,
++       0,   165,    38,     4,    23,   136,   144,   145,   147,   171,
++     179,   195,   172,     0,     0,   190,     0,   194,    31,    30,
++      34,    35,     0,     0,    32,    98,   183,   173,   174,     0,
++       0,     0,   178,   172,   177,   166,     0,   199,   172,   113,
++       0,   111,     0,     0,     0,   180,    96,   205,     7,     8,
++      46,    43,    96,     9,     0,    95,   140,     0,     0,     0,
++       0,     0,    96,   141,   143,   142,     0,     0,   146,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      138,   137,   155,   156,     0,     0,   121,    40,   126,     0,
-        0,   119,   125,     0,   111,   191,   190,    33,    36,     0,
-      154,     0,   196,   197,   195,   114,    96,   201,     0,     0,
-      167,    15,     0,     0,    18,     0,     0,    21,     0,     0,
-       97,   199,     0,    47,     0,    39,   131,   132,   133,   129,
-      130,     0,     0,   134,   181,   152,   153,   149,   150,   151,
-      148,   163,   164,   160,   161,   162,   159,   128,   139,   127,
-      180,   122,     0,   188,     0,    99,   115,   206,     0,   116,
-      112,    14,    10,    17,    11,    20,    12,    45,     0,    63,
-        0,     0,     0,    96,     0,     0,     0,    85,    86,     0,
-      107,     0,    96,    44,    57,     0,    66,    50,    71,    43,
-      202,    96,   168,     0,    24,   158,   123,   124,   120,   104,
-      102,     0,     0,   157,     0,   107,    68,     0,     0,     0,
-        0,    72,    58,    59,    60,     0,   108,    61,   200,    65,
-        0,     0,    96,   203,    48,   135,    96,   105,     0,     0,
-        0,   183,     0,     0,     0,     0,   192,    73,     0,    62,
-        0,    89,    87,     0,    49,    29,    37,   106,   103,    96,
-       64,    69,     0,   185,   187,    70,    96,    96,     0,     0,
-       96,     0,    90,    67,     0,   184,   186,     0,     0,     0,
-        0,     0,    88,     0,    92,    74,    52,     0,    96,     0,
-       96,    91,    96,     0,    96,     0,    96,    72,     0,    76,
-        0,     0,    75,     0,    53,    54,    72,     0,    93,    79,
-       82,     0,     0,    83,    84,     0,   205,    96,    51,     0,
-       96,    81,    80,    96,    43,    96,     0,    43,     0,     0,
-       56,     0,    55
 -     134,   133,   151,   152,     0,     0,   117,    36,   122,     0,
 -       0,   115,   121,     0,   107,   188,   187,    29,    32,     0,
 -     150,     0,     0,     0,   193,   194,   192,   110,    92,   198,
 -       0,     0,   163,    14,     0,     0,    17,     0,     0,    93,
 -     196,     0,    43,    35,   127,   128,   129,   125,   126,     0,
 -       0,   130,   178,   148,   149,   145,   146,   147,   144,   159,
 -     160,   156,   157,   158,   155,   124,   135,   123,   177,   118,
 -       0,   185,     0,    95,   164,   165,   111,   203,     0,   112,
 -     108,    13,    10,    16,    11,    41,     0,    59,     0,     0,
 -       0,    92,     0,     0,     0,    81,    82,     0,   103,     0,
 -      92,    40,    53,     0,    62,    46,    67,    39,   199,    92,
 -       0,    20,   154,   119,   120,   116,   100,    98,     0,     0,
 -     153,     0,   103,    64,     0,     0,     0,     0,    68,    54,
 -      55,    56,     0,   104,    57,   197,    61,     0,     0,    92,
 -     200,    44,   131,    92,   101,     0,     0,     0,   180,     0,
 -       0,     0,     0,   189,    69,     0,    58,     0,    85,    83,
 -       0,    45,    25,    33,   102,    99,    92,    60,    65,     0,
 -     182,   184,    66,    92,    92,     0,     0,    92,     0,    86,
 -      63,     0,   181,   183,     0,     0,     0,     0,     0,    84,
 -       0,    88,    70,    48,     0,    92,     0,    92,    87,    92,
 -       0,    92,     0,    92,    68,     0,    72,     0,     0,    71,
 -       0,    49,    50,    68,     0,    89,    75,    78,     0,     0,
 -      79,    80,     0,   202,    92,    47,     0,    92,    77,    76,
 -      92,    39,    92,     0,    39,     0,     0,    52,     0,    51
++       0,   138,   137,   155,   156,     0,     0,   121,    40,   126,
++       0,     0,   119,   125,     0,   111,   192,   191,    33,    36,
++       0,   154,     0,     0,     0,   197,   198,   196,   114,    96,
++     202,     0,     0,   167,    15,     0,     0,    18,     0,     0,
++      21,     0,     0,    97,   200,     0,    47,    39,   131,   132,
++     133,   129,   130,     0,     0,   134,   182,   152,   153,   149,
++     150,   151,   148,   163,   164,   160,   161,   162,   159,   128,
++     139,   127,   181,   122,     0,   189,     0,    99,   168,   169,
++     115,   207,     0,   116,   112,    14,    10,    17,    11,    20,
++      12,    45,     0,    63,     0,     0,     0,    96,     0,     0,
++       0,    85,    86,     0,   107,     0,    96,    44,    57,     0,
++      66,    50,    71,    43,   203,    96,     0,    24,   158,   123,
++     124,   120,   104,   102,     0,     0,   157,     0,   107,    68,
++       0,     0,     0,     0,    72,    58,    59,    60,     0,   108,
++      61,   201,    65,     0,     0,    96,   204,    48,   135,    96,
++     105,     0,     0,     0,   184,     0,     0,     0,     0,   193,
++      73,     0,    62,     0,    89,    87,     0,    49,    29,    37,
++     106,   103,    96,    64,    69,     0,   186,   188,    70,    96,
++      96,     0,     0,    96,     0,    90,    67,     0,   185,   187,
++       0,     0,     0,     0,     0,    88,     0,    92,    74,    52,
++       0,    96,     0,    96,    91,    96,     0,    96,     0,    96,
++      72,     0,    76,     0,     0,    75,     0,    53,    54,    72,
++       0,    93,    79,    82,     0,     0,    83,    84,     0,   206,
++      96,    51,     0,    96,    81,    80,    96,    43,    96,     0,
++      43,     0,     0,    56,     0,    55
  };
  
    /* YYPGOTO[NTERM-NUM].  */
  static const yytype_int16 yypgoto[] =
  {
-     -287,  -287,  -287,  -287,  -287,  -287,  -287,   201,  -287,   230,
-     -287,  -287,   -78,  -287,   -85,  -287,  -203,    39,  -162,  -287,
-     -287,  -189,  -287,  -287,  -286,  -287,  -287,  -287,  -287,  -287,
-     -287,  -287,  -287,     6,     4,  -287,  -287,  -287,    20,  -287,
-      -31,   180,  -287,   -10,    -1,  -287,  -287,  -287,   -56,    17,
-     -287,   227,  -287,   -12,    89,  -287,  -287,   -20,   -41,  -287,
-     -287,   -79,    -2,  -287,   -26,  -241,   -64,  -287,   -22,   -71,
-     -103
 -    -275,  -275,  -275,  -275,  -275,  -275,   252,  -275,  -275,  -275,
 -    -275,   -33,  -275,   -80,  -275,  -213,   100,  -144,  -275,  -275,
 -    -231,  -275,  -275,  -274,  -275,  -275,  -275,  -275,  -275,  -275,
 -    -275,  -275,     7,    62,  -275,  -275,  -275,    54,  -275,   -43,
 -       1,  -275,   -23,    -1,  -275,  -275,  -275,   -13,    17,  -275,
 -     263,  -275,     8,   127,  -275,  -275,    21,   -36,  -275,  -275,
 -     -78,    -2,  -275,   -27,  -230,   -65,  -275,   -15,   -38,   -94
++    -294,  -294,  -294,  -294,  -294,  -294,  -294,   261,  -294,  -294,
++    -294,  -294,   -31,  -294,   -81,  -294,  -216,   -77,   -90,  -294,
++    -294,  -190,  -294,  -294,  -293,  -294,  -294,  -294,  -294,  -294,
++    -294,  -294,  -294,     8,   -29,  -294,  -294,  -294,    55,  -294,
++     -34,   131,  -294,    51,    -1,  -294,  -294,  -294,   -12,    17,
++    -294,   271,  -294,   -11,   132,  -294,  -294,    30,   -42,  -294,
++    -294,   -80,    -2,  -294,   -27,  -180,   -65,  -294,    24,   -36,
++    -106
  };
  
    /* YYDEFGOTO[NTERM-NUM].  */
  static const yytype_int16 yydefgoto[] =
  {
-       -1,     1,    28,   143,   146,   149,    29,    76,    53,    30,
-       31,   184,    32,    83,   118,    33,   152,    77,   213,   214,
-      235,   215,   250,   261,   268,   313,   322,   335,   216,   271,
-      293,   303,   217,   150,   151,   130,   231,   232,   245,   272,
-       68,   119,   120,   121,   218,   115,    94,    95,    36,    37,
-       38,    39,    40,    41,    55,   281,   282,   283,    46,    47,
-       48,    42,    43,   134,   219,   220,   140,   252,    80,   337,
-      139
 -      -1,     1,    28,   145,   148,    29,    77,    53,    54,    30,
 -     182,    31,    83,   118,    32,   151,    78,   211,   212,   232,
 -     213,   247,   258,   265,   310,   319,   332,   214,   268,   290,
 -     300,   215,   149,   150,   130,   228,   229,   242,   269,    70,
 -     119,   120,   121,   216,   115,    94,    95,    35,    36,    37,
 -      38,    39,    40,    55,   278,   279,   280,    45,    46,    47,
 -      41,    42,   136,   217,   218,   142,   249,   219,   334,   141
++      -1,     1,    28,   146,   149,   152,    29,    78,    53,    54,
++      30,   186,    31,    84,   119,    32,   155,    79,   217,   218,
++     238,   219,   253,   264,   271,   316,   325,   338,   220,   274,
++     296,   306,   221,   153,   154,   131,   234,   235,   248,   275,
++      70,   120,   121,   122,   222,   116,    95,    96,    35,    36,
++      37,    38,    39,    40,    55,   284,   285,   286,    45,    46,
++      47,    41,    42,   137,   223,   224,   143,   255,    82,   340,
++     142
  };
  
    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@@ -882,348 -867,351 +882,344 @@@
       number is the opposite.  If YYTABLE_NINF, syntax error.  */
  static const yytype_int16 yytable[] =
  {
-       35,   156,   191,    79,   138,    79,   126,    34,   158,   135,
-      274,    56,    57,    58,   123,    73,   251,   182,   236,    61,
-       61,     4,    61,    66,   229,    69,   177,   230,     5,    44,
-      289,   327,   141,    45,    61,    78,    19,   142,    60,    62,
-      339,    63,   -35,   122,   124,    19,   144,    73,    81,   112,
-      113,   145,   267,    97,   -13,   180,   193,   125,   195,    75,
-       74,    45,   127,   131,    84,   136,    74,    70,    75,    71,
-       72,   100,   101,   102,   132,   133,   103,   -13,   265,   135,
-      122,   183,   338,   237,   153,   157,   129,   159,   160,   161,
-      222,   181,    25,  -100,   163,   162,    61,    61,    61,    61,
-       61,    61,    61,    61,    61,    61,    61,    61,   -16,   233,
-      -19,   295,    45,   128,   179,   165,   166,   167,   168,   169,
-      170,   171,   172,   173,   174,   175,   176,    61,   267,   258,
-      221,   -16,   304,   -19,   186,   136,   306,   267,   190,   319,
-      187,   348,   110,   111,   351,   257,   185,   136,   137,    78,
-      103,     4,    78,   325,   147,    78,   328,    85,    19,   148,
-     -118,   224,    56,   320,   321,   277,    45,   256,   278,   164,
-        5,   226,   228,   112,   113,  -119,   155,   117,   137,   234,
-      122,   122,   192,   114,   350,   194,   178,   352,   196,   238,
-      188,    19,   239,   241,    75,   279,   262,   285,   253,   286,
-      287,   136,   288,   299,   292,    92,    93,   240,   312,   246,
-      300,    78,    78,   -96,  -101,    78,   248,    78,   221,   273,
-      284,    78,   255,  -119,  -119,   254,   336,   302,   341,   221,
-      212,   342,    82,   259,   246,   334,   308,   263,   264,   291,
-       54,   284,   333,   314,   242,   243,   290,   311,   244,   124,
-      247,    78,    65,   225,   249,   260,   275,   329,   330,   117,
-      276,   154,   296,   340,   343,     0,    78,     0,     0,    69,
-        0,   305,   221,     0,     0,   345,   221,     0,     0,   310,
-        0,     0,     0,   294,   269,     0,     0,   316,     0,     0,
-      297,   298,     0,   221,   301,     0,   221,     0,   307,   280,
-      309,    61,     0,     0,    20,     0,     0,     0,     0,    61,
-      331,   332,   315,    23,   317,     0,   318,   323,   324,     0,
-      326,    49,    50,     0,   221,    85,   221,   221,    97,   221,
-       86,     0,     2,     3,     0,     4,     5,     0,     0,     6,
-        7,   344,   135,     0,   346,     0,     0,   347,     0,   349,
-        8,     9,  -110,     0,     0,     0,    87,    88,     0,    98,
-       99,   100,   101,   102,    16,    51,   103,     0,    10,    11,
-       12,    13,     0,    92,    93,     0,    14,    15,    16,    17,
-       18,     0,     0,     0,     0,    19,    20,     0,     0,    52,
-        0,     0,    21,    22,  -110,    23,     0,    24,   136,     0,
-       25,    26,     0,    27,     0,     0,   -22,   197,   -22,     4,
-        5,  -110,     0,     6,     7,     0,     0,  -110,   104,   105,
-      106,   107,   108,     0,     0,   109,   198,     0,   199,   200,
-      201,   -78,   -78,   202,   203,   204,   205,   206,   207,   208,
-      209,   210,     0,     0,     0,    13,   211,     0,     0,     0,
-       14,    15,    16,    17,     0,     0,     0,     0,     0,   -78,
-       20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
-        0,    24,     0,     0,    25,    26,     0,    59,     0,     0,
-       74,   -78,    75,   197,     0,     4,     5,     0,     0,     6,
-        7,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,   198,     0,   199,   200,   201,   -77,   -77,   202,
-      203,   204,   205,   206,   207,   208,   209,   210,     0,     0,
-        0,    13,   211,     0,     0,     0,    14,    15,    16,    17,
-        0,     0,     0,     0,     0,   -77,    20,     0,     0,     0,
-        0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
-       25,    26,     0,    59,     0,     0,    74,   -77,    75,   197,
-        0,     4,     5,     0,     0,     6,     7,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,   198,     0,
-      199,   200,   201,     0,     0,   202,   203,   204,   205,   206,
-      207,   208,   209,   210,    85,     0,     0,    13,   211,    86,
-        0,     0,    14,    15,    16,    17,     0,    67,     0,     4,
-        5,     0,    20,     6,     7,     0,     0,  -109,    21,    22,
-        0,    23,     0,    24,     0,    87,    25,    26,     0,    59,
-        0,     0,    74,   212,    75,     0,     0,     0,     0,     0,
-        0,     0,    92,    93,     0,    13,     0,     0,     0,     0,
-       14,    15,    16,    17,     0,     0,     0,     0,     0,  -109,
-       20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
-        0,    24,     0,     0,    25,   270,  -109,    59,     0,     4,
-        5,     0,  -109,     6,     7,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,   198,     0,   199,   200,
-      201,     0,     0,   202,   203,   204,   205,   206,   207,   208,
-      209,   210,     0,     4,     5,    13,   211,     6,     7,     0,
-       14,    15,    16,    17,     0,     0,     0,     0,     0,     0,
-       20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
-        0,    24,     0,     0,    25,    26,     0,    59,     0,    13,
-       74,     0,    75,     0,    14,    15,    16,    17,     0,   116,
-        0,     4,     5,     0,    20,     6,     7,   117,     0,     0,
-       21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
-        0,    59,     0,     0,     0,     0,    75,   227,     0,     4,
-        5,     0,     0,     6,     7,   117,     0,    13,     0,     0,
-        0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
-        0,     0,    20,     0,     0,     0,     0,     0,    21,    22,
-        0,    23,     0,    24,     0,    13,    25,    26,  -117,    59,
-       14,    15,    16,    17,     0,    67,     0,     4,     5,     0,
-       20,     6,     7,     0,     0,     0,    21,    22,     0,    23,
-        0,    24,     0,     0,    25,    26,     0,    59,     0,     0,
-        0,     0,     0,   189,     0,     4,     5,     0,     0,     6,
 -      34,   123,    80,    80,   248,   140,   154,   264,    33,   156,
 -     126,    56,    57,    58,    81,   137,   137,   191,   271,    63,
 -      63,   193,    63,    68,   143,    71,   180,   125,   292,   144,
 -       4,   175,    85,    63,    19,    74,    79,    86,    62,    64,
 -     324,    65,   122,   124,   226,   233,   146,   227,     5,   336,
 -     274,   147,    97,   275,   178,    75,    43,    76,   122,   122,
 -     131,   132,    44,    87,    88,   133,   184,   185,   -12,    74,
 -     138,   138,   -15,    59,   179,    75,    72,   254,    73,    92,
 -      93,    44,    44,   264,   139,   155,   181,   157,   158,   159,
 -     335,   -12,   264,   262,   161,   -15,    63,    63,    63,    63,
 -      63,    63,    63,    63,    63,    63,    63,    63,    60,   234,
 -     230,    25,   -96,   316,   177,   163,   164,   165,   166,   167,
 -     168,   169,   170,   171,   172,   173,   174,    63,   345,   138,
 -      81,   348,   138,    81,    85,   255,   186,   317,   318,    86,
 -     190,    84,  -114,   152,    19,   -97,   183,   301,   112,   113,
 -     128,   303,    79,   160,   286,    79,   223,   225,    85,   221,
 -      56,   134,   135,   253,    19,    87,   127,    76,   322,     4,
 -     137,   325,   129,   103,    48,    49,     5,    19,   122,   122,
 -    -106,    92,    93,   153,    44,   162,   -92,   176,    81,    81,
 -     117,   276,    81,   188,    81,   283,   284,   139,    81,   347,
 -     187,   231,   349,   250,   270,    92,    93,   243,   297,  -115,
 -      79,    79,   235,   236,    79,   238,    79,    50,    51,   252,
 -      79,  -106,   281,   299,   288,   138,    76,    81,   259,   282,
 -     256,   243,   305,   285,   260,   261,   289,   331,  -106,   311,
 -     309,    52,    81,   281,  -106,   192,   124,   296,   194,    79,
 -     287,    98,    99,   100,   101,   102,  -115,  -115,   103,   337,
 -     333,   110,   111,   237,    79,   210,    71,   302,   326,   327,
 -     117,   342,   245,   104,   105,   106,   107,   108,   338,   339,
 -     109,   251,    82,   307,   330,    85,   257,   308,    67,   222,
 -      86,   313,   112,   113,   340,   304,     0,   306,    63,     0,
 -     293,   114,     0,   239,   240,     0,    63,   241,     0,   244,
 -       0,   272,     0,   246,    20,   273,    87,    88,    89,     0,
 -     328,   329,     0,    23,     0,    97,   100,   101,   102,    90,
 -       0,   103,    92,    93,     0,     0,     0,     0,   291,     0,
 -       0,     0,   266,     0,     0,   294,   295,     0,     0,   298,
 -      76,     0,     0,     0,     0,     0,     0,   277,     0,    85,
 -       0,     0,     0,     0,    86,     0,     0,   312,     0,   314,
 -       0,   315,   320,   321,     0,   323,     2,     3,     0,     4,
 -       5,     0,     0,     6,     7,     0,     0,     0,     0,     0,
 -      87,    88,    89,     0,     8,     9,   341,     0,     0,   343,
 -       0,     0,   344,    90,   346,     0,    92,    93,     0,     0,
 -       0,     0,    10,    11,    12,    13,     0,     0,   139,     0,
 -      14,    15,    16,    17,    18,     0,     0,     0,    19,    20,
 -       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,     0,    25,    26,     0,    27,     0,     0,   -18,
 -     195,   -18,     4,     5,     0,     0,     6,     7,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,   196,
 -       0,   197,   198,   199,   -74,   -74,   200,   201,   202,   203,
 -     204,   205,   206,   207,   208,     0,     0,     0,    13,   209,
 -       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
 -       0,   -74,    20,     0,     0,     0,     0,     0,    21,    22,
 -       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
 -       0,     0,    75,   -74,    76,   195,     0,     4,     5,     0,
 -       0,     6,     7,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,   196,     0,   197,   198,   199,   -73,
 -     -73,   200,   201,   202,   203,   204,   205,   206,   207,   208,
 -       0,     0,     0,    13,   209,     0,     0,     0,    14,    15,
 -      16,    17,     0,     0,     0,     0,   -73,    20,     0,     0,
++      34,   138,    81,    81,   127,   141,   158,   254,   160,    33,
++     124,    56,    57,    58,   239,   184,    75,    48,    49,    63,
++      63,   195,    63,    68,   183,    71,   126,   330,    86,   144,
++       5,   179,   298,    63,   145,   292,   342,    80,    62,    64,
++     147,    65,   123,   125,   232,   148,   150,   233,    19,    43,
++      75,   151,    98,   156,   270,   182,    44,   139,   123,   123,
++      50,    51,    59,   164,    76,   134,    44,   188,   189,   196,
++     140,    77,   198,   -13,   277,   200,    93,    94,    85,   240,
++     139,    44,    60,   197,   138,    52,   159,    44,   161,   162,
++     163,   199,   260,  -118,    25,   165,   -13,    63,    63,    63,
++      63,    63,    63,    63,    63,    63,    63,    63,    63,   128,
++     191,   280,   236,  -100,   281,   181,   167,   168,   169,   170,
++     171,   172,   173,   174,   175,   176,   177,   178,    63,   261,
++     270,   351,   245,   246,   354,   -16,   247,   190,   250,   270,
++     139,   194,   252,   -19,    86,   129,   341,   187,   139,    87,
++     101,   102,   103,   268,    80,   104,   185,    80,   -16,   130,
++      80,  -101,     4,   227,    56,   104,   -19,    86,    19,   259,
++     157,   272,    87,   113,   114,    88,    89,    90,   243,   225,
++       5,   322,   123,   123,   135,   136,   283,   251,   166,    91,
++     132,   133,    93,    94,   138,   118,   257,   282,    88,    89,
++     140,   289,   290,   180,  -110,   323,   324,   307,   192,  -119,
++      77,   309,   303,   249,   237,    93,    94,    80,    80,   276,
++     241,    80,   287,    80,   242,   258,   278,    80,   328,   305,
++     279,   331,   244,    19,   229,   231,   262,   249,   311,   294,
++     266,   267,   337,   287,    77,   317,  -110,    19,   256,   265,
++     139,     4,   125,   297,   288,   -96,    80,  -119,  -119,   353,
++     300,   301,   355,  -110,   304,   343,   291,   225,    76,  -110,
++      77,    80,    71,   308,   295,    86,   302,   348,   225,   315,
++      87,   339,   318,   216,   320,   344,   321,   326,   327,   345,
++     329,    83,   336,   263,   314,   293,    67,    72,   228,    73,
++      74,   310,   346,   312,    63,     0,    88,    89,    90,     0,
++       0,   347,    63,     0,   349,   299,     0,   350,     0,   352,
++      91,   225,    86,    93,    94,   225,     0,    87,   313,     0,
++       0,    98,     0,   111,   112,   140,   319,     0,     0,   332,
++     333,   118,   225,     2,     3,   225,     4,     5,     0,     0,
++       6,     7,    86,    88,    89,    90,     0,    87,     0,     0,
++       0,     8,     9,     0,   113,   114,     0,    91,     0,    92,
++      93,    94,     0,   225,   115,   225,   225,     0,   225,    10,
++      11,    12,    13,    88,     0,     0,    20,    14,    15,    16,
++      17,    18,   334,   335,     0,    23,    19,    20,     0,     0,
++      93,    94,     0,    21,    22,     0,    23,     0,    24,     0,
++       0,    25,    26,     0,    27,     0,     0,   -22,   201,   -22,
++       4,     5,     0,     0,     6,     7,    99,   100,   101,   102,
++     103,     0,     0,   104,     0,     0,     0,   202,     0,   203,
++     204,   205,   -78,   -78,   206,   207,   208,   209,   210,   211,
++     212,   213,   214,     0,     0,     0,    13,   215,     0,     0,
++       0,    14,    15,    16,    17,   105,   106,   107,   108,   109,
++     -78,    20,   110,     0,     0,     0,     0,    21,    22,     0,
++      23,     0,    24,     0,     0,    25,    26,     0,    61,     0,
++       0,    76,   -78,    77,   201,     0,     4,     5,     0,     0,
++       6,     7,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,   202,     0,   203,   204,   205,   -77,   -77,
++     206,   207,   208,   209,   210,   211,   212,   213,   214,     0,
++       0,     0,    13,   215,     0,     0,     0,    14,    15,    16,
++      17,     0,     0,     0,     0,     0,   -77,    20,     0,     0,
+        0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
 -       0,    25,    26,     0,    61,     0,     0,    75,   -73,    76,
 -     195,     0,     4,     5,     0,     0,     6,     7,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,   196,
 -       0,   197,   198,   199,     0,     0,   200,   201,   202,   203,
 -     204,   205,   206,   207,   208,     0,     0,     0,    13,   209,
 -       0,     0,     0,    14,    15,    16,    17,    69,     0,     4,
 -       5,     0,    20,     6,     7,     0,     0,  -105,    21,    22,
 -       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
 -       0,     0,    75,   210,    76,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,    13,     0,     0,     0,     0,
 -      14,    15,    16,    17,     0,     0,     0,     0,  -105,    20,
 -       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,     0,    25,   267,  -105,    61,     0,     4,     5,
 -       0,  -105,     6,     7,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,   196,     0,   197,   198,   199,
 -       0,     0,   200,   201,   202,   203,   204,   205,   206,   207,
 -     208,     0,     0,     0,    13,   209,     0,     0,     0,    14,
 -      15,    16,    17,     0,     0,     4,     5,     0,    20,     6,
 -       7,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    61,     0,     0,    75,     0,
 -      76,     0,     0,     0,     0,     0,   116,     0,     4,     5,
 -       0,    13,     6,     7,   117,     0,    14,    15,    16,    17,
 -       0,     0,     0,     0,     0,    20,     0,     0,     0,     0,
 -       0,    21,    22,     0,    23,     0,    24,     0,     0,    25,
 -      26,     0,    61,     0,    13,     0,     0,    76,     0,    14,
 -      15,    16,    17,   224,     0,     4,     5,     0,    20,     6,
 -       7,   117,     0,     0,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,  -113,    61,     0,     0,     0,     0,
 -      69,     0,     4,     5,     0,     0,     6,     7,     0,     0,
 -       0,    13,     0,     0,     0,     0,    14,    15,    16,    17,
 -       0,     0,     0,     0,    85,    20,     0,     0,     0,    86,
 -       0,    21,    22,     0,    23,     0,    24,     0,    13,    25,
 -      26,     0,    61,    14,    15,    16,    17,   189,     0,     4,
 -       5,     0,    20,     6,     7,    87,    88,    89,    21,    22,
 -       0,    23,     0,    24,     0,     0,    25,    26,    90,    61,
 -      91,    92,    93,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     4,   263,     0,    13,     6,     7,     0,     0,
 -      14,    15,    16,    17,     0,     0,     0,     0,     0,    20,
 -       0,     0,   198,     0,     0,    21,    22,     0,    23,     0,
 -      24,   205,   206,    25,    26,     0,    61,     0,    13,     0,
 -       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
 -       4,     5,    20,     0,     6,     7,     0,     0,    21,    22,
 -       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
 -     198,     0,     0,     0,     0,     0,     0,     0,     0,   205,
 -     206,     0,     0,     0,     0,     0,    13,     0,     0,     0,
++       0,    25,    26,     0,    61,     0,     0,    76,   -77,    77,
++     201,     0,     4,     5,     0,     0,     6,     7,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   202,
++       0,   203,   204,   205,     0,     0,   206,   207,   208,   209,
++     210,   211,   212,   213,   214,     0,     0,     0,    13,   215,
++       0,     0,     0,    14,    15,    16,    17,     0,    69,     0,
++       4,     5,     0,    20,     6,     7,     0,     0,  -109,    21,
++      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
++      61,     0,     0,    76,   216,    77,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,    13,     0,     0,     0,
++       0,    14,    15,    16,    17,     0,     0,     0,     0,     0,
++    -109,    20,     0,     0,     0,     0,     0,    21,    22,     0,
++      23,     0,    24,     0,     0,    25,   273,  -109,    61,     0,
++       4,     5,     0,  -109,     6,     7,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,   202,     0,   203,
++     204,   205,     0,     0,   206,   207,   208,   209,   210,   211,
++     212,   213,   214,     0,     4,     5,    13,   215,     6,     7,
+        0,    14,    15,    16,    17,     0,     0,     0,     0,     0,
 -      20,     0,     0,     0,     0,     0,    21,    22,    85,    23,
 -       0,    24,     0,    86,    25,    26,     0,    61,     4,     5,
 -       0,     0,     6,     7,     0,     0,     0,    96,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
 -      88,    89,     0,     0,     0,     4,     5,     0,     0,     6,
 -       7,   117,    90,   220,    13,    92,    93,     0,     0,    14,
 -      15,    16,    17,     0,     0,     0,     0,    85,    20,     0,
 -       0,     0,    86,     0,    21,    22,     0,    23,     0,    24,
 -       0,    13,    25,    26,     0,    61,    14,    15,    16,    17,
 -       0,     0,     4,     5,     0,    20,     6,     7,    87,    88,
 -      89,    21,    22,     0,    23,     0,    24,     0,     0,    25,
 -      26,    90,    61,     0,    92,    93,     0,     0,     0,     4,
 -       5,     0,     0,     6,     7,     0,     0,     0,    13,     0,
++       0,    20,     0,     0,     0,     0,     0,    21,    22,     0,
++      23,     0,    24,     0,     0,    25,    26,     0,    61,     0,
++      13,    76,     0,    77,     0,    14,    15,    16,    17,     0,
++     117,     0,     4,     5,     0,    20,     6,     7,   118,     0,
++       0,    21,    22,     0,    23,     0,    24,     0,     0,    25,
++      26,     0,    61,     0,     0,     0,     0,    77,   230,     0,
++       4,     5,     0,     0,     6,     7,   118,     0,    13,     0,
+        0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
 -       0,     0,    20,     0,     0,     0,     0,     0,    21,    22,
 -       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
 -      14,    15,    16,    17,     0,     0,     0,     0,     0,    20,
++       0,     0,     0,    20,     0,     0,     0,     0,     0,    21,
++      22,     0,    23,     0,    24,     0,    13,    25,    26,  -117,
++      61,    14,    15,    16,    17,     0,    69,     0,     4,     5,
++       0,    20,     6,     7,     0,     0,     0,    21,    22,     0,
++      23,     0,    24,     0,     0,    25,    26,     0,    61,     0,
++       0,     0,     0,     0,   193,     0,     4,     5,     0,     0,
++       6,     7,     0,     0,    13,     0,     0,     0,     0,    14,
++      15,    16,    17,     0,     0,     0,     0,     0,     0,    20,
+        0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,     0,    25,    66,     0,    61
++      24,     0,    13,    25,    26,     0,    61,    14,    15,    16,
++      17,     0,     0,     0,     0,     4,   269,    20,     0,     6,
++       7,     0,     0,    21,    22,     0,    23,     0,    24,     0,
++       0,    25,    26,     0,    61,   204,     0,     0,     0,     0,
++       0,     0,     0,     0,   211,   212,     0,     0,     0,     4,
++       5,    13,     0,     6,     7,     0,    14,    15,    16,    17,
++       0,     0,     0,     0,     0,     0,    20,     0,     0,   204,
++       0,     0,    21,    22,     0,    23,     0,    24,   211,   212,
++      25,    26,     0,    61,     0,    13,     0,     0,     0,     0,
++      14,    15,    16,    17,     4,     5,     0,     0,     6,     7,
++      20,     0,     0,    97,     0,     0,    21,    22,     0,    23,
++       0,    24,     0,     0,    25,    26,     0,    61,     0,     0,
++       0,     0,     4,     5,     0,     0,     6,     7,   118,     0,
++      13,     0,     0,     0,     0,    14,    15,    16,    17,     0,
++       0,     0,     0,     0,    86,    20,     0,     0,     0,    87,
++       0,    21,    22,     0,    23,     0,    24,     0,    13,    25,
++      26,     0,    61,    14,    15,    16,    17,     4,     5,     0,
++       0,     6,     7,    20,     0,    88,    89,    90,     0,    21,
++      22,     0,    23,     0,    24,     0,     0,    25,    26,    91,
++      61,     0,    93,    94,     0,     4,     5,     0,     0,     6,
 +       7,     0,     0,    13,     0,     0,     0,     0,    14,    15,
 +      16,    17,     0,     0,     0,     0,     0,     0,    20,     0,
 +       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
-        0,    13,    25,    26,     0,    59,    14,    15,    16,    17,
-        0,     0,     0,     0,     4,   266,    20,     0,     6,     7,
++       0,     0,    25,    26,     0,    61,    14,    15,    16,    17,
++      86,     0,     0,     0,     0,    87,    20,     0,     0,     0,
 +       0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
-       25,    26,     0,    59,   200,     0,     0,     0,     0,     0,
-        0,     0,     0,   207,   208,     0,     0,     0,     4,     5,
-       13,     0,     6,     7,     0,    14,    15,    16,    17,     0,
-        0,     0,     0,     0,     0,    20,     0,     0,   200,     0,
-        0,    21,    22,     0,    23,     0,    24,   207,   208,    25,
-       26,     0,    59,     0,    13,     0,     0,     0,     0,    14,
-       15,    16,    17,     4,     5,     0,     0,     6,     7,    20,
-        0,     0,    96,     0,     0,    21,    22,     0,    23,     0,
-       24,     0,     0,    25,    26,     0,    59,     0,     0,     0,
-        0,     4,     5,     0,     0,     6,     7,   117,     0,    13,
-        0,     0,     0,     0,    14,    15,    16,    17,     0,     0,
-        0,     0,     0,    85,    20,     0,     0,     0,    86,     0,
-       21,    22,     0,    23,     0,    24,     0,    13,    25,    26,
-        0,    59,    14,    15,    16,    17,     4,     5,     0,     0,
-        6,     7,    20,     0,    87,    88,    89,     0,    21,    22,
-        0,    23,     0,    24,     0,     0,    25,    26,    90,    59,
-        0,    92,    93,     0,     4,     5,     0,     0,     6,     7,
-        0,     0,    13,   137,     0,     0,     0,    14,    15,    16,
-       17,     0,     0,     0,     0,     0,    85,    20,     0,     0,
-        0,    86,     0,    21,    22,     0,    23,     0,    24,     0,
-        0,    25,    26,     0,    59,    14,    15,    16,    17,    85,
-        0,     0,     0,     0,    86,    20,     0,    87,    88,    89,
-        0,    21,    22,     0,    23,     0,    24,     0,    85,    25,
-       64,    90,    59,    86,    92,    93,     0,     0,    85,     0,
-       87,    88,    89,    86,     0,     0,     0,     0,     0,     0,
-        0,     0,    75,     0,    90,     0,    91,    92,    93,    87,
-       88,    89,     0,     0,     0,     0,     0,     0,     0,    87,
-       88,    89,     0,    90,   223,     0,    92,    93,     0,     0,
-        0,     0,     0,    90,     0,     0,    92,    93
++      25,    66,     0,    61,     0,     0,     0,     0,     0,     0,
++       0,    88,    89,    90,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,    91,   226,     0,    93,    94
  };
  
  static const yytype_int16 yycheck[] =
  {
-        1,    86,     1,    29,    68,    31,    47,     1,    87,     1,
-      251,    13,    14,    15,    45,    27,   219,   120,     4,    21,
-       22,     3,    24,    25,     1,    26,   111,     4,     4,    69,
-       41,   317,     1,    72,    36,    29,    53,     6,    21,    22,
-      326,    24,    69,    44,    45,    53,     1,    59,    69,    44,
-       45,     6,   241,    36,    53,   119,     1,    17,     1,    76,
-       74,    72,    50,    64,    53,    57,    74,    49,    76,    51,
-       52,    62,    63,    64,    44,    45,    67,    76,   240,     1,
-       81,    73,   323,    69,    80,    86,    58,    88,    89,    90,
-      154,     1,    68,    70,    95,    91,    98,    99,   100,   101,
-      102,   103,   104,   105,   106,   107,   108,   109,    53,   188,
-       53,    17,    72,    69,   115,    98,    99,   100,   101,   102,
-      103,   104,   105,   106,   107,   108,   109,   129,   317,   232,
-      152,    76,   294,    76,   135,    57,   298,   326,   139,     1,
-      136,   344,    13,    14,   347,     1,   129,    57,    70,   143,
-       67,     3,   146,   315,     1,   149,   318,    10,    53,     6,
-       70,   162,   164,    25,    26,     1,    72,   231,     4,    39,
-        4,   181,   182,    44,    45,    10,     5,     9,    70,    69,
-      181,   182,   143,    54,   346,   146,    14,   349,   149,    69,
-       41,    53,    69,    69,    76,   259,     4,    70,   220,   263,
-      264,    57,    27,    69,    11,    58,    59,   203,    21,   210,
-      289,   205,   206,    75,    70,   209,   212,   211,   240,   250,
-      261,   215,   223,    58,    59,   221,    56,   291,     7,   251,
-       75,     7,    31,   234,   235,   320,   300,   238,   239,   270,
-       10,   282,   320,   307,   205,   206,   268,   303,   209,   250,
-      211,   245,    25,   164,   215,   235,   252,     7,     8,     9,
-      256,    81,   282,   327,   335,    -1,   260,    -1,    -1,   270,
-       -1,   297,   294,    -1,    -1,   339,   298,    -1,    -1,   301,
-       -1,    -1,    -1,   279,   245,    -1,    -1,   309,    -1,    -1,
-      286,   287,    -1,   315,   290,    -1,   318,    -1,   299,   260,
-      301,   303,    -1,    -1,    54,    -1,    -1,    -1,    -1,   311,
-       60,    61,   308,    63,   310,    -1,   312,   313,   314,    -1,
-      316,     3,     4,    -1,   346,    10,   348,   349,   311,   351,
-       15,    -1,     0,     1,    -1,     3,     4,    -1,    -1,     7,
-        8,   337,     1,    -1,   340,    -1,    -1,   343,    -1,   345,
-       18,    19,    11,    -1,    -1,    -1,    41,    42,    -1,    60,
-       61,    62,    63,    64,    46,    47,    67,    -1,    36,    37,
-       38,    39,    -1,    58,    59,    -1,    44,    45,    46,    47,
-       48,    -1,    -1,    -1,    -1,    53,    54,    -1,    -1,    71,
-       -1,    -1,    60,    61,    53,    63,    -1,    65,    57,    -1,
-       68,    69,    -1,    71,    -1,    -1,    74,     1,    76,     3,
-        4,    70,    -1,     7,     8,    -1,    -1,    76,    60,    61,
-       62,    63,    64,    -1,    -1,    67,    20,    -1,    22,    23,
-       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-       34,    35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
-       44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
-       54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,
-       -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,    -1,
-       74,    75,    76,     1,    -1,     3,     4,    -1,    -1,     7,
-        8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    20,    -1,    22,    23,    24,    25,    26,    27,
-       28,    29,    30,    31,    32,    33,    34,    35,    -1,    -1,
-       -1,    39,    40,    -1,    -1,    -1,    44,    45,    46,    47,
-       -1,    -1,    -1,    -1,    -1,    53,    54,    -1,    -1,    -1,
-       -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,    -1,
-       68,    69,    -1,    71,    -1,    -1,    74,    75,    76,     1,
-       -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,
-       22,    23,    24,    -1,    -1,    27,    28,    29,    30,    31,
-       32,    33,    34,    35,    10,    -1,    -1,    39,    40,    15,
-       -1,    -1,    44,    45,    46,    47,    -1,     1,    -1,     3,
-        4,    -1,    54,     7,     8,    -1,    -1,    11,    60,    61,
-       -1,    63,    -1,    65,    -1,    41,    68,    69,    -1,    71,
-       -1,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    58,    59,    -1,    39,    -1,    -1,    -1,    -1,
-       44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
-       54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,
-       -1,    65,    -1,    -1,    68,    69,    70,    71,    -1,     3,
-        4,    -1,    76,     7,     8,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,
-       24,    -1,    -1,    27,    28,    29,    30,    31,    32,    33,
-       34,    35,    -1,     3,     4,    39,    40,     7,     8,    -1,
-       44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,
-       54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,
-       -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,    39,
-       74,    -1,    76,    -1,    44,    45,    46,    47,    -1,     1,
-       -1,     3,     4,    -1,    54,     7,     8,     9,    -1,    -1,
-       60,    61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,
-       -1,    71,    -1,    -1,    -1,    -1,    76,     1,    -1,     3,
-        4,    -1,    -1,     7,     8,     9,    -1,    39,    -1,    -1,
-       -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,
-       -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,    60,    61,
-       -1,    63,    -1,    65,    -1,    39,    68,    69,    70,    71,
-       44,    45,    46,    47,    -1,     1,    -1,     3,     4,    -1,
-       54,     7,     8,    -1,    -1,    -1,    60,    61,    -1,    63,
 -       1,    44,    29,    30,   217,    70,    86,   238,     1,    87,
 -      46,    13,    14,    15,    29,     1,     1,     1,   248,    21,
 -      22,     1,    24,    25,     1,    26,   120,    17,    17,     6,
 -       3,   111,    10,    35,    52,    27,    29,    15,    21,    22,
 -     314,    24,    43,    44,     1,     4,     1,     4,     4,   323,
 -       1,     6,    35,     4,   119,    73,    68,    75,    59,    60,
 -      59,    60,    71,    41,    42,    66,   131,   132,    52,    61,
 -      56,    56,    52,    68,     1,    73,    49,     1,    51,    57,
 -      58,    71,    71,   314,    69,    86,    72,    88,    89,    90,
 -     320,    75,   323,   237,    95,    75,    98,    99,   100,   101,
 -     102,   103,   104,   105,   106,   107,   108,   109,    68,    68,
 -     188,    67,    69,     1,   115,    98,    99,   100,   101,   102,
 -     103,   104,   105,   106,   107,   108,   109,   129,   341,    56,
 -     145,   344,    56,   148,    10,   229,   137,    25,    26,    15,
 -     141,    52,    69,    81,    52,    69,   129,   291,    44,    45,
 -      68,   295,   145,    91,    41,   148,   179,   180,    10,   160,
 -     162,    44,    45,   228,    52,    41,    50,    75,   312,     3,
 -       1,   315,    57,    66,     3,     4,     4,    52,   179,   180,
 -      11,    57,    58,     5,    71,    39,    74,    14,   203,   204,
 -       9,   256,   207,    41,   209,   260,   261,    69,   213,   343,
 -     138,    68,   346,   218,   247,    57,    58,   208,   286,    10,
 -     203,   204,    68,    68,   207,    68,   209,    46,    47,   220,
 -     213,    52,   258,   288,   267,    56,    75,   242,     4,    69,
 -     231,   232,   297,    27,   235,   236,    11,   317,    69,   304,
 -      21,    70,   257,   279,    75,   145,   247,    68,   148,   242,
 -     265,    59,    60,    61,    62,    63,    57,    58,    66,   324,
 -      55,    13,    14,   201,   257,    74,   267,   294,     7,     8,
 -       9,   336,   210,    59,    60,    61,    62,    63,     7,     7,
 -      66,   219,    30,   298,   317,    10,   232,   300,    25,   162,
 -      15,   306,    44,    45,   332,   296,    -1,   298,   300,    -1,
 -     279,    53,    -1,   203,   204,    -1,   308,   207,    -1,   209,
 -      -1,   249,    -1,   213,    53,   253,    41,    42,    43,    -1,
 -      59,    60,    -1,    62,    -1,   308,    61,    62,    63,    54,
 -      -1,    66,    57,    58,    -1,    -1,    -1,    -1,   276,    -1,
 -      -1,    -1,   242,    -1,    -1,   283,   284,    -1,    -1,   287,
 -      75,    -1,    -1,    -1,    -1,    -1,    -1,   257,    -1,    10,
 -      -1,    -1,    -1,    -1,    15,    -1,    -1,   305,    -1,   307,
 -      -1,   309,   310,   311,    -1,   313,     0,     1,    -1,     3,
 -       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,
 -      41,    42,    43,    -1,    18,    19,   334,    -1,    -1,   337,
 -      -1,    -1,   340,    54,   342,    -1,    57,    58,    -1,    -1,
 -      -1,    -1,    36,    37,    38,    39,    -1,    -1,    69,    -1,
 -      44,    45,    46,    47,    48,    -1,    -1,    -1,    52,    53,
 -      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
 -      64,    -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,
 -       1,    75,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
 -      -1,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 -      31,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
 -      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
 -      -1,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,
 -      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
 -      -1,    -1,    73,    74,    75,     1,    -1,     3,     4,    -1,
 -      -1,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,    25,
 -      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 -      -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,    45,
 -      46,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
 -      -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,    -1,
 -      -1,    67,    68,    -1,    70,    -1,    -1,    73,    74,    75,
++       1,     1,    29,    30,    46,    70,    87,   223,    88,     1,
++      44,    13,    14,    15,     4,   121,    27,     3,     4,    21,
++      22,     1,    24,    25,     1,    26,    17,   320,    10,     1,
++       4,   112,    17,    35,     6,    41,   329,    29,    21,    22,
++       1,    24,    43,    44,     1,     6,     1,     4,    53,    69,
++      61,     6,    35,    82,   244,   120,    72,    57,    59,    60,
++      46,    47,    69,    92,    74,    66,    72,   132,   133,   146,
++      70,    76,   149,    53,   254,   152,    58,    59,    53,    69,
++      57,    72,    69,     1,     1,    71,    87,    72,    89,    90,
++      91,     1,     1,    70,    68,    96,    76,    99,   100,   101,
++     102,   103,   104,   105,   106,   107,   108,   109,   110,    50,
++     139,     1,   192,    70,     4,   116,    99,   100,   101,   102,
++     103,   104,   105,   106,   107,   108,   109,   110,   130,   235,
++     320,   347,   209,   210,   350,    53,   213,   138,   215,   329,
++      57,   142,   219,    53,    10,    69,   326,   130,    57,    15,
++      62,    63,    64,   243,   146,    67,    73,   149,    76,    58,
++     152,    70,     3,   164,   166,    67,    76,    10,    53,   234,
++       5,   248,    15,    44,    45,    41,    42,    43,   207,   155,
++       4,     1,   183,   184,    44,    45,   263,   216,    39,    55,
++      59,    60,    58,    59,     1,     9,   225,   262,    41,    42,
++      70,   266,   267,    14,    11,    25,    26,   297,    41,    10,
++      76,   301,   292,   214,    69,    58,    59,   209,   210,   253,
++      69,   213,   264,   215,    69,   226,   255,   219,   318,   294,
++     259,   321,    69,    53,   183,   184,   237,   238,   303,   273,
++     241,   242,   323,   285,    76,   310,    53,    53,   224,     4,
++      57,     3,   253,   282,    70,    75,   248,    58,    59,   349,
++     289,   290,   352,    70,   293,   330,    27,   243,    74,    76,
++      76,   263,   273,   300,    11,    10,    69,   342,   254,    21,
++      15,    56,   311,    75,   313,     7,   315,   316,   317,     7,
++     319,    30,   323,   238,   306,   271,    25,    49,   166,    51,
++      52,   302,   338,   304,   306,    -1,    41,    42,    43,    -1,
++      -1,   340,   314,    -1,   343,   285,    -1,   346,    -1,   348,
++      55,   297,    10,    58,    59,   301,    -1,    15,   304,    -1,
++      -1,   314,    -1,    13,    14,    70,   312,    -1,    -1,     7,
++       8,     9,   318,     0,     1,   321,     3,     4,    -1,    -1,
++       7,     8,    10,    41,    42,    43,    -1,    15,    -1,    -1,
++      -1,    18,    19,    -1,    44,    45,    -1,    55,    -1,    57,
++      58,    59,    -1,   349,    54,   351,   352,    -1,   354,    36,
++      37,    38,    39,    41,    -1,    -1,    54,    44,    45,    46,
++      47,    48,    60,    61,    -1,    63,    53,    54,    -1,    -1,
++      58,    59,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
++      -1,    68,    69,    -1,    71,    -1,    -1,    74,     1,    76,
++       3,     4,    -1,    -1,     7,     8,    60,    61,    62,    63,
++      64,    -1,    -1,    67,    -1,    -1,    -1,    20,    -1,    22,
++      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
++      33,    34,    35,    -1,    -1,    -1,    39,    40,    -1,    -1,
++      -1,    44,    45,    46,    47,    60,    61,    62,    63,    64,
++      53,    54,    67,    -1,    -1,    -1,    -1,    60,    61,    -1,
++      63,    -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,
++      -1,    74,    75,    76,     1,    -1,     3,     4,    -1,    -1,
++       7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    20,    -1,    22,    23,    24,    25,    26,
++      27,    28,    29,    30,    31,    32,    33,    34,    35,    -1,
++      -1,    -1,    39,    40,    -1,    -1,    -1,    44,    45,    46,
++      47,    -1,    -1,    -1,    -1,    -1,    53,    54,    -1,    -1,
++      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
++      -1,    68,    69,    -1,    71,    -1,    -1,    74,    75,    76,
+        1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
+       -1,    22,    23,    24,    -1,    -1,    27,    28,    29,    30,
+       31,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
 -      -1,    -1,    -1,    44,    45,    46,    47,     1,    -1,     3,
 -       4,    -1,    53,     7,     8,    -1,    -1,    11,    59,    60,
 -      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
 -      -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
 -      44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,
 -      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
 -      64,    -1,    -1,    67,    68,    69,    70,    -1,     3,     4,
 -      -1,    75,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,
 -      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
 -      35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,
 -      45,    46,    47,    -1,    -1,     3,     4,    -1,    53,     7,
 -       8,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
 -      -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,    -1,
 -      75,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
 -      -1,    39,     7,     8,     9,    -1,    44,    45,    46,    47,
 -      -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,    -1,    -1,
 -      -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
 -      68,    -1,    70,    -1,    39,    -1,    -1,    75,    -1,    44,
 -      45,    46,    47,     1,    -1,     3,     4,    -1,    53,     7,
 -       8,     9,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
 -      -1,    -1,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
 -       1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
 -      -1,    39,    -1,    -1,    -1,    -1,    44,    45,    46,    47,
 -      -1,    -1,    -1,    -1,    10,    53,    -1,    -1,    -1,    15,
 -      -1,    59,    60,    -1,    62,    -1,    64,    -1,    39,    67,
 -      68,    -1,    70,    44,    45,    46,    47,     1,    -1,     3,
 -       4,    -1,    53,     7,     8,    41,    42,    43,    59,    60,
 -      -1,    62,    -1,    64,    -1,    -1,    67,    68,    54,    70,
 -      56,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,     3,     4,    -1,    39,     7,     8,    -1,    -1,
 -      44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
 -      -1,    -1,    23,    -1,    -1,    59,    60,    -1,    62,    -1,
 -      64,    32,    33,    67,    68,    -1,    70,    -1,    39,    -1,
 -      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
 -       3,     4,    53,    -1,     7,     8,    -1,    -1,    59,    60,
 -      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
 -      23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,
 -      33,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
++      -1,    -1,    -1,    44,    45,    46,    47,    -1,     1,    -1,
++       3,     4,    -1,    54,     7,     8,    -1,    -1,    11,    60,
++      61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,    -1,
++      71,    -1,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
+       -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,
 -      53,    -1,    -1,    -1,    -1,    -1,    59,    60,    10,    62,
 -      -1,    64,    -1,    15,    67,    68,    -1,    70,     3,     4,
 -      -1,    -1,     7,     8,    -1,    -1,    -1,    12,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
 -      42,    43,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
 -       8,     9,    54,    55,    39,    57,    58,    -1,    -1,    44,
 -      45,    46,    47,    -1,    -1,    -1,    -1,    10,    53,    -1,
 -      -1,    -1,    15,    -1,    59,    60,    -1,    62,    -1,    64,
 -      -1,    39,    67,    68,    -1,    70,    44,    45,    46,    47,
 -      -1,    -1,     3,     4,    -1,    53,     7,     8,    41,    42,
 -      43,    59,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
 -      68,    54,    70,    -1,    57,    58,    -1,    -1,    -1,     3,
 -       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    39,    -1,
++      53,    54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,
++      63,    -1,    65,    -1,    -1,    68,    69,    70,    71,    -1,
++       3,     4,    -1,    76,     7,     8,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,    22,
++      23,    24,    -1,    -1,    27,    28,    29,    30,    31,    32,
++      33,    34,    35,    -1,     3,     4,    39,    40,     7,     8,
++      -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,
++      -1,    54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,
++      63,    -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,
++      39,    74,    -1,    76,    -1,    44,    45,    46,    47,    -1,
++       1,    -1,     3,     4,    -1,    54,     7,     8,     9,    -1,
++      -1,    60,    61,    -1,    63,    -1,    65,    -1,    -1,    68,
++      69,    -1,    71,    -1,    -1,    -1,    -1,    76,     1,    -1,
++       3,     4,    -1,    -1,     7,     8,     9,    -1,    39,    -1,
+       -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
 -      -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,
 -      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
 -      44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
 -      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
 -      64,    -1,    -1,    67,    68,    -1,    70
++      -1,    -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,    60,
++      61,    -1,    63,    -1,    65,    -1,    39,    68,    69,    70,
++      71,    44,    45,    46,    47,    -1,     1,    -1,     3,     4,
++      -1,    54,     7,     8,    -1,    -1,    -1,    60,    61,    -1,
++      63,    -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,
++      -1,    -1,    -1,    -1,     1,    -1,     3,     4,    -1,    -1,
++       7,     8,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,
++      45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    54,
++      -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,    -1,
++      65,    -1,    39,    68,    69,    -1,    71,    44,    45,    46,
++      47,    -1,    -1,    -1,    -1,     3,     4,    54,    -1,     7,
++       8,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
++      -1,    68,    69,    -1,    71,    23,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    32,    33,    -1,    -1,    -1,     3,
++       4,    39,    -1,     7,     8,    -1,    44,    45,    46,    47,
++      -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    23,
++      -1,    -1,    60,    61,    -1,    63,    -1,    65,    32,    33,
++      68,    69,    -1,    71,    -1,    39,    -1,    -1,    -1,    -1,
++      44,    45,    46,    47,     3,     4,    -1,    -1,     7,     8,
++      54,    -1,    -1,    12,    -1,    -1,    60,    61,    -1,    63,
 +      -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,    -1,
-       -1,    -1,    -1,     1,    -1,     3,     4,    -1,    -1,     7,
++      -1,    -1,     3,     4,    -1,    -1,     7,     8,     9,    -1,
++      39,    -1,    -1,    -1,    -1,    44,    45,    46,    47,    -1,
++      -1,    -1,    -1,    -1,    10,    54,    -1,    -1,    -1,    15,
++      -1,    60,    61,    -1,    63,    -1,    65,    -1,    39,    68,
++      69,    -1,    71,    44,    45,    46,    47,     3,     4,    -1,
++      -1,     7,     8,    54,    -1,    41,    42,    43,    -1,    60,
++      61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,    55,
++      71,    -1,    58,    59,    -1,     3,     4,    -1,    -1,     7,
 +       8,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,
 +      46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,
 +      -1,    -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,
-       -1,    39,    68,    69,    -1,    71,    44,    45,    46,    47,
-       -1,    -1,    -1,    -1,     3,     4,    54,    -1,     7,     8,
++      -1,    -1,    68,    69,    -1,    71,    44,    45,    46,    47,
++      10,    -1,    -1,    -1,    -1,    15,    54,    -1,    -1,    -1,
 +      -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,    -1,
-       68,    69,    -1,    71,    23,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    32,    33,    -1,    -1,    -1,     3,     4,
-       39,    -1,     7,     8,    -1,    44,    45,    46,    47,    -1,
-       -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    23,    -1,
-       -1,    60,    61,    -1,    63,    -1,    65,    32,    33,    68,
-       69,    -1,    71,    -1,    39,    -1,    -1,    -1,    -1,    44,
-       45,    46,    47,     3,     4,    -1,    -1,     7,     8,    54,
-       -1,    -1,    12,    -1,    -1,    60,    61,    -1,    63,    -1,
-       65,    -1,    -1,    68,    69,    -1,    71,    -1,    -1,    -1,
-       -1,     3,     4,    -1,    -1,     7,     8,     9,    -1,    39,
-       -1,    -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,
-       -1,    -1,    -1,    10,    54,    -1,    -1,    -1,    15,    -1,
-       60,    61,    -1,    63,    -1,    65,    -1,    39,    68,    69,
-       -1,    71,    44,    45,    46,    47,     3,     4,    -1,    -1,
-        7,     8,    54,    -1,    41,    42,    43,    -1,    60,    61,
-       -1,    63,    -1,    65,    -1,    -1,    68,    69,    55,    71,
-       -1,    58,    59,    -1,     3,     4,    -1,    -1,     7,     8,
-       -1,    -1,    39,    70,    -1,    -1,    -1,    44,    45,    46,
-       47,    -1,    -1,    -1,    -1,    -1,    10,    54,    -1,    -1,
-       -1,    15,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
-       -1,    68,    69,    -1,    71,    44,    45,    46,    47,    10,
-       -1,    -1,    -1,    -1,    15,    54,    -1,    41,    42,    43,
-       -1,    60,    61,    -1,    63,    -1,    65,    -1,    10,    68,
-       69,    55,    71,    15,    58,    59,    -1,    -1,    10,    -1,
-       41,    42,    43,    15,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    76,    -1,    55,    -1,    57,    58,    59,    41,
-       42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
-       42,    43,    -1,    55,    56,    -1,    58,    59,    -1,    -1,
-       -1,    -1,    -1,    55,    -1,    -1,    58,    59
++      68,    69,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,    59
  };
  
    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
       symbol of state STATE-NUM.  */
  static const yytype_uint8 yystos[] =
  {
 -       0,    77,     0,     1,     3,     4,     7,     8,    18,    19,
 -      36,    37,    38,    39,    44,    45,    46,    47,    48,    52,
 -      53,    59,    60,    62,    64,    67,    68,    70,    78,    81,
 -      85,    87,    90,   108,   119,   123,   124,   125,   126,   127,
 -     128,   136,   137,    68,    71,   133,   134,   135,     3,     4,
 -      46,    47,    70,    83,    84,   129,   137,   137,   137,    68,
 -      68,    70,   124,   137,   124,   124,    68,   126,   137,     1,
 -     115,   119,    49,    51,   128,    73,    75,    82,    92,   108,
 -     139,   143,    82,    88,    52,    10,    15,    41,    42,    43,
 -      54,    56,    57,    58,   121,   122,    12,   124,    59,    60,
 -      61,    62,    63,    66,    59,    60,    61,    62,    63,    66,
 -      13,    14,    44,    45,    53,   120,     1,     9,    89,   116,
 -     117,   118,   119,   115,   119,    17,   133,    50,    68,    57,
 -     110,   116,   116,   119,    44,    45,   138,     1,    56,    69,
 -     141,   145,   141,     1,     6,    79,     1,     6,    80,   108,
 -     109,    91,   109,     5,    89,   119,   136,   119,   119,   119,
 -     109,   119,    39,   124,   124,   124,   124,   124,   124,   124,
 -     124,   124,   124,   124,   124,    89,    14,   119,   141,     1,
 -     145,    72,    86,   124,   141,   141,   119,   109,    41,     1,
 -     119,     1,    92,     1,    92,     1,    20,    22,    23,    24,
 -      27,    28,    29,    30,    31,    32,    33,    34,    35,    40,
 -      74,    93,    94,    96,   103,   107,   119,   139,   140,   143,
 -      55,   119,   129,   118,     1,   118,     1,     4,   111,   112,
 -     136,    68,    95,     4,    68,    68,    68,   109,    68,    92,
 -      92,    92,   113,   119,    92,   109,    92,    97,    91,   142,
 -     143,   109,   119,   141,     1,   145,   119,   113,    98,     4,
 -     119,   119,    93,     4,    96,    99,    92,    68,   104,   114,
 -     115,   140,   109,   109,     1,     4,   141,    92,   130,   131,
 -     132,   133,    69,   141,   141,    27,    41,   143,   115,    11,
 -     105,   109,    17,   132,   109,   109,    68,   136,   109,   141,
 -     106,    93,   139,    93,   119,   141,   119,   143,   123,    21,
 -     100,   141,   109,   143,   109,   109,     1,    25,    26,   101,
 -     109,   109,    93,   109,    99,    93,     7,     8,    59,    60,
 -      87,    89,   102,    55,   144,   140,    99,   141,     7,     7,
 -     144,   109,   141,   109,   109,    91,   109,    93,    91,    93
 +       0,    78,     0,     1,     3,     4,     7,     8,    18,    19,
 +      36,    37,    38,    39,    44,    45,    46,    47,    48,    53,
 +      54,    60,    61,    63,    65,    68,    69,    71,    79,    83,
-       86,    87,    89,    92,   110,   121,   125,   126,   127,   128,
-      129,   130,   138,   139,    69,    72,   135,   136,   137,     3,
-        4,    47,    71,    85,    86,   131,   139,   139,   139,    71,
-      126,   139,   126,   126,    69,   128,   139,     1,   117,   121,
-       49,    51,    52,   130,    74,    76,    84,    94,   110,   141,
-      145,    69,    84,    90,    53,    10,    15,    41,    42,    43,
-       55,    57,    58,    59,   123,   124,    12,   126,    60,    61,
-       62,    63,    64,    67,    60,    61,    62,    63,    64,    67,
-       13,    14,    44,    45,    54,   122,     1,     9,    91,   118,
-      119,   120,   121,   117,   121,    17,   135,    50,    69,    58,
-      112,   121,    44,    45,   140,     1,    57,    70,   143,   147,
-      143,     1,     6,    80,     1,     6,    81,     1,     6,    82,
-      110,   111,    93,   111,   118,     5,    91,   121,   138,   121,
-      121,   121,   111,   121,    39,   126,   126,   126,   126,   126,
-      126,   126,   126,   126,   126,   126,   126,    91,    14,   121,
-      143,     1,   147,    73,    88,   126,   121,   111,    41,     1,
-      121,     1,    94,     1,    94,     1,    94,     1,    20,    22,
-       23,    24,    27,    28,    29,    30,    31,    32,    33,    34,
-       35,    40,    75,    95,    96,    98,   105,   109,   121,   141,
-      142,   145,   143,    56,   121,   131,   120,     1,   120,     1,
-        4,   113,   114,   138,    69,    97,     4,    69,    69,    69,
-      111,    69,    94,    94,    94,   115,   121,    94,   111,    94,
-       99,    93,   144,   145,   111,   121,   143,     1,   147,   121,
-      115,   100,     4,   121,   121,    95,     4,    98,   101,    94,
-       69,   106,   116,   117,   142,   111,   111,     1,     4,   143,
-       94,   132,   133,   134,   135,    70,   143,   143,    27,    41,
-      145,   117,    11,   107,   111,    17,   134,   111,   111,    69,
-      138,   111,   143,   108,    95,   141,    95,   121,   143,   121,
-      145,   125,    21,   102,   143,   111,   145,   111,   111,     1,
-       25,    26,   103,   111,   111,    95,   111,   101,    95,     7,
-        8,    60,    61,    89,    91,   104,    56,   146,   142,   101,
-      143,     7,     7,   146,   111,   143,   111,   111,    93,   111,
-       95,    93,    95
++      87,    89,    92,   110,   121,   125,   126,   127,   128,   129,
++     130,   138,   139,    69,    72,   135,   136,   137,     3,     4,
++      46,    47,    71,    85,    86,   131,   139,   139,   139,    69,
++      69,    71,   126,   139,   126,   126,    69,   128,   139,     1,
++     117,   121,    49,    51,    52,   130,    74,    76,    84,    94,
++     110,   141,   145,    84,    90,    53,    10,    15,    41,    42,
++      43,    55,    57,    58,    59,   123,   124,    12,   126,    60,
++      61,    62,    63,    64,    67,    60,    61,    62,    63,    64,
++      67,    13,    14,    44,    45,    54,   122,     1,     9,    91,
++     118,   119,   120,   121,   117,   121,    17,   135,    50,    69,
++      58,   112,   118,   118,   121,    44,    45,   140,     1,    57,
++      70,   143,   147,   143,     1,     6,    80,     1,     6,    81,
++       1,     6,    82,   110,   111,    93,   111,     5,    91,   121,
++     138,   121,   121,   121,   111,   121,    39,   126,   126,   126,
++     126,   126,   126,   126,   126,   126,   126,   126,   126,    91,
++      14,   121,   143,     1,   147,    73,    88,   126,   143,   143,
++     121,   111,    41,     1,   121,     1,    94,     1,    94,     1,
++      94,     1,    20,    22,    23,    24,    27,    28,    29,    30,
++      31,    32,    33,    34,    35,    40,    75,    95,    96,    98,
++     105,   109,   121,   141,   142,   145,    56,   121,   131,   120,
++       1,   120,     1,     4,   113,   114,   138,    69,    97,     4,
++      69,    69,    69,   111,    69,    94,    94,    94,   115,   121,
++      94,   111,    94,    99,    93,   144,   145,   111,   121,   143,
++       1,   147,   121,   115,   100,     4,   121,   121,    95,     4,
++      98,   101,    94,    69,   106,   116,   117,   142,   111,   111,
++       1,     4,   143,    94,   132,   133,   134,   135,    70,   143,
++     143,    27,    41,   145,   117,    11,   107,   111,    17,   134,
++     111,   111,    69,   138,   111,   143,   108,    95,   141,    95,
++     121,   143,   121,   145,   125,    21,   102,   143,   111,   145,
++     111,   111,     1,    25,    26,   103,   111,   111,    95,   111,
++     101,    95,     7,     8,    60,    61,    89,    91,   104,    56,
++     146,   142,   101,   143,     7,     7,   146,   111,   143,   111,
++     111,    93,   111,    95,    93,    95
  };
  
    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
  static const yytype_uint8 yyr1[] =
  {
 -       0,    76,    77,    77,    77,    77,    77,    78,    78,    78,
 -      78,    78,    79,    79,    79,    80,    80,    80,    81,    81,
 -      81,    81,    81,    81,    81,    82,    83,    83,    83,    83,
 -      84,    84,    86,    85,    88,    87,    89,    90,    90,    91,
 -      91,    91,    92,    92,    93,    93,    93,    93,    93,    93,
 -      93,    93,    93,    93,    94,    94,    94,    94,    94,    95,
 -      94,    94,    97,    96,    98,    96,    96,    96,    99,    99,
 -     100,   100,   100,   101,   101,   102,   102,   102,   102,   102,
 -     102,   103,   103,   104,   104,   105,   106,   105,   107,   107,
 -     108,   108,   109,   109,   110,   110,   111,   111,   112,   112,
 -     112,   112,   112,   113,   113,   114,   114,   115,   115,   115,
 -     115,   115,   115,   116,   116,   117,   117,   117,   117,   117,
 -     117,   118,   118,   119,   119,   119,   119,   119,   119,   119,
 -     119,   119,   119,   120,   120,   120,   121,   121,   122,   122,
 -     123,   123,   123,   124,   124,   124,   124,   124,   124,   124,
 -     124,   124,   124,   124,   125,   125,   125,   125,   125,   125,
 -     125,   126,   126,   126,   126,   126,   126,   126,   126,   126,
 -     126,   126,   126,   126,   126,   127,   127,   128,   129,   129,
 -     130,   130,   131,   131,   132,   133,   134,   134,   135,   136,
 -     136,   137,   137,   138,   138,   138,   139,   140,   141,   142,
 -     142,   143,   144,   145
 +       0,    77,    78,    78,    78,    78,    78,    79,    79,    79,
 +      79,    79,    79,    80,    80,    80,    81,    81,    81,    82,
 +      82,    82,    83,    83,    83,    83,    83,    83,    83,    84,
 +      85,    85,    85,    85,    86,    86,    88,    87,    90,    89,
 +      91,    92,    92,    93,    93,    93,    94,    94,    95,    95,
 +      95,    95,    95,    95,    95,    95,    95,    95,    96,    96,
 +      96,    96,    96,    97,    96,    96,    99,    98,   100,    98,
 +      98,    98,   101,   101,   102,   102,   102,   103,   103,   104,
 +     104,   104,   104,   104,   104,   105,   105,   106,   106,   107,
 +     108,   107,   109,   109,   110,   110,   111,   111,   112,   112,
 +     113,   113,   114,   114,   114,   114,   114,   115,   115,   116,
 +     116,   117,   117,   117,   117,   117,   117,   118,   118,   119,
 +     119,   119,   119,   119,   119,   120,   120,   121,   121,   121,
 +     121,   121,   121,   121,   121,   121,   121,   122,   122,   122,
 +     123,   123,   124,   124,   125,   125,   125,   126,   126,   126,
 +     126,   126,   126,   126,   126,   126,   126,   126,   127,   127,
 +     127,   127,   127,   127,   127,   128,   128,   128,   128,   128,
-      128,   128,   128,   128,   128,   128,   128,   128,   129,   129,
-      130,   131,   131,   132,   132,   133,   133,   134,   135,   136,
-      136,   137,   138,   138,   139,   139,   140,   140,   140,   141,
-      142,   143,   144,   144,   145,   146,   147
++     128,   128,   128,   128,   128,   128,   128,   128,   128,   129,
++     129,   130,   131,   131,   132,   132,   133,   133,   134,   135,
++     136,   136,   137,   138,   138,   139,   139,   140,   140,   140,
++     141,   142,   143,   144,   144,   145,   146,   147
  };
  
    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
  static const yytype_uint8 yyr2[] =
  {
         0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
 -       4,     4,     1,     2,     1,     1,     2,     1,     0,     1,
 -       4,     1,     1,     1,     1,     5,     1,     1,     1,     2,
 -       1,     1,     0,     7,     0,     3,     1,     1,     1,     0,
 -       2,     2,     1,     2,     2,     3,     1,     9,     6,     8,
 -       8,    12,    11,     1,     2,     2,     2,     2,     3,     0,
 -       4,     2,     0,     4,     0,     4,     4,     1,     0,     1,
 -       0,     2,     2,     5,     4,     1,     2,     2,     1,     1,
 -       1,     1,     1,     1,     3,     0,     0,     3,     6,     9,
 -       1,     2,     0,     1,     0,     2,     0,     1,     1,     3,
 -       1,     2,     3,     0,     1,     0,     1,     1,     3,     1,
 -       2,     3,     3,     0,     1,     1,     3,     1,     2,     3,
 -       3,     1,     1,     3,     3,     3,     3,     3,     3,     3,
 -       3,     5,     1,     1,     1,     2,     1,     1,     1,     1,
 -       1,     1,     2,     1,     3,     3,     3,     3,     3,     3,
 -       3,     2,     2,     5,     4,     3,     3,     3,     3,     3,
 -       3,     1,     2,     3,     4,     4,     1,     1,     1,     2,
 -       2,     1,     1,     2,     2,     1,     2,     4,     0,     1,
 -       0,     2,     1,     2,     1,     3,     1,     2,     2,     1,
 -       2,     1,     3,     1,     1,     0,     2,     2,     1,     0,
 -       1,     1,     1,     2
 +       4,     4,     4,     1,     2,     1,     1,     2,     1,     1,
 +       2,     1,     0,     1,     4,     1,     1,     1,     1,     5,
 +       1,     1,     1,     2,     1,     1,     0,     7,     0,     3,
 +       1,     1,     1,     0,     2,     2,     1,     2,     2,     3,
 +       1,     9,     6,     8,     8,    12,    11,     1,     2,     2,
 +       2,     2,     3,     0,     4,     2,     0,     4,     0,     4,
 +       4,     1,     0,     1,     0,     2,     2,     5,     4,     1,
 +       2,     2,     1,     1,     1,     1,     1,     1,     3,     0,
 +       0,     3,     6,     9,     1,     2,     0,     1,     0,     2,
 +       0,     1,     1,     3,     1,     2,     3,     0,     1,     0,
 +       1,     1,     3,     1,     2,     3,     3,     0,     1,     1,
 +       3,     1,     2,     3,     3,     1,     1,     3,     3,     3,
 +       3,     3,     3,     3,     3,     5,     1,     1,     1,     2,
 +       1,     1,     1,     1,     1,     1,     2,     1,     3,     3,
 +       3,     3,     3,     3,     3,     2,     2,     5,     4,     3,
-        3,     3,     3,     3,     3,     1,     2,     3,     4,     1,
-        1,     1,     2,     2,     1,     1,     2,     2,     1,     2,
-        4,     0,     1,     0,     2,     1,     2,     1,     3,     1,
-        2,     2,     1,     2,     1,     3,     1,     1,     0,     2,
-        2,     1,     0,     1,     1,     1,     2
++       3,     3,     3,     3,     3,     1,     2,     3,     4,     4,
++       1,     1,     1,     2,     2,     1,     1,     2,     2,     1,
++       2,     4,     0,     1,     0,     2,     1,     2,     1,     3,
++       1,     2,     2,     1,     2,     1,     3,     1,     1,     0,
++       2,     2,     1,     0,     1,     1,     1,     2
  };
  
  
@@@ -1905,7 -1893,7 +1901,7 @@@ yyreduce
                rule = 0;
                yyerrok;
          }
- #line 1909 "y.tab.c" /* yacc.c:1646  */
 -#line 1897 "awkgram.c" /* yacc.c:1646  */
++#line 1905 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 5:
@@@ -1913,7 -1901,7 +1909,7 @@@
      {
                next_sourcefile();
          }
- #line 1917 "y.tab.c" /* yacc.c:1646  */
 -#line 1905 "awkgram.c" /* yacc.c:1646  */
++#line 1913 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 6:
@@@ -1926,7 -1914,7 +1922,7 @@@
                 */
                /* yyerrok; */
          }
- #line 1930 "y.tab.c" /* yacc.c:1646  */
 -#line 1918 "awkgram.c" /* yacc.c:1646  */
++#line 1926 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 7:
@@@ -1935,7 -1923,7 +1931,7 @@@
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
- #line 1939 "y.tab.c" /* yacc.c:1646  */
 -#line 1927 "awkgram.c" /* yacc.c:1646  */
++#line 1935 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 8:
@@@ -1950,7 -1938,7 +1946,7 @@@
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
- #line 1954 "y.tab.c" /* yacc.c:1646  */
 -#line 1942 "awkgram.c" /* yacc.c:1646  */
++#line 1950 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 9:
@@@ -1961,7 -1949,7 +1957,7 @@@
                want_param_names = DONT_CHECK;
                yyerrok;
          }
- #line 1965 "y.tab.c" /* yacc.c:1646  */
 -#line 1953 "awkgram.c" /* yacc.c:1646  */
++#line 1961 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 10:
@@@ -1971,7 -1959,7 +1967,7 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1975 "y.tab.c" /* yacc.c:1646  */
 -#line 1963 "awkgram.c" /* yacc.c:1646  */
++#line 1971 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 11:
@@@ -1981,26 -1969,11 +1977,26 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1985 "y.tab.c" /* yacc.c:1646  */
 -#line 1973 "awkgram.c" /* yacc.c:1646  */
++#line 1981 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 12:
 -#line 278 "awkgram.y" /* yacc.c:1646  */
 +#line 282 "awkgram.y" /* yacc.c:1646  */
 +    {
 +              want_source = false;
 +              at_seen = false;
 +
 +              // this frees $3 storage in all cases
 +              if (! set_namespace((yyvsp[-1])))
 +                      YYABORT;
 +
 +              yyerrok;
 +        }
- #line 2000 "y.tab.c" /* yacc.c:1646  */
++#line 1996 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 13:
 +#line 296 "awkgram.y" /* yacc.c:1646  */
      {
                if (include_source((yyvsp[0])) < 0)
                        YYABORT;
@@@ -2008,23 -1981,23 +2004,23 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2012 "y.tab.c" /* yacc.c:1646  */
 -#line 1985 "awkgram.c" /* yacc.c:1646  */
++#line 2008 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 13:
 -#line 286 "awkgram.y" /* yacc.c:1646  */
 +  case 14:
 +#line 304 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2018 "y.tab.c" /* yacc.c:1646  */
 -#line 1991 "awkgram.c" /* yacc.c:1646  */
++#line 2014 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 14:
 -#line 288 "awkgram.y" /* yacc.c:1646  */
 +  case 15:
 +#line 306 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2024 "y.tab.c" /* yacc.c:1646  */
 -#line 1997 "awkgram.c" /* yacc.c:1646  */
++#line 2020 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 15:
 -#line 293 "awkgram.y" /* yacc.c:1646  */
 +  case 16:
 +#line 311 "awkgram.y" /* yacc.c:1646  */
      {
                if (load_library((yyvsp[0])) < 0)
                        YYABORT;
@@@ -2032,41 -2005,23 +2028,41 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2036 "y.tab.c" /* yacc.c:1646  */
 -#line 2009 "awkgram.c" /* yacc.c:1646  */
++#line 2032 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 16:
 -#line 301 "awkgram.y" /* yacc.c:1646  */
 +  case 17:
 +#line 319 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2042 "y.tab.c" /* yacc.c:1646  */
 -#line 2015 "awkgram.c" /* yacc.c:1646  */
++#line 2038 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 17:
 -#line 303 "awkgram.y" /* yacc.c:1646  */
 +  case 18:
 +#line 321 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2048 "y.tab.c" /* yacc.c:1646  */
 -#line 2021 "awkgram.c" /* yacc.c:1646  */
++#line 2044 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 18:
 -#line 308 "awkgram.y" /* yacc.c:1646  */
 +  case 19:
 +#line 326 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = (yyvsp[0]); }
- #line 2054 "y.tab.c" /* yacc.c:1646  */
++#line 2050 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 20:
 +#line 328 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
- #line 2060 "y.tab.c" /* yacc.c:1646  */
++#line 2056 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 21:
 +#line 330 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
- #line 2066 "y.tab.c" /* yacc.c:1646  */
++#line 2062 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 22:
 +#line 335 "awkgram.y" /* yacc.c:1646  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -2075,11 -2030,11 +2071,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2079 "y.tab.c" /* yacc.c:1646  */
 -#line 2034 "awkgram.c" /* yacc.c:1646  */
++#line 2075 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 19:
 -#line 317 "awkgram.y" /* yacc.c:1646  */
 +  case 23:
 +#line 344 "awkgram.y" /* yacc.c:1646  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -2088,11 -2043,11 +2084,11 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 2092 "y.tab.c" /* yacc.c:1646  */
 -#line 2047 "awkgram.c" /* yacc.c:1646  */
++#line 2088 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 20:
 -#line 327 "awkgram.y" /* yacc.c:1646  */
 +  case 24:
 +#line 354 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *tp;
  
@@@ -2122,11 -2077,11 +2118,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
- #line 2126 "y.tab.c" /* yacc.c:1646  */
 -#line 2081 "awkgram.c" /* yacc.c:1646  */
++#line 2122 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 21:
 -#line 357 "awkgram.y" /* yacc.c:1646  */
 +  case 25:
 +#line 384 "awkgram.y" /* yacc.c:1646  */
      {
                static int begin_seen = 0;
  
@@@ -2140,11 -2095,11 +2136,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2144 "y.tab.c" /* yacc.c:1646  */
 -#line 2099 "awkgram.c" /* yacc.c:1646  */
++#line 2140 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 22:
 -#line 371 "awkgram.y" /* yacc.c:1646  */
 +  case 26:
 +#line 398 "awkgram.y" /* yacc.c:1646  */
      {
                static int end_seen = 0;
  
@@@ -2158,11 -2113,11 +2154,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2162 "y.tab.c" /* yacc.c:1646  */
 -#line 2117 "awkgram.c" /* yacc.c:1646  */
++#line 2158 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 23:
 -#line 385 "awkgram.y" /* yacc.c:1646  */
 +  case 27:
 +#line 412 "awkgram.y" /* yacc.c:1646  */
      {
                func_first = false;
                (yyvsp[0])->in_rule = rule = BEGINFILE;
@@@ -2170,11 -2125,11 +2166,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2174 "y.tab.c" /* yacc.c:1646  */
 -#line 2129 "awkgram.c" /* yacc.c:1646  */
++#line 2170 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 24:
 -#line 393 "awkgram.y" /* yacc.c:1646  */
 +  case 28:
 +#line 420 "awkgram.y" /* yacc.c:1646  */
      {
                func_first = false;
                (yyvsp[0])->in_rule = rule = ENDFILE;
@@@ -2182,11 -2137,11 +2178,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2186 "y.tab.c" /* yacc.c:1646  */
 -#line 2141 "awkgram.c" /* yacc.c:1646  */
++#line 2182 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 25:
 -#line 404 "awkgram.y" /* yacc.c:1646  */
 +  case 29:
 +#line 431 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
                if ((yyvsp[-3]) == NULL)
@@@ -2195,48 -2150,48 +2191,48 @@@
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
- #line 2199 "y.tab.c" /* yacc.c:1646  */
 -#line 2154 "awkgram.c" /* yacc.c:1646  */
++#line 2195 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 26:
 -#line 416 "awkgram.y" /* yacc.c:1646  */
 +  case 30:
 +#line 443 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2205 "y.tab.c" /* yacc.c:1646  */
 -#line 2160 "awkgram.c" /* yacc.c:1646  */
++#line 2201 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 27:
 -#line 418 "awkgram.y" /* yacc.c:1646  */
 +  case 31:
 +#line 445 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2211 "y.tab.c" /* yacc.c:1646  */
 -#line 2166 "awkgram.c" /* yacc.c:1646  */
++#line 2207 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 28:
 -#line 420 "awkgram.y" /* yacc.c:1646  */
 +  case 32:
 +#line 447 "awkgram.y" /* yacc.c:1646  */
      {
                yyerror(_("`%s' is a built-in function, it cannot be 
redefined"),
                                        tokstart);
                YYABORT;
          }
- #line 2221 "y.tab.c" /* yacc.c:1646  */
 -#line 2176 "awkgram.c" /* yacc.c:1646  */
++#line 2217 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 29:
 -#line 426 "awkgram.y" /* yacc.c:1646  */
 +  case 33:
 +#line 453 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = (yyvsp[0]);
                at_seen = false;
          }
- #line 2230 "y.tab.c" /* yacc.c:1646  */
 -#line 2185 "awkgram.c" /* yacc.c:1646  */
++#line 2226 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 32:
 -#line 438 "awkgram.y" /* yacc.c:1646  */
 +  case 36:
 +#line 465 "awkgram.y" /* yacc.c:1646  */
      { want_param_names = FUNC_HEADER; }
- #line 2236 "y.tab.c" /* yacc.c:1646  */
 -#line 2191 "awkgram.c" /* yacc.c:1646  */
++#line 2232 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 33:
 -#line 439 "awkgram.y" /* yacc.c:1646  */
 +  case 37:
 +#line 466 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *  treat any comments between BOF and the first function
@@@ -2274,17 -2229,17 +2270,17 @@@
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
- #line 2278 "y.tab.c" /* yacc.c:1646  */
 -#line 2233 "awkgram.c" /* yacc.c:1646  */
++#line 2274 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 34:
 -#line 484 "awkgram.y" /* yacc.c:1646  */
 +  case 38:
 +#line 511 "awkgram.y" /* yacc.c:1646  */
      { want_regexp = true; }
- #line 2284 "y.tab.c" /* yacc.c:1646  */
 -#line 2239 "awkgram.c" /* yacc.c:1646  */
++#line 2280 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 35:
 -#line 486 "awkgram.y" /* yacc.c:1646  */
 +  case 39:
 +#line 513 "awkgram.y" /* yacc.c:1646  */
      {
                  NODE *n, *exp;
                  char *re;
@@@ -2313,11 -2268,11 +2309,11 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
- #line 2317 "y.tab.c" /* yacc.c:1646  */
 -#line 2272 "awkgram.c" /* yacc.c:1646  */
++#line 2313 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 36:
 -#line 518 "awkgram.y" /* yacc.c:1646  */
 +  case 40:
 +#line 545 "awkgram.y" /* yacc.c:1646  */
      {
                  char *re;
                  size_t len;
@@@ -2330,17 -2285,17 +2326,17 @@@
                  (yyval)->opcode = Op_push_re;
                  (yyval)->memory = make_typed_regex(re, len);
                }
- #line 2334 "y.tab.c" /* yacc.c:1646  */
 -#line 2289 "awkgram.c" /* yacc.c:1646  */
++#line 2330 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 37:
 -#line 533 "awkgram.y" /* yacc.c:1646  */
 +  case 41:
 +#line 560 "awkgram.y" /* yacc.c:1646  */
      { bcfree((yyvsp[0])); }
- #line 2340 "y.tab.c" /* yacc.c:1646  */
 -#line 2295 "awkgram.c" /* yacc.c:1646  */
++#line 2336 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 39:
 -#line 539 "awkgram.y" /* yacc.c:1646  */
 +  case 43:
 +#line 566 "awkgram.y" /* yacc.c:1646  */
      {
                if (prior_comment != NULL) {
                        (yyval) = list_create(prior_comment);
@@@ -2351,11 -2306,11 +2347,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2355 "y.tab.c" /* yacc.c:1646  */
 -#line 2310 "awkgram.c" /* yacc.c:1646  */
++#line 2351 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 40:
 -#line 550 "awkgram.y" /* yacc.c:1646  */
 +  case 44:
 +#line 577 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0]) == NULL) {
                        if (prior_comment != NULL) {
@@@ -2402,40 -2357,40 +2398,40 @@@
                }
                yyerrok;
          }
- #line 2406 "y.tab.c" /* yacc.c:1646  */
 -#line 2361 "awkgram.c" /* yacc.c:1646  */
++#line 2402 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 41:
 -#line 597 "awkgram.y" /* yacc.c:1646  */
 +  case 45:
 +#line 624 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2412 "y.tab.c" /* yacc.c:1646  */
 -#line 2367 "awkgram.c" /* yacc.c:1646  */
++#line 2408 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 44:
 -#line 607 "awkgram.y" /* yacc.c:1646  */
 +  case 48:
 +#line 634 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2418 "y.tab.c" /* yacc.c:1646  */
 -#line 2373 "awkgram.c" /* yacc.c:1646  */
++#line 2414 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 45:
 -#line 609 "awkgram.y" /* yacc.c:1646  */
 +  case 49:
 +#line 636 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 2424 "y.tab.c" /* yacc.c:1646  */
 -#line 2379 "awkgram.c" /* yacc.c:1646  */
++#line 2420 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 46:
 -#line 611 "awkgram.y" /* yacc.c:1646  */
 +  case 50:
 +#line 638 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
- #line 2435 "y.tab.c" /* yacc.c:1646  */
 -#line 2390 "awkgram.c" /* yacc.c:1646  */
++#line 2431 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 47:
 -#line 618 "awkgram.y" /* yacc.c:1646  */
 +  case 51:
 +#line 645 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2525,11 -2480,11 +2521,11 @@@
                break_allowed--;
                fix_break_continue(ip, tbreak, NULL);
          }
- #line 2529 "y.tab.c" /* yacc.c:1646  */
 -#line 2484 "awkgram.c" /* yacc.c:1646  */
++#line 2525 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 48:
 -#line 708 "awkgram.y" /* yacc.c:1646  */
 +  case 52:
 +#line 735 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2571,11 -2526,11 +2567,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
- #line 2575 "y.tab.c" /* yacc.c:1646  */
 -#line 2530 "awkgram.c" /* yacc.c:1646  */
++#line 2571 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 49:
 -#line 750 "awkgram.y" /* yacc.c:1646  */
 +  case 53:
 +#line 777 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2617,11 -2572,11 +2613,11 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
- #line 2621 "y.tab.c" /* yacc.c:1646  */
 -#line 2576 "awkgram.c" /* yacc.c:1646  */
++#line 2617 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 50:
 -#line 792 "awkgram.y" /* yacc.c:1646  */
 +  case 54:
 +#line 819 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[-5])->lextok;
@@@ -2734,33 -2689,33 +2730,33 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
- #line 2738 "y.tab.c" /* yacc.c:1646  */
 -#line 2693 "awkgram.c" /* yacc.c:1646  */
++#line 2734 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 51:
 -#line 905 "awkgram.y" /* yacc.c:1646  */
 +  case 55:
 +#line 932 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), 
(yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2749 "y.tab.c" /* yacc.c:1646  */
 -#line 2704 "awkgram.c" /* yacc.c:1646  */
++#line 2745 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 52:
 -#line 912 "awkgram.y" /* yacc.c:1646  */
 +  case 56:
 +#line 939 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION 
*) NULL, (yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2760 "y.tab.c" /* yacc.c:1646  */
 -#line 2715 "awkgram.c" /* yacc.c:1646  */
++#line 2756 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 53:
 -#line 919 "awkgram.y" /* yacc.c:1646  */
 +  case 57:
 +#line 946 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
@@@ -2768,11 -2723,11 +2764,11 @@@
                        (yyval) = (yyvsp[0]);
                (yyval) = add_pending_comment((yyval));
          }
- #line 2772 "y.tab.c" /* yacc.c:1646  */
 -#line 2727 "awkgram.c" /* yacc.c:1646  */
++#line 2768 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 54:
 -#line 930 "awkgram.y" /* yacc.c:1646  */
 +  case 58:
 +#line 957 "awkgram.y" /* yacc.c:1646  */
      {
                if (! break_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2782,11 -2737,11 +2778,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2786 "y.tab.c" /* yacc.c:1646  */
 -#line 2741 "awkgram.c" /* yacc.c:1646  */
++#line 2782 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 55:
 -#line 940 "awkgram.y" /* yacc.c:1646  */
 +  case 59:
 +#line 967 "awkgram.y" /* yacc.c:1646  */
      {
                if (! continue_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2796,11 -2751,11 +2792,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2800 "y.tab.c" /* yacc.c:1646  */
 -#line 2755 "awkgram.c" /* yacc.c:1646  */
++#line 2796 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 56:
 -#line 950 "awkgram.y" /* yacc.c:1646  */
 +  case 60:
 +#line 977 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@@ -2810,11 -2765,11 +2806,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2814 "y.tab.c" /* yacc.c:1646  */
 -#line 2769 "awkgram.c" /* yacc.c:1646  */
++#line 2810 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 57:
 -#line 960 "awkgram.y" /* yacc.c:1646  */
 +  case 61:
 +#line 987 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@@ -2826,11 -2781,11 +2822,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2830 "y.tab.c" /* yacc.c:1646  */
 -#line 2785 "awkgram.c" /* yacc.c:1646  */
++#line 2826 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 58:
 -#line 972 "awkgram.y" /* yacc.c:1646  */
 +  case 62:
 +#line 999 "awkgram.y" /* yacc.c:1646  */
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time.
@@@ -2846,20 -2801,20 +2842,20 @@@
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2850 "y.tab.c" /* yacc.c:1646  */
 -#line 2805 "awkgram.c" /* yacc.c:1646  */
++#line 2846 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 59:
 -#line 988 "awkgram.y" /* yacc.c:1646  */
 +  case 63:
 +#line 1015 "awkgram.y" /* yacc.c:1646  */
      {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
- #line 2859 "y.tab.c" /* yacc.c:1646  */
 -#line 2814 "awkgram.c" /* yacc.c:1646  */
++#line 2855 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 60:
 -#line 991 "awkgram.y" /* yacc.c:1646  */
 +  case 64:
 +#line 1018 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL) {
                        (yyval) = list_create((yyvsp[-3]));
@@@ -2881,17 -2836,17 +2877,17 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2885 "y.tab.c" /* yacc.c:1646  */
 -#line 2840 "awkgram.c" /* yacc.c:1646  */
++#line 2881 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 62:
 -#line 1024 "awkgram.y" /* yacc.c:1646  */
 +  case 66:
 +#line 1051 "awkgram.y" /* yacc.c:1646  */
      { in_print = true; in_parens = 0; }
- #line 2891 "y.tab.c" /* yacc.c:1646  */
 -#line 2846 "awkgram.c" /* yacc.c:1646  */
++#line 2887 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 63:
 -#line 1025 "awkgram.y" /* yacc.c:1646  */
 +  case 67:
 +#line 1052 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2989,17 -2944,17 +2985,17 @@@ regular_print
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2993 "y.tab.c" /* yacc.c:1646  */
 -#line 2948 "awkgram.c" /* yacc.c:1646  */
++#line 2989 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 64:
 -#line 1123 "awkgram.y" /* yacc.c:1646  */
 +  case 68:
 +#line 1150 "awkgram.y" /* yacc.c:1646  */
      { sub_counter = 0; }
- #line 2999 "y.tab.c" /* yacc.c:1646  */
 -#line 2954 "awkgram.c" /* yacc.c:1646  */
++#line 2995 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 65:
 -#line 1124 "awkgram.y" /* yacc.c:1646  */
 +  case 69:
 +#line 1151 "awkgram.y" /* yacc.c:1646  */
      {
                char *arr = (yyvsp[-2])->lextok;
  
@@@ -3033,11 -2988,11 +3029,11 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3037 "y.tab.c" /* yacc.c:1646  */
 -#line 2992 "awkgram.c" /* yacc.c:1646  */
++#line 3033 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 66:
 -#line 1162 "awkgram.y" /* yacc.c:1646  */
 +  case 70:
 +#line 1189 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
                char *arr = (yyvsp[-1])->lextok;
@@@ -3064,55 -3019,55 +3060,55 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3068 "y.tab.c" /* yacc.c:1646  */
 -#line 3023 "awkgram.c" /* yacc.c:1646  */
++#line 3064 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 67:
 -#line 1189 "awkgram.y" /* yacc.c:1646  */
 +  case 71:
 +#line 1216 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = optimize_assignment((yyvsp[0]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 3077 "y.tab.c" /* yacc.c:1646  */
 -#line 3032 "awkgram.c" /* yacc.c:1646  */
++#line 3073 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 68:
 -#line 1197 "awkgram.y" /* yacc.c:1646  */
 +  case 72:
 +#line 1224 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3083 "y.tab.c" /* yacc.c:1646  */
 -#line 3038 "awkgram.c" /* yacc.c:1646  */
++#line 3079 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 69:
 -#line 1199 "awkgram.y" /* yacc.c:1646  */
 +  case 73:
 +#line 1226 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3089 "y.tab.c" /* yacc.c:1646  */
 -#line 3044 "awkgram.c" /* yacc.c:1646  */
++#line 3085 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 70:
 -#line 1204 "awkgram.y" /* yacc.c:1646  */
 +  case 74:
 +#line 1231 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3095 "y.tab.c" /* yacc.c:1646  */
 -#line 3050 "awkgram.c" /* yacc.c:1646  */
++#line 3091 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 71:
 -#line 1206 "awkgram.y" /* yacc.c:1646  */
 +  case 75:
 +#line 1233 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL)
                        (yyval) = list_create((yyvsp[0]));
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
- #line 3106 "y.tab.c" /* yacc.c:1646  */
 -#line 3061 "awkgram.c" /* yacc.c:1646  */
++#line 3102 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 72:
 -#line 1213 "awkgram.y" /* yacc.c:1646  */
 +  case 76:
 +#line 1240 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3112 "y.tab.c" /* yacc.c:1646  */
 -#line 3067 "awkgram.c" /* yacc.c:1646  */
++#line 3108 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 73:
 -#line 1218 "awkgram.y" /* yacc.c:1646  */
 +  case 77:
 +#line 1245 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3124,11 -3079,11 +3120,11 @@@
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
- #line 3128 "y.tab.c" /* yacc.c:1646  */
 -#line 3083 "awkgram.c" /* yacc.c:1646  */
++#line 3124 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 74:
 -#line 1230 "awkgram.y" /* yacc.c:1646  */
 +  case 78:
 +#line 1257 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3139,17 -3094,17 +3135,17 @@@
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
- #line 3143 "y.tab.c" /* yacc.c:1646  */
 -#line 3098 "awkgram.c" /* yacc.c:1646  */
++#line 3139 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 75:
 -#line 1244 "awkgram.y" /* yacc.c:1646  */
 +  case 79:
 +#line 1271 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3149 "y.tab.c" /* yacc.c:1646  */
 -#line 3104 "awkgram.c" /* yacc.c:1646  */
++#line 3145 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 76:
 -#line 1246 "awkgram.y" /* yacc.c:1646  */
 +  case 80:
 +#line 1273 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
@@@ -3157,28 -3112,28 +3153,28 @@@
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3161 "y.tab.c" /* yacc.c:1646  */
 -#line 3116 "awkgram.c" /* yacc.c:1646  */
++#line 3157 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 77:
 -#line 1254 "awkgram.y" /* yacc.c:1646  */
 +  case 81:
 +#line 1281 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n = (yyvsp[0])->lasti->memory;
                bcfree((yyvsp[-1]));
                add_sign_to_num(n, '+');
                (yyval) = (yyvsp[0]);
          }
- #line 3172 "y.tab.c" /* yacc.c:1646  */
 -#line 3127 "awkgram.c" /* yacc.c:1646  */
++#line 3168 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 78:
 -#line 1261 "awkgram.y" /* yacc.c:1646  */
 +  case 82:
 +#line 1288 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3178 "y.tab.c" /* yacc.c:1646  */
 -#line 3133 "awkgram.c" /* yacc.c:1646  */
++#line 3174 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 79:
 -#line 1263 "awkgram.y" /* yacc.c:1646  */
 +  case 83:
 +#line 1290 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->memory->type == Node_regex)
                        (yyvsp[0])->opcode = Op_push_re;
@@@ -3186,57 -3141,57 +3182,57 @@@
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
- #line 3190 "y.tab.c" /* yacc.c:1646  */
 -#line 3145 "awkgram.c" /* yacc.c:1646  */
++#line 3186 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 80:
 -#line 1271 "awkgram.y" /* yacc.c:1646  */
 +  case 84:
 +#line 1298 "awkgram.y" /* yacc.c:1646  */
      {
                assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
                (yyvsp[0])->opcode = Op_push_re;
                (yyval) = (yyvsp[0]);
          }
- #line 3200 "y.tab.c" /* yacc.c:1646  */
 -#line 3155 "awkgram.c" /* yacc.c:1646  */
++#line 3196 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 81:
 -#line 1280 "awkgram.y" /* yacc.c:1646  */
 +  case 85:
 +#line 1307 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3206 "y.tab.c" /* yacc.c:1646  */
 -#line 3161 "awkgram.c" /* yacc.c:1646  */
++#line 3202 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 82:
 -#line 1282 "awkgram.y" /* yacc.c:1646  */
 +  case 86:
 +#line 1309 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3212 "y.tab.c" /* yacc.c:1646  */
 -#line 3167 "awkgram.c" /* yacc.c:1646  */
++#line 3208 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 84:
 -#line 1292 "awkgram.y" /* yacc.c:1646  */
 +  case 88:
 +#line 1319 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = (yyvsp[-1]);
          }
- #line 3220 "y.tab.c" /* yacc.c:1646  */
 -#line 3175 "awkgram.c" /* yacc.c:1646  */
++#line 3216 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 85:
 -#line 1299 "awkgram.y" /* yacc.c:1646  */
 +  case 89:
 +#line 1326 "awkgram.y" /* yacc.c:1646  */
      {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
- #line 3230 "y.tab.c" /* yacc.c:1646  */
 -#line 3185 "awkgram.c" /* yacc.c:1646  */
++#line 3226 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 86:
 -#line 1304 "awkgram.y" /* yacc.c:1646  */
 +  case 90:
 +#line 1331 "awkgram.y" /* yacc.c:1646  */
      { in_print = false; in_parens = 0; }
- #line 3236 "y.tab.c" /* yacc.c:1646  */
 -#line 3191 "awkgram.c" /* yacc.c:1646  */
++#line 3232 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 87:
 -#line 1305 "awkgram.y" /* yacc.c:1646  */
 +  case 91:
 +#line 1332 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->redir_type == redirect_twoway
                        && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@@ -3244,63 -3199,63 +3240,63 @@@
                        yyerror(_("multistage two-way pipelines don't work"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
- #line 3248 "y.tab.c" /* yacc.c:1646  */
 -#line 3203 "awkgram.c" /* yacc.c:1646  */
++#line 3244 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 88:
 -#line 1316 "awkgram.y" /* yacc.c:1646  */
 +  case 92:
 +#line 1343 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
- #line 3256 "y.tab.c" /* yacc.c:1646  */
 -#line 3211 "awkgram.c" /* yacc.c:1646  */
++#line 3252 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 89:
 -#line 1321 "awkgram.y" /* yacc.c:1646  */
 +  case 93:
 +#line 1348 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
- #line 3264 "y.tab.c" /* yacc.c:1646  */
 -#line 3219 "awkgram.c" /* yacc.c:1646  */
++#line 3260 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 94:
 -#line 1338 "awkgram.y" /* yacc.c:1646  */
 +  case 98:
 +#line 1365 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3270 "y.tab.c" /* yacc.c:1646  */
 -#line 3225 "awkgram.c" /* yacc.c:1646  */
++#line 3266 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 95:
 -#line 1340 "awkgram.y" /* yacc.c:1646  */
 +  case 99:
 +#line 1367 "awkgram.y" /* yacc.c:1646  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3279 "y.tab.c" /* yacc.c:1646  */
 -#line 3234 "awkgram.c" /* yacc.c:1646  */
++#line 3275 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 96:
 -#line 1348 "awkgram.y" /* yacc.c:1646  */
 +  case 100:
 +#line 1375 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3285 "y.tab.c" /* yacc.c:1646  */
 -#line 3240 "awkgram.c" /* yacc.c:1646  */
++#line 3281 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 97:
 -#line 1350 "awkgram.y" /* yacc.c:1646  */
 +  case 101:
 +#line 1377 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3291 "y.tab.c" /* yacc.c:1646  */
 -#line 3246 "awkgram.c" /* yacc.c:1646  */
++#line 3287 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 98:
 -#line 1355 "awkgram.y" /* yacc.c:1646  */
 +  case 102:
 +#line 1382 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3300 "y.tab.c" /* yacc.c:1646  */
 -#line 3255 "awkgram.c" /* yacc.c:1646  */
++#line 3296 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 99:
 -#line 1360 "awkgram.y" /* yacc.c:1646  */
 +  case 103:
 +#line 1387 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
                        (yyvsp[0])->param_count =  
(yyvsp[-2])->lasti->param_count + 1;
@@@ -3309,74 -3264,74 +3305,74 @@@
                } else
                        (yyval) = NULL;
          }
- #line 3313 "y.tab.c" /* yacc.c:1646  */
 -#line 3268 "awkgram.c" /* yacc.c:1646  */
++#line 3309 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 100:
 -#line 1369 "awkgram.y" /* yacc.c:1646  */
 +  case 104:
 +#line 1396 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3319 "y.tab.c" /* yacc.c:1646  */
 -#line 3274 "awkgram.c" /* yacc.c:1646  */
++#line 3315 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 101:
 -#line 1371 "awkgram.y" /* yacc.c:1646  */
 +  case 105:
 +#line 1398 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3325 "y.tab.c" /* yacc.c:1646  */
 -#line 3280 "awkgram.c" /* yacc.c:1646  */
++#line 3321 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 102:
 -#line 1373 "awkgram.y" /* yacc.c:1646  */
 +  case 106:
 +#line 1400 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-2]); }
- #line 3331 "y.tab.c" /* yacc.c:1646  */
 -#line 3286 "awkgram.c" /* yacc.c:1646  */
++#line 3327 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 103:
 -#line 1379 "awkgram.y" /* yacc.c:1646  */
 +  case 107:
 +#line 1406 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3337 "y.tab.c" /* yacc.c:1646  */
 -#line 3292 "awkgram.c" /* yacc.c:1646  */
++#line 3333 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 104:
 -#line 1381 "awkgram.y" /* yacc.c:1646  */
 +  case 108:
 +#line 1408 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3343 "y.tab.c" /* yacc.c:1646  */
 -#line 3298 "awkgram.c" /* yacc.c:1646  */
++#line 3339 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 105:
 -#line 1386 "awkgram.y" /* yacc.c:1646  */
 +  case 109:
 +#line 1413 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3349 "y.tab.c" /* yacc.c:1646  */
 -#line 3304 "awkgram.c" /* yacc.c:1646  */
++#line 3345 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 106:
 -#line 1388 "awkgram.y" /* yacc.c:1646  */
 +  case 110:
 +#line 1415 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3355 "y.tab.c" /* yacc.c:1646  */
 -#line 3310 "awkgram.c" /* yacc.c:1646  */
++#line 3351 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 107:
 -#line 1393 "awkgram.y" /* yacc.c:1646  */
 +  case 111:
 +#line 1420 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3361 "y.tab.c" /* yacc.c:1646  */
 -#line 3316 "awkgram.c" /* yacc.c:1646  */
++#line 3357 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 108:
 -#line 1395 "awkgram.y" /* yacc.c:1646  */
 +  case 112:
 +#line 1422 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3370 "y.tab.c" /* yacc.c:1646  */
 -#line 3325 "awkgram.c" /* yacc.c:1646  */
++#line 3366 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 109:
 -#line 1400 "awkgram.y" /* yacc.c:1646  */
 +  case 113:
 +#line 1427 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3376 "y.tab.c" /* yacc.c:1646  */
 -#line 3331 "awkgram.c" /* yacc.c:1646  */
++#line 3372 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 110:
 -#line 1402 "awkgram.y" /* yacc.c:1646  */
 +  case 114:
 +#line 1429 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3384,62 -3339,62 +3380,62 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3388 "y.tab.c" /* yacc.c:1646  */
 -#line 3343 "awkgram.c" /* yacc.c:1646  */
++#line 3384 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 111:
 -#line 1410 "awkgram.y" /* yacc.c:1646  */
 +  case 115:
 +#line 1437 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3397 "y.tab.c" /* yacc.c:1646  */
 -#line 3352 "awkgram.c" /* yacc.c:1646  */
++#line 3393 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 112:
 -#line 1415 "awkgram.y" /* yacc.c:1646  */
 +  case 116:
 +#line 1442 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3406 "y.tab.c" /* yacc.c:1646  */
 -#line 3361 "awkgram.c" /* yacc.c:1646  */
++#line 3402 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 113:
 -#line 1423 "awkgram.y" /* yacc.c:1646  */
 +  case 117:
 +#line 1450 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3412 "y.tab.c" /* yacc.c:1646  */
 -#line 3367 "awkgram.c" /* yacc.c:1646  */
++#line 3408 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 114:
 -#line 1425 "awkgram.y" /* yacc.c:1646  */
 +  case 118:
 +#line 1452 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3418 "y.tab.c" /* yacc.c:1646  */
 -#line 3373 "awkgram.c" /* yacc.c:1646  */
++#line 3414 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 115:
 -#line 1430 "awkgram.y" /* yacc.c:1646  */
 +  case 119:
 +#line 1457 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3424 "y.tab.c" /* yacc.c:1646  */
 -#line 3379 "awkgram.c" /* yacc.c:1646  */
++#line 3420 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 116:
 -#line 1432 "awkgram.y" /* yacc.c:1646  */
 +  case 120:
 +#line 1459 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3433 "y.tab.c" /* yacc.c:1646  */
 -#line 3388 "awkgram.c" /* yacc.c:1646  */
++#line 3429 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 117:
 -#line 1437 "awkgram.y" /* yacc.c:1646  */
 +  case 121:
 +#line 1464 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3439 "y.tab.c" /* yacc.c:1646  */
 -#line 3394 "awkgram.c" /* yacc.c:1646  */
++#line 3435 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 118:
 -#line 1439 "awkgram.y" /* yacc.c:1646  */
 +  case 122:
 +#line 1466 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3447,72 -3402,72 +3443,72 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3451 "y.tab.c" /* yacc.c:1646  */
 -#line 3406 "awkgram.c" /* yacc.c:1646  */
++#line 3447 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 119:
 -#line 1447 "awkgram.y" /* yacc.c:1646  */
 +  case 123:
 +#line 1474 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3460 "y.tab.c" /* yacc.c:1646  */
 -#line 3415 "awkgram.c" /* yacc.c:1646  */
++#line 3456 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 120:
 -#line 1452 "awkgram.y" /* yacc.c:1646  */
 +  case 124:
 +#line 1479 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3469 "y.tab.c" /* yacc.c:1646  */
 -#line 3424 "awkgram.c" /* yacc.c:1646  */
++#line 3465 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 121:
 -#line 1459 "awkgram.y" /* yacc.c:1646  */
 +  case 125:
 +#line 1486 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3475 "y.tab.c" /* yacc.c:1646  */
 -#line 3430 "awkgram.c" /* yacc.c:1646  */
++#line 3471 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 122:
 -#line 1460 "awkgram.y" /* yacc.c:1646  */
 +  case 126:
 +#line 1487 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = list_create((yyvsp[0])); }
- #line 3481 "y.tab.c" /* yacc.c:1646  */
 -#line 3436 "awkgram.c" /* yacc.c:1646  */
++#line 3477 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 123:
 -#line 1466 "awkgram.y" /* yacc.c:1646  */
 +  case 127:
 +#line 1493 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of assignment"));
                (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
- #line 3492 "y.tab.c" /* yacc.c:1646  */
 -#line 3447 "awkgram.c" /* yacc.c:1646  */
++#line 3488 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 124:
 -#line 1473 "awkgram.y" /* yacc.c:1646  */
 +  case 128:
 +#line 1500 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3500 "y.tab.c" /* yacc.c:1646  */
 -#line 3455 "awkgram.c" /* yacc.c:1646  */
++#line 3496 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 125:
 -#line 1477 "awkgram.y" /* yacc.c:1646  */
 +  case 129:
 +#line 1504 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3506 "y.tab.c" /* yacc.c:1646  */
 -#line 3461 "awkgram.c" /* yacc.c:1646  */
++#line 3502 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 126:
 -#line 1479 "awkgram.y" /* yacc.c:1646  */
 +  case 130:
 +#line 1506 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3512 "y.tab.c" /* yacc.c:1646  */
 -#line 3467 "awkgram.c" /* yacc.c:1646  */
++#line 3508 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 127:
 -#line 1481 "awkgram.y" /* yacc.c:1646  */
 +  case 131:
 +#line 1508 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3525,11 -3480,11 +3521,11 @@@
                bcfree((yyvsp[0]));
                (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
          }
- #line 3529 "y.tab.c" /* yacc.c:1646  */
 -#line 3484 "awkgram.c" /* yacc.c:1646  */
++#line 3525 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 128:
 -#line 1494 "awkgram.y" /* yacc.c:1646  */
 +  case 132:
 +#line 1521 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3546,11 -3501,11 +3542,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
- #line 3550 "y.tab.c" /* yacc.c:1646  */
 -#line 3505 "awkgram.c" /* yacc.c:1646  */
++#line 3546 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 129:
 -#line 1511 "awkgram.y" /* yacc.c:1646  */
 +  case 133:
 +#line 1538 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3560,91 -3515,91 +3556,91 @@@
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3564 "y.tab.c" /* yacc.c:1646  */
 -#line 3519 "awkgram.c" /* yacc.c:1646  */
++#line 3560 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 130:
 -#line 1521 "awkgram.y" /* yacc.c:1646  */
 +  case 134:
 +#line 1548 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of comparison"));
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3575 "y.tab.c" /* yacc.c:1646  */
 -#line 3530 "awkgram.c" /* yacc.c:1646  */
++#line 3571 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 131:
 -#line 1528 "awkgram.y" /* yacc.c:1646  */
 +  case 135:
 +#line 1555 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
- #line 3581 "y.tab.c" /* yacc.c:1646  */
 -#line 3536 "awkgram.c" /* yacc.c:1646  */
++#line 3577 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 132:
 -#line 1530 "awkgram.y" /* yacc.c:1646  */
 +  case 136:
 +#line 1557 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3587 "y.tab.c" /* yacc.c:1646  */
 -#line 3542 "awkgram.c" /* yacc.c:1646  */
++#line 3583 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 133:
 -#line 1535 "awkgram.y" /* yacc.c:1646  */
 +  case 137:
 +#line 1562 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3593 "y.tab.c" /* yacc.c:1646  */
 -#line 3548 "awkgram.c" /* yacc.c:1646  */
++#line 3589 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 134:
 -#line 1537 "awkgram.y" /* yacc.c:1646  */
 +  case 138:
 +#line 1564 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3599 "y.tab.c" /* yacc.c:1646  */
 -#line 3554 "awkgram.c" /* yacc.c:1646  */
++#line 3595 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 135:
 -#line 1539 "awkgram.y" /* yacc.c:1646  */
 +  case 139:
 +#line 1566 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
- #line 3608 "y.tab.c" /* yacc.c:1646  */
 -#line 3563 "awkgram.c" /* yacc.c:1646  */
++#line 3604 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 136:
 -#line 1547 "awkgram.y" /* yacc.c:1646  */
 +  case 140:
 +#line 1574 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3614 "y.tab.c" /* yacc.c:1646  */
 -#line 3569 "awkgram.c" /* yacc.c:1646  */
++#line 3610 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 137:
 -#line 1549 "awkgram.y" /* yacc.c:1646  */
 +  case 141:
 +#line 1576 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3620 "y.tab.c" /* yacc.c:1646  */
 -#line 3575 "awkgram.c" /* yacc.c:1646  */
++#line 3616 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 138:
 -#line 1554 "awkgram.y" /* yacc.c:1646  */
 +  case 142:
 +#line 1581 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3626 "y.tab.c" /* yacc.c:1646  */
 -#line 3581 "awkgram.c" /* yacc.c:1646  */
++#line 3622 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 139:
 -#line 1556 "awkgram.y" /* yacc.c:1646  */
 +  case 143:
 +#line 1583 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3632 "y.tab.c" /* yacc.c:1646  */
 -#line 3587 "awkgram.c" /* yacc.c:1646  */
++#line 3628 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 140:
 -#line 1561 "awkgram.y" /* yacc.c:1646  */
 +  case 144:
 +#line 1588 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3638 "y.tab.c" /* yacc.c:1646  */
 -#line 3593 "awkgram.c" /* yacc.c:1646  */
++#line 3634 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 141:
 -#line 1563 "awkgram.y" /* yacc.c:1646  */
 +  case 145:
 +#line 1590 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3644 "y.tab.c" /* yacc.c:1646  */
 -#line 3599 "awkgram.c" /* yacc.c:1646  */
++#line 3640 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 142:
 -#line 1565 "awkgram.y" /* yacc.c:1646  */
 +  case 146:
 +#line 1592 "awkgram.y" /* yacc.c:1646  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3697,47 -3652,47 +3693,47 @@@
                                max_args = count;
                }
          }
- #line 3701 "y.tab.c" /* yacc.c:1646  */
 -#line 3656 "awkgram.c" /* yacc.c:1646  */
++#line 3697 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 144:
 -#line 1623 "awkgram.y" /* yacc.c:1646  */
 +  case 148:
 +#line 1650 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3707 "y.tab.c" /* yacc.c:1646  */
 -#line 3662 "awkgram.c" /* yacc.c:1646  */
++#line 3703 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 145:
 -#line 1625 "awkgram.y" /* yacc.c:1646  */
 +  case 149:
 +#line 1652 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3713 "y.tab.c" /* yacc.c:1646  */
 -#line 3668 "awkgram.c" /* yacc.c:1646  */
++#line 3709 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 146:
 -#line 1627 "awkgram.y" /* yacc.c:1646  */
 +  case 150:
 +#line 1654 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3719 "y.tab.c" /* yacc.c:1646  */
 -#line 3674 "awkgram.c" /* yacc.c:1646  */
++#line 3715 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 147:
 -#line 1629 "awkgram.y" /* yacc.c:1646  */
 +  case 151:
 +#line 1656 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3725 "y.tab.c" /* yacc.c:1646  */
 -#line 3680 "awkgram.c" /* yacc.c:1646  */
++#line 3721 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 148:
 -#line 1631 "awkgram.y" /* yacc.c:1646  */
 +  case 152:
 +#line 1658 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3731 "y.tab.c" /* yacc.c:1646  */
 -#line 3686 "awkgram.c" /* yacc.c:1646  */
++#line 3727 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 149:
 -#line 1633 "awkgram.y" /* yacc.c:1646  */
 +  case 153:
 +#line 1660 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3737 "y.tab.c" /* yacc.c:1646  */
 -#line 3692 "awkgram.c" /* yacc.c:1646  */
++#line 3733 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 150:
 -#line 1635 "awkgram.y" /* yacc.c:1646  */
 +  case 154:
 +#line 1662 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@@ -3751,29 -3706,29 +3747,29 @@@
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
- #line 3755 "y.tab.c" /* yacc.c:1646  */
 -#line 3710 "awkgram.c" /* yacc.c:1646  */
++#line 3751 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 151:
 -#line 1649 "awkgram.y" /* yacc.c:1646  */
 +  case 155:
 +#line 1676 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3764 "y.tab.c" /* yacc.c:1646  */
 -#line 3719 "awkgram.c" /* yacc.c:1646  */
++#line 3760 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 152:
 -#line 1654 "awkgram.y" /* yacc.c:1646  */
 +  case 156:
 +#line 1681 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3773 "y.tab.c" /* yacc.c:1646  */
 -#line 3728 "awkgram.c" /* yacc.c:1646  */
++#line 3769 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 153:
 -#line 1659 "awkgram.y" /* yacc.c:1646  */
 +  case 157:
 +#line 1686 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old) {
                    warning_ln((yyvsp[-1])->source_line,
@@@ -3793,64 -3748,64 +3789,64 @@@
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
- #line 3797 "y.tab.c" /* yacc.c:1646  */
 -#line 3752 "awkgram.c" /* yacc.c:1646  */
++#line 3793 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 154:
 -#line 1684 "awkgram.y" /* yacc.c:1646  */
 +  case 158:
 +#line 1711 "awkgram.y" /* yacc.c:1646  */
      {
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
- #line 3806 "y.tab.c" /* yacc.c:1646  */
 -#line 3761 "awkgram.c" /* yacc.c:1646  */
++#line 3802 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 155:
 -#line 1690 "awkgram.y" /* yacc.c:1646  */
 +  case 159:
 +#line 1717 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3812 "y.tab.c" /* yacc.c:1646  */
 -#line 3767 "awkgram.c" /* yacc.c:1646  */
++#line 3808 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 156:
 -#line 1692 "awkgram.y" /* yacc.c:1646  */
 +  case 160:
 +#line 1719 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3818 "y.tab.c" /* yacc.c:1646  */
 -#line 3773 "awkgram.c" /* yacc.c:1646  */
++#line 3814 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 157:
 -#line 1694 "awkgram.y" /* yacc.c:1646  */
 +  case 161:
 +#line 1721 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3824 "y.tab.c" /* yacc.c:1646  */
 -#line 3779 "awkgram.c" /* yacc.c:1646  */
++#line 3820 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 158:
 -#line 1696 "awkgram.y" /* yacc.c:1646  */
 +  case 162:
 +#line 1723 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3830 "y.tab.c" /* yacc.c:1646  */
 -#line 3785 "awkgram.c" /* yacc.c:1646  */
++#line 3826 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 159:
 -#line 1698 "awkgram.y" /* yacc.c:1646  */
 +  case 163:
 +#line 1725 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3836 "y.tab.c" /* yacc.c:1646  */
 -#line 3791 "awkgram.c" /* yacc.c:1646  */
++#line 3832 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 160:
 -#line 1700 "awkgram.y" /* yacc.c:1646  */
 +  case 164:
 +#line 1727 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3842 "y.tab.c" /* yacc.c:1646  */
 -#line 3797 "awkgram.c" /* yacc.c:1646  */
++#line 3838 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 161:
 -#line 1705 "awkgram.y" /* yacc.c:1646  */
 +  case 165:
 +#line 1732 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3850 "y.tab.c" /* yacc.c:1646  */
 -#line 3805 "awkgram.c" /* yacc.c:1646  */
++#line 3846 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 162:
 -#line 1709 "awkgram.y" /* yacc.c:1646  */
 +  case 166:
 +#line 1736 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->opcode == Op_match_rec) {
                        (yyvsp[0])->opcode = Op_nomatch;
@@@ -3882,33 -3837,43 +3878,43 @@@
                        }
                }
           }
- #line 3886 "y.tab.c" /* yacc.c:1646  */
 -#line 3841 "awkgram.c" /* yacc.c:1646  */
++#line 3882 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 163:
 -#line 1741 "awkgram.y" /* yacc.c:1646  */
 +  case 167:
 +#line 1768 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_append((yyvsp[-1]), bcalloc(Op_parens, 
1, sourceline));
                else
                        (yyval) = (yyvsp[-1]);
          }
- #line 3897 "y.tab.c" /* yacc.c:1646  */
 -#line 3852 "awkgram.c" /* yacc.c:1646  */
++#line 3893 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 164:
 -#line 1748 "awkgram.y" /* yacc.c:1646  */
 +  case 168:
 +#line 1775 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3907 "y.tab.c" /* yacc.c:1646  */
 -#line 3862 "awkgram.c" /* yacc.c:1646  */
++#line 3903 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 165:
 -#line 1754 "awkgram.y" /* yacc.c:1646  */
 +  case 169:
 +#line 1781 "awkgram.y" /* yacc.c:1646  */
      {
+               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
+               if ((yyval) == NULL)
+                       YYABORT;
+         }
 -#line 3872 "awkgram.c" /* yacc.c:1646  */
++#line 3913 "awkgram.c" /* yacc.c:1646  */
+     break;
+ 
 -  case 166:
 -#line 1760 "awkgram.y" /* yacc.c:1646  */
++  case 170:
++#line 1787 "awkgram.y" /* yacc.c:1646  */
+     {
                static bool warned = false;
  
                if (do_lint && ! warned) {
@@@ -3920,45 -3885,45 +3926,45 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3924 "y.tab.c" /* yacc.c:1646  */
 -#line 3889 "awkgram.c" /* yacc.c:1646  */
++#line 3930 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 172:
- #line 1796 "awkgram.y" /* yacc.c:1646  */
 -  case 169:
 -#line 1775 "awkgram.y" /* yacc.c:1646  */
++  case 173:
++#line 1802 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3933 "y.tab.c" /* yacc.c:1646  */
 -#line 3898 "awkgram.c" /* yacc.c:1646  */
++#line 3939 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 173:
- #line 1801 "awkgram.y" /* yacc.c:1646  */
 -  case 170:
 -#line 1780 "awkgram.y" /* yacc.c:1646  */
++  case 174:
++#line 1807 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3942 "y.tab.c" /* yacc.c:1646  */
 -#line 3907 "awkgram.c" /* yacc.c:1646  */
++#line 3948 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 174:
- #line 1806 "awkgram.y" /* yacc.c:1646  */
 -  case 171:
 -#line 1785 "awkgram.y" /* yacc.c:1646  */
++  case 175:
++#line 1812 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3950 "y.tab.c" /* yacc.c:1646  */
 -#line 3915 "awkgram.c" /* yacc.c:1646  */
++#line 3956 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 175:
- #line 1810 "awkgram.y" /* yacc.c:1646  */
 -  case 172:
 -#line 1789 "awkgram.y" /* yacc.c:1646  */
++  case 176:
++#line 1816 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3958 "y.tab.c" /* yacc.c:1646  */
 -#line 3923 "awkgram.c" /* yacc.c:1646  */
++#line 3964 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 176:
- #line 1814 "awkgram.y" /* yacc.c:1646  */
 -  case 173:
 -#line 1793 "awkgram.y" /* yacc.c:1646  */
++  case 177:
++#line 1820 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3973,11 -3938,11 +3979,11 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3977 "y.tab.c" /* yacc.c:1646  */
 -#line 3942 "awkgram.c" /* yacc.c:1646  */
++#line 3983 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 177:
- #line 1829 "awkgram.y" /* yacc.c:1646  */
 -  case 174:
 -#line 1808 "awkgram.y" /* yacc.c:1646  */
++  case 178:
++#line 1835 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3995,20 -3960,20 +4001,20 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3999 "y.tab.c" /* yacc.c:1646  */
 -#line 3964 "awkgram.c" /* yacc.c:1646  */
++#line 4005 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 178:
- #line 1850 "awkgram.y" /* yacc.c:1646  */
 -  case 175:
 -#line 1829 "awkgram.y" /* yacc.c:1646  */
++  case 179:
++#line 1856 "awkgram.y" /* yacc.c:1646  */
      {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
- #line 4008 "y.tab.c" /* yacc.c:1646  */
 -#line 3973 "awkgram.c" /* yacc.c:1646  */
++#line 4014 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 179:
- #line 1855 "awkgram.y" /* yacc.c:1646  */
 -  case 176:
 -#line 1834 "awkgram.y" /* yacc.c:1646  */
++  case 180:
++#line 1861 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -4042,11 -4007,11 +4048,11 @@@
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
- #line 4046 "y.tab.c" /* yacc.c:1646  */
 -#line 4011 "awkgram.c" /* yacc.c:1646  */
++#line 4052 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 180:
- #line 1892 "awkgram.y" /* yacc.c:1646  */
 -  case 177:
 -#line 1871 "awkgram.y" /* yacc.c:1646  */
++  case 181:
++#line 1898 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n;
  
@@@ -4076,49 -4036,49 +4082,49 @@@
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
- #line 4080 "y.tab.c" /* yacc.c:1646  */
 -#line 4040 "awkgram.c" /* yacc.c:1646  */
++#line 4086 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 181:
- #line 1925 "awkgram.y" /* yacc.c:1646  */
 -  case 178:
 -#line 1899 "awkgram.y" /* yacc.c:1646  */
++  case 182:
++#line 1931 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4086 "y.tab.c" /* yacc.c:1646  */
 -#line 4046 "awkgram.c" /* yacc.c:1646  */
++#line 4092 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 182:
- #line 1927 "awkgram.y" /* yacc.c:1646  */
 -  case 179:
 -#line 1901 "awkgram.y" /* yacc.c:1646  */
++  case 183:
++#line 1933 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4092 "y.tab.c" /* yacc.c:1646  */
 -#line 4052 "awkgram.c" /* yacc.c:1646  */
++#line 4098 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 183:
- #line 1932 "awkgram.y" /* yacc.c:1646  */
 -  case 180:
 -#line 1906 "awkgram.y" /* yacc.c:1646  */
++  case 184:
++#line 1938 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4098 "y.tab.c" /* yacc.c:1646  */
 -#line 4058 "awkgram.c" /* yacc.c:1646  */
++#line 4104 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 184:
- #line 1934 "awkgram.y" /* yacc.c:1646  */
 -  case 181:
 -#line 1908 "awkgram.y" /* yacc.c:1646  */
++  case 185:
++#line 1940 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4104 "y.tab.c" /* yacc.c:1646  */
 -#line 4064 "awkgram.c" /* yacc.c:1646  */
++#line 4110 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 185:
- #line 1939 "awkgram.y" /* yacc.c:1646  */
 -  case 182:
 -#line 1913 "awkgram.y" /* yacc.c:1646  */
++  case 186:
++#line 1945 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4110 "y.tab.c" /* yacc.c:1646  */
 -#line 4070 "awkgram.c" /* yacc.c:1646  */
++#line 4116 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 186:
- #line 1941 "awkgram.y" /* yacc.c:1646  */
 -  case 183:
 -#line 1915 "awkgram.y" /* yacc.c:1646  */
++  case 187:
++#line 1947 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4118 "y.tab.c" /* yacc.c:1646  */
 -#line 4078 "awkgram.c" /* yacc.c:1646  */
++#line 4124 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 187:
- #line 1948 "awkgram.y" /* yacc.c:1646  */
 -  case 184:
 -#line 1922 "awkgram.y" /* yacc.c:1646  */
++  case 188:
++#line 1954 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->lasti;
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -4132,11 -4092,11 +4138,11 @@@
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
- #line 4136 "y.tab.c" /* yacc.c:1646  */
 -#line 4096 "awkgram.c" /* yacc.c:1646  */
++#line 4142 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 188:
- #line 1965 "awkgram.y" /* yacc.c:1646  */
 -  case 185:
 -#line 1939 "awkgram.y" /* yacc.c:1646  */
++  case 189:
++#line 1971 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@@ -4150,31 -4110,31 +4156,31 @@@
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
- #line 4154 "y.tab.c" /* yacc.c:1646  */
 -#line 4114 "awkgram.c" /* yacc.c:1646  */
++#line 4160 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 189:
- #line 1982 "awkgram.y" /* yacc.c:1646  */
 -  case 186:
 -#line 1956 "awkgram.y" /* yacc.c:1646  */
++  case 190:
++#line 1988 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4160 "y.tab.c" /* yacc.c:1646  */
 -#line 4120 "awkgram.c" /* yacc.c:1646  */
++#line 4166 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 190:
- #line 1984 "awkgram.y" /* yacc.c:1646  */
 -  case 187:
 -#line 1958 "awkgram.y" /* yacc.c:1646  */
++  case 191:
++#line 1990 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4168 "y.tab.c" /* yacc.c:1646  */
 -#line 4128 "awkgram.c" /* yacc.c:1646  */
++#line 4174 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 191:
- #line 1991 "awkgram.y" /* yacc.c:1646  */
 -  case 188:
 -#line 1965 "awkgram.y" /* yacc.c:1646  */
++  case 192:
++#line 1997 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4174 "y.tab.c" /* yacc.c:1646  */
 -#line 4134 "awkgram.c" /* yacc.c:1646  */
++#line 4180 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 192:
- #line 1996 "awkgram.y" /* yacc.c:1646  */
 -  case 189:
 -#line 1970 "awkgram.y" /* yacc.c:1646  */
++  case 193:
++#line 2002 "awkgram.y" /* yacc.c:1646  */
      {
                char *var_name = (yyvsp[0])->lextok;
  
@@@ -4182,22 -4142,22 +4188,22 @@@
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
- #line 4186 "y.tab.c" /* yacc.c:1646  */
 -#line 4146 "awkgram.c" /* yacc.c:1646  */
++#line 4192 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 193:
- #line 2004 "awkgram.y" /* yacc.c:1646  */
 -  case 190:
 -#line 1978 "awkgram.y" /* yacc.c:1646  */
++  case 194:
++#line 2010 "awkgram.y" /* yacc.c:1646  */
      {
                char *arr = (yyvsp[-1])->lextok;
                (yyvsp[-1])->memory = variable((yyvsp[-1])->source_line, arr, 
Node_var_new);
                (yyvsp[-1])->opcode = Op_push_array;
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-1]));
          }
- #line 4197 "y.tab.c" /* yacc.c:1646  */
 -#line 4157 "awkgram.c" /* yacc.c:1646  */
++#line 4203 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 194:
- #line 2014 "awkgram.y" /* yacc.c:1646  */
 -  case 191:
 -#line 1988 "awkgram.y" /* yacc.c:1646  */
++  case 195:
++#line 2020 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@@ -4209,73 -4169,73 +4215,73 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 4213 "y.tab.c" /* yacc.c:1646  */
 -#line 4173 "awkgram.c" /* yacc.c:1646  */
++#line 4219 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 195:
- #line 2026 "awkgram.y" /* yacc.c:1646  */
 -  case 192:
 -#line 2000 "awkgram.y" /* yacc.c:1646  */
++  case 196:
++#line 2032 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 4223 "y.tab.c" /* yacc.c:1646  */
 -#line 4183 "awkgram.c" /* yacc.c:1646  */
++#line 4229 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 196:
- #line 2035 "awkgram.y" /* yacc.c:1646  */
 -  case 193:
 -#line 2009 "awkgram.y" /* yacc.c:1646  */
++  case 197:
++#line 2041 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
          }
- #line 4231 "y.tab.c" /* yacc.c:1646  */
 -#line 4191 "awkgram.c" /* yacc.c:1646  */
++#line 4237 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 197:
- #line 2039 "awkgram.y" /* yacc.c:1646  */
 -  case 194:
 -#line 2013 "awkgram.y" /* yacc.c:1646  */
++  case 198:
++#line 2045 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
- #line 4239 "y.tab.c" /* yacc.c:1646  */
 -#line 4199 "awkgram.c" /* yacc.c:1646  */
++#line 4245 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 198:
- #line 2042 "awkgram.y" /* yacc.c:1646  */
 -  case 195:
 -#line 2016 "awkgram.y" /* yacc.c:1646  */
++  case 199:
++#line 2048 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4245 "y.tab.c" /* yacc.c:1646  */
 -#line 4205 "awkgram.c" /* yacc.c:1646  */
++#line 4251 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 200:
- #line 2050 "awkgram.y" /* yacc.c:1646  */
 -  case 197:
 -#line 2024 "awkgram.y" /* yacc.c:1646  */
++  case 201:
++#line 2056 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4251 "y.tab.c" /* yacc.c:1646  */
 -#line 4211 "awkgram.c" /* yacc.c:1646  */
++#line 4257 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 201:
- #line 2054 "awkgram.y" /* yacc.c:1646  */
 -  case 198:
 -#line 2028 "awkgram.y" /* yacc.c:1646  */
++  case 202:
++#line 2060 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4257 "y.tab.c" /* yacc.c:1646  */
 -#line 4217 "awkgram.c" /* yacc.c:1646  */
++#line 4263 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 204:
- #line 2063 "awkgram.y" /* yacc.c:1646  */
 -  case 201:
 -#line 2037 "awkgram.y" /* yacc.c:1646  */
++  case 205:
++#line 2069 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4263 "y.tab.c" /* yacc.c:1646  */
 -#line 4223 "awkgram.c" /* yacc.c:1646  */
++#line 4269 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 205:
- #line 2067 "awkgram.y" /* yacc.c:1646  */
 -  case 202:
 -#line 2041 "awkgram.y" /* yacc.c:1646  */
++  case 206:
++#line 2073 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); yyerrok; }
- #line 4269 "y.tab.c" /* yacc.c:1646  */
 -#line 4229 "awkgram.c" /* yacc.c:1646  */
++#line 4275 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 206:
- #line 2071 "awkgram.y" /* yacc.c:1646  */
 -  case 203:
 -#line 2045 "awkgram.y" /* yacc.c:1646  */
++  case 207:
++#line 2077 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4275 "y.tab.c" /* yacc.c:1646  */
 -#line 4235 "awkgram.c" /* yacc.c:1646  */
++#line 4281 "awkgram.c" /* yacc.c:1646  */
      break;
  
  
- #line 4279 "y.tab.c" /* yacc.c:1646  */
 -#line 4239 "awkgram.c" /* yacc.c:1646  */
++#line 4285 "awkgram.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4503,7 -4463,7 +4509,7 @@@ yyreturn
  #endif
    return yyresult;
  }
- #line 2073 "awkgram.y" /* yacc.c:1906  */
 -#line 2047 "awkgram.y" /* yacc.c:1906  */
++#line 2079 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog |    5 +
 awkgram.c | 1258 +++++++++++++++++++++++++++++++------------------------------
 awkgram.y |    8 +-
 3 files changed, 644 insertions(+), 627 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]