gawk-diffs
[Top][All Lists]
Advanced

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

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


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/typed-regex, updated. gawk-4.1.0-2009-g1edb964
Date: Tue, 11 Oct 2016 11:43:46 +0000 (UTC)

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/typed-regex has been updated
       via  1edb964dbdb07174e5822727df8ae45b32eb965f (commit)
       via  662a50264f770f5bd972bee0e1980b9cb08ff41d (commit)
      from  cff5f2ecabdb84929f482f731bbcce21e47f092d (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=1edb964dbdb07174e5822727df8ae45b32eb965f

commit 1edb964dbdb07174e5822727df8ae45b32eb965f
Merge: cff5f2e 662a502
Author: Arnold D. Robbins <address@hidden>
Date:   Tue Oct 11 14:43:40 2016 +0300

    Merge branch 'master' into feature/typed-regex

diff --cc awkgram.c
index 6037d42,b7ad577..0883f3f
--- a/awkgram.c
+++ b/awkgram.c
@@@ -366,7 -365,7 +367,7 @@@ int yyparse (void)
  
  /* Copy the second part of user declarations.  */
  
- #line 370 "awkgram.c" /* yacc.c:358  */
 -#line 369 "awkgram.c" /* yacc.c:358  */
++#line 371 "awkgram.c" /* yacc.c:358  */
  
  #ifdef short
  # undef short
@@@ -668,27 -667,26 +669,27 @@@ static const yytype_uint8 yytranslate[
    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
  static const yytype_uint16 yyrline[] =
  {
-        0,   213,   213,   215,   220,   221,   225,   237,   242,   253,
-      260,   266,   275,   283,   285,   290,   298,   300,   306,   314,
-      324,   354,   368,   382,   390,   401,   413,   415,   417,   423,
-      431,   432,   436,   436,   482,   481,   515,   537,   539,   544,
-      554,   601,   606,   607,   611,   613,   615,   622,   712,   754,
-      796,   909,   916,   923,   934,   944,   954,   964,   976,   993,
-      992,  1017,  1029,  1029,  1128,  1128,  1162,  1193,  1202,  1203,
-     1209,  1210,  1217,  1222,  1234,  1248,  1250,  1258,  1263,  1265,
-     1273,  1282,  1284,  1293,  1294,  1302,  1307,  1307,  1318,  1322,
-     1330,  1331,  1334,  1336,  1341,  1342,  1351,  1352,  1357,  1362,
-     1371,  1373,  1375,  1382,  1383,  1389,  1390,  1395,  1397,  1402,
-     1404,  1412,  1417,  1426,  1427,  1432,  1434,  1439,  1441,  1449,
-     1454,  1462,  1463,  1468,  1475,  1479,  1481,  1483,  1496,  1513,
-     1523,  1530,  1532,  1537,  1539,  1541,  1549,  1551,  1556,  1558,
-     1563,  1565,  1567,  1623,  1625,  1627,  1629,  1631,  1633,  1635,
-     1637,  1651,  1656,  1661,  1686,  1692,  1694,  1696,  1698,  1700,
-     1702,  1707,  1711,  1743,  1745,  1751,  1757,  1770,  1771,  1772,
-     1777,  1782,  1786,  1790,  1805,  1818,  1823,  1860,  1889,  1890,
-     1896,  1897,  1902,  1904,  1911,  1928,  1945,  1947,  1954,  1959,
-     1967,  1977,  1989,  1998,  2002,  2006,  2010,  2014,  2018,  2021,
-     2023,  2027,  2031,  2035
+        0,   214,   214,   216,   221,   222,   226,   238,   243,   254,
+      261,   267,   276,   284,   286,   291,   299,   301,   307,   315,
+      325,   355,   369,   383,   391,   402,   414,   416,   418,   424,
 -     432,   433,   437,   437,   483,   482,   516,   518,   523,   533,
 -     580,   585,   586,   590,   592,   594,   601,   691,   733,   775,
 -     888,   895,   902,   913,   923,   933,   943,   955,   972,   971,
 -     996,  1008,  1008,  1107,  1107,  1141,  1172,  1181,  1182,  1188,
 -    1189,  1196,  1201,  1213,  1227,  1229,  1237,  1242,  1244,  1255,
 -    1257,  1266,  1267,  1275,  1280,  1280,  1291,  1295,  1303,  1304,
 -    1307,  1309,  1314,  1315,  1324,  1325,  1330,  1335,  1344,  1346,
 -    1348,  1355,  1356,  1362,  1363,  1368,  1370,  1375,  1377,  1385,
 -    1390,  1399,  1400,  1405,  1407,  1412,  1414,  1422,  1427,  1435,
 -    1440,  1447,  1449,  1451,  1468,  1478,  1485,  1487,  1492,  1494,
 -    1496,  1504,  1506,  1511,  1513,  1518,  1520,  1522,  1578,  1580,
 -    1582,  1584,  1586,  1588,  1590,  1592,  1606,  1611,  1616,  1641,
 -    1647,  1649,  1651,  1653,  1655,  1657,  1662,  1666,  1698,  1700,
 -    1706,  1712,  1725,  1726,  1727,  1732,  1737,  1741,  1745,  1760,
 -    1773,  1778,  1815,  1844,  1845,  1851,  1852,  1857,  1859,  1866,
 -    1883,  1900,  1902,  1909,  1914,  1922,  1932,  1944,  1953,  1957,
 -    1961,  1965,  1969,  1973,  1976,  1978,  1982,  1986,  1990
++     432,   433,   437,   437,   483,   482,   516,   538,   540,   545,
++     555,   602,   607,   608,   612,   614,   616,   623,   713,   755,
++     797,   910,   917,   924,   935,   945,   955,   965,   977,   994,
++     993,  1018,  1030,  1030,  1129,  1129,  1163,  1194,  1203,  1204,
++    1210,  1211,  1218,  1223,  1235,  1249,  1251,  1259,  1264,  1266,
++    1274,  1283,  1285,  1294,  1295,  1303,  1308,  1308,  1319,  1323,
++    1331,  1332,  1335,  1337,  1342,  1343,  1352,  1353,  1358,  1363,
++    1372,  1374,  1376,  1383,  1384,  1390,  1391,  1396,  1398,  1403,
++    1405,  1413,  1418,  1427,  1428,  1433,  1435,  1440,  1442,  1450,
++    1455,  1463,  1464,  1469,  1476,  1480,  1482,  1484,  1497,  1514,
++    1524,  1531,  1533,  1538,  1540,  1542,  1550,  1552,  1557,  1559,
++    1564,  1566,  1568,  1624,  1626,  1628,  1630,  1632,  1634,  1636,
++    1638,  1652,  1657,  1662,  1687,  1693,  1695,  1697,  1699,  1701,
++    1703,  1708,  1712,  1744,  1746,  1752,  1758,  1771,  1772,  1773,
++    1778,  1783,  1787,  1791,  1806,  1819,  1824,  1861,  1890,  1891,
++    1897,  1898,  1903,  1905,  1912,  1929,  1946,  1948,  1955,  1960,
++    1968,  1978,  1990,  1999,  2003,  2007,  2011,  2015,  2019,  2022,
++    2024,  2028,  2032,  2036
  };
  #endif
  
@@@ -1891,7 -1868,7 +1892,7 @@@ yyreduce
                rule = 0;
                yyerrok;
          }
- #line 1895 "awkgram.c" /* yacc.c:1646  */
 -#line 1872 "awkgram.c" /* yacc.c:1646  */
++#line 1896 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 5:
@@@ -1899,7 -1876,7 +1900,7 @@@
      {
                next_sourcefile();
          }
- #line 1903 "awkgram.c" /* yacc.c:1646  */
 -#line 1880 "awkgram.c" /* yacc.c:1646  */
++#line 1904 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 6:
@@@ -1912,7 -1889,7 +1913,7 @@@
                 */
                /* yyerrok; */
          }
- #line 1916 "awkgram.c" /* yacc.c:1646  */
 -#line 1893 "awkgram.c" /* yacc.c:1646  */
++#line 1917 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 7:
@@@ -1921,7 -1898,7 +1922,7 @@@
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
- #line 1925 "awkgram.c" /* yacc.c:1646  */
 -#line 1902 "awkgram.c" /* yacc.c:1646  */
++#line 1926 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 8:
@@@ -1936,7 -1913,7 +1937,7 @@@
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
- #line 1940 "awkgram.c" /* yacc.c:1646  */
 -#line 1917 "awkgram.c" /* yacc.c:1646  */
++#line 1941 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 9:
@@@ -1947,7 -1924,7 +1948,7 @@@
                want_param_names = DONT_CHECK;
                yyerrok;
          }
- #line 1951 "awkgram.c" /* yacc.c:1646  */
 -#line 1928 "awkgram.c" /* yacc.c:1646  */
++#line 1952 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 10:
@@@ -1957,7 -1934,7 +1958,7 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1961 "awkgram.c" /* yacc.c:1646  */
 -#line 1938 "awkgram.c" /* yacc.c:1646  */
++#line 1962 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 11:
@@@ -1967,7 -1944,7 +1968,7 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1971 "awkgram.c" /* yacc.c:1646  */
 -#line 1948 "awkgram.c" /* yacc.c:1646  */
++#line 1972 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 12:
@@@ -1979,19 -1956,19 +1980,19 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 1983 "awkgram.c" /* yacc.c:1646  */
 -#line 1960 "awkgram.c" /* yacc.c:1646  */
++#line 1984 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 13:
- #line 284 "awkgram.y" /* yacc.c:1646  */
+ #line 285 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1989 "awkgram.c" /* yacc.c:1646  */
 -#line 1966 "awkgram.c" /* yacc.c:1646  */
++#line 1990 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 14:
- #line 286 "awkgram.y" /* yacc.c:1646  */
+ #line 287 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1995 "awkgram.c" /* yacc.c:1646  */
 -#line 1972 "awkgram.c" /* yacc.c:1646  */
++#line 1996 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 15:
@@@ -2003,19 -1980,19 +2004,19 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2007 "awkgram.c" /* yacc.c:1646  */
 -#line 1984 "awkgram.c" /* yacc.c:1646  */
++#line 2008 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 16:
- #line 299 "awkgram.y" /* yacc.c:1646  */
+ #line 300 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2013 "awkgram.c" /* yacc.c:1646  */
 -#line 1990 "awkgram.c" /* yacc.c:1646  */
++#line 2014 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 17:
- #line 301 "awkgram.y" /* yacc.c:1646  */
+ #line 302 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2019 "awkgram.c" /* yacc.c:1646  */
 -#line 1996 "awkgram.c" /* yacc.c:1646  */
++#line 2020 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 18:
@@@ -2028,7 -2005,7 +2029,7 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2032 "awkgram.c" /* yacc.c:1646  */
 -#line 2009 "awkgram.c" /* yacc.c:1646  */
++#line 2033 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 19:
@@@ -2041,7 -2018,7 +2042,7 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 2045 "awkgram.c" /* yacc.c:1646  */
 -#line 2022 "awkgram.c" /* yacc.c:1646  */
++#line 2046 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 20:
@@@ -2075,7 -2052,7 +2076,7 @@@
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
- #line 2079 "awkgram.c" /* yacc.c:1646  */
 -#line 2056 "awkgram.c" /* yacc.c:1646  */
++#line 2080 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 21:
@@@ -2093,7 -2070,7 +2094,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2097 "awkgram.c" /* yacc.c:1646  */
 -#line 2074 "awkgram.c" /* yacc.c:1646  */
++#line 2098 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 22:
@@@ -2111,7 -2088,7 +2112,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2115 "awkgram.c" /* yacc.c:1646  */
 -#line 2092 "awkgram.c" /* yacc.c:1646  */
++#line 2116 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 23:
@@@ -2123,7 -2100,7 +2124,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2127 "awkgram.c" /* yacc.c:1646  */
 -#line 2104 "awkgram.c" /* yacc.c:1646  */
++#line 2128 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 24:
@@@ -2135,7 -2112,7 +2136,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2139 "awkgram.c" /* yacc.c:1646  */
 -#line 2116 "awkgram.c" /* yacc.c:1646  */
++#line 2140 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 25:
@@@ -2148,19 -2125,19 +2149,19 @@@
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
- #line 2152 "awkgram.c" /* yacc.c:1646  */
 -#line 2129 "awkgram.c" /* yacc.c:1646  */
++#line 2153 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 26:
- #line 414 "awkgram.y" /* yacc.c:1646  */
+ #line 415 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2158 "awkgram.c" /* yacc.c:1646  */
 -#line 2135 "awkgram.c" /* yacc.c:1646  */
++#line 2159 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 27:
- #line 416 "awkgram.y" /* yacc.c:1646  */
+ #line 417 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2164 "awkgram.c" /* yacc.c:1646  */
 -#line 2141 "awkgram.c" /* yacc.c:1646  */
++#line 2165 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 28:
@@@ -2170,7 -2147,7 +2171,7 @@@
                                        tokstart);
                YYABORT;
          }
- #line 2174 "awkgram.c" /* yacc.c:1646  */
 -#line 2151 "awkgram.c" /* yacc.c:1646  */
++#line 2175 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 29:
@@@ -2179,13 -2156,13 +2180,13 @@@
                (yyval) = (yyvsp[0]);
                at_seen = false;
          }
- #line 2183 "awkgram.c" /* yacc.c:1646  */
 -#line 2160 "awkgram.c" /* yacc.c:1646  */
++#line 2184 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 32:
- #line 436 "awkgram.y" /* yacc.c:1646  */
+ #line 437 "awkgram.y" /* yacc.c:1646  */
      { want_param_names = FUNC_HEADER; }
- #line 2189 "awkgram.c" /* yacc.c:1646  */
 -#line 2166 "awkgram.c" /* yacc.c:1646  */
++#line 2190 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 33:
@@@ -2227,13 -2204,13 +2228,13 @@@
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
- #line 2231 "awkgram.c" /* yacc.c:1646  */
 -#line 2208 "awkgram.c" /* yacc.c:1646  */
++#line 2232 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 34:
- #line 482 "awkgram.y" /* yacc.c:1646  */
+ #line 483 "awkgram.y" /* yacc.c:1646  */
      { want_regexp = true; }
- #line 2237 "awkgram.c" /* yacc.c:1646  */
 -#line 2214 "awkgram.c" /* yacc.c:1646  */
++#line 2238 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 35:
@@@ -2266,41 -2243,17 +2267,41 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
- #line 2270 "awkgram.c" /* yacc.c:1646  */
 -#line 2247 "awkgram.c" /* yacc.c:1646  */
++#line 2271 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 36:
- #line 516 "awkgram.y" /* yacc.c:1646  */
+ #line 517 "awkgram.y" /* yacc.c:1646  */
 +    {
 +                NODE *n, *exp;
 +                char *re;
 +                size_t len;
 +
 +                re = (yyvsp[0])->lextok;
 +                (yyvsp[0])->lextok = NULL;
 +                len = strlen(re);
 +
 +                exp = make_str_node(re, len, ALREADY_MALLOCED);
 +                n = make_regnode(Node_typedregex, exp);
 +                if (n == NULL) {
 +                      unref(exp);
 +                      YYABORT;
 +                }
 +                (yyval) = (yyvsp[0]);
 +                (yyval)->opcode = Op_push_re;
 +                (yyval)->memory = n;
 +              }
- #line 2294 "awkgram.c" /* yacc.c:1646  */
++#line 2295 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 37:
- #line 538 "awkgram.y" /* yacc.c:1646  */
++#line 539 "awkgram.y" /* yacc.c:1646  */
      { bcfree((yyvsp[0])); }
- #line 2300 "awkgram.c" /* yacc.c:1646  */
 -#line 2253 "awkgram.c" /* yacc.c:1646  */
++#line 2301 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 38:
 -#line 523 "awkgram.y" /* yacc.c:1646  */
 +  case 39:
- #line 544 "awkgram.y" /* yacc.c:1646  */
++#line 545 "awkgram.y" /* yacc.c:1646  */
      {
                if (prior_comment != NULL) {
                        (yyval) = list_create(prior_comment);
@@@ -2311,11 -2264,11 +2312,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2315 "awkgram.c" /* yacc.c:1646  */
 -#line 2268 "awkgram.c" /* yacc.c:1646  */
++#line 2316 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 39:
 -#line 534 "awkgram.y" /* yacc.c:1646  */
 +  case 40:
- #line 555 "awkgram.y" /* yacc.c:1646  */
++#line 556 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0]) == NULL) {
                        if (prior_comment != NULL) {
@@@ -2362,40 -2315,40 +2363,40 @@@
                }
                yyerrok;
          }
- #line 2366 "awkgram.c" /* yacc.c:1646  */
 -#line 2319 "awkgram.c" /* yacc.c:1646  */
++#line 2367 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 40:
 -#line 581 "awkgram.y" /* yacc.c:1646  */
 +  case 41:
- #line 602 "awkgram.y" /* yacc.c:1646  */
++#line 603 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2372 "awkgram.c" /* yacc.c:1646  */
 -#line 2325 "awkgram.c" /* yacc.c:1646  */
++#line 2373 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 43:
 -#line 591 "awkgram.y" /* yacc.c:1646  */
 +  case 44:
- #line 612 "awkgram.y" /* yacc.c:1646  */
++#line 613 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2378 "awkgram.c" /* yacc.c:1646  */
 -#line 2331 "awkgram.c" /* yacc.c:1646  */
++#line 2379 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 44:
 -#line 593 "awkgram.y" /* yacc.c:1646  */
 +  case 45:
- #line 614 "awkgram.y" /* yacc.c:1646  */
++#line 615 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 2384 "awkgram.c" /* yacc.c:1646  */
 -#line 2337 "awkgram.c" /* yacc.c:1646  */
++#line 2385 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 45:
 -#line 595 "awkgram.y" /* yacc.c:1646  */
 +  case 46:
- #line 616 "awkgram.y" /* yacc.c:1646  */
++#line 617 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
- #line 2395 "awkgram.c" /* yacc.c:1646  */
 -#line 2348 "awkgram.c" /* yacc.c:1646  */
++#line 2396 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 46:
 -#line 602 "awkgram.y" /* yacc.c:1646  */
 +  case 47:
- #line 623 "awkgram.y" /* yacc.c:1646  */
++#line 624 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2485,11 -2438,11 +2486,11 @@@
                break_allowed--;                        
                fix_break_continue(ip, tbreak, NULL);
          }
- #line 2489 "awkgram.c" /* yacc.c:1646  */
 -#line 2442 "awkgram.c" /* yacc.c:1646  */
++#line 2490 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 47:
 -#line 692 "awkgram.y" /* yacc.c:1646  */
 +  case 48:
- #line 713 "awkgram.y" /* yacc.c:1646  */
++#line 714 "awkgram.y" /* yacc.c:1646  */
      { 
                /*
                 *    -----------------
@@@ -2531,11 -2484,11 +2532,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
- #line 2535 "awkgram.c" /* yacc.c:1646  */
 -#line 2488 "awkgram.c" /* yacc.c:1646  */
++#line 2536 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 48:
 -#line 734 "awkgram.y" /* yacc.c:1646  */
 +  case 49:
- #line 755 "awkgram.y" /* yacc.c:1646  */
++#line 756 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2577,11 -2530,11 +2578,11 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
- #line 2581 "awkgram.c" /* yacc.c:1646  */
 -#line 2534 "awkgram.c" /* yacc.c:1646  */
++#line 2582 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 49:
 -#line 776 "awkgram.y" /* yacc.c:1646  */
 +  case 50:
- #line 797 "awkgram.y" /* yacc.c:1646  */
++#line 798 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[-5])->lextok;
@@@ -2694,33 -2647,33 +2695,33 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
- #line 2698 "awkgram.c" /* yacc.c:1646  */
 -#line 2651 "awkgram.c" /* yacc.c:1646  */
++#line 2699 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 50:
 -#line 889 "awkgram.y" /* yacc.c:1646  */
 +  case 51:
- #line 910 "awkgram.y" /* yacc.c:1646  */
++#line 911 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), 
(yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2709 "awkgram.c" /* yacc.c:1646  */
 -#line 2662 "awkgram.c" /* yacc.c:1646  */
++#line 2710 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 51:
 -#line 896 "awkgram.y" /* yacc.c:1646  */
 +  case 52:
- #line 917 "awkgram.y" /* yacc.c:1646  */
++#line 918 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION 
*) NULL, (yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2720 "awkgram.c" /* yacc.c:1646  */
 -#line 2673 "awkgram.c" /* yacc.c:1646  */
++#line 2721 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 52:
 -#line 903 "awkgram.y" /* yacc.c:1646  */
 +  case 53:
- #line 924 "awkgram.y" /* yacc.c:1646  */
++#line 925 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
@@@ -2728,11 -2681,11 +2729,11 @@@
                        (yyval) = (yyvsp[0]);
                (yyval) = add_pending_comment((yyval));
          }
- #line 2732 "awkgram.c" /* yacc.c:1646  */
 -#line 2685 "awkgram.c" /* yacc.c:1646  */
++#line 2733 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 53:
 -#line 914 "awkgram.y" /* yacc.c:1646  */
 +  case 54:
- #line 935 "awkgram.y" /* yacc.c:1646  */
++#line 936 "awkgram.y" /* yacc.c:1646  */
      { 
                if (! break_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2742,11 -2695,11 +2743,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2746 "awkgram.c" /* yacc.c:1646  */
 -#line 2699 "awkgram.c" /* yacc.c:1646  */
++#line 2747 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 54:
 -#line 924 "awkgram.y" /* yacc.c:1646  */
 +  case 55:
- #line 945 "awkgram.y" /* yacc.c:1646  */
++#line 946 "awkgram.y" /* yacc.c:1646  */
      {
                if (! continue_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2756,11 -2709,11 +2757,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2760 "awkgram.c" /* yacc.c:1646  */
 -#line 2713 "awkgram.c" /* yacc.c:1646  */
++#line 2761 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 55:
 -#line 934 "awkgram.y" /* yacc.c:1646  */
 +  case 56:
- #line 955 "awkgram.y" /* yacc.c:1646  */
++#line 956 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@@ -2770,11 -2723,11 +2771,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2774 "awkgram.c" /* yacc.c:1646  */
 -#line 2727 "awkgram.c" /* yacc.c:1646  */
++#line 2775 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 56:
 -#line 944 "awkgram.y" /* yacc.c:1646  */
 +  case 57:
- #line 965 "awkgram.y" /* yacc.c:1646  */
++#line 966 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@@ -2786,11 -2739,11 +2787,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2790 "awkgram.c" /* yacc.c:1646  */
 -#line 2743 "awkgram.c" /* yacc.c:1646  */
++#line 2791 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 57:
 -#line 956 "awkgram.y" /* yacc.c:1646  */
 +  case 58:
- #line 977 "awkgram.y" /* yacc.c:1646  */
++#line 978 "awkgram.y" /* yacc.c:1646  */
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time. 
@@@ -2806,20 -2759,20 +2807,20 @@@
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2810 "awkgram.c" /* yacc.c:1646  */
 -#line 2763 "awkgram.c" /* yacc.c:1646  */
++#line 2811 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 58:
 -#line 972 "awkgram.y" /* yacc.c:1646  */
 +  case 59:
- #line 993 "awkgram.y" /* yacc.c:1646  */
++#line 994 "awkgram.y" /* yacc.c:1646  */
      {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
- #line 2819 "awkgram.c" /* yacc.c:1646  */
 -#line 2772 "awkgram.c" /* yacc.c:1646  */
++#line 2820 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 59:
 -#line 975 "awkgram.y" /* yacc.c:1646  */
 +  case 60:
- #line 996 "awkgram.y" /* yacc.c:1646  */
++#line 997 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL) {
                        (yyval) = list_create((yyvsp[-3]));
@@@ -2841,17 -2794,17 +2842,17 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2845 "awkgram.c" /* yacc.c:1646  */
 -#line 2798 "awkgram.c" /* yacc.c:1646  */
++#line 2846 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 61:
 -#line 1008 "awkgram.y" /* yacc.c:1646  */
 +  case 62:
- #line 1029 "awkgram.y" /* yacc.c:1646  */
++#line 1030 "awkgram.y" /* yacc.c:1646  */
      { in_print = true; in_parens = 0; }
- #line 2851 "awkgram.c" /* yacc.c:1646  */
 -#line 2804 "awkgram.c" /* yacc.c:1646  */
++#line 2852 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 62:
 -#line 1009 "awkgram.y" /* yacc.c:1646  */
 +  case 63:
- #line 1030 "awkgram.y" /* yacc.c:1646  */
++#line 1031 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2949,17 -2902,17 +2950,17 @@@ regular_print
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2953 "awkgram.c" /* yacc.c:1646  */
 -#line 2906 "awkgram.c" /* yacc.c:1646  */
++#line 2954 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 63:
 -#line 1107 "awkgram.y" /* yacc.c:1646  */
 +  case 64:
- #line 1128 "awkgram.y" /* yacc.c:1646  */
++#line 1129 "awkgram.y" /* yacc.c:1646  */
      { sub_counter = 0; }
- #line 2959 "awkgram.c" /* yacc.c:1646  */
 -#line 2912 "awkgram.c" /* yacc.c:1646  */
++#line 2960 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 64:
 -#line 1108 "awkgram.y" /* yacc.c:1646  */
 +  case 65:
- #line 1129 "awkgram.y" /* yacc.c:1646  */
++#line 1130 "awkgram.y" /* yacc.c:1646  */
      {
                char *arr = (yyvsp[-2])->lextok;
  
@@@ -2993,11 -2946,11 +2994,11 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2997 "awkgram.c" /* yacc.c:1646  */
 -#line 2950 "awkgram.c" /* yacc.c:1646  */
++#line 2998 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 65:
 -#line 1146 "awkgram.y" /* yacc.c:1646  */
 +  case 66:
- #line 1167 "awkgram.y" /* yacc.c:1646  */
++#line 1168 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
                char *arr = (yyvsp[-1])->lextok;
@@@ -3024,55 -2977,55 +3025,55 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3028 "awkgram.c" /* yacc.c:1646  */
 -#line 2981 "awkgram.c" /* yacc.c:1646  */
++#line 3029 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 66:
 -#line 1173 "awkgram.y" /* yacc.c:1646  */
 +  case 67:
- #line 1194 "awkgram.y" /* yacc.c:1646  */
++#line 1195 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = optimize_assignment((yyvsp[0]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 3037 "awkgram.c" /* yacc.c:1646  */
 -#line 2990 "awkgram.c" /* yacc.c:1646  */
++#line 3038 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 67:
 -#line 1181 "awkgram.y" /* yacc.c:1646  */
 +  case 68:
- #line 1202 "awkgram.y" /* yacc.c:1646  */
++#line 1203 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3043 "awkgram.c" /* yacc.c:1646  */
 -#line 2996 "awkgram.c" /* yacc.c:1646  */
++#line 3044 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 68:
 -#line 1183 "awkgram.y" /* yacc.c:1646  */
 +  case 69:
- #line 1204 "awkgram.y" /* yacc.c:1646  */
++#line 1205 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3049 "awkgram.c" /* yacc.c:1646  */
 -#line 3002 "awkgram.c" /* yacc.c:1646  */
++#line 3050 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 69:
 -#line 1188 "awkgram.y" /* yacc.c:1646  */
 +  case 70:
- #line 1209 "awkgram.y" /* yacc.c:1646  */
++#line 1210 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3055 "awkgram.c" /* yacc.c:1646  */
 -#line 3008 "awkgram.c" /* yacc.c:1646  */
++#line 3056 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 70:
 -#line 1190 "awkgram.y" /* yacc.c:1646  */
 +  case 71:
- #line 1211 "awkgram.y" /* yacc.c:1646  */
++#line 1212 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL)
                        (yyval) = list_create((yyvsp[0]));
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
- #line 3066 "awkgram.c" /* yacc.c:1646  */
 -#line 3019 "awkgram.c" /* yacc.c:1646  */
++#line 3067 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 71:
 -#line 1197 "awkgram.y" /* yacc.c:1646  */
 +  case 72:
- #line 1218 "awkgram.y" /* yacc.c:1646  */
++#line 1219 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3072 "awkgram.c" /* yacc.c:1646  */
 -#line 3025 "awkgram.c" /* yacc.c:1646  */
++#line 3073 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 72:
 -#line 1202 "awkgram.y" /* yacc.c:1646  */
 +  case 73:
- #line 1223 "awkgram.y" /* yacc.c:1646  */
++#line 1224 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3084,11 -3037,11 +3085,11 @@@
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
- #line 3088 "awkgram.c" /* yacc.c:1646  */
 -#line 3041 "awkgram.c" /* yacc.c:1646  */
++#line 3089 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 73:
 -#line 1214 "awkgram.y" /* yacc.c:1646  */
 +  case 74:
- #line 1235 "awkgram.y" /* yacc.c:1646  */
++#line 1236 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3099,17 -3052,17 +3100,17 @@@
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
- #line 3103 "awkgram.c" /* yacc.c:1646  */
 -#line 3056 "awkgram.c" /* yacc.c:1646  */
++#line 3104 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 74:
 -#line 1228 "awkgram.y" /* yacc.c:1646  */
 +  case 75:
- #line 1249 "awkgram.y" /* yacc.c:1646  */
++#line 1250 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3109 "awkgram.c" /* yacc.c:1646  */
 -#line 3062 "awkgram.c" /* yacc.c:1646  */
++#line 3110 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 75:
 -#line 1230 "awkgram.y" /* yacc.c:1646  */
 +  case 76:
- #line 1251 "awkgram.y" /* yacc.c:1646  */
++#line 1252 "awkgram.y" /* yacc.c:1646  */
      { 
                NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
@@@ -3117,26 -3070,26 +3118,26 @@@
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3121 "awkgram.c" /* yacc.c:1646  */
 -#line 3074 "awkgram.c" /* yacc.c:1646  */
++#line 3122 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 76:
 -#line 1238 "awkgram.y" /* yacc.c:1646  */
 +  case 77:
- #line 1259 "awkgram.y" /* yacc.c:1646  */
++#line 1260 "awkgram.y" /* yacc.c:1646  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3130 "awkgram.c" /* yacc.c:1646  */
 -#line 3083 "awkgram.c" /* yacc.c:1646  */
++#line 3131 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 77:
 -#line 1243 "awkgram.y" /* yacc.c:1646  */
 +  case 78:
- #line 1264 "awkgram.y" /* yacc.c:1646  */
++#line 1265 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3136 "awkgram.c" /* yacc.c:1646  */
 -#line 3089 "awkgram.c" /* yacc.c:1646  */
++#line 3137 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 78:
 -#line 1245 "awkgram.y" /* yacc.c:1646  */
 +  case 79:
- #line 1266 "awkgram.y" /* yacc.c:1646  */
++#line 1267 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->memory->type == Node_regex)
                        (yyvsp[0])->opcode = Op_push_re;
@@@ -3144,57 -3097,47 +3145,57 @@@
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
- #line 3148 "awkgram.c" /* yacc.c:1646  */
 -#line 3101 "awkgram.c" /* yacc.c:1646  */
++#line 3149 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 79:
 -#line 1256 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[0]); }
 -#line 3107 "awkgram.c" /* yacc.c:1646  */
 +  case 80:
- #line 1274 "awkgram.y" /* yacc.c:1646  */
++#line 1275 "awkgram.y" /* yacc.c:1646  */
 +    {
 +              assert((yyvsp[0])->memory->type == Node_typedregex);
 +              (yyvsp[0])->opcode = Op_push_re;
 +              (yyval) = (yyvsp[0]);
 +        }
- #line 3158 "awkgram.c" /* yacc.c:1646  */
++#line 3159 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 80:
 -#line 1258 "awkgram.y" /* yacc.c:1646  */
 +  case 81:
- #line 1283 "awkgram.y" /* yacc.c:1646  */
++#line 1284 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3164 "awkgram.c" /* yacc.c:1646  */
 -#line 3113 "awkgram.c" /* yacc.c:1646  */
++#line 3165 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 82:
- #line 1285 "awkgram.y" /* yacc.c:1646  */
 -#line 1268 "awkgram.y" /* yacc.c:1646  */
++#line 1286 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = (yyvsp[0]); }
- #line 3170 "awkgram.c" /* yacc.c:1646  */
++#line 3171 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 84:
- #line 1295 "awkgram.y" /* yacc.c:1646  */
++#line 1296 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = (yyvsp[-1]);
          }
- #line 3178 "awkgram.c" /* yacc.c:1646  */
 -#line 3121 "awkgram.c" /* yacc.c:1646  */
++#line 3179 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 83:
 -#line 1275 "awkgram.y" /* yacc.c:1646  */
 +  case 85:
- #line 1302 "awkgram.y" /* yacc.c:1646  */
++#line 1303 "awkgram.y" /* yacc.c:1646  */
      {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
- #line 3188 "awkgram.c" /* yacc.c:1646  */
 -#line 3131 "awkgram.c" /* yacc.c:1646  */
++#line 3189 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 84:
 -#line 1280 "awkgram.y" /* yacc.c:1646  */
 +  case 86:
- #line 1307 "awkgram.y" /* yacc.c:1646  */
++#line 1308 "awkgram.y" /* yacc.c:1646  */
      { in_print = false; in_parens = 0; }
- #line 3194 "awkgram.c" /* yacc.c:1646  */
 -#line 3137 "awkgram.c" /* yacc.c:1646  */
++#line 3195 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 85:
 -#line 1281 "awkgram.y" /* yacc.c:1646  */
 +  case 87:
- #line 1308 "awkgram.y" /* yacc.c:1646  */
++#line 1309 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->redir_type == redirect_twoway
                        && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@@ -3202,63 -3145,63 +3203,63 @@@
                        yyerror(_("multistage two-way pipelines don't work"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
- #line 3206 "awkgram.c" /* yacc.c:1646  */
 -#line 3149 "awkgram.c" /* yacc.c:1646  */
++#line 3207 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 86:
 -#line 1292 "awkgram.y" /* yacc.c:1646  */
 +  case 88:
- #line 1319 "awkgram.y" /* yacc.c:1646  */
++#line 1320 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
- #line 3214 "awkgram.c" /* yacc.c:1646  */
 -#line 3157 "awkgram.c" /* yacc.c:1646  */
++#line 3215 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 87:
 -#line 1297 "awkgram.y" /* yacc.c:1646  */
 +  case 89:
- #line 1324 "awkgram.y" /* yacc.c:1646  */
++#line 1325 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
- #line 3222 "awkgram.c" /* yacc.c:1646  */
 -#line 3165 "awkgram.c" /* yacc.c:1646  */
++#line 3223 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 92:
 -#line 1314 "awkgram.y" /* yacc.c:1646  */
 +  case 94:
- #line 1341 "awkgram.y" /* yacc.c:1646  */
++#line 1342 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3228 "awkgram.c" /* yacc.c:1646  */
 -#line 3171 "awkgram.c" /* yacc.c:1646  */
++#line 3229 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 93:
 -#line 1316 "awkgram.y" /* yacc.c:1646  */
 +  case 95:
- #line 1343 "awkgram.y" /* yacc.c:1646  */
++#line 1344 "awkgram.y" /* yacc.c:1646  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3237 "awkgram.c" /* yacc.c:1646  */
 -#line 3180 "awkgram.c" /* yacc.c:1646  */
++#line 3238 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 94:
 -#line 1324 "awkgram.y" /* yacc.c:1646  */
 +  case 96:
- #line 1351 "awkgram.y" /* yacc.c:1646  */
++#line 1352 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3243 "awkgram.c" /* yacc.c:1646  */
 -#line 3186 "awkgram.c" /* yacc.c:1646  */
++#line 3244 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 95:
 -#line 1326 "awkgram.y" /* yacc.c:1646  */
 +  case 97:
- #line 1353 "awkgram.y" /* yacc.c:1646  */
++#line 1354 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3249 "awkgram.c" /* yacc.c:1646  */
 -#line 3192 "awkgram.c" /* yacc.c:1646  */
++#line 3250 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 96:
 -#line 1331 "awkgram.y" /* yacc.c:1646  */
 +  case 98:
- #line 1358 "awkgram.y" /* yacc.c:1646  */
++#line 1359 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3258 "awkgram.c" /* yacc.c:1646  */
 -#line 3201 "awkgram.c" /* yacc.c:1646  */
++#line 3259 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 97:
 -#line 1336 "awkgram.y" /* yacc.c:1646  */
 +  case 99:
- #line 1363 "awkgram.y" /* yacc.c:1646  */
++#line 1364 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
                        (yyvsp[0])->param_count =  
(yyvsp[-2])->lasti->param_count + 1;
@@@ -3267,74 -3210,74 +3268,74 @@@
                } else
                        (yyval) = NULL;
          }
- #line 3271 "awkgram.c" /* yacc.c:1646  */
 -#line 3214 "awkgram.c" /* yacc.c:1646  */
++#line 3272 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 98:
 -#line 1345 "awkgram.y" /* yacc.c:1646  */
 +  case 100:
- #line 1372 "awkgram.y" /* yacc.c:1646  */
++#line 1373 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3277 "awkgram.c" /* yacc.c:1646  */
 -#line 3220 "awkgram.c" /* yacc.c:1646  */
++#line 3278 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 99:
 -#line 1347 "awkgram.y" /* yacc.c:1646  */
 +  case 101:
- #line 1374 "awkgram.y" /* yacc.c:1646  */
++#line 1375 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3283 "awkgram.c" /* yacc.c:1646  */
 -#line 3226 "awkgram.c" /* yacc.c:1646  */
++#line 3284 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 100:
 -#line 1349 "awkgram.y" /* yacc.c:1646  */
 +  case 102:
- #line 1376 "awkgram.y" /* yacc.c:1646  */
++#line 1377 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-2]); }
- #line 3289 "awkgram.c" /* yacc.c:1646  */
 -#line 3232 "awkgram.c" /* yacc.c:1646  */
++#line 3290 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 101:
 -#line 1355 "awkgram.y" /* yacc.c:1646  */
 +  case 103:
- #line 1382 "awkgram.y" /* yacc.c:1646  */
++#line 1383 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3295 "awkgram.c" /* yacc.c:1646  */
 -#line 3238 "awkgram.c" /* yacc.c:1646  */
++#line 3296 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 102:
 -#line 1357 "awkgram.y" /* yacc.c:1646  */
 +  case 104:
- #line 1384 "awkgram.y" /* yacc.c:1646  */
++#line 1385 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3301 "awkgram.c" /* yacc.c:1646  */
 -#line 3244 "awkgram.c" /* yacc.c:1646  */
++#line 3302 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 103:
 -#line 1362 "awkgram.y" /* yacc.c:1646  */
 +  case 105:
- #line 1389 "awkgram.y" /* yacc.c:1646  */
++#line 1390 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3307 "awkgram.c" /* yacc.c:1646  */
 -#line 3250 "awkgram.c" /* yacc.c:1646  */
++#line 3308 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 104:
 -#line 1364 "awkgram.y" /* yacc.c:1646  */
 +  case 106:
- #line 1391 "awkgram.y" /* yacc.c:1646  */
++#line 1392 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3313 "awkgram.c" /* yacc.c:1646  */
 -#line 3256 "awkgram.c" /* yacc.c:1646  */
++#line 3314 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 105:
 -#line 1369 "awkgram.y" /* yacc.c:1646  */
 +  case 107:
- #line 1396 "awkgram.y" /* yacc.c:1646  */
++#line 1397 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3319 "awkgram.c" /* yacc.c:1646  */
 -#line 3262 "awkgram.c" /* yacc.c:1646  */
++#line 3320 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 106:
 -#line 1371 "awkgram.y" /* yacc.c:1646  */
 +  case 108:
- #line 1398 "awkgram.y" /* yacc.c:1646  */
++#line 1399 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3328 "awkgram.c" /* yacc.c:1646  */
 -#line 3271 "awkgram.c" /* yacc.c:1646  */
++#line 3329 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 107:
 -#line 1376 "awkgram.y" /* yacc.c:1646  */
 +  case 109:
- #line 1403 "awkgram.y" /* yacc.c:1646  */
++#line 1404 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3334 "awkgram.c" /* yacc.c:1646  */
 -#line 3277 "awkgram.c" /* yacc.c:1646  */
++#line 3335 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 108:
 -#line 1378 "awkgram.y" /* yacc.c:1646  */
 +  case 110:
- #line 1405 "awkgram.y" /* yacc.c:1646  */
++#line 1406 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3342,62 -3285,62 +3343,62 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3346 "awkgram.c" /* yacc.c:1646  */
 -#line 3289 "awkgram.c" /* yacc.c:1646  */
++#line 3347 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 109:
 -#line 1386 "awkgram.y" /* yacc.c:1646  */
 +  case 111:
- #line 1413 "awkgram.y" /* yacc.c:1646  */
++#line 1414 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3355 "awkgram.c" /* yacc.c:1646  */
 -#line 3298 "awkgram.c" /* yacc.c:1646  */
++#line 3356 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 110:
 -#line 1391 "awkgram.y" /* yacc.c:1646  */
 +  case 112:
- #line 1418 "awkgram.y" /* yacc.c:1646  */
++#line 1419 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3364 "awkgram.c" /* yacc.c:1646  */
 -#line 3307 "awkgram.c" /* yacc.c:1646  */
++#line 3365 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 111:
 -#line 1399 "awkgram.y" /* yacc.c:1646  */
 +  case 113:
- #line 1426 "awkgram.y" /* yacc.c:1646  */
++#line 1427 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3370 "awkgram.c" /* yacc.c:1646  */
 -#line 3313 "awkgram.c" /* yacc.c:1646  */
++#line 3371 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 112:
 -#line 1401 "awkgram.y" /* yacc.c:1646  */
 +  case 114:
- #line 1428 "awkgram.y" /* yacc.c:1646  */
++#line 1429 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3376 "awkgram.c" /* yacc.c:1646  */
 -#line 3319 "awkgram.c" /* yacc.c:1646  */
++#line 3377 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 113:
 -#line 1406 "awkgram.y" /* yacc.c:1646  */
 +  case 115:
- #line 1433 "awkgram.y" /* yacc.c:1646  */
++#line 1434 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3382 "awkgram.c" /* yacc.c:1646  */
 -#line 3325 "awkgram.c" /* yacc.c:1646  */
++#line 3383 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 114:
 -#line 1408 "awkgram.y" /* yacc.c:1646  */
 +  case 116:
- #line 1435 "awkgram.y" /* yacc.c:1646  */
++#line 1436 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3391 "awkgram.c" /* yacc.c:1646  */
 -#line 3334 "awkgram.c" /* yacc.c:1646  */
++#line 3392 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 115:
 -#line 1413 "awkgram.y" /* yacc.c:1646  */
 +  case 117:
- #line 1440 "awkgram.y" /* yacc.c:1646  */
++#line 1441 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3397 "awkgram.c" /* yacc.c:1646  */
 -#line 3340 "awkgram.c" /* yacc.c:1646  */
++#line 3398 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 116:
 -#line 1415 "awkgram.y" /* yacc.c:1646  */
 +  case 118:
- #line 1442 "awkgram.y" /* yacc.c:1646  */
++#line 1443 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3405,89 -3348,58 +3406,89 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3409 "awkgram.c" /* yacc.c:1646  */
 -#line 3352 "awkgram.c" /* yacc.c:1646  */
++#line 3410 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 117:
 -#line 1423 "awkgram.y" /* yacc.c:1646  */
 +  case 119:
- #line 1450 "awkgram.y" /* yacc.c:1646  */
++#line 1451 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3418 "awkgram.c" /* yacc.c:1646  */
 -#line 3361 "awkgram.c" /* yacc.c:1646  */
++#line 3419 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 118:
 -#line 1428 "awkgram.y" /* yacc.c:1646  */
 +  case 120:
- #line 1455 "awkgram.y" /* yacc.c:1646  */
++#line 1456 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3427 "awkgram.c" /* yacc.c:1646  */
 -#line 3370 "awkgram.c" /* yacc.c:1646  */
++#line 3428 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 119:
 -#line 1435 "awkgram.y" /* yacc.c:1646  */
 +  case 121:
- #line 1462 "awkgram.y" /* yacc.c:1646  */
++#line 1463 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3433 "awkgram.c" /* yacc.c:1646  */
 -#line 3376 "awkgram.c" /* yacc.c:1646  */
++#line 3434 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 120:
 -#line 1441 "awkgram.y" /* yacc.c:1646  */
 +  case 122:
- #line 1463 "awkgram.y" /* yacc.c:1646  */
++#line 1464 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = list_create((yyvsp[0])); }
- #line 3439 "awkgram.c" /* yacc.c:1646  */
++#line 3440 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 123:
- #line 1469 "awkgram.y" /* yacc.c:1646  */
++#line 1470 "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 3450 "awkgram.c" /* yacc.c:1646  */
 -#line 3387 "awkgram.c" /* yacc.c:1646  */
++#line 3451 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 121:
 -#line 1448 "awkgram.y" /* yacc.c:1646  */
 +  case 124:
- #line 1476 "awkgram.y" /* yacc.c:1646  */
++#line 1477 "awkgram.y" /* yacc.c:1646  */
 +    {
 +              (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), 
(yyvsp[-1]));
 +        }
- #line 3458 "awkgram.c" /* yacc.c:1646  */
++#line 3459 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 125:
- #line 1480 "awkgram.y" /* yacc.c:1646  */
++#line 1481 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3464 "awkgram.c" /* yacc.c:1646  */
 -#line 3393 "awkgram.c" /* yacc.c:1646  */
++#line 3465 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 122:
 -#line 1450 "awkgram.y" /* yacc.c:1646  */
 +  case 126:
- #line 1482 "awkgram.y" /* yacc.c:1646  */
++#line 1483 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3470 "awkgram.c" /* yacc.c:1646  */
 -#line 3399 "awkgram.c" /* yacc.c:1646  */
++#line 3471 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 123:
 -#line 1452 "awkgram.y" /* yacc.c:1646  */
 +  case 127:
- #line 1484 "awkgram.y" /* yacc.c:1646  */
++#line 1485 "awkgram.y" /* yacc.c:1646  */
 +    {
 +              if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
 +                      warning_ln((yyvsp[-1])->source_line,
 +                              _("regular expression on left of `~' or `!~' 
operator"));
 +
 +              assert((yyvsp[0])->opcode == Op_push_re
 +                      && (yyvsp[0])->memory->type == Node_typedregex);
 +              /* RHS is @/.../ */
 +              (yyvsp[-1])->memory = (yyvsp[0])->memory;
 +              bcfree((yyvsp[0]));
 +              (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
 +        }
- #line 3487 "awkgram.c" /* yacc.c:1646  */
++#line 3488 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 128:
- #line 1497 "awkgram.y" /* yacc.c:1646  */
++#line 1498 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3504,11 -3416,11 +3505,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
- #line 3508 "awkgram.c" /* yacc.c:1646  */
 -#line 3420 "awkgram.c" /* yacc.c:1646  */
++#line 3509 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 124:
 -#line 1469 "awkgram.y" /* yacc.c:1646  */
 +  case 129:
- #line 1514 "awkgram.y" /* yacc.c:1646  */
++#line 1515 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3518,91 -3430,91 +3519,91 @@@
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3522 "awkgram.c" /* yacc.c:1646  */
 -#line 3434 "awkgram.c" /* yacc.c:1646  */
++#line 3523 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 125:
 -#line 1479 "awkgram.y" /* yacc.c:1646  */
 +  case 130:
- #line 1524 "awkgram.y" /* yacc.c:1646  */
++#line 1525 "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 3533 "awkgram.c" /* yacc.c:1646  */
 -#line 3445 "awkgram.c" /* yacc.c:1646  */
++#line 3534 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 126:
 -#line 1486 "awkgram.y" /* yacc.c:1646  */
 +  case 131:
- #line 1531 "awkgram.y" /* yacc.c:1646  */
++#line 1532 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
- #line 3539 "awkgram.c" /* yacc.c:1646  */
 -#line 3451 "awkgram.c" /* yacc.c:1646  */
++#line 3540 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 127:
 -#line 1488 "awkgram.y" /* yacc.c:1646  */
 +  case 132:
- #line 1533 "awkgram.y" /* yacc.c:1646  */
++#line 1534 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3545 "awkgram.c" /* yacc.c:1646  */
 -#line 3457 "awkgram.c" /* yacc.c:1646  */
++#line 3546 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 128:
 -#line 1493 "awkgram.y" /* yacc.c:1646  */
 +  case 133:
- #line 1538 "awkgram.y" /* yacc.c:1646  */
++#line 1539 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3551 "awkgram.c" /* yacc.c:1646  */
 -#line 3463 "awkgram.c" /* yacc.c:1646  */
++#line 3552 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 129:
 -#line 1495 "awkgram.y" /* yacc.c:1646  */
 +  case 134:
- #line 1540 "awkgram.y" /* yacc.c:1646  */
++#line 1541 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3557 "awkgram.c" /* yacc.c:1646  */
 -#line 3469 "awkgram.c" /* yacc.c:1646  */
++#line 3558 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 130:
 -#line 1497 "awkgram.y" /* yacc.c:1646  */
 +  case 135:
- #line 1542 "awkgram.y" /* yacc.c:1646  */
++#line 1543 "awkgram.y" /* yacc.c:1646  */
      { 
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
- #line 3566 "awkgram.c" /* yacc.c:1646  */
 -#line 3478 "awkgram.c" /* yacc.c:1646  */
++#line 3567 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 131:
 -#line 1505 "awkgram.y" /* yacc.c:1646  */
 +  case 136:
- #line 1550 "awkgram.y" /* yacc.c:1646  */
++#line 1551 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3572 "awkgram.c" /* yacc.c:1646  */
 -#line 3484 "awkgram.c" /* yacc.c:1646  */
++#line 3573 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 132:
 -#line 1507 "awkgram.y" /* yacc.c:1646  */
 +  case 137:
- #line 1552 "awkgram.y" /* yacc.c:1646  */
++#line 1553 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3578 "awkgram.c" /* yacc.c:1646  */
 -#line 3490 "awkgram.c" /* yacc.c:1646  */
++#line 3579 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 133:
 -#line 1512 "awkgram.y" /* yacc.c:1646  */
 +  case 138:
- #line 1557 "awkgram.y" /* yacc.c:1646  */
++#line 1558 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3584 "awkgram.c" /* yacc.c:1646  */
 -#line 3496 "awkgram.c" /* yacc.c:1646  */
++#line 3585 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 134:
 -#line 1514 "awkgram.y" /* yacc.c:1646  */
 +  case 139:
- #line 1559 "awkgram.y" /* yacc.c:1646  */
++#line 1560 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3590 "awkgram.c" /* yacc.c:1646  */
 -#line 3502 "awkgram.c" /* yacc.c:1646  */
++#line 3591 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 135:
 -#line 1519 "awkgram.y" /* yacc.c:1646  */
 +  case 140:
- #line 1564 "awkgram.y" /* yacc.c:1646  */
++#line 1565 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3596 "awkgram.c" /* yacc.c:1646  */
 -#line 3508 "awkgram.c" /* yacc.c:1646  */
++#line 3597 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 136:
 -#line 1521 "awkgram.y" /* yacc.c:1646  */
 +  case 141:
- #line 1566 "awkgram.y" /* yacc.c:1646  */
++#line 1567 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3602 "awkgram.c" /* yacc.c:1646  */
 -#line 3514 "awkgram.c" /* yacc.c:1646  */
++#line 3603 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 137:
 -#line 1523 "awkgram.y" /* yacc.c:1646  */
 +  case 142:
- #line 1568 "awkgram.y" /* yacc.c:1646  */
++#line 1569 "awkgram.y" /* yacc.c:1646  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3655,47 -3567,47 +3656,47 @@@
                                max_args = count;
                }
          }
- #line 3659 "awkgram.c" /* yacc.c:1646  */
 -#line 3571 "awkgram.c" /* yacc.c:1646  */
++#line 3660 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 139:
 -#line 1581 "awkgram.y" /* yacc.c:1646  */
 +  case 144:
- #line 1626 "awkgram.y" /* yacc.c:1646  */
++#line 1627 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3665 "awkgram.c" /* yacc.c:1646  */
 -#line 3577 "awkgram.c" /* yacc.c:1646  */
++#line 3666 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 140:
 -#line 1583 "awkgram.y" /* yacc.c:1646  */
 +  case 145:
- #line 1628 "awkgram.y" /* yacc.c:1646  */
++#line 1629 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3671 "awkgram.c" /* yacc.c:1646  */
 -#line 3583 "awkgram.c" /* yacc.c:1646  */
++#line 3672 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 141:
 -#line 1585 "awkgram.y" /* yacc.c:1646  */
 +  case 146:
- #line 1630 "awkgram.y" /* yacc.c:1646  */
++#line 1631 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3677 "awkgram.c" /* yacc.c:1646  */
 -#line 3589 "awkgram.c" /* yacc.c:1646  */
++#line 3678 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 142:
 -#line 1587 "awkgram.y" /* yacc.c:1646  */
 +  case 147:
- #line 1632 "awkgram.y" /* yacc.c:1646  */
++#line 1633 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3683 "awkgram.c" /* yacc.c:1646  */
 -#line 3595 "awkgram.c" /* yacc.c:1646  */
++#line 3684 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 143:
 -#line 1589 "awkgram.y" /* yacc.c:1646  */
 +  case 148:
- #line 1634 "awkgram.y" /* yacc.c:1646  */
++#line 1635 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3689 "awkgram.c" /* yacc.c:1646  */
 -#line 3601 "awkgram.c" /* yacc.c:1646  */
++#line 3690 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 144:
 -#line 1591 "awkgram.y" /* yacc.c:1646  */
 +  case 149:
- #line 1636 "awkgram.y" /* yacc.c:1646  */
++#line 1637 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3695 "awkgram.c" /* yacc.c:1646  */
 -#line 3607 "awkgram.c" /* yacc.c:1646  */
++#line 3696 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 145:
 -#line 1593 "awkgram.y" /* yacc.c:1646  */
 +  case 150:
- #line 1638 "awkgram.y" /* yacc.c:1646  */
++#line 1639 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@@ -3709,29 -3621,29 +3710,29 @@@
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
- #line 3713 "awkgram.c" /* yacc.c:1646  */
 -#line 3625 "awkgram.c" /* yacc.c:1646  */
++#line 3714 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 146:
 -#line 1607 "awkgram.y" /* yacc.c:1646  */
 +  case 151:
- #line 1652 "awkgram.y" /* yacc.c:1646  */
++#line 1653 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3722 "awkgram.c" /* yacc.c:1646  */
 -#line 3634 "awkgram.c" /* yacc.c:1646  */
++#line 3723 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 147:
 -#line 1612 "awkgram.y" /* yacc.c:1646  */
 +  case 152:
- #line 1657 "awkgram.y" /* yacc.c:1646  */
++#line 1658 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3731 "awkgram.c" /* yacc.c:1646  */
 -#line 3643 "awkgram.c" /* yacc.c:1646  */
++#line 3732 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 148:
 -#line 1617 "awkgram.y" /* yacc.c:1646  */
 +  case 153:
- #line 1662 "awkgram.y" /* yacc.c:1646  */
++#line 1663 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old) {
                    warning_ln((yyvsp[-1])->source_line,
@@@ -3751,64 -3663,64 +3752,64 @@@
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
- #line 3755 "awkgram.c" /* yacc.c:1646  */
 -#line 3667 "awkgram.c" /* yacc.c:1646  */
++#line 3756 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 149:
 -#line 1642 "awkgram.y" /* yacc.c:1646  */
 +  case 154:
- #line 1687 "awkgram.y" /* yacc.c:1646  */
++#line 1688 "awkgram.y" /* yacc.c:1646  */
      {
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
- #line 3764 "awkgram.c" /* yacc.c:1646  */
 -#line 3676 "awkgram.c" /* yacc.c:1646  */
++#line 3765 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 150:
 -#line 1648 "awkgram.y" /* yacc.c:1646  */
 +  case 155:
- #line 1693 "awkgram.y" /* yacc.c:1646  */
++#line 1694 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3770 "awkgram.c" /* yacc.c:1646  */
 -#line 3682 "awkgram.c" /* yacc.c:1646  */
++#line 3771 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 151:
 -#line 1650 "awkgram.y" /* yacc.c:1646  */
 +  case 156:
- #line 1695 "awkgram.y" /* yacc.c:1646  */
++#line 1696 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3776 "awkgram.c" /* yacc.c:1646  */
 -#line 3688 "awkgram.c" /* yacc.c:1646  */
++#line 3777 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 152:
 -#line 1652 "awkgram.y" /* yacc.c:1646  */
 +  case 157:
- #line 1697 "awkgram.y" /* yacc.c:1646  */
++#line 1698 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3782 "awkgram.c" /* yacc.c:1646  */
 -#line 3694 "awkgram.c" /* yacc.c:1646  */
++#line 3783 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 153:
 -#line 1654 "awkgram.y" /* yacc.c:1646  */
 +  case 158:
- #line 1699 "awkgram.y" /* yacc.c:1646  */
++#line 1700 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3788 "awkgram.c" /* yacc.c:1646  */
 -#line 3700 "awkgram.c" /* yacc.c:1646  */
++#line 3789 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 154:
 -#line 1656 "awkgram.y" /* yacc.c:1646  */
 +  case 159:
- #line 1701 "awkgram.y" /* yacc.c:1646  */
++#line 1702 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3794 "awkgram.c" /* yacc.c:1646  */
 -#line 3706 "awkgram.c" /* yacc.c:1646  */
++#line 3795 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 155:
 -#line 1658 "awkgram.y" /* yacc.c:1646  */
 +  case 160:
- #line 1703 "awkgram.y" /* yacc.c:1646  */
++#line 1704 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3800 "awkgram.c" /* yacc.c:1646  */
 -#line 3712 "awkgram.c" /* yacc.c:1646  */
++#line 3801 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 156:
 -#line 1663 "awkgram.y" /* yacc.c:1646  */
 +  case 161:
- #line 1708 "awkgram.y" /* yacc.c:1646  */
++#line 1709 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3808 "awkgram.c" /* yacc.c:1646  */
 -#line 3720 "awkgram.c" /* yacc.c:1646  */
++#line 3809 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 157:
 -#line 1667 "awkgram.y" /* yacc.c:1646  */
 +  case 162:
- #line 1712 "awkgram.y" /* yacc.c:1646  */
++#line 1713 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->opcode == Op_match_rec) {
                        (yyvsp[0])->opcode = Op_nomatch;
@@@ -3840,37 -3752,37 +3841,37 @@@
                        }
                }
           }
- #line 3844 "awkgram.c" /* yacc.c:1646  */
 -#line 3756 "awkgram.c" /* yacc.c:1646  */
++#line 3845 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 158:
 -#line 1699 "awkgram.y" /* yacc.c:1646  */
 +  case 163:
- #line 1744 "awkgram.y" /* yacc.c:1646  */
++#line 1745 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3850 "awkgram.c" /* yacc.c:1646  */
 -#line 3762 "awkgram.c" /* yacc.c:1646  */
++#line 3851 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 159:
 -#line 1701 "awkgram.y" /* yacc.c:1646  */
 +  case 164:
- #line 1746 "awkgram.y" /* yacc.c:1646  */
++#line 1747 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3860 "awkgram.c" /* yacc.c:1646  */
 -#line 3772 "awkgram.c" /* yacc.c:1646  */
++#line 3861 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 160:
 -#line 1707 "awkgram.y" /* yacc.c:1646  */
 +  case 165:
- #line 1752 "awkgram.y" /* yacc.c:1646  */
++#line 1753 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3870 "awkgram.c" /* yacc.c:1646  */
 -#line 3782 "awkgram.c" /* yacc.c:1646  */
++#line 3871 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 161:
 -#line 1713 "awkgram.y" /* yacc.c:1646  */
 +  case 166:
- #line 1758 "awkgram.y" /* yacc.c:1646  */
++#line 1759 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
  
@@@ -3883,45 -3795,45 +3884,45 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3887 "awkgram.c" /* yacc.c:1646  */
 -#line 3799 "awkgram.c" /* yacc.c:1646  */
++#line 3888 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 164:
 -#line 1728 "awkgram.y" /* yacc.c:1646  */
 +  case 169:
- #line 1773 "awkgram.y" /* yacc.c:1646  */
++#line 1774 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3896 "awkgram.c" /* yacc.c:1646  */
 -#line 3808 "awkgram.c" /* yacc.c:1646  */
++#line 3897 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 165:
 -#line 1733 "awkgram.y" /* yacc.c:1646  */
 +  case 170:
- #line 1778 "awkgram.y" /* yacc.c:1646  */
++#line 1779 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3905 "awkgram.c" /* yacc.c:1646  */
 -#line 3817 "awkgram.c" /* yacc.c:1646  */
++#line 3906 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 166:
 -#line 1738 "awkgram.y" /* yacc.c:1646  */
 +  case 171:
- #line 1783 "awkgram.y" /* yacc.c:1646  */
++#line 1784 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3913 "awkgram.c" /* yacc.c:1646  */
 -#line 3825 "awkgram.c" /* yacc.c:1646  */
++#line 3914 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 167:
 -#line 1742 "awkgram.y" /* yacc.c:1646  */
 +  case 172:
- #line 1787 "awkgram.y" /* yacc.c:1646  */
++#line 1788 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3921 "awkgram.c" /* yacc.c:1646  */
 -#line 3833 "awkgram.c" /* yacc.c:1646  */
++#line 3922 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 168:
 -#line 1746 "awkgram.y" /* yacc.c:1646  */
 +  case 173:
- #line 1791 "awkgram.y" /* yacc.c:1646  */
++#line 1792 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3936,34 -3848,34 +3937,34 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3940 "awkgram.c" /* yacc.c:1646  */
 -#line 3852 "awkgram.c" /* yacc.c:1646  */
++#line 3941 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 169:
 -#line 1761 "awkgram.y" /* yacc.c:1646  */
 +  case 174:
- #line 1806 "awkgram.y" /* yacc.c:1646  */
++#line 1807 "awkgram.y" /* yacc.c:1646  */
      {
            /*
             * was: $$ = $2
             * POSIX semantics: force a conversion to numeric type
             */
                (yyvsp[-1])->opcode = Op_plus_i;
-               (yyvsp[-1])->memory = make_number(0.0);
+               (yyvsp[-1])->memory = make_profile_number(0.0, "0", 1);
                (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
          }
- #line 3954 "awkgram.c" /* yacc.c:1646  */
 -#line 3866 "awkgram.c" /* yacc.c:1646  */
++#line 3955 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 170:
 -#line 1774 "awkgram.y" /* yacc.c:1646  */
 +  case 175:
- #line 1819 "awkgram.y" /* yacc.c:1646  */
++#line 1820 "awkgram.y" /* yacc.c:1646  */
      {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
- #line 3963 "awkgram.c" /* yacc.c:1646  */
 -#line 3875 "awkgram.c" /* yacc.c:1646  */
++#line 3964 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 171:
 -#line 1779 "awkgram.y" /* yacc.c:1646  */
 +  case 176:
- #line 1824 "awkgram.y" /* yacc.c:1646  */
++#line 1825 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -3997,11 -3909,11 +3998,11 @@@
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
- #line 4001 "awkgram.c" /* yacc.c:1646  */
 -#line 3913 "awkgram.c" /* yacc.c:1646  */
++#line 4002 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 172:
 -#line 1816 "awkgram.y" /* yacc.c:1646  */
 +  case 177:
- #line 1861 "awkgram.y" /* yacc.c:1646  */
++#line 1862 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n;
  
@@@ -4026,49 -3938,49 +4027,49 @@@
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
- #line 4030 "awkgram.c" /* yacc.c:1646  */
 -#line 3942 "awkgram.c" /* yacc.c:1646  */
++#line 4031 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 173:
 -#line 1844 "awkgram.y" /* yacc.c:1646  */
 +  case 178:
- #line 1889 "awkgram.y" /* yacc.c:1646  */
++#line 1890 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4036 "awkgram.c" /* yacc.c:1646  */
 -#line 3948 "awkgram.c" /* yacc.c:1646  */
++#line 4037 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 174:
 -#line 1846 "awkgram.y" /* yacc.c:1646  */
 +  case 179:
- #line 1891 "awkgram.y" /* yacc.c:1646  */
++#line 1892 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4042 "awkgram.c" /* yacc.c:1646  */
 -#line 3954 "awkgram.c" /* yacc.c:1646  */
++#line 4043 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 175:
 -#line 1851 "awkgram.y" /* yacc.c:1646  */
 +  case 180:
- #line 1896 "awkgram.y" /* yacc.c:1646  */
++#line 1897 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4048 "awkgram.c" /* yacc.c:1646  */
 -#line 3960 "awkgram.c" /* yacc.c:1646  */
++#line 4049 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 176:
 -#line 1853 "awkgram.y" /* yacc.c:1646  */
 +  case 181:
- #line 1898 "awkgram.y" /* yacc.c:1646  */
++#line 1899 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4054 "awkgram.c" /* yacc.c:1646  */
 -#line 3966 "awkgram.c" /* yacc.c:1646  */
++#line 4055 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 177:
 -#line 1858 "awkgram.y" /* yacc.c:1646  */
 +  case 182:
- #line 1903 "awkgram.y" /* yacc.c:1646  */
++#line 1904 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4060 "awkgram.c" /* yacc.c:1646  */
 -#line 3972 "awkgram.c" /* yacc.c:1646  */
++#line 4061 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 178:
 -#line 1860 "awkgram.y" /* yacc.c:1646  */
 +  case 183:
- #line 1905 "awkgram.y" /* yacc.c:1646  */
++#line 1906 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4068 "awkgram.c" /* yacc.c:1646  */
 -#line 3980 "awkgram.c" /* yacc.c:1646  */
++#line 4069 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 179:
 -#line 1867 "awkgram.y" /* yacc.c:1646  */
 +  case 184:
- #line 1912 "awkgram.y" /* yacc.c:1646  */
++#line 1913 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->lasti; 
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -4082,11 -3994,11 +4083,11 @@@
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
- #line 4086 "awkgram.c" /* yacc.c:1646  */
 -#line 3998 "awkgram.c" /* yacc.c:1646  */
++#line 4087 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 180:
 -#line 1884 "awkgram.y" /* yacc.c:1646  */
 +  case 185:
- #line 1929 "awkgram.y" /* yacc.c:1646  */
++#line 1930 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@@ -4100,31 -4012,31 +4101,31 @@@
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
- #line 4104 "awkgram.c" /* yacc.c:1646  */
 -#line 4016 "awkgram.c" /* yacc.c:1646  */
++#line 4105 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 181:
 -#line 1901 "awkgram.y" /* yacc.c:1646  */
 +  case 186:
- #line 1946 "awkgram.y" /* yacc.c:1646  */
++#line 1947 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4110 "awkgram.c" /* yacc.c:1646  */
 -#line 4022 "awkgram.c" /* yacc.c:1646  */
++#line 4111 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 182:
 -#line 1903 "awkgram.y" /* yacc.c:1646  */
 +  case 187:
- #line 1948 "awkgram.y" /* yacc.c:1646  */
++#line 1949 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4118 "awkgram.c" /* yacc.c:1646  */
 -#line 4030 "awkgram.c" /* yacc.c:1646  */
++#line 4119 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 183:
 -#line 1910 "awkgram.y" /* yacc.c:1646  */
 +  case 188:
- #line 1955 "awkgram.y" /* yacc.c:1646  */
++#line 1956 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4124 "awkgram.c" /* yacc.c:1646  */
 -#line 4036 "awkgram.c" /* yacc.c:1646  */
++#line 4125 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 184:
 -#line 1915 "awkgram.y" /* yacc.c:1646  */
 +  case 189:
- #line 1960 "awkgram.y" /* yacc.c:1646  */
++#line 1961 "awkgram.y" /* yacc.c:1646  */
      {
                char *var_name = (yyvsp[0])->lextok;
  
@@@ -4132,22 -4044,22 +4133,22 @@@
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
- #line 4136 "awkgram.c" /* yacc.c:1646  */
 -#line 4048 "awkgram.c" /* yacc.c:1646  */
++#line 4137 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 185:
 -#line 1923 "awkgram.y" /* yacc.c:1646  */
 +  case 190:
- #line 1968 "awkgram.y" /* yacc.c:1646  */
++#line 1969 "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 4147 "awkgram.c" /* yacc.c:1646  */
 -#line 4059 "awkgram.c" /* yacc.c:1646  */
++#line 4148 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 186:
 -#line 1933 "awkgram.y" /* yacc.c:1646  */
 +  case 191:
- #line 1978 "awkgram.y" /* yacc.c:1646  */
++#line 1979 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@@ -4159,73 -4071,73 +4160,73 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 4163 "awkgram.c" /* yacc.c:1646  */
 -#line 4075 "awkgram.c" /* yacc.c:1646  */
++#line 4164 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 187:
 -#line 1945 "awkgram.y" /* yacc.c:1646  */
 +  case 192:
- #line 1990 "awkgram.y" /* yacc.c:1646  */
++#line 1991 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 4173 "awkgram.c" /* yacc.c:1646  */
 -#line 4085 "awkgram.c" /* yacc.c:1646  */
++#line 4174 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 188:
 -#line 1954 "awkgram.y" /* yacc.c:1646  */
 +  case 193:
- #line 1999 "awkgram.y" /* yacc.c:1646  */
++#line 2000 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
          }
- #line 4181 "awkgram.c" /* yacc.c:1646  */
 -#line 4093 "awkgram.c" /* yacc.c:1646  */
++#line 4182 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 189:
 -#line 1958 "awkgram.y" /* yacc.c:1646  */
 +  case 194:
- #line 2003 "awkgram.y" /* yacc.c:1646  */
++#line 2004 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
- #line 4189 "awkgram.c" /* yacc.c:1646  */
 -#line 4101 "awkgram.c" /* yacc.c:1646  */
++#line 4190 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 190:
 -#line 1961 "awkgram.y" /* yacc.c:1646  */
 +  case 195:
- #line 2006 "awkgram.y" /* yacc.c:1646  */
++#line 2007 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4195 "awkgram.c" /* yacc.c:1646  */
 -#line 4107 "awkgram.c" /* yacc.c:1646  */
++#line 4196 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 192:
 -#line 1969 "awkgram.y" /* yacc.c:1646  */
 +  case 197:
- #line 2014 "awkgram.y" /* yacc.c:1646  */
++#line 2015 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4201 "awkgram.c" /* yacc.c:1646  */
 -#line 4113 "awkgram.c" /* yacc.c:1646  */
++#line 4202 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 193:
 -#line 1973 "awkgram.y" /* yacc.c:1646  */
 +  case 198:
- #line 2018 "awkgram.y" /* yacc.c:1646  */
++#line 2019 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4207 "awkgram.c" /* yacc.c:1646  */
 -#line 4119 "awkgram.c" /* yacc.c:1646  */
++#line 4208 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 196:
 -#line 1982 "awkgram.y" /* yacc.c:1646  */
 +  case 201:
- #line 2027 "awkgram.y" /* yacc.c:1646  */
++#line 2028 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4213 "awkgram.c" /* yacc.c:1646  */
 -#line 4125 "awkgram.c" /* yacc.c:1646  */
++#line 4214 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 197:
 -#line 1986 "awkgram.y" /* yacc.c:1646  */
 +  case 202:
- #line 2031 "awkgram.y" /* yacc.c:1646  */
++#line 2032 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); yyerrok; }
- #line 4219 "awkgram.c" /* yacc.c:1646  */
 -#line 4131 "awkgram.c" /* yacc.c:1646  */
++#line 4220 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 198:
 -#line 1990 "awkgram.y" /* yacc.c:1646  */
 +  case 203:
- #line 2035 "awkgram.y" /* yacc.c:1646  */
++#line 2036 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4225 "awkgram.c" /* yacc.c:1646  */
 -#line 4137 "awkgram.c" /* yacc.c:1646  */
++#line 4226 "awkgram.c" /* yacc.c:1646  */
      break;
  
  
- #line 4229 "awkgram.c" /* yacc.c:1646  */
 -#line 4141 "awkgram.c" /* yacc.c:1646  */
++#line 4230 "awkgram.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4453,7 -4365,7 +4454,7 @@@ yyreturn
  #endif
    return yyresult;
  }
- #line 2037 "awkgram.y" /* yacc.c:1906  */
 -#line 1992 "awkgram.y" /* yacc.c:1906  */
++#line 2038 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {

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

Summary of changes:
 ChangeLog          |   10 +
 awk.h              |    1 +
 awkgram.c          |  828 +++++++++++++++++++++++++++-------------------------
 awkgram.y          |   46 ++-
 profile.c          |   39 +--
 test/ChangeLog     |    4 +
 test/mpfrmemok1.ok |    2 +-
 7 files changed, 490 insertions(+), 440 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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