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-2633-g8f09123
Date: Mon, 17 Jul 2017 14:09:02 -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  8f091239327613994ecb5a42805ae1019ab14c97 (commit)
       via  104b3c3f13fcb4b53bfc330db0d103cf50d5b523 (commit)
      from  03ecc06ed34a9e1e05477fa64aa0d3b69c74d15d (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=8f091239327613994ecb5a42805ae1019ab14c97

commit 8f091239327613994ecb5a42805ae1019ab14c97
Merge: 03ecc06 104b3c3
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jul 17 21:08:55 2017 +0300

    Merge branch 'master' into feature/namespaces

diff --cc awkgram.c
index 3303c96,d7fc496..75d0f96
--- a/awkgram.c
+++ b/awkgram.c
@@@ -219,7 -212,7 +219,7 @@@ extern double fmod(double x, double y)
  
  #define YYSTYPE INSTRUCTION *
  
- #line 223 "awkgram.c" /* yacc.c:339  */
 -#line 216 "awkgram.c" /* yacc.c:339  */
++#line 223 "y.tab.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 "awkgram.c" /* yacc.c:358  */
 -#line 372 "awkgram.c" /* yacc.c:358  */
++#line 381 "y.tab.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   1199
 -#define YYLAST   1209
++#define YYLAST   1217
  
  /* 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  207
 -#define YYNRULES  202
++#define YYNRULES  206
  /* YYNSTATES -- Number of states.  */
- #define YYNSTATES  356
 -#define YYNSTATES  347
++#define YYNSTATES  353
  
  /* 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,  1766,  1767,  1768,  1773,
 -    1778,  1782,  1786,  1801,  1822,  1827,  1864,  1893,  1894,  1900,
 -    1901,  1906,  1908,  1915,  1932,  1949,  1951,  1958,  1963,  1971,
 -    1981,  1993,  2002,  2006,  2010,  2014,  2018,  2022,  2025,  2027,
 -    2031,  2035,  2039
 +       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,
-     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
++    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
  };
  #endif
  
@@@ -756,56 -745,55 +756,56 @@@ static const yytype_uint16 yytoknum[] 
  };
  # endif
  
- #define YYPACT_NINF -294
 -#define YYPACT_NINF -272
++#define YYPACT_NINF -287
  
  #define yypact_value_is_default(Yystate) \
-   (!!((Yystate) == (-294)))
 -  (!!((Yystate) == (-272)))
++  (!!((Yystate) == (-287)))
  
 -#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[] =
  {
-     -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
 -    -272,   282,  -272,  -272,   -18,   -12,  -272,  -272,  -272,  -272,
 -     166,  -272,  -272,    14,    14,    14,  -272,     4,  -272,  -272,
 -    -272,  1060,  1060,  -272,  1060,  1087,   790,    24,  -272,   -21,
 -       9,   -17,  -272,  -272,    15,  1102,   986,   101,   245,  -272,
 -    -272,  -272,  -272,   224,   716,   790,  -272,     7,  -272,  -272,
 -    -272,  -272,    33,    21,  -272,    13,  -272,  -272,  -272,   136,
 -      75,    91,    75,    75,  1060,   102,  -272,  -272,   110,   969,
 -      45,    56,  -272,    98,  -272,  -272,  -272,    15,  -272,    98,
 -     716,  -272,   147,  -272,  -272,  1013,   167,  1060,  1060,  1060,
 -      98,  -272,  -272,  -272,  1060,   117,   101,  1060,  1060,  1060,
 -    1060,  1060,  1060,  1060,  1060,  1060,  1060,  1060,  1060,  -272,
 -     164,  -272,  -272,   160,  1060,  -272,  -272,  -272,   109,   152,
 -    -272,  1151,    20,  1151,  -272,  -272,  -272,  -272,  1060,  -272,
 -     969,  -272,  -272,  -272,  1060,    98,  -272,   139,   837,  -272,
 -    -272,    16,   -20,  -272,   143,   -20,    15,  -272,   520,  -272,
 -     109,  -272,  -272,    97,  -272,   398,   566,  1126,  1060,   162,
 -      14,     3,     3,    75,    75,    75,    75,     3,     3,    75,
 -      75,    75,    75,  -272,  -272,  1151,  -272,  1013,   763,  -272,
 -      41,   101,  1151,  -272,   167,  -272,  1151,  -272,  -272,  -272,
 -    -272,  -272,   113,  -272,    12,   114,   118,    98,   123,   -20,
 -     -20,  -272,  -272,   -20,  1060,   -20,    98,  -272,  -272,   -20,
 -    -272,  -272,  1151,  -272,   121,    98,  -272,  1060,  1151,  -272,
 -    -272,  -272,  -272,  -272,  -272,   109,   188,  -272,  1060,  1060,
 -    -272,   197,  1060,  1060,   636,   870,  -272,  -272,  -272,   -20,
 -    1151,  -272,  -272,  -272,   567,   520,    98,  -272,  -272,  1151,
 -      98,  -272,    32,   969,   -20,   -12,   141,   969,   969,   165,
 -     -11,  -272,   121,  -272,   790,   215,  -272,   148,  -272,  -272,
 -    -272,  -272,  -272,    98,  -272,  -272,    11,  -272,  -272,  -272,
 -      98,    98,   172,   167,    98,   110,  -272,  -272,   636,  -272,
 -    -272,   -17,   636,  1060,   109,   683,   139,  1060,   221,  -272,
 -    -272,   969,    98,   805,    98,   986,    98,   271,    98,   636,
 -      98,   918,   636,  -272,   308,   191,  -272,   174,  -272,  -272,
 -     918,   109,  -272,  -272,  -272,   244,   247,  -272,  -272,   191,
 -    -272,    98,  -272,   109,    98,  -272,  -272,    98,  -272,    98,
 -     636,  -272,   370,   636,  -272,   445,  -272
++    -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
  };
  
    /* 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,   193,   175,   176,    25,    26,
-        0,    27,    28,   182,     0,     0,     0,   170,     5,    94,
 -       2,     0,     1,     6,     0,   188,   170,   171,    21,    22,
 -       0,    23,    24,   177,     0,     0,    30,   165,     5,    90,
 -      38,     0,     0,    37,     0,     0,     0,     0,     3,     0,
 -       0,     0,   161,    34,     4,    19,   132,   140,   141,   143,
 -     166,   174,   190,   167,     0,     0,   185,     0,   189,    27,
 -      26,    31,     0,     0,    28,    94,   178,   168,   169,     0,
 -     173,   167,   172,   162,     0,   194,   167,   109,     0,   107,
 -       0,     0,   175,    92,   200,     7,     8,    42,    39,    92,
 -       0,     9,     0,    91,   136,     0,     0,     0,     0,     0,
 -      92,   137,   139,   138,     0,     0,   142,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
 -     133,   151,   152,     0,     0,   117,    36,   122,     0,     0,
 -     115,   121,     0,   107,   187,   186,    29,    32,     0,   150,
 -       0,   192,   193,   191,   110,    92,   197,     0,     0,   163,
 -      14,     0,     0,    17,     0,     0,    93,   195,     0,    43,
 -       0,    35,   127,   128,   129,   125,   126,     0,     0,   130,
 -     177,   148,   149,   145,   146,   147,   144,   159,   160,   156,
 -     157,   158,   155,   124,   135,   123,   176,   118,     0,   184,
 -       0,    95,   111,   202,     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,   198,    92,   164,     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,   196,    61,     0,     0,    92,   199,    44,   131,
 -      92,   101,     0,     0,     0,   179,     0,     0,     0,     0,
 -     188,    69,     0,    58,     0,    85,    83,     0,    45,    25,
 -      33,   102,    99,    92,    60,    65,     0,   181,   183,    66,
 -      92,    92,     0,     0,    92,     0,    86,    63,     0,   180,
 -     182,     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,
 -     201,    92,    47,     0,    92,    77,    76,    92,    39,    92,
 -       0,    39,     0,     0,    52,     0,    51
++       2,     0,     1,     6,     0,   192,   174,   175,    25,    26,
++       0,    27,    28,   181,     0,     0,    34,   169,     5,    94,
 +      42,     0,     0,    41,     0,     0,     0,     0,     3,     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,   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,     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,   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
++     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
  };
  
    /* YYPGOTO[NTERM-NUM].  */
  static const yytype_int16 yypgoto[] =
  {
-     -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
 -    -272,  -272,  -272,  -272,  -272,  -272,   225,  -272,   242,  -272,
 -    -272,   -55,  -272,   -84,  -272,  -198,   -71,   -59,  -272,  -272,
 -    -226,  -272,  -272,  -271,  -272,  -272,  -272,  -272,  -272,  -272,
 -    -272,  -272,     6,    52,  -272,  -272,  -272,    26,  -272,   -42,
 -     182,  -272,  -130,    -1,  -272,  -272,  -272,   -32,    17,  -272,
 -     241,  -272,     2,   111,  -272,  -272,    -6,   -41,  -272,  -272,
 -     -76,    -2,  -272,   -27,  -208,   -60,  -272,   -15,   -54,  -114
++    -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
  };
  
    /* YYDEFGOTO[NTERM-NUM].  */
  static const yytype_int16 yydefgoto[] =
  {
-       -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
 -      -1,     1,    28,   142,   145,    29,    75,    53,    30,    31,
 -     180,    32,    82,   117,    33,   148,    76,   207,   208,   229,
 -     209,   244,   255,   262,   307,   316,   329,   210,   265,   287,
 -     297,   211,   146,   147,   129,   225,   226,   239,   266,    68,
 -     118,   119,   120,   212,   114,    93,    94,    36,    37,    38,
 -      39,    40,    41,    55,   275,   276,   277,    46,    47,    48,
 -      42,    43,   133,   213,   214,   139,   246,   215,   331,   138
++      -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
  };
  
    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@@ -882,344 -867,345 +882,348 @@@
       number is the opposite.  If YYTABLE_NINF, syntax error.  */
  static const yytype_int16 yytable[] =
  {
-       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,    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,
-        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,     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,    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,
 -      35,   152,    78,   122,    78,   178,   125,    34,   137,   261,
 -     154,    56,    57,    58,    79,   245,   230,   187,     5,    61,
 -      61,   134,    61,    66,   124,    69,   173,     4,   289,    72,
 -     283,    19,    19,   271,    61,    77,   272,   268,    60,    62,
 -     321,    63,   223,   121,   123,   224,   140,   220,   222,   333,
 -      44,   141,    73,    96,    74,    74,    73,   143,   176,    45,
 -      45,    72,   144,   130,    99,   100,   101,    83,   -12,   102,
 -     128,   188,   -31,    70,   190,    71,   135,    80,    45,   121,
 -     231,    25,    45,   126,   153,   261,   155,   156,   157,   127,
 -     216,   -12,   179,   159,   261,    61,    61,    61,    61,    61,
 -      61,    61,    61,    61,    61,    61,    61,    84,   227,   332,
 -     -96,   134,   252,   175,   161,   162,   163,   164,   165,   166,
 -     167,   168,   169,   170,   171,   172,    61,    79,   236,   237,
 -      79,   149,   238,   182,   241,   111,   112,   186,   243,     4,
 -     342,   102,   158,   345,   189,   181,   131,   132,    77,   134,
 -      19,    77,   151,   177,    91,    92,   160,   218,    56,  -106,
 -      97,    98,    99,   100,   101,   250,   135,   102,   263,    49,
 -      50,     5,  -115,   116,   174,   259,   121,   121,   136,   136,
 -     184,   228,   232,   274,    79,    79,   233,   183,    79,   251,
 -      79,   235,   282,   273,    79,   -15,    74,   280,   281,   247,
 -    -106,   256,   267,   240,   135,    77,    77,   294,   135,    77,
 -     279,    77,    16,    51,   278,    77,   249,  -106,   -15,  -115,
 -    -115,  -114,   285,  -106,    79,   296,   286,   253,   240,   298,
 -     328,   257,   258,   300,   302,   278,    52,   109,   110,    79,
 -     293,   308,   306,   123,   135,    77,   330,   284,   206,   234,
 -     319,   335,    54,   322,   336,   254,    81,   -97,   242,   327,
 -      77,   334,   150,    69,   299,   305,    65,   248,   111,   112,
 -     290,   219,   313,   339,     0,   337,     0,   113,     0,     0,
 -     304,   344,     2,     3,   346,     4,     5,     0,   310,     6,
 -       7,     0,   301,     0,   303,    61,   314,   315,   269,     0,
 -       8,     9,   270,    61,   103,   104,   105,   106,   107,     0,
 -       0,   108,     0,     0,     0,   323,   324,   116,    10,    11,
 -      12,    13,    96,    19,     0,   288,    14,    15,    16,    17,
 -      18,     0,   291,   292,    19,    20,   295,     0,     0,     0,
 -       0,    21,    22,     0,    23,   -92,    24,     0,     0,    25,
 -      26,     0,    27,     0,   309,   -18,   311,   -18,   312,   317,
 -     318,    20,   320,     0,     0,     0,     0,   325,   326,     0,
 -      23,   191,     0,     4,     5,     0,     0,     6,     7,     0,
 -       0,     0,     0,   338,     0,     0,   340,     0,     0,   341,
 -     192,   343,   193,   194,   195,   -74,   -74,   196,   197,   198,
 -     199,   200,   201,   202,   203,   204,     0,     0,    84,    13,
 -     205,     0,     0,    85,    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,    86,
 -      59,     0,     0,    73,   -74,    74,   191,     0,     4,     5,
 -       0,     0,     6,     7,     0,    91,    92,     0,     0,     0,
 -       0,     0,     0,     0,     0,   192,     0,   193,   194,   195,
 -     -73,   -73,   196,   197,   198,   199,   200,   201,   202,   203,
 -     204,     0,     0,     0,    13,   205,     0,     0,     0,    14,
 -      15,    16,    17,     0,     0,     0,     0,   -73,    20,     0,
 -       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    59,     0,     0,    73,   -73,
 -      74,   191,     0,     4,     5,     0,     0,     6,     7,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -     192,     0,   193,   194,   195,     0,     0,   196,   197,   198,
 -     199,   200,   201,   202,   203,   204,     0,     0,     0,    13,
 -     205,     0,     0,     0,    14,    15,    16,    17,    67,     0,
 -       4,     5,     0,    20,     6,     7,    84,     0,  -105,    21,
 -      22,    85,    23,     0,    24,     0,     0,    25,    26,     0,
 -      59,     0,     0,    73,   206,    74,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,    13,    86,    87,     0,
 -       0,    14,    15,    16,    17,     0,     0,     0,     0,  -105,
 -      20,     0,     0,    91,    92,     0,    21,    22,     0,    23,
 -       0,    24,     0,     0,    25,   264,  -105,    59,     0,     4,
 -       5,     0,  -105,     6,     7,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,   192,     0,   193,   194,
 -     195,     0,     0,   196,   197,   198,   199,   200,   201,   202,
 -     203,   204,     0,     0,     0,    13,   205,     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,    59,     0,     0,    73,
 -       0,    74,     0,     0,     0,     0,     0,   115,     0,     4,
 -       5,     0,    13,     6,     7,   116,     0,    14,    15,    16,
 -      17,     0,     0,     0,     0,     0,    20,     0,     0,     0,
++      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,    13,     0,     0,    74,     0,
 -      14,    15,    16,    17,   221,     0,     4,     5,     0,    20,
 -       6,     7,   116,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,     0,    25,    26,  -113,    59,     0,     0,     0,
 -       0,    67,     0,     4,     5,     0,     0,     6,     7,     0,
 -       0,     0,    13,     0,     0,     0,     0,    14,    15,    16,
 -      17,     0,     0,     0,     0,    84,    20,     0,     0,     0,
 -      85,     0,    21,    22,     0,    23,     0,    24,     0,    13,
 -      25,    26,     0,    59,    14,    15,    16,    17,   185,     0,
 -       4,     5,     0,    20,     6,     7,    86,    87,    88,    21,
 -      22,     0,    23,     0,    24,     0,     0,    25,    26,    89,
 -      59,     0,    91,    92,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     4,   260,     0,    13,     6,     7,     0,
 -      74,    14,    15,    16,    17,     0,     0,     0,     0,     0,
 -      20,     0,     0,   194,     0,     0,    21,    22,     0,    23,
 -       0,    24,   201,   202,    25,    26,     0,    59,     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,
 -      59,   194,     0,     0,     0,     0,     0,     0,     0,     0,
 -     201,   202,     0,     0,     0,     0,     0,    13,     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,    20,     0,     0,     0,     0,     0,    21,    22,    84,
 -      23,     0,    24,     0,    85,    25,    26,     0,    59,     4,
 -       5,     0,     0,     6,     7,     0,     0,     0,    95,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -      86,    87,    88,     0,     0,     0,     4,     5,     0,     0,
 -       6,     7,   116,    89,     0,    13,    91,    92,     0,     0,
 -      14,    15,    16,    17,     0,     0,     0,     0,   136,    20,
 -       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
 -      24,     0,    13,    25,    26,     0,    59,    14,    15,    16,
 -      17,     0,     0,     4,     5,     0,    20,     6,     7,     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,
 +       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,    26,     0,    61,    14,    15,    16,    17,
-       86,     0,     0,     0,     0,    87,    20,     0,     0,     0,
++       0,    13,    25,    26,     0,    59,    14,    15,    16,    17,
++       0,     0,     0,     0,     4,   266,    20,     0,     6,     7,
         0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
-       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
 -      25,    26,     0,    59,     0,     0,     0,     0,     0,     0,
 -       4,     5,     0,     0,     6,     7,     0,     0,     0,    13,
++      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,    84,    20,     0,     0,     0,    85,     0,    21,
 -      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
 -      59,    14,    15,    16,    17,     0,    84,     0,     0,     0,
 -      20,    85,     0,    86,    87,    88,    21,    22,     0,    23,
 -       0,    24,     0,     0,    25,    64,    89,    59,    90,    91,
 -      92,    84,     0,     0,     0,     0,    85,    86,    87,    88,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -      89,   217,     0,    91,    92,     0,     0,     0,     0,     0,
 -       0,     0,    86,    87,    88,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,    89,     0,     0,    91,    92
++       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
  };
  
  static const yytype_int16 yycheck[] =
  {
-        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,    -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,    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,    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,    85,    29,    45,    31,   119,    47,     1,    68,   235,
 -      86,    13,    14,    15,    29,   213,     4,     1,     4,    21,
 -      22,     1,    24,    25,    17,    26,   110,     3,    17,    27,
 -      41,    52,    52,     1,    36,    29,     4,   245,    21,    22,
 -     311,    24,     1,    44,    45,     4,     1,   177,   178,   320,
 -      68,     6,    73,    36,    75,    75,    73,     1,   118,    71,
 -      71,    59,     6,    64,    61,    62,    63,    52,    52,    66,
 -      57,   142,    68,    49,   145,    51,    56,    68,    71,    80,
 -      68,    67,    71,    50,    85,   311,    87,    88,    89,    68,
 -     150,    75,    72,    94,   320,    97,    98,    99,   100,   101,
 -     102,   103,   104,   105,   106,   107,   108,    10,   184,   317,
 -      69,     1,   226,   114,    97,    98,    99,   100,   101,   102,
 -     103,   104,   105,   106,   107,   108,   128,   142,   199,   200,
 -     145,    79,   203,   134,   205,    44,    45,   138,   209,     3,
 -     338,    66,    90,   341,     1,   128,    44,    45,   142,     1,
 -      52,   145,     5,     1,    57,    58,    39,   158,   160,    11,
 -      59,    60,    61,    62,    63,   225,    56,    66,   239,     3,
 -       4,     4,    10,     9,    14,   234,   177,   178,    69,    69,
 -      41,    68,    68,   254,   199,   200,    68,   135,   203,     1,
 -     205,    68,    27,   253,   209,    52,    75,   257,   258,   214,
 -      52,     4,   244,   204,    56,   199,   200,   283,    56,   203,
 -      69,   205,    46,    47,   255,   209,   217,    69,    75,    57,
 -      58,    69,   264,    75,   239,   285,    11,   228,   229,   288,
 -     314,   232,   233,   292,   294,   276,    70,    13,    14,   254,
 -      68,   301,    21,   244,    56,   239,    55,   262,    74,   197,
 -     309,     7,    10,   312,     7,   229,    31,    69,   206,   314,
 -     254,   321,    80,   264,   291,   297,    25,   215,    44,    45,
 -     276,   160,     1,   333,    -1,   329,    -1,    53,    -1,    -1,
 -     295,   340,     0,     1,   343,     3,     4,    -1,   303,     7,
 -       8,    -1,   293,    -1,   295,   297,    25,    26,   246,    -1,
 -      18,    19,   250,   305,    59,    60,    61,    62,    63,    -1,
 -      -1,    66,    -1,    -1,    -1,     7,     8,     9,    36,    37,
 -      38,    39,   305,    52,    -1,   273,    44,    45,    46,    47,
 -      48,    -1,   280,   281,    52,    53,   284,    -1,    -1,    -1,
 -      -1,    59,    60,    -1,    62,    74,    64,    -1,    -1,    67,
 -      68,    -1,    70,    -1,   302,    73,   304,    75,   306,   307,
 -     308,    53,   310,    -1,    -1,    -1,    -1,    59,    60,    -1,
 -      62,     1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,
 -      -1,    -1,    -1,   331,    -1,    -1,   334,    -1,    -1,   337,
 -      20,   339,    22,    23,    24,    25,    26,    27,    28,    29,
 -      30,    31,    32,    33,    34,    35,    -1,    -1,    10,    39,
 -      40,    -1,    -1,    15,    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,    41,
 -      70,    -1,    -1,    73,    74,    75,     1,    -1,     3,     4,
 -      -1,    -1,     7,     8,    -1,    57,    58,    -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,    -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,    10,    -1,    11,    59,
 -      60,    15,    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,    41,    42,    -1,
 -      -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,
 -      53,    -1,    -1,    57,    58,    -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,    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,    -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,    -1,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,     3,     4,    -1,    39,     7,     8,    -1,
 -      75,    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,
++      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,    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,    -1,    39,    57,    58,    -1,    -1,
 -      44,    45,    46,    47,    -1,    -1,    -1,    -1,    69,    53,
 -      -1,    -1,    -1,    -1,    -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,    -1,
 -      -1,    -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,
 -      67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
 -       3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,    39,
++      -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,     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,
++      -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,    -1,    68,    69,    -1,    71,    44,    45,    46,    47,
-       10,    -1,    -1,    -1,    -1,    15,    54,    -1,    -1,    -1,
++      -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,    -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
++      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,    10,    53,    -1,    -1,    -1,    15,    -1,    59,
 -      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
 -      70,    44,    45,    46,    47,    -1,    10,    -1,    -1,    -1,
 -      53,    15,    -1,    41,    42,    43,    59,    60,    -1,    62,
 -      -1,    64,    -1,    -1,    67,    68,    54,    70,    56,    57,
 -      58,    10,    -1,    -1,    -1,    -1,    15,    41,    42,    43,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      54,    55,    -1,    57,    58,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58
++      -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
  };
  
    /* 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,
 -      84,    85,    87,    90,   108,   119,   123,   124,   125,   126,
 -     127,   128,   136,   137,    68,    71,   133,   134,   135,     3,
 -       4,    47,    70,    83,    84,   129,   137,   137,   137,    70,
 -     124,   137,   124,   124,    68,   126,   137,     1,   115,   119,
 -      49,    51,   128,    73,    75,    82,    92,   108,   139,   143,
 -      68,    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,
 -     119,    44,    45,   138,     1,    56,    69,   141,   145,   141,
 -       1,     6,    79,     1,     6,    80,   108,   109,    91,   109,
 -     116,     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,   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,   141,    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,
-       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
++      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
  };
  
    /* 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,   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,   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,   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,     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,     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,     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
  };
  
  
@@@ -1901,7 -1887,7 +1905,7 @@@ yyreduce
                rule = 0;
                yyerrok;
          }
- #line 1905 "awkgram.c" /* yacc.c:1646  */
 -#line 1891 "awkgram.c" /* yacc.c:1646  */
++#line 1909 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 5:
@@@ -1909,7 -1895,7 +1913,7 @@@
      {
                next_sourcefile();
          }
- #line 1913 "awkgram.c" /* yacc.c:1646  */
 -#line 1899 "awkgram.c" /* yacc.c:1646  */
++#line 1917 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 6:
@@@ -1922,7 -1908,7 +1926,7 @@@
                 */
                /* yyerrok; */
          }
- #line 1926 "awkgram.c" /* yacc.c:1646  */
 -#line 1912 "awkgram.c" /* yacc.c:1646  */
++#line 1930 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 7:
@@@ -1931,7 -1917,7 +1935,7 @@@
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
- #line 1935 "awkgram.c" /* yacc.c:1646  */
 -#line 1921 "awkgram.c" /* yacc.c:1646  */
++#line 1939 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 8:
@@@ -1946,7 -1932,7 +1950,7 @@@
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
- #line 1950 "awkgram.c" /* yacc.c:1646  */
 -#line 1936 "awkgram.c" /* yacc.c:1646  */
++#line 1954 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 9:
@@@ -1957,7 -1943,7 +1961,7 @@@
                want_param_names = DONT_CHECK;
                yyerrok;
          }
- #line 1961 "awkgram.c" /* yacc.c:1646  */
 -#line 1947 "awkgram.c" /* yacc.c:1646  */
++#line 1965 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 10:
@@@ -1967,7 -1953,7 +1971,7 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1971 "awkgram.c" /* yacc.c:1646  */
 -#line 1957 "awkgram.c" /* yacc.c:1646  */
++#line 1975 "y.tab.c" /* yacc.c:1646  */
      break;
  
    case 11:
@@@ -1977,26 -1963,11 +1981,26 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1981 "awkgram.c" /* yacc.c:1646  */
 -#line 1967 "awkgram.c" /* yacc.c:1646  */
++#line 1985 "y.tab.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 1996 "awkgram.c" /* yacc.c:1646  */
++#line 2000 "y.tab.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 13:
 +#line 296 "awkgram.y" /* yacc.c:1646  */
      {
                if (include_source((yyvsp[0])) < 0)
                        YYABORT;
@@@ -2004,23 -1975,23 +2008,23 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2008 "awkgram.c" /* yacc.c:1646  */
 -#line 1979 "awkgram.c" /* yacc.c:1646  */
++#line 2012 "y.tab.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 2014 "awkgram.c" /* yacc.c:1646  */
 -#line 1985 "awkgram.c" /* yacc.c:1646  */
++#line 2018 "y.tab.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 2020 "awkgram.c" /* yacc.c:1646  */
 -#line 1991 "awkgram.c" /* yacc.c:1646  */
++#line 2024 "y.tab.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;
@@@ -2028,41 -1999,23 +2032,41 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2032 "awkgram.c" /* yacc.c:1646  */
 -#line 2003 "awkgram.c" /* yacc.c:1646  */
++#line 2036 "y.tab.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 2038 "awkgram.c" /* yacc.c:1646  */
 -#line 2009 "awkgram.c" /* yacc.c:1646  */
++#line 2042 "y.tab.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 2044 "awkgram.c" /* yacc.c:1646  */
 -#line 2015 "awkgram.c" /* yacc.c:1646  */
++#line 2048 "y.tab.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 2050 "awkgram.c" /* yacc.c:1646  */
++#line 2054 "y.tab.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 20:
 +#line 328 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
- #line 2056 "awkgram.c" /* yacc.c:1646  */
++#line 2060 "y.tab.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 21:
 +#line 330 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
- #line 2062 "awkgram.c" /* yacc.c:1646  */
++#line 2066 "y.tab.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 22:
 +#line 335 "awkgram.y" /* yacc.c:1646  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -2071,11 -2024,11 +2075,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2075 "awkgram.c" /* yacc.c:1646  */
 -#line 2028 "awkgram.c" /* yacc.c:1646  */
++#line 2079 "y.tab.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) {
@@@ -2084,11 -2037,11 +2088,11 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 2088 "awkgram.c" /* yacc.c:1646  */
 -#line 2041 "awkgram.c" /* yacc.c:1646  */
++#line 2092 "y.tab.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;
  
@@@ -2118,11 -2071,11 +2122,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
- #line 2122 "awkgram.c" /* yacc.c:1646  */
 -#line 2075 "awkgram.c" /* yacc.c:1646  */
++#line 2126 "y.tab.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;
  
@@@ -2136,11 -2089,11 +2140,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2140 "awkgram.c" /* yacc.c:1646  */
 -#line 2093 "awkgram.c" /* yacc.c:1646  */
++#line 2144 "y.tab.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;
  
@@@ -2154,11 -2107,11 +2158,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2158 "awkgram.c" /* yacc.c:1646  */
 -#line 2111 "awkgram.c" /* yacc.c:1646  */
++#line 2162 "y.tab.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;
@@@ -2166,11 -2119,11 +2170,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2170 "awkgram.c" /* yacc.c:1646  */
 -#line 2123 "awkgram.c" /* yacc.c:1646  */
++#line 2174 "y.tab.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;
@@@ -2178,11 -2131,11 +2182,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2182 "awkgram.c" /* yacc.c:1646  */
 -#line 2135 "awkgram.c" /* yacc.c:1646  */
++#line 2186 "y.tab.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)
@@@ -2191,48 -2144,48 +2195,48 @@@
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
- #line 2195 "awkgram.c" /* yacc.c:1646  */
 -#line 2148 "awkgram.c" /* yacc.c:1646  */
++#line 2199 "y.tab.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 2201 "awkgram.c" /* yacc.c:1646  */
 -#line 2154 "awkgram.c" /* yacc.c:1646  */
++#line 2205 "y.tab.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 2207 "awkgram.c" /* yacc.c:1646  */
 -#line 2160 "awkgram.c" /* yacc.c:1646  */
++#line 2211 "y.tab.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 2217 "awkgram.c" /* yacc.c:1646  */
 -#line 2170 "awkgram.c" /* yacc.c:1646  */
++#line 2221 "y.tab.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 2226 "awkgram.c" /* yacc.c:1646  */
 -#line 2179 "awkgram.c" /* yacc.c:1646  */
++#line 2230 "y.tab.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 2232 "awkgram.c" /* yacc.c:1646  */
 -#line 2185 "awkgram.c" /* yacc.c:1646  */
++#line 2236 "y.tab.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
@@@ -2270,17 -2223,17 +2274,17 @@@
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
- #line 2274 "awkgram.c" /* yacc.c:1646  */
 -#line 2227 "awkgram.c" /* yacc.c:1646  */
++#line 2278 "y.tab.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 2280 "awkgram.c" /* yacc.c:1646  */
 -#line 2233 "awkgram.c" /* yacc.c:1646  */
++#line 2284 "y.tab.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;
@@@ -2309,11 -2262,11 +2313,11 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
- #line 2313 "awkgram.c" /* yacc.c:1646  */
 -#line 2266 "awkgram.c" /* yacc.c:1646  */
++#line 2317 "y.tab.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;
@@@ -2326,17 -2279,17 +2330,17 @@@
                  (yyval)->opcode = Op_push_re;
                  (yyval)->memory = make_typed_regex(re, len);
                }
- #line 2330 "awkgram.c" /* yacc.c:1646  */
 -#line 2283 "awkgram.c" /* yacc.c:1646  */
++#line 2334 "y.tab.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 2336 "awkgram.c" /* yacc.c:1646  */
 -#line 2289 "awkgram.c" /* yacc.c:1646  */
++#line 2340 "y.tab.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);
@@@ -2347,11 -2300,11 +2351,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2351 "awkgram.c" /* yacc.c:1646  */
 -#line 2304 "awkgram.c" /* yacc.c:1646  */
++#line 2355 "y.tab.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) {
@@@ -2398,40 -2351,40 +2402,40 @@@
                }
                yyerrok;
          }
- #line 2402 "awkgram.c" /* yacc.c:1646  */
 -#line 2355 "awkgram.c" /* yacc.c:1646  */
++#line 2406 "y.tab.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 2408 "awkgram.c" /* yacc.c:1646  */
 -#line 2361 "awkgram.c" /* yacc.c:1646  */
++#line 2412 "y.tab.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 2414 "awkgram.c" /* yacc.c:1646  */
 -#line 2367 "awkgram.c" /* yacc.c:1646  */
++#line 2418 "y.tab.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 2420 "awkgram.c" /* yacc.c:1646  */
 -#line 2373 "awkgram.c" /* yacc.c:1646  */
++#line 2424 "y.tab.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 2431 "awkgram.c" /* yacc.c:1646  */
 -#line 2384 "awkgram.c" /* yacc.c:1646  */
++#line 2435 "y.tab.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;
@@@ -2521,11 -2474,11 +2525,11 @@@
                break_allowed--;
                fix_break_continue(ip, tbreak, NULL);
          }
- #line 2525 "awkgram.c" /* yacc.c:1646  */
 -#line 2478 "awkgram.c" /* yacc.c:1646  */
++#line 2529 "y.tab.c" /* yacc.c:1646  */
      break;
  
 -  case 48:
 -#line 708 "awkgram.y" /* yacc.c:1646  */
 +  case 52:
 +#line 735 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2567,11 -2520,11 +2571,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
- #line 2571 "awkgram.c" /* yacc.c:1646  */
 -#line 2524 "awkgram.c" /* yacc.c:1646  */
++#line 2575 "y.tab.c" /* yacc.c:1646  */
      break;
  
 -  case 49:
 -#line 750 "awkgram.y" /* yacc.c:1646  */
 +  case 53:
 +#line 777 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2613,11 -2566,11 +2617,11 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
- #line 2617 "awkgram.c" /* yacc.c:1646  */
 -#line 2570 "awkgram.c" /* yacc.c:1646  */
++#line 2621 "y.tab.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;
@@@ -2730,33 -2683,33 +2734,33 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
- #line 2734 "awkgram.c" /* yacc.c:1646  */
 -#line 2687 "awkgram.c" /* yacc.c:1646  */
++#line 2738 "y.tab.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 2745 "awkgram.c" /* yacc.c:1646  */
 -#line 2698 "awkgram.c" /* yacc.c:1646  */
++#line 2749 "y.tab.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 2756 "awkgram.c" /* yacc.c:1646  */
 -#line 2709 "awkgram.c" /* yacc.c:1646  */
++#line 2760 "y.tab.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));
@@@ -2764,11 -2717,11 +2768,11 @@@
                        (yyval) = (yyvsp[0]);
                (yyval) = add_pending_comment((yyval));
          }
- #line 2768 "awkgram.c" /* yacc.c:1646  */
 -#line 2721 "awkgram.c" /* yacc.c:1646  */
++#line 2772 "y.tab.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,
@@@ -2778,11 -2731,11 +2782,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2782 "awkgram.c" /* yacc.c:1646  */
 -#line 2735 "awkgram.c" /* yacc.c:1646  */
++#line 2786 "y.tab.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,
@@@ -2792,11 -2745,11 +2796,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2796 "awkgram.c" /* yacc.c:1646  */
 -#line 2749 "awkgram.c" /* yacc.c:1646  */
++#line 2800 "y.tab.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)
@@@ -2806,11 -2759,11 +2810,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2810 "awkgram.c" /* yacc.c:1646  */
 -#line 2763 "awkgram.c" /* yacc.c:1646  */
++#line 2814 "y.tab.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)
@@@ -2822,11 -2775,11 +2826,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2826 "awkgram.c" /* yacc.c:1646  */
 -#line 2779 "awkgram.c" /* yacc.c:1646  */
++#line 2830 "y.tab.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.
@@@ -2842,20 -2795,20 +2846,20 @@@
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2846 "awkgram.c" /* yacc.c:1646  */
 -#line 2799 "awkgram.c" /* yacc.c:1646  */
++#line 2850 "y.tab.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 2855 "awkgram.c" /* yacc.c:1646  */
 -#line 2808 "awkgram.c" /* yacc.c:1646  */
++#line 2859 "y.tab.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]));
@@@ -2877,17 -2830,17 +2881,17 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2881 "awkgram.c" /* yacc.c:1646  */
 -#line 2834 "awkgram.c" /* yacc.c:1646  */
++#line 2885 "y.tab.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 2887 "awkgram.c" /* yacc.c:1646  */
 -#line 2840 "awkgram.c" /* yacc.c:1646  */
++#line 2891 "y.tab.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.
@@@ -2985,17 -2938,17 +2989,17 @@@ regular_print
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2989 "awkgram.c" /* yacc.c:1646  */
 -#line 2942 "awkgram.c" /* yacc.c:1646  */
++#line 2993 "y.tab.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 2995 "awkgram.c" /* yacc.c:1646  */
 -#line 2948 "awkgram.c" /* yacc.c:1646  */
++#line 2999 "y.tab.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;
  
@@@ -3029,11 -2982,11 +3033,11 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3033 "awkgram.c" /* yacc.c:1646  */
 -#line 2986 "awkgram.c" /* yacc.c:1646  */
++#line 3037 "y.tab.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;
@@@ -3060,55 -3013,55 +3064,55 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3064 "awkgram.c" /* yacc.c:1646  */
 -#line 3017 "awkgram.c" /* yacc.c:1646  */
++#line 3068 "y.tab.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 3073 "awkgram.c" /* yacc.c:1646  */
 -#line 3026 "awkgram.c" /* yacc.c:1646  */
++#line 3077 "y.tab.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 3079 "awkgram.c" /* yacc.c:1646  */
 -#line 3032 "awkgram.c" /* yacc.c:1646  */
++#line 3083 "y.tab.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 3085 "awkgram.c" /* yacc.c:1646  */
 -#line 3038 "awkgram.c" /* yacc.c:1646  */
++#line 3089 "y.tab.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 3091 "awkgram.c" /* yacc.c:1646  */
 -#line 3044 "awkgram.c" /* yacc.c:1646  */
++#line 3095 "y.tab.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 3102 "awkgram.c" /* yacc.c:1646  */
 -#line 3055 "awkgram.c" /* yacc.c:1646  */
++#line 3106 "y.tab.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 3108 "awkgram.c" /* yacc.c:1646  */
 -#line 3061 "awkgram.c" /* yacc.c:1646  */
++#line 3112 "y.tab.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)
@@@ -3120,11 -3073,11 +3124,11 @@@
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
- #line 3124 "awkgram.c" /* yacc.c:1646  */
 -#line 3077 "awkgram.c" /* yacc.c:1646  */
++#line 3128 "y.tab.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)
@@@ -3135,17 -3088,17 +3139,17 @@@
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
- #line 3139 "awkgram.c" /* yacc.c:1646  */
 -#line 3092 "awkgram.c" /* yacc.c:1646  */
++#line 3143 "y.tab.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 3145 "awkgram.c" /* yacc.c:1646  */
 -#line 3098 "awkgram.c" /* yacc.c:1646  */
++#line 3149 "y.tab.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);
@@@ -3153,28 -3106,28 +3157,28 @@@
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3157 "awkgram.c" /* yacc.c:1646  */
 -#line 3110 "awkgram.c" /* yacc.c:1646  */
++#line 3161 "y.tab.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 3168 "awkgram.c" /* yacc.c:1646  */
 -#line 3121 "awkgram.c" /* yacc.c:1646  */
++#line 3172 "y.tab.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 3174 "awkgram.c" /* yacc.c:1646  */
 -#line 3127 "awkgram.c" /* yacc.c:1646  */
++#line 3178 "y.tab.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;
@@@ -3182,57 -3135,57 +3186,57 @@@
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
- #line 3186 "awkgram.c" /* yacc.c:1646  */
 -#line 3139 "awkgram.c" /* yacc.c:1646  */
++#line 3190 "y.tab.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 3196 "awkgram.c" /* yacc.c:1646  */
 -#line 3149 "awkgram.c" /* yacc.c:1646  */
++#line 3200 "y.tab.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 3202 "awkgram.c" /* yacc.c:1646  */
 -#line 3155 "awkgram.c" /* yacc.c:1646  */
++#line 3206 "y.tab.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 3208 "awkgram.c" /* yacc.c:1646  */
 -#line 3161 "awkgram.c" /* yacc.c:1646  */
++#line 3212 "y.tab.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 3216 "awkgram.c" /* yacc.c:1646  */
 -#line 3169 "awkgram.c" /* yacc.c:1646  */
++#line 3220 "y.tab.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 3226 "awkgram.c" /* yacc.c:1646  */
 -#line 3179 "awkgram.c" /* yacc.c:1646  */
++#line 3230 "y.tab.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 3232 "awkgram.c" /* yacc.c:1646  */
 -#line 3185 "awkgram.c" /* yacc.c:1646  */
++#line 3236 "y.tab.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
@@@ -3240,63 -3193,63 +3244,63 @@@
                        yyerror(_("multistage two-way pipelines don't work"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
- #line 3244 "awkgram.c" /* yacc.c:1646  */
 -#line 3197 "awkgram.c" /* yacc.c:1646  */
++#line 3248 "y.tab.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 3252 "awkgram.c" /* yacc.c:1646  */
 -#line 3205 "awkgram.c" /* yacc.c:1646  */
++#line 3256 "y.tab.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 3260 "awkgram.c" /* yacc.c:1646  */
 -#line 3213 "awkgram.c" /* yacc.c:1646  */
++#line 3264 "y.tab.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 3266 "awkgram.c" /* yacc.c:1646  */
 -#line 3219 "awkgram.c" /* yacc.c:1646  */
++#line 3270 "y.tab.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 3275 "awkgram.c" /* yacc.c:1646  */
 -#line 3228 "awkgram.c" /* yacc.c:1646  */
++#line 3279 "y.tab.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 3281 "awkgram.c" /* yacc.c:1646  */
 -#line 3234 "awkgram.c" /* yacc.c:1646  */
++#line 3285 "y.tab.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 3287 "awkgram.c" /* yacc.c:1646  */
 -#line 3240 "awkgram.c" /* yacc.c:1646  */
++#line 3291 "y.tab.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 3296 "awkgram.c" /* yacc.c:1646  */
 -#line 3249 "awkgram.c" /* yacc.c:1646  */
++#line 3300 "y.tab.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;
@@@ -3305,74 -3258,74 +3309,74 @@@
                } else
                        (yyval) = NULL;
          }
- #line 3309 "awkgram.c" /* yacc.c:1646  */
 -#line 3262 "awkgram.c" /* yacc.c:1646  */
++#line 3313 "y.tab.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 3315 "awkgram.c" /* yacc.c:1646  */
 -#line 3268 "awkgram.c" /* yacc.c:1646  */
++#line 3319 "y.tab.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 3321 "awkgram.c" /* yacc.c:1646  */
 -#line 3274 "awkgram.c" /* yacc.c:1646  */
++#line 3325 "y.tab.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 3327 "awkgram.c" /* yacc.c:1646  */
 -#line 3280 "awkgram.c" /* yacc.c:1646  */
++#line 3331 "y.tab.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 3333 "awkgram.c" /* yacc.c:1646  */
 -#line 3286 "awkgram.c" /* yacc.c:1646  */
++#line 3337 "y.tab.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 3339 "awkgram.c" /* yacc.c:1646  */
 -#line 3292 "awkgram.c" /* yacc.c:1646  */
++#line 3343 "y.tab.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 3345 "awkgram.c" /* yacc.c:1646  */
 -#line 3298 "awkgram.c" /* yacc.c:1646  */
++#line 3349 "y.tab.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 3351 "awkgram.c" /* yacc.c:1646  */
 -#line 3304 "awkgram.c" /* yacc.c:1646  */
++#line 3355 "y.tab.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 3357 "awkgram.c" /* yacc.c:1646  */
 -#line 3310 "awkgram.c" /* yacc.c:1646  */
++#line 3361 "y.tab.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 3366 "awkgram.c" /* yacc.c:1646  */
 -#line 3319 "awkgram.c" /* yacc.c:1646  */
++#line 3370 "y.tab.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 3372 "awkgram.c" /* yacc.c:1646  */
 -#line 3325 "awkgram.c" /* yacc.c:1646  */
++#line 3376 "y.tab.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
@@@ -3380,62 -3333,62 +3384,62 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3384 "awkgram.c" /* yacc.c:1646  */
 -#line 3337 "awkgram.c" /* yacc.c:1646  */
++#line 3388 "y.tab.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 3393 "awkgram.c" /* yacc.c:1646  */
 -#line 3346 "awkgram.c" /* yacc.c:1646  */
++#line 3397 "y.tab.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 3402 "awkgram.c" /* yacc.c:1646  */
 -#line 3355 "awkgram.c" /* yacc.c:1646  */
++#line 3406 "y.tab.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 3408 "awkgram.c" /* yacc.c:1646  */
 -#line 3361 "awkgram.c" /* yacc.c:1646  */
++#line 3412 "y.tab.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 3414 "awkgram.c" /* yacc.c:1646  */
 -#line 3367 "awkgram.c" /* yacc.c:1646  */
++#line 3418 "y.tab.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 3420 "awkgram.c" /* yacc.c:1646  */
 -#line 3373 "awkgram.c" /* yacc.c:1646  */
++#line 3424 "y.tab.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 3429 "awkgram.c" /* yacc.c:1646  */
 -#line 3382 "awkgram.c" /* yacc.c:1646  */
++#line 3433 "y.tab.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 3435 "awkgram.c" /* yacc.c:1646  */
 -#line 3388 "awkgram.c" /* yacc.c:1646  */
++#line 3439 "y.tab.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
@@@ -3443,72 -3396,72 +3447,72 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3447 "awkgram.c" /* yacc.c:1646  */
 -#line 3400 "awkgram.c" /* yacc.c:1646  */
++#line 3451 "y.tab.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 3456 "awkgram.c" /* yacc.c:1646  */
 -#line 3409 "awkgram.c" /* yacc.c:1646  */
++#line 3460 "y.tab.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 3465 "awkgram.c" /* yacc.c:1646  */
 -#line 3418 "awkgram.c" /* yacc.c:1646  */
++#line 3469 "y.tab.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 3471 "awkgram.c" /* yacc.c:1646  */
 -#line 3424 "awkgram.c" /* yacc.c:1646  */
++#line 3475 "y.tab.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 3477 "awkgram.c" /* yacc.c:1646  */
 -#line 3430 "awkgram.c" /* yacc.c:1646  */
++#line 3481 "y.tab.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 3488 "awkgram.c" /* yacc.c:1646  */
 -#line 3441 "awkgram.c" /* yacc.c:1646  */
++#line 3492 "y.tab.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 3496 "awkgram.c" /* yacc.c:1646  */
 -#line 3449 "awkgram.c" /* yacc.c:1646  */
++#line 3500 "y.tab.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 3502 "awkgram.c" /* yacc.c:1646  */
 -#line 3455 "awkgram.c" /* yacc.c:1646  */
++#line 3506 "y.tab.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 3508 "awkgram.c" /* yacc.c:1646  */
 -#line 3461 "awkgram.c" /* yacc.c:1646  */
++#line 3512 "y.tab.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,
@@@ -3521,11 -3474,11 +3525,11 @@@
                bcfree((yyvsp[0]));
                (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
          }
- #line 3525 "awkgram.c" /* yacc.c:1646  */
 -#line 3478 "awkgram.c" /* yacc.c:1646  */
++#line 3529 "y.tab.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,
@@@ -3542,11 -3495,11 +3546,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
- #line 3546 "awkgram.c" /* yacc.c:1646  */
 -#line 3499 "awkgram.c" /* yacc.c:1646  */
++#line 3550 "y.tab.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,
@@@ -3556,91 -3509,91 +3560,91 @@@
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3560 "awkgram.c" /* yacc.c:1646  */
 -#line 3513 "awkgram.c" /* yacc.c:1646  */
++#line 3564 "y.tab.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 3571 "awkgram.c" /* yacc.c:1646  */
 -#line 3524 "awkgram.c" /* yacc.c:1646  */
++#line 3575 "y.tab.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 3577 "awkgram.c" /* yacc.c:1646  */
 -#line 3530 "awkgram.c" /* yacc.c:1646  */
++#line 3581 "y.tab.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 3583 "awkgram.c" /* yacc.c:1646  */
 -#line 3536 "awkgram.c" /* yacc.c:1646  */
++#line 3587 "y.tab.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 3589 "awkgram.c" /* yacc.c:1646  */
 -#line 3542 "awkgram.c" /* yacc.c:1646  */
++#line 3593 "y.tab.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 3595 "awkgram.c" /* yacc.c:1646  */
 -#line 3548 "awkgram.c" /* yacc.c:1646  */
++#line 3599 "y.tab.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 3604 "awkgram.c" /* yacc.c:1646  */
 -#line 3557 "awkgram.c" /* yacc.c:1646  */
++#line 3608 "y.tab.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 3610 "awkgram.c" /* yacc.c:1646  */
 -#line 3563 "awkgram.c" /* yacc.c:1646  */
++#line 3614 "y.tab.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 3616 "awkgram.c" /* yacc.c:1646  */
 -#line 3569 "awkgram.c" /* yacc.c:1646  */
++#line 3620 "y.tab.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 3622 "awkgram.c" /* yacc.c:1646  */
 -#line 3575 "awkgram.c" /* yacc.c:1646  */
++#line 3626 "y.tab.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 3628 "awkgram.c" /* yacc.c:1646  */
 -#line 3581 "awkgram.c" /* yacc.c:1646  */
++#line 3632 "y.tab.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 3634 "awkgram.c" /* yacc.c:1646  */
 -#line 3587 "awkgram.c" /* yacc.c:1646  */
++#line 3638 "y.tab.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 3640 "awkgram.c" /* yacc.c:1646  */
 -#line 3593 "awkgram.c" /* yacc.c:1646  */
++#line 3644 "y.tab.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;
@@@ -3693,47 -3646,47 +3697,47 @@@
                                max_args = count;
                }
          }
- #line 3697 "awkgram.c" /* yacc.c:1646  */
 -#line 3650 "awkgram.c" /* yacc.c:1646  */
++#line 3701 "y.tab.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 3703 "awkgram.c" /* yacc.c:1646  */
 -#line 3656 "awkgram.c" /* yacc.c:1646  */
++#line 3707 "y.tab.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 3709 "awkgram.c" /* yacc.c:1646  */
 -#line 3662 "awkgram.c" /* yacc.c:1646  */
++#line 3713 "y.tab.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 3715 "awkgram.c" /* yacc.c:1646  */
 -#line 3668 "awkgram.c" /* yacc.c:1646  */
++#line 3719 "y.tab.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 3721 "awkgram.c" /* yacc.c:1646  */
 -#line 3674 "awkgram.c" /* yacc.c:1646  */
++#line 3725 "y.tab.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 3727 "awkgram.c" /* yacc.c:1646  */
 -#line 3680 "awkgram.c" /* yacc.c:1646  */
++#line 3731 "y.tab.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 3733 "awkgram.c" /* yacc.c:1646  */
 -#line 3686 "awkgram.c" /* yacc.c:1646  */
++#line 3737 "y.tab.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'
@@@ -3747,29 -3700,29 +3751,29 @@@
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
- #line 3751 "awkgram.c" /* yacc.c:1646  */
 -#line 3704 "awkgram.c" /* yacc.c:1646  */
++#line 3755 "y.tab.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 3760 "awkgram.c" /* yacc.c:1646  */
 -#line 3713 "awkgram.c" /* yacc.c:1646  */
++#line 3764 "y.tab.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 3769 "awkgram.c" /* yacc.c:1646  */
 -#line 3722 "awkgram.c" /* yacc.c:1646  */
++#line 3773 "y.tab.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,
@@@ -3789,64 -3742,64 +3793,64 @@@
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
- #line 3793 "awkgram.c" /* yacc.c:1646  */
 -#line 3746 "awkgram.c" /* yacc.c:1646  */
++#line 3797 "y.tab.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 3802 "awkgram.c" /* yacc.c:1646  */
 -#line 3755 "awkgram.c" /* yacc.c:1646  */
++#line 3806 "y.tab.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 3808 "awkgram.c" /* yacc.c:1646  */
 -#line 3761 "awkgram.c" /* yacc.c:1646  */
++#line 3812 "y.tab.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 3814 "awkgram.c" /* yacc.c:1646  */
 -#line 3767 "awkgram.c" /* yacc.c:1646  */
++#line 3818 "y.tab.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 3820 "awkgram.c" /* yacc.c:1646  */
 -#line 3773 "awkgram.c" /* yacc.c:1646  */
++#line 3824 "y.tab.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 3826 "awkgram.c" /* yacc.c:1646  */
 -#line 3779 "awkgram.c" /* yacc.c:1646  */
++#line 3830 "y.tab.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 3832 "awkgram.c" /* yacc.c:1646  */
 -#line 3785 "awkgram.c" /* yacc.c:1646  */
++#line 3836 "y.tab.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 3838 "awkgram.c" /* yacc.c:1646  */
 -#line 3791 "awkgram.c" /* yacc.c:1646  */
++#line 3842 "y.tab.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 3846 "awkgram.c" /* yacc.c:1646  */
 -#line 3799 "awkgram.c" /* yacc.c:1646  */
++#line 3850 "y.tab.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;
@@@ -3878,43 -3831,33 +3882,33 @@@
                        }
                }
           }
- #line 3882 "awkgram.c" /* yacc.c:1646  */
 -#line 3835 "awkgram.c" /* yacc.c:1646  */
++#line 3886 "y.tab.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 3893 "awkgram.c" /* yacc.c:1646  */
 -#line 3846 "awkgram.c" /* yacc.c:1646  */
++#line 3897 "y.tab.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 3903 "awkgram.c" /* yacc.c:1646  */
 -#line 3856 "awkgram.c" /* yacc.c:1646  */
++#line 3907 "y.tab.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 3913 "awkgram.c" /* yacc.c:1646  */
-     break;
- 
-   case 170:
- #line 1787 "awkgram.y" /* yacc.c:1646  */
-     {
                static bool warned = false;
  
                if (do_lint && ! warned) {
@@@ -3926,45 -3869,45 +3920,45 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3930 "awkgram.c" /* yacc.c:1646  */
 -#line 3873 "awkgram.c" /* yacc.c:1646  */
++#line 3924 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 173:
- #line 1802 "awkgram.y" /* yacc.c:1646  */
 -  case 168:
 -#line 1769 "awkgram.y" /* yacc.c:1646  */
++  case 172:
++#line 1796 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3939 "awkgram.c" /* yacc.c:1646  */
 -#line 3882 "awkgram.c" /* yacc.c:1646  */
++#line 3933 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 174:
- #line 1807 "awkgram.y" /* yacc.c:1646  */
 -  case 169:
 -#line 1774 "awkgram.y" /* yacc.c:1646  */
++  case 173:
++#line 1801 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3948 "awkgram.c" /* yacc.c:1646  */
 -#line 3891 "awkgram.c" /* yacc.c:1646  */
++#line 3942 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 175:
- #line 1812 "awkgram.y" /* yacc.c:1646  */
 -  case 170:
 -#line 1779 "awkgram.y" /* yacc.c:1646  */
++  case 174:
++#line 1806 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3956 "awkgram.c" /* yacc.c:1646  */
 -#line 3899 "awkgram.c" /* yacc.c:1646  */
++#line 3950 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 176:
- #line 1816 "awkgram.y" /* yacc.c:1646  */
 -  case 171:
 -#line 1783 "awkgram.y" /* yacc.c:1646  */
++  case 175:
++#line 1810 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3964 "awkgram.c" /* yacc.c:1646  */
 -#line 3907 "awkgram.c" /* yacc.c:1646  */
++#line 3958 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 177:
- #line 1820 "awkgram.y" /* yacc.c:1646  */
 -  case 172:
 -#line 1787 "awkgram.y" /* yacc.c:1646  */
++  case 176:
++#line 1814 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3979,11 -3922,11 +3973,11 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3983 "awkgram.c" /* yacc.c:1646  */
 -#line 3926 "awkgram.c" /* yacc.c:1646  */
++#line 3977 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 178:
- #line 1835 "awkgram.y" /* yacc.c:1646  */
 -  case 173:
 -#line 1802 "awkgram.y" /* yacc.c:1646  */
++  case 177:
++#line 1829 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -4001,20 -3944,20 +3995,20 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 4005 "awkgram.c" /* yacc.c:1646  */
 -#line 3948 "awkgram.c" /* yacc.c:1646  */
++#line 3999 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 179:
- #line 1856 "awkgram.y" /* yacc.c:1646  */
 -  case 174:
 -#line 1823 "awkgram.y" /* yacc.c:1646  */
++  case 178:
++#line 1850 "awkgram.y" /* yacc.c:1646  */
      {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
- #line 4014 "awkgram.c" /* yacc.c:1646  */
 -#line 3957 "awkgram.c" /* yacc.c:1646  */
++#line 4008 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 180:
- #line 1861 "awkgram.y" /* yacc.c:1646  */
 -  case 175:
 -#line 1828 "awkgram.y" /* yacc.c:1646  */
++  case 179:
++#line 1855 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -4048,11 -3991,11 +4042,11 @@@
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
- #line 4052 "awkgram.c" /* yacc.c:1646  */
 -#line 3995 "awkgram.c" /* yacc.c:1646  */
++#line 4046 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 181:
- #line 1898 "awkgram.y" /* yacc.c:1646  */
 -  case 176:
 -#line 1865 "awkgram.y" /* yacc.c:1646  */
++  case 180:
++#line 1892 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n;
  
@@@ -4082,49 -4020,49 +4076,49 @@@
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
- #line 4086 "awkgram.c" /* yacc.c:1646  */
 -#line 4024 "awkgram.c" /* yacc.c:1646  */
++#line 4080 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 182:
- #line 1931 "awkgram.y" /* yacc.c:1646  */
 -  case 177:
 -#line 1893 "awkgram.y" /* yacc.c:1646  */
++  case 181:
++#line 1925 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4092 "awkgram.c" /* yacc.c:1646  */
 -#line 4030 "awkgram.c" /* yacc.c:1646  */
++#line 4086 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 183:
- #line 1933 "awkgram.y" /* yacc.c:1646  */
 -  case 178:
 -#line 1895 "awkgram.y" /* yacc.c:1646  */
++  case 182:
++#line 1927 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4098 "awkgram.c" /* yacc.c:1646  */
 -#line 4036 "awkgram.c" /* yacc.c:1646  */
++#line 4092 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 184:
- #line 1938 "awkgram.y" /* yacc.c:1646  */
 -  case 179:
 -#line 1900 "awkgram.y" /* yacc.c:1646  */
++  case 183:
++#line 1932 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4104 "awkgram.c" /* yacc.c:1646  */
 -#line 4042 "awkgram.c" /* yacc.c:1646  */
++#line 4098 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 185:
- #line 1940 "awkgram.y" /* yacc.c:1646  */
 -  case 180:
 -#line 1902 "awkgram.y" /* yacc.c:1646  */
++  case 184:
++#line 1934 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4110 "awkgram.c" /* yacc.c:1646  */
 -#line 4048 "awkgram.c" /* yacc.c:1646  */
++#line 4104 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 186:
- #line 1945 "awkgram.y" /* yacc.c:1646  */
 -  case 181:
 -#line 1907 "awkgram.y" /* yacc.c:1646  */
++  case 185:
++#line 1939 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4116 "awkgram.c" /* yacc.c:1646  */
 -#line 4054 "awkgram.c" /* yacc.c:1646  */
++#line 4110 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 187:
- #line 1947 "awkgram.y" /* yacc.c:1646  */
 -  case 182:
 -#line 1909 "awkgram.y" /* yacc.c:1646  */
++  case 186:
++#line 1941 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4124 "awkgram.c" /* yacc.c:1646  */
 -#line 4062 "awkgram.c" /* yacc.c:1646  */
++#line 4118 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 188:
- #line 1954 "awkgram.y" /* yacc.c:1646  */
 -  case 183:
 -#line 1916 "awkgram.y" /* yacc.c:1646  */
++  case 187:
++#line 1948 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->lasti;
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -4138,11 -4076,11 +4132,11 @@@
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
- #line 4142 "awkgram.c" /* yacc.c:1646  */
 -#line 4080 "awkgram.c" /* yacc.c:1646  */
++#line 4136 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 189:
- #line 1971 "awkgram.y" /* yacc.c:1646  */
 -  case 184:
 -#line 1933 "awkgram.y" /* yacc.c:1646  */
++  case 188:
++#line 1965 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@@ -4156,31 -4094,31 +4150,31 @@@
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
- #line 4160 "awkgram.c" /* yacc.c:1646  */
 -#line 4098 "awkgram.c" /* yacc.c:1646  */
++#line 4154 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 190:
- #line 1988 "awkgram.y" /* yacc.c:1646  */
 -  case 185:
 -#line 1950 "awkgram.y" /* yacc.c:1646  */
++  case 189:
++#line 1982 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4166 "awkgram.c" /* yacc.c:1646  */
 -#line 4104 "awkgram.c" /* yacc.c:1646  */
++#line 4160 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 191:
- #line 1990 "awkgram.y" /* yacc.c:1646  */
 -  case 186:
 -#line 1952 "awkgram.y" /* yacc.c:1646  */
++  case 190:
++#line 1984 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4174 "awkgram.c" /* yacc.c:1646  */
 -#line 4112 "awkgram.c" /* yacc.c:1646  */
++#line 4168 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 192:
- #line 1997 "awkgram.y" /* yacc.c:1646  */
 -  case 187:
 -#line 1959 "awkgram.y" /* yacc.c:1646  */
++  case 191:
++#line 1991 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4180 "awkgram.c" /* yacc.c:1646  */
 -#line 4118 "awkgram.c" /* yacc.c:1646  */
++#line 4174 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 193:
- #line 2002 "awkgram.y" /* yacc.c:1646  */
 -  case 188:
 -#line 1964 "awkgram.y" /* yacc.c:1646  */
++  case 192:
++#line 1996 "awkgram.y" /* yacc.c:1646  */
      {
                char *var_name = (yyvsp[0])->lextok;
  
@@@ -4188,22 -4126,22 +4182,22 @@@
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
- #line 4192 "awkgram.c" /* yacc.c:1646  */
 -#line 4130 "awkgram.c" /* yacc.c:1646  */
++#line 4186 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 194:
- #line 2010 "awkgram.y" /* yacc.c:1646  */
 -  case 189:
 -#line 1972 "awkgram.y" /* yacc.c:1646  */
++  case 193:
++#line 2004 "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 4203 "awkgram.c" /* yacc.c:1646  */
 -#line 4141 "awkgram.c" /* yacc.c:1646  */
++#line 4197 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 195:
- #line 2020 "awkgram.y" /* yacc.c:1646  */
 -  case 190:
 -#line 1982 "awkgram.y" /* yacc.c:1646  */
++  case 194:
++#line 2014 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@@ -4215,73 -4153,73 +4209,73 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 4219 "awkgram.c" /* yacc.c:1646  */
 -#line 4157 "awkgram.c" /* yacc.c:1646  */
++#line 4213 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 196:
- #line 2032 "awkgram.y" /* yacc.c:1646  */
 -  case 191:
 -#line 1994 "awkgram.y" /* yacc.c:1646  */
++  case 195:
++#line 2026 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 4229 "awkgram.c" /* yacc.c:1646  */
 -#line 4167 "awkgram.c" /* yacc.c:1646  */
++#line 4223 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 197:
- #line 2041 "awkgram.y" /* yacc.c:1646  */
 -  case 192:
 -#line 2003 "awkgram.y" /* yacc.c:1646  */
++  case 196:
++#line 2035 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
          }
- #line 4237 "awkgram.c" /* yacc.c:1646  */
 -#line 4175 "awkgram.c" /* yacc.c:1646  */
++#line 4231 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 198:
- #line 2045 "awkgram.y" /* yacc.c:1646  */
 -  case 193:
 -#line 2007 "awkgram.y" /* yacc.c:1646  */
++  case 197:
++#line 2039 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
- #line 4245 "awkgram.c" /* yacc.c:1646  */
 -#line 4183 "awkgram.c" /* yacc.c:1646  */
++#line 4239 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 199:
- #line 2048 "awkgram.y" /* yacc.c:1646  */
 -  case 194:
 -#line 2010 "awkgram.y" /* yacc.c:1646  */
++  case 198:
++#line 2042 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4251 "awkgram.c" /* yacc.c:1646  */
 -#line 4189 "awkgram.c" /* yacc.c:1646  */
++#line 4245 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 201:
- #line 2056 "awkgram.y" /* yacc.c:1646  */
 -  case 196:
 -#line 2018 "awkgram.y" /* yacc.c:1646  */
++  case 200:
++#line 2050 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4257 "awkgram.c" /* yacc.c:1646  */
 -#line 4195 "awkgram.c" /* yacc.c:1646  */
++#line 4251 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 202:
- #line 2060 "awkgram.y" /* yacc.c:1646  */
 -  case 197:
 -#line 2022 "awkgram.y" /* yacc.c:1646  */
++  case 201:
++#line 2054 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4263 "awkgram.c" /* yacc.c:1646  */
 -#line 4201 "awkgram.c" /* yacc.c:1646  */
++#line 4257 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 205:
- #line 2069 "awkgram.y" /* yacc.c:1646  */
 -  case 200:
 -#line 2031 "awkgram.y" /* yacc.c:1646  */
++  case 204:
++#line 2063 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4269 "awkgram.c" /* yacc.c:1646  */
 -#line 4207 "awkgram.c" /* yacc.c:1646  */
++#line 4263 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 206:
- #line 2073 "awkgram.y" /* yacc.c:1646  */
 -  case 201:
 -#line 2035 "awkgram.y" /* yacc.c:1646  */
++  case 205:
++#line 2067 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); yyerrok; }
- #line 4275 "awkgram.c" /* yacc.c:1646  */
 -#line 4213 "awkgram.c" /* yacc.c:1646  */
++#line 4269 "y.tab.c" /* yacc.c:1646  */
      break;
  
-   case 207:
- #line 2077 "awkgram.y" /* yacc.c:1646  */
 -  case 202:
 -#line 2039 "awkgram.y" /* yacc.c:1646  */
++  case 206:
++#line 2071 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4281 "awkgram.c" /* yacc.c:1646  */
 -#line 4219 "awkgram.c" /* yacc.c:1646  */
++#line 4275 "y.tab.c" /* yacc.c:1646  */
      break;
  
  
- #line 4285 "awkgram.c" /* yacc.c:1646  */
 -#line 4223 "awkgram.c" /* yacc.c:1646  */
++#line 4279 "y.tab.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4509,7 -4447,7 +4503,7 @@@ yyreturn
  #endif
    return yyresult;
  }
- #line 2079 "awkgram.y" /* yacc.c:1906  */
 -#line 2041 "awkgram.y" /* yacc.c:1906  */
++#line 2073 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {

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

Summary of changes:
 ChangeLog |    6 +
 awkgram.c | 1266 ++++++++++++++++++++++++++++++-------------------------------
 awkgram.y |   16 +-
 3 files changed, 641 insertions(+), 647 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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