gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, long-double, updated. gawk-4.1.0-403-g6a


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, long-double, updated. gawk-4.1.0-403-g6a9b325
Date: Thu, 20 Feb 2014 18:52:26 +0000

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, long-double has been updated
       via  6a9b3251b064e39e295004ebd6e10a23234d4331 (commit)
       via  85444c5af2c3077ae834dd454eb27338a19f1bc0 (commit)
       via  0b8ef4f18527f751ef60fc3202cd7143079121fb (commit)
       via  c0aeaf87402aa2670e76a32a888053fb64b879b0 (commit)
       via  2ce455acf7229b635cf7822063ac8c3f13d1ab80 (commit)
       via  b4aa6a524d929ecf7c458acc456db50d6f11e7f4 (commit)
       via  5e3f96e34832b2db0b33e38280643ff336c34450 (commit)
       via  5a41f696c4b8251583f5516084eaba3b752cb7f6 (commit)
       via  6a0dfc98997cf61f34ed04904ee7b7e9124338ef (commit)
       via  21a94b55d96dc3e78a2f2eae11511038639e30ee (commit)
       via  c0949ab99d94f660e1081b6e424dc622a403fc06 (commit)
       via  994a2a5e18b9cd41168f1d9526fc6ce0130453c8 (commit)
       via  3bf0935358ff2675f1329d3db5e1c02f2a7fe665 (commit)
       via  1e8ab702f8a94ae0c53fc6d65698e037f200b39e (commit)
       via  ddf5569cacf57c9dfebb3dd3db325da7fbbd033e (commit)
       via  a6131306dd49537de45afdfdc6d4ad2dcac7655b (commit)
       via  4311907208592a2c617251a5cd3792d97f94be6a (commit)
       via  858d9d8eeb7c0869b035c850e0646204302c2229 (commit)
       via  7292540a9f11befc187bc77e56846f94ec0bda58 (commit)
       via  99642b09a12c4448e409b8357dd999d3ef3a776e (commit)
       via  70d4fd5995f9a2dbc3ccec19d27536f6931ae38d (commit)
       via  2a80681e33f26908d19cebf043b28c951f2b82ef (commit)
       via  c9d672c5a1b2b6f1094ac0f3cc9d51c3ad02ea5c (commit)
       via  b8d5e85062765f4bad3a05f6186bc6b7c25abd84 (commit)
       via  489a63923b753883500b8981b1fa578491d8f4ad (commit)
       via  297ddda23ef3be22274481316ac708a389cfd23c (commit)
       via  9c2180330d85a9915b14c5fb5346dbc90b49fe87 (commit)
       via  ffef130c33f07bd245823413e6f12105aa8dcbf9 (commit)
       via  5a1e957a2cda7d1f0062454a1c6caa4c835bd201 (commit)
       via  1855be261370b4489136bcf14536e0a2db3bd13d (commit)
       via  d68ff70e48e7d695231b07f6a55a5d98a77ac4b4 (commit)
       via  4cb70d5caf61fcb63b2b4b8995e063aa96238dae (commit)
       via  8e1bb1e107849bba12e163026e5ac1bc9ddd7ec9 (commit)
       via  27c02ee1fc9b76fb39726f37481823982230ee73 (commit)
       via  c712957772b810b017088e7b052fa06495c44471 (commit)
       via  6e531b16714cc40800f812aee3780582957b9776 (commit)
       via  10418fbb452f98e5cc273165af76a600add1155c (commit)
       via  d326a1b2bdba07f2c54d53a2d16d46db96be40a9 (commit)
       via  f7f823dfd01a6f9778d4f41d7484f2175b80b1c5 (commit)
       via  fab63d983c15fae8301ca6b21c18ca27f86ba56a (commit)
       via  d9818e79d5bb15d4ded02ca99606beaf2eda0ae3 (commit)
       via  4d691ab28f594c2a85f5e5c6c5d93eb168fade70 (commit)
       via  ab8d7416c064c94e75d80431270321ceaa866719 (commit)
       via  d6c537443dc5954ca21a849b45dc5adedca6211c (commit)
       via  6520f31b24575ce7308a8b42c8b617568db6c4d8 (commit)
       via  3f8c0c06075b331d9f305f475f20e99c96fba95c (commit)
       via  c5530f370ba70004c2e0bbc712038eaacfd6b2ce (commit)
       via  1e40db7cc2181f19ed3c148b89cdf5ccb0f59426 (commit)
       via  8beb41f95ad7c273eab9c0494ffb0acd7ace2800 (commit)
       via  02e6fe03d51b8014d58b7ed268738c895082fb1e (commit)
       via  50dc29a3732f98eaeabd1f1f4ba9de5949adfed6 (commit)
       via  613cc894e9156425ba4b41f5a982471896686c2a (commit)
       via  944f051219045da8422813a31c9a3c9a99a78bb7 (commit)
       via  305c76c58fa92e4907ff82763362d7c1aa0d15ff (commit)
       via  b39b611a897ffcfc68c07dd5d9ea4ca08e024b21 (commit)
       via  7dbb03a642a1526e584b59e3fb4f18ef73acfe1a (commit)
       via  6a22d95b08e8200670f220540f73aad2195a616f (commit)
       via  51038bda2cde5e5a5a4fa1fd54626d4cb107e7ef (commit)
       via  a91bee03094f4f0b0cd0614cca65f2f1d68975ea (commit)
       via  c5dbf7830b722a52858c2ef633a6e8a927255c1b (commit)
       via  ccf651616825ba6e53390e3abc2c848b1120e231 (commit)
       via  f201d2c3f3f9ed7e8747727b16947d21a5f0c9ab (commit)
       via  cc368b6d3e146c38d2dbefad1e60f5bf3a2537e0 (commit)
       via  93a1a268246ed72edc71381069ace49d52bf8fec (commit)
       via  331e16c39a9658f67085b28e656417ee9d3b4b22 (commit)
       via  20ca1d1ba6e46f116e2dc169d263fd548b9bd074 (commit)
       via  9092450b4459af490e4d52ad3188d3282f36f726 (commit)
       via  4af359f9e6fb5030bdc1174c707b1728f029d7cf (commit)
       via  c4a448931a9f8a2bf3f4eb4f762fe3003d3f3bf3 (commit)
       via  e0e2a43526ebcc13602eb3e872391acbd2655796 (commit)
       via  5163d771a34406de44889c9e297699d04af13308 (commit)
       via  132f956360d721fccf4f3829044f5f6eceac3ffd (commit)
       via  801a3e8723268b5b61ecbf2063af9dc524f7235f (commit)
       via  ebb8473c5de46fdf08c98f65e5996ed4ba495684 (commit)
       via  06d509825fdd3cbcd25f76aaf2d3cdef03dd97bf (commit)
       via  f00fc299f09b0234660bf7c97ce458a4044ec111 (commit)
       via  133196310e68de01021a3da02536b67eba7ef3e5 (commit)
       via  a0414ef0949eaf66c467abd5009790a6f339b164 (commit)
       via  00db6f0be4e51725ab07db0e34164246bba57d16 (commit)
       via  699b3a96bfcdd281b4f0db447fcf80ba7fbc6ec6 (commit)
       via  9175c4e1b26dbdac5600df0b4d33717004c9a434 (commit)
       via  f93264497cc50140921c05ead6626bb13bae38a9 (commit)
       via  c32da51ad91ff617b9e0ee60ed2ffd1baa8b0047 (commit)
       via  ec9cd11f67b6c2cfca611cad48e65e711ed26a0b (commit)
       via  10a3517d40ab7015ac3c95aab50d7ae276155ede (commit)
       via  c338576a8fefa700cb989319d10d27f6f31e9b00 (commit)
       via  d983b3ec12841f248d906128932c87b4273ca518 (commit)
       via  2389064eb3fe7c5b2b144eb2f5d556a812ba1911 (commit)
       via  6d99e8c62118efcb42322d94b3160c2ee6c8698b (commit)
       via  074f0fcb34072abbbd56fc96630368fc7fa3115d (commit)
      from  43a05f2c1a35b87d79088e4c8c7555202310dadb (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=6a9b3251b064e39e295004ebd6e10a23234d4331

commit 6a9b3251b064e39e295004ebd6e10a23234d4331
Merge: 43a05f2 85444c5
Author: Arnold D. Robbins <address@hidden>
Date:   Thu Feb 20 20:51:43 2014 +0200

    Merge branch 'num-handler' into long-double

diff --cc awkgram.c
index 4a7dd1a,81dd1e8..04eb466
--- a/awkgram.c
+++ b/awkgram.c
@@@ -200,14 -196,13 +199,13 @@@ extern double fmod(double x, double y)
  
  #define is_identchar(c)               (isalnum(c) || (c) == '_')
  
- /* Line 371 of yacc.c  */
- #line 205 "awkgram.c"
 -#line 200 "awkgram.c" /* yacc.c:339  */
++#line 203 "awkgram.c" /* yacc.c:339  */
  
- # ifndef YY_NULL
+ # ifndef YY_NULLPTR
  #  if defined __cplusplus && 201103L <= __cplusplus
- #   define YY_NULL nullptr
+ #   define YY_NULLPTR nullptr
  #  else
- #   define YY_NULL 0
+ #   define YY_NULLPTR 0
  #  endif
  # endif
  
@@@ -369,8 -350,7 +353,7 @@@ int yyparse (void)
  
  /* Copy the second part of user declarations.  */
  
- /* Line 390 of yacc.c  */
- #line 374 "awkgram.c"
 -#line 354 "awkgram.c" /* yacc.c:358  */
++#line 357 "awkgram.c" /* yacc.c:358  */
  
  #ifdef short
  # undef short
@@@ -654,117 -649,28 +652,28 @@@ static const yytype_uint8 yytranslate[
  };
  
  #if YYDEBUG
- /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-    YYRHS.  */
- static const yytype_uint16 yyprhs[] =
- {
-        0,     0,     3,     4,     7,    10,    13,    16,    19,    22,
-       25,    30,    35,    37,    40,    42,    44,    47,    49,    50,
-       52,    57,    59,    61,    63,    65,    71,    73,    75,    77,
-       80,    82,    84,    91,    92,    96,    98,   100,   101,   104,
-      107,   109,   112,   115,   119,   121,   131,   138,   147,   156,
-      169,   181,   183,   186,   189,   192,   195,   199,   200,   205,
-      208,   209,   214,   215,   220,   225,   227,   228,   230,   231,
-      234,   237,   243,   248,   250,   253,   256,   258,   260,   262,
-      264,   266,   270,   271,   272,   276,   283,   293,   295,   298,
-      299,   301,   302,   305,   306,   308,   310,   314,   316,   319,
-      323,   324,   326,   327,   329,   331,   335,   337,   340,   344,
-      348,   352,   356,   360,   364,   368,   372,   378,   380,   382,
-      384,   387,   389,   391,   393,   395,   397,   399,   402,   404,
-      408,   412,   416,   420,   424,   428,   432,   435,   438,   444,
-      449,   453,   457,   461,   465,   469,   473,   475,   478,   482,
-      487,   492,   494,   496,   498,   501,   504,   506,   508,   511,
-      514,   516,   519,   524,   525,   527,   528,   531,   533,   536,
-      538,   542,   544,   547,   550,   552,   555,   557,   561,   563,
-      565,   566,   569,   572,   574,   575,   577,   579,   581
- };
- 
- /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
- static const yytype_int16 yyrhs[] =
- {
-       76,     0,    -1,    -1,    76,    77,    -1,    76,   105,    -1,
-       76,    47,    -1,    76,     1,    -1,    80,    81,    -1,    80,
-       89,    -1,    84,    81,    -1,    69,    48,    78,    89,    -1,
-       69,    50,    79,    89,    -1,     6,    -1,     6,     1,    -1,
-        1,    -1,     6,    -1,     6,     1,    -1,     1,    -1,    -1,
-      113,    -1,   113,    55,   106,   113,    -1,    17,    -1,    18,
-       -1,    36,    -1,    37,    -1,   133,    88,   134,   136,   106,
-       -1,     4,    -1,     3,    -1,    83,    -1,    69,    49,    -1,
-       45,    -1,    46,    -1,    35,    82,    67,   108,   135,   106,
-       -1,    -1,    87,    86,     5,    -1,    61,    -1,    52,    -1,
-       -1,    88,    90,    -1,    88,     1,    -1,   105,    -1,   137,
-      106,    -1,   137,   106,    -1,   133,    88,   134,    -1,   104,
-       -1,    23,    67,   113,   135,   106,   133,    97,   106,   134,
-       -1,    26,    67,   113,   135,   106,    90,    -1,    27,   106,
-       90,    26,    67,   113,   135,   106,    -1,    28,    67,     4,
-       40,   130,   135,   106,    90,    -1,    28,    67,    96,   137,
-      106,   113,   137,   106,    96,   135,   106,    90,    -1,    28,
-       67,    96,   137,   106,   137,   106,    96,   135,   106,    90,
-       -1,    91,    -1,    29,    89,    -1,    30,    89,    -1,    33,
-       89,    -1,    39,    89,    -1,    34,   110,    89,    -1,    -1,
-       21,    92,   110,    89,    -1,    93,    89,    -1,    -1,   100,
-       94,   101,   102,    -1,    -1,    22,     4,    95,   124,    -1,
-       22,    67,     4,    68,    -1,   113,    -1,    -1,    93,    -1,
-       -1,    97,    98,    -1,    97,     1,    -1,    24,    99,   138,
-      106,    88,    -1,    25,   138,   106,    88,    -1,     7,    -1,
-       59,     7,    -1,    58,     7,    -1,     8,    -1,    85,    -1,
-       31,    -1,    32,    -1,   111,    -1,    67,   112,   135,    -1,
-       -1,    -1,    10,   103,   117,    -1,    19,    67,   113,   135,
-      106,    90,    -1,    19,    67,   113,   135,   106,    90,    20,
-      106,    90,    -1,    51,    -1,   105,    51,    -1,    -1,   105,
-       -1,    -1,    56,   118,    -1,    -1,   109,    -1,     4,    -1,
-      109,   139,     4,    -1,     1,    -1,   109,     1,    -1,   109,
-      139,     1,    -1,    -1,   113,    -1,    -1,   112,    -1,   113,
-       -1,   112,   139,   113,    -1,     1,    -1,   112,     1,    -1,
-      112,     1,   113,    -1,   112,   139,     1,    -1,   131,   114,
-      113,    -1,   113,    41,   113,    -1,   113,    42,   113,    -1,
-      113,    14,   113,    -1,   113,    40,   130,    -1,   113,   116,
-      113,    -1,   113,    53,   113,    54,   113,    -1,   117,    -1,
-       13,    -1,    12,    -1,    52,    13,    -1,     9,    -1,    56,
-       -1,   115,    -1,    57,    -1,   118,    -1,   119,    -1,   117,
-      118,    -1,   120,    -1,   118,    65,   118,    -1,   118,    60,
-      118,    -1,   118,    61,   118,    -1,   118,    62,   118,    -1,
-      118,    58,   118,    -1,   118,    59,   118,    -1,    38,   123,
-      107,    -1,   131,    43,    -1,   131,    44,    -1,    67,   112,
-      135,    40,   130,    -1,   117,    11,    38,   123,    -1,   119,
-       65,   118,    -1,   119,    60,   118,    -1,   119,    61,   118,
-       -1,   119,    62,   118,    -1,   119,    58,   118,    -1,   119,
-       59,   118,    -1,    85,    -1,    63,   118,    -1,    67,   113,
-      135,    -1,    45,    67,   111,   135,    -1,    46,    67,   111,
-      135,    -1,    46,    -1,   121,    -1,   131,    -1,    43,   131,
-       -1,    44,   131,    -1,     7,    -1,     8,    -1,    59,   118,
-       -1,    58,   118,    -1,   122,    -1,    69,   122,    -1,     3,
-       67,   111,   135,    -1,    -1,   131,    -1,    -1,   125,    16,
-       -1,   126,    -1,   125,   126,    -1,   127,    -1,    70,   112,
-       71,    -1,   127,    -1,   128,   127,    -1,   128,    16,    -1,
-        4,    -1,     4,   129,    -1,   130,    -1,    66,   120,   132,
-       -1,    43,    -1,    44,    -1,    -1,    72,   106,    -1,    73,
-      106,    -1,    68,    -1,    -1,   137,    -1,    74,    -1,    54,
-       -1,    55,   106,    -1
- };
- 
- /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
  static const yytype_uint16 yyrline[] =
  {
 -       0,   199,   199,   201,   206,   207,   213,   225,   229,   240,
 -     246,   251,   259,   267,   269,   274,   282,   284,   290,   291,
 -     293,   319,   330,   341,   347,   356,   366,   368,   370,   376,
 -     381,   382,   386,   405,   404,   438,   440,   445,   446,   459,
 -     464,   465,   469,   471,   473,   480,   570,   612,   654,   767,
 -     774,   781,   791,   800,   809,   818,   829,   845,   844,   868,
 -     880,   880,   978,   978,  1011,  1041,  1047,  1048,  1054,  1055,
 -    1062,  1067,  1079,  1093,  1095,  1103,  1108,  1110,  1118,  1120,
 -    1129,  1130,  1138,  1143,  1143,  1154,  1158,  1166,  1167,  1170,
 -    1172,  1177,  1178,  1187,  1188,  1193,  1198,  1204,  1206,  1208,
 -    1215,  1216,  1222,  1223,  1228,  1230,  1235,  1237,  1245,  1250,
 -    1259,  1266,  1268,  1270,  1286,  1296,  1303,  1305,  1310,  1312,
 -    1314,  1322,  1324,  1329,  1331,  1336,  1338,  1340,  1390,  1392,
 -    1394,  1396,  1398,  1400,  1402,  1404,  1427,  1432,  1437,  1462,
 -    1468,  1470,  1472,  1474,  1476,  1478,  1483,  1487,  1519,  1521,
 -    1527,  1533,  1546,  1547,  1548,  1553,  1558,  1562,  1566,  1581,
 -    1593,  1598,  1634,  1652,  1653,  1659,  1660,  1665,  1667,  1674,
 -    1691,  1708,  1710,  1717,  1722,  1730,  1740,  1752,  1761,  1765,
 -    1769,  1773,  1777,  1781,  1784,  1786,  1790,  1794,  1798
 +       0,   202,   202,   204,   209,   210,   216,   228,   232,   243,
 +     249,   254,   262,   270,   272,   277,   285,   287,   293,   294,
 +     296,   322,   333,   344,   350,   359,   369,   371,   373,   379,
 +     384,   385,   389,   408,   407,   441,   443,   448,   449,   462,
 +     467,   468,   472,   474,   476,   483,   573,   615,   657,   770,
 +     777,   784,   794,   803,   812,   821,   832,   848,   847,   871,
 +     883,   883,   981,   981,  1014,  1044,  1050,  1051,  1057,  1058,
 +    1065,  1070,  1082,  1096,  1098,  1106,  1111,  1113,  1121,  1123,
 +    1132,  1133,  1141,  1146,  1146,  1157,  1161,  1169,  1170,  1173,
 +    1175,  1180,  1181,  1190,  1191,  1196,  1201,  1207,  1209,  1211,
 +    1218,  1219,  1225,  1226,  1231,  1233,  1238,  1240,  1248,  1253,
 +    1262,  1269,  1271,  1273,  1289,  1299,  1306,  1308,  1313,  1315,
 +    1317,  1325,  1327,  1332,  1334,  1339,  1341,  1343,  1393,  1395,
 +    1397,  1399,  1401,  1403,  1405,  1407,  1430,  1435,  1440,  1465,
 +    1471,  1473,  1475,  1477,  1479,  1481,  1486,  1490,  1504,  1506,
 +    1512,  1518,  1531,  1532,  1533,  1538,  1543,  1547,  1551,  1566,
 +    1578,  1583,  1619,  1637,  1638,  1644,  1645,  1650,  1652,  1659,
 +    1676,  1693,  1695,  1702,  1707,  1715,  1725,  1737,  1746,  1750,
 +    1754,  1758,  1762,  1766,  1769,  1771,  1775,  1779,  1783
  };
  #endif
  
@@@ -2050,27 -1843,26 +1846,26 @@@ yyreduce
    switch (yyn)
      {
          case 3:
- /* Line 1787 of yacc.c  */
- #line 205 "awkgram.y"
 -#line 202 "awkgram.y" /* yacc.c:1646  */
++#line 205 "awkgram.y" /* yacc.c:1646  */
      {
                rule = 0;
                yyerrok;
          }
 -#line 1852 "awkgram.c" /* yacc.c:1646  */
++#line 1855 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 5:
- /* Line 1787 of yacc.c  */
- #line 211 "awkgram.y"
 -#line 208 "awkgram.y" /* yacc.c:1646  */
++#line 211 "awkgram.y" /* yacc.c:1646  */
      {
                next_sourcefile();
                if (sourcefile == srcfiles)
                        process_deferred();
          }
 -#line 1862 "awkgram.c" /* yacc.c:1646  */
++#line 1865 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 6:
- /* Line 1787 of yacc.c  */
- #line 217 "awkgram.y"
 -#line 214 "awkgram.y" /* yacc.c:1646  */
++#line 217 "awkgram.y" /* yacc.c:1646  */
      {
                rule = 0;
                /*
@@@ -2079,19 -1871,19 +1874,19 @@@
                 */
                /* yyerrok; */
          }
 -#line 1875 "awkgram.c" /* yacc.c:1646  */
++#line 1878 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 7:
- /* Line 1787 of yacc.c  */
- #line 229 "awkgram.y"
 -#line 226 "awkgram.y" /* yacc.c:1646  */
++#line 229 "awkgram.y" /* yacc.c:1646  */
      {
-               (void) append_rule((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (void) append_rule((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 1883 "awkgram.c" /* yacc.c:1646  */
++#line 1886 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 8:
- /* Line 1787 of yacc.c  */
- #line 233 "awkgram.y"
 -#line 230 "awkgram.y" /* yacc.c:1646  */
++#line 233 "awkgram.y" /* yacc.c:1646  */
      {
                if (rule != Rule) {
                        msg(_("%s blocks must have an action part"), 
ruletab[rule]);
@@@ -2100,241 -1892,241 +1895,241 @@@
                        msg(_("each rule must have a pattern or an action 
part"));
                        errcount++;
                } else          /* pattern rule with non-empty pattern */
-                       (void) append_rule((yyvsp[(1) - (2)]), NULL);
+                       (void) append_rule((yyvsp[-1]), NULL);
          }
 -#line 1898 "awkgram.c" /* yacc.c:1646  */
++#line 1901 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 9:
- /* Line 1787 of yacc.c  */
- #line 244 "awkgram.y"
 -#line 241 "awkgram.y" /* yacc.c:1646  */
++#line 244 "awkgram.y" /* yacc.c:1646  */
      {
                in_function = NULL;
-               (void) mk_function((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (void) mk_function((yyvsp[-1]), (yyvsp[0]));
                yyerrok;
          }
 -#line 1908 "awkgram.c" /* yacc.c:1646  */
++#line 1911 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 10:
- /* Line 1787 of yacc.c  */
- #line 250 "awkgram.y"
 -#line 247 "awkgram.y" /* yacc.c:1646  */
++#line 250 "awkgram.y" /* yacc.c:1646  */
      {
                want_source = false;
                yyerrok;
          }
 -#line 1917 "awkgram.c" /* yacc.c:1646  */
++#line 1920 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 11:
- /* Line 1787 of yacc.c  */
- #line 255 "awkgram.y"
 -#line 252 "awkgram.y" /* yacc.c:1646  */
++#line 255 "awkgram.y" /* yacc.c:1646  */
      {
                want_source = false;
                yyerrok;
          }
 -#line 1926 "awkgram.c" /* yacc.c:1646  */
++#line 1929 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 12:
- /* Line 1787 of yacc.c  */
- #line 263 "awkgram.y"
 -#line 260 "awkgram.y" /* yacc.c:1646  */
++#line 263 "awkgram.y" /* yacc.c:1646  */
      {
-               if (include_source((yyvsp[(1) - (1)])) < 0)
+               if (include_source((yyvsp[0])) < 0)
                        YYABORT;
-               efree((yyvsp[(1) - (1)])->lextok);
-               bcfree((yyvsp[(1) - (1)]));
+               efree((yyvsp[0])->lextok);
+               bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
 -#line 1938 "awkgram.c" /* yacc.c:1646  */
++#line 1941 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 13:
- /* Line 1787 of yacc.c  */
- #line 271 "awkgram.y"
 -#line 268 "awkgram.y" /* yacc.c:1646  */
++#line 271 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1944 "awkgram.c" /* yacc.c:1646  */
++#line 1947 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 14:
- /* Line 1787 of yacc.c  */
- #line 273 "awkgram.y"
 -#line 270 "awkgram.y" /* yacc.c:1646  */
++#line 273 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1950 "awkgram.c" /* yacc.c:1646  */
++#line 1953 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 15:
- /* Line 1787 of yacc.c  */
- #line 278 "awkgram.y"
 -#line 275 "awkgram.y" /* yacc.c:1646  */
++#line 278 "awkgram.y" /* yacc.c:1646  */
      {
-               if (load_library((yyvsp[(1) - (1)])) < 0)
+               if (load_library((yyvsp[0])) < 0)
                        YYABORT;
-               efree((yyvsp[(1) - (1)])->lextok);
-               bcfree((yyvsp[(1) - (1)]));
+               efree((yyvsp[0])->lextok);
+               bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
 -#line 1962 "awkgram.c" /* yacc.c:1646  */
++#line 1965 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 16:
- /* Line 1787 of yacc.c  */
- #line 286 "awkgram.y"
 -#line 283 "awkgram.y" /* yacc.c:1646  */
++#line 286 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1968 "awkgram.c" /* yacc.c:1646  */
++#line 1971 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 17:
- /* Line 1787 of yacc.c  */
- #line 288 "awkgram.y"
 -#line 285 "awkgram.y" /* yacc.c:1646  */
++#line 288 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 1974 "awkgram.c" /* yacc.c:1646  */
++#line 1977 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 18:
- /* Line 1787 of yacc.c  */
- #line 293 "awkgram.y"
 -#line 290 "awkgram.y" /* yacc.c:1646  */
++#line 293 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; rule = Rule; }
 -#line 1980 "awkgram.c" /* yacc.c:1646  */
++#line 1983 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 19:
- /* Line 1787 of yacc.c  */
- #line 295 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); rule = Rule; }
 -#line 292 "awkgram.y" /* yacc.c:1646  */
++#line 295 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); rule = Rule; }
 -#line 1986 "awkgram.c" /* yacc.c:1646  */
++#line 1989 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 20:
- /* Line 1787 of yacc.c  */
- #line 297 "awkgram.y"
 -#line 294 "awkgram.y" /* yacc.c:1646  */
++#line 297 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *tp;
  
-               add_lint((yyvsp[(1) - (4)]), LINT_assign_in_cond);
-               add_lint((yyvsp[(4) - (4)]), LINT_assign_in_cond);
+               add_lint((yyvsp[-3]), LINT_assign_in_cond);
+               add_lint((yyvsp[0]), LINT_assign_in_cond);
  
                tp = instruction(Op_no_op);
-               list_prepend((yyvsp[(1) - (4)]), bcalloc(Op_line_range, 
!!do_pretty_print + 1, 0));
-               (yyvsp[(1) - (4)])->nexti->triggered = false;
-               (yyvsp[(1) - (4)])->nexti->target_jmp = (yyvsp[(4) - 
(4)])->nexti;
+               list_prepend((yyvsp[-3]), bcalloc(Op_line_range, 
!!do_pretty_print + 1, 0));
+               (yyvsp[-3])->nexti->triggered = false;
+               (yyvsp[-3])->nexti->target_jmp = (yyvsp[0])->nexti;
  
-               list_append((yyvsp[(1) - (4)]), instruction(Op_cond_pair));
-               (yyvsp[(1) - (4)])->lasti->line_range = (yyvsp[(1) - 
(4)])->nexti;
-               (yyvsp[(1) - (4)])->lasti->target_jmp = tp;
+               list_append((yyvsp[-3]), instruction(Op_cond_pair));
+               (yyvsp[-3])->lasti->line_range = (yyvsp[-3])->nexti;
+               (yyvsp[-3])->lasti->target_jmp = tp;
  
-               list_append((yyvsp[(4) - (4)]), instruction(Op_cond_pair));
-               (yyvsp[(4) - (4)])->lasti->line_range = (yyvsp[(1) - 
(4)])->nexti;
-               (yyvsp[(4) - (4)])->lasti->target_jmp = tp;
+               list_append((yyvsp[0]), instruction(Op_cond_pair));
+               (yyvsp[0])->lasti->line_range = (yyvsp[-3])->nexti;
+               (yyvsp[0])->lasti->target_jmp = tp;
                if (do_pretty_print) {
-                       ((yyvsp[(1) - (4)])->nexti + 1)->condpair_left = 
(yyvsp[(1) - (4)])->lasti;
-                       ((yyvsp[(1) - (4)])->nexti + 1)->condpair_right = 
(yyvsp[(4) - (4)])->lasti;
+                       ((yyvsp[-3])->nexti + 1)->condpair_left = 
(yyvsp[-3])->lasti;
+                       ((yyvsp[-3])->nexti + 1)->condpair_right = 
(yyvsp[0])->lasti;
                }
-               (yyval) = list_append(list_merge((yyvsp[(1) - (4)]), (yyvsp[(4) 
- (4)])), tp);
+               (yyval) = list_append(list_merge((yyvsp[-3]), (yyvsp[0])), tp);
                rule = Rule;
          }
 -#line 2016 "awkgram.c" /* yacc.c:1646  */
++#line 2019 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 21:
- /* Line 1787 of yacc.c  */
- #line 323 "awkgram.y"
 -#line 320 "awkgram.y" /* yacc.c:1646  */
++#line 323 "awkgram.y" /* yacc.c:1646  */
      {
                static int begin_seen = 0;
                if (do_lint_old && ++begin_seen == 2)
-                       warning_ln((yyvsp[(1) - (1)])->source_line,
+                       warning_ln((yyvsp[0])->source_line,
                                _("old awk does not support multiple `BEGIN' or 
`END' rules"));
  
-               (yyvsp[(1) - (1)])->in_rule = rule = BEGIN;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = BEGIN;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2031 "awkgram.c" /* yacc.c:1646  */
++#line 2034 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 22:
- /* Line 1787 of yacc.c  */
- #line 334 "awkgram.y"
 -#line 331 "awkgram.y" /* yacc.c:1646  */
++#line 334 "awkgram.y" /* yacc.c:1646  */
      {
                static int end_seen = 0;
                if (do_lint_old && ++end_seen == 2)
-                       warning_ln((yyvsp[(1) - (1)])->source_line,
+                       warning_ln((yyvsp[0])->source_line,
                                _("old awk does not support multiple `BEGIN' or 
`END' rules"));
  
-               (yyvsp[(1) - (1)])->in_rule = rule = END;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = END;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2046 "awkgram.c" /* yacc.c:1646  */
++#line 2049 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 23:
- /* Line 1787 of yacc.c  */
- #line 345 "awkgram.y"
 -#line 342 "awkgram.y" /* yacc.c:1646  */
++#line 345 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->in_rule = rule = BEGINFILE;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = BEGINFILE;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2056 "awkgram.c" /* yacc.c:1646  */
++#line 2059 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 24:
- /* Line 1787 of yacc.c  */
- #line 351 "awkgram.y"
 -#line 348 "awkgram.y" /* yacc.c:1646  */
++#line 351 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->in_rule = rule = ENDFILE;
-               (yyvsp[(1) - (1)])->source_file = source;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->in_rule = rule = ENDFILE;
+               (yyvsp[0])->source_file = source;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2066 "awkgram.c" /* yacc.c:1646  */
++#line 2069 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 25:
- /* Line 1787 of yacc.c  */
- #line 360 "awkgram.y"
 -#line 357 "awkgram.y" /* yacc.c:1646  */
++#line 360 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (5)]) == NULL)
+               if ((yyvsp[-3]) == NULL)
                        (yyval) = list_create(instruction(Op_no_op));
                else
-                       (yyval) = (yyvsp[(2) - (5)]);
+                       (yyval) = (yyvsp[-3]);
          }
 -#line 2077 "awkgram.c" /* yacc.c:1646  */
++#line 2080 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 26:
- /* Line 1787 of yacc.c  */
- #line 370 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 367 "awkgram.y" /* yacc.c:1646  */
++#line 370 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2083 "awkgram.c" /* yacc.c:1646  */
++#line 2086 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 27:
- /* Line 1787 of yacc.c  */
- #line 372 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 369 "awkgram.y" /* yacc.c:1646  */
++#line 372 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2089 "awkgram.c" /* yacc.c:1646  */
++#line 2092 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 28:
- /* Line 1787 of yacc.c  */
- #line 374 "awkgram.y"
 -#line 371 "awkgram.y" /* yacc.c:1646  */
++#line 374 "awkgram.y" /* yacc.c:1646  */
      {
                yyerror(_("`%s' is a built-in function, it cannot be 
redefined"),
                                        tokstart);
                YYABORT;
          }
 -#line 2099 "awkgram.c" /* yacc.c:1646  */
++#line 2102 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 29:
- /* Line 1787 of yacc.c  */
- #line 380 "awkgram.y"
-     { (yyval) = (yyvsp[(2) - (2)]); }
 -#line 377 "awkgram.y" /* yacc.c:1646  */
++#line 380 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2105 "awkgram.c" /* yacc.c:1646  */
++#line 2108 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 32:
- /* Line 1787 of yacc.c  */
- #line 390 "awkgram.y"
 -#line 387 "awkgram.y" /* yacc.c:1646  */
++#line 390 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (6)])->source_file = source;
-               if (install_function((yyvsp[(2) - (6)])->lextok, (yyvsp[(1) - 
(6)]), (yyvsp[(4) - (6)])) < 0)
+               (yyvsp[-5])->source_file = source;
+               if (install_function((yyvsp[-4])->lextok, (yyvsp[-5]), 
(yyvsp[-2])) < 0)
                        YYABORT;
-               in_function = (yyvsp[(2) - (6)])->lextok;
-               (yyvsp[(2) - (6)])->lextok = NULL;
-               bcfree((yyvsp[(2) - (6)]));
+               in_function = (yyvsp[-4])->lextok;
+               (yyvsp[-4])->lextok = NULL;
+               bcfree((yyvsp[-4]));
                /* $4 already free'd in install_function */
-               (yyval) = (yyvsp[(1) - (6)]);
+               (yyval) = (yyvsp[-5]);
          }
 -#line 2120 "awkgram.c" /* yacc.c:1646  */
++#line 2123 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 33:
- /* Line 1787 of yacc.c  */
- #line 408 "awkgram.y"
 -#line 405 "awkgram.y" /* yacc.c:1646  */
++#line 408 "awkgram.y" /* yacc.c:1646  */
      { want_regexp = true; }
 -#line 2126 "awkgram.c" /* yacc.c:1646  */
++#line 2129 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 34:
- /* Line 1787 of yacc.c  */
- #line 410 "awkgram.y"
 -#line 407 "awkgram.y" /* yacc.c:1646  */
++#line 410 "awkgram.y" /* yacc.c:1646  */
      {
                  NODE *n, *exp;
                  char *re;
@@@ -2363,69 -2155,69 +2158,69 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
 -#line 2159 "awkgram.c" /* yacc.c:1646  */
++#line 2162 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 35:
- /* Line 1787 of yacc.c  */
- #line 442 "awkgram.y"
-     { bcfree((yyvsp[(1) - (1)])); }
 -#line 439 "awkgram.y" /* yacc.c:1646  */
++#line 442 "awkgram.y" /* yacc.c:1646  */
+     { bcfree((yyvsp[0])); }
 -#line 2165 "awkgram.c" /* yacc.c:1646  */
++#line 2168 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 37:
- /* Line 1787 of yacc.c  */
- #line 448 "awkgram.y"
 -#line 445 "awkgram.y" /* yacc.c:1646  */
++#line 448 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2171 "awkgram.c" /* yacc.c:1646  */
++#line 2174 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 38:
- /* Line 1787 of yacc.c  */
- #line 450 "awkgram.y"
 -#line 447 "awkgram.y" /* yacc.c:1646  */
++#line 450 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (2)]) == NULL)
-                       (yyval) = (yyvsp[(1) - (2)]);
+               if ((yyvsp[0]) == NULL)
+                       (yyval) = (yyvsp[-1]);
                else {
-                       add_lint((yyvsp[(2) - (2)]), LINT_no_effect);
-                       if ((yyvsp[(1) - (2)]) == NULL)
-                               (yyval) = (yyvsp[(2) - (2)]);
+                       add_lint((yyvsp[0]), LINT_no_effect);
+                       if ((yyvsp[-1]) == NULL)
+                               (yyval) = (yyvsp[0]);
                        else
-                               (yyval) = list_merge((yyvsp[(1) - (2)]), 
(yyvsp[(2) - (2)]));
+                               (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
                }
            yyerrok;
          }
 -#line 2188 "awkgram.c" /* yacc.c:1646  */
++#line 2191 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 39:
- /* Line 1787 of yacc.c  */
- #line 463 "awkgram.y"
 -#line 460 "awkgram.y" /* yacc.c:1646  */
++#line 463 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2194 "awkgram.c" /* yacc.c:1646  */
++#line 2197 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 42:
- /* Line 1787 of yacc.c  */
- #line 473 "awkgram.y"
 -#line 470 "awkgram.y" /* yacc.c:1646  */
++#line 473 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2200 "awkgram.c" /* yacc.c:1646  */
++#line 2203 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 43:
- /* Line 1787 of yacc.c  */
- #line 475 "awkgram.y"
-     { (yyval) = (yyvsp[(2) - (3)]); }
 -#line 472 "awkgram.y" /* yacc.c:1646  */
++#line 475 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 2206 "awkgram.c" /* yacc.c:1646  */
++#line 2209 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 44:
- /* Line 1787 of yacc.c  */
- #line 477 "awkgram.y"
 -#line 474 "awkgram.y" /* yacc.c:1646  */
++#line 477 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
-                       (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_exec_count));
+                       (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
-                       (yyval) = (yyvsp[(1) - (1)]);
+                       (yyval) = (yyvsp[0]);
          }
 -#line 2217 "awkgram.c" /* yacc.c:1646  */
++#line 2220 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 45:
- /* Line 1787 of yacc.c  */
- #line 484 "awkgram.y"
 -#line 481 "awkgram.y" /* yacc.c:1646  */
++#line 484 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2515,11 -2307,11 +2310,11 @@@
                break_allowed--;                        
                fix_break_continue(ip, tbreak, NULL);
          }
 -#line 2311 "awkgram.c" /* yacc.c:1646  */
++#line 2314 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 46:
- /* Line 1787 of yacc.c  */
- #line 574 "awkgram.y"
 -#line 571 "awkgram.y" /* yacc.c:1646  */
++#line 574 "awkgram.y" /* yacc.c:1646  */
      { 
                /*
                 *    -----------------
@@@ -2561,11 -2353,11 +2356,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
 -#line 2357 "awkgram.c" /* yacc.c:1646  */
++#line 2360 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 47:
- /* Line 1787 of yacc.c  */
- #line 616 "awkgram.y"
 -#line 613 "awkgram.y" /* yacc.c:1646  */
++#line 616 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2607,21 -2399,21 +2402,21 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
 -#line 2403 "awkgram.c" /* yacc.c:1646  */
++#line 2406 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 48:
- /* Line 1787 of yacc.c  */
- #line 658 "awkgram.y"
 -#line 655 "awkgram.y" /* yacc.c:1646  */
++#line 658 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
-               char *var_name = (yyvsp[(3) - (8)])->lextok;
- 
-               if ((yyvsp[(8) - (8)]) != NULL
-                               && (yyvsp[(8) - (8)])->lasti->opcode == 
Op_K_delete
-                               && (yyvsp[(8) - (8)])->lasti->expr_count == 1
-                               && (yyvsp[(8) - (8)])->nexti->opcode == Op_push
-                               && ((yyvsp[(8) - (8)])->nexti->memory->type != 
Node_var || !((yyvsp[(8) - (8)])->nexti->memory->var_update))
-                               && strcmp((yyvsp[(8) - 
(8)])->nexti->memory->vname, var_name) == 0
+               char *var_name = (yyvsp[-5])->lextok;
+ 
+               if ((yyvsp[0]) != NULL
+                               && (yyvsp[0])->lasti->opcode == Op_K_delete
+                               && (yyvsp[0])->lasti->expr_count == 1
+                               && (yyvsp[0])->nexti->opcode == Op_push
+                               && ((yyvsp[0])->nexti->memory->type != Node_var 
|| !((yyvsp[0])->nexti->memory->var_update))
+                               && strcmp((yyvsp[0])->nexti->memory->vname, 
var_name) == 0
                ) {
                
                /* Efficiency hack.  Recognize the special case of
@@@ -2724,98 -2516,98 +2519,98 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
 -#line 2520 "awkgram.c" /* yacc.c:1646  */
++#line 2523 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 49:
- /* Line 1787 of yacc.c  */
- #line 771 "awkgram.y"
 -#line 768 "awkgram.y" /* yacc.c:1646  */
++#line 771 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_for_loop((yyvsp[(1) - (12)]), (yyvsp[(3) - (12)]), 
(yyvsp[(6) - (12)]), (yyvsp[(9) - (12)]), (yyvsp[(12) - (12)]));
+               (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), 
(yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
 -#line 2531 "awkgram.c" /* yacc.c:1646  */
++#line 2534 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 50:
- /* Line 1787 of yacc.c  */
- #line 778 "awkgram.y"
 -#line 775 "awkgram.y" /* yacc.c:1646  */
++#line 778 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_for_loop((yyvsp[(1) - (11)]), (yyvsp[(3) - (11)]), 
(INSTRUCTION *) NULL, (yyvsp[(8) - (11)]), (yyvsp[(11) - (11)]));
+               (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION 
*) NULL, (yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
 -#line 2542 "awkgram.c" /* yacc.c:1646  */
++#line 2545 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 51:
- /* Line 1787 of yacc.c  */
- #line 785 "awkgram.y"
 -#line 782 "awkgram.y" /* yacc.c:1646  */
++#line 785 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
-                       (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_exec_count));
+                       (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
-                       (yyval) = (yyvsp[(1) - (1)]);
+                       (yyval) = (yyvsp[0]);
          }
 -#line 2553 "awkgram.c" /* yacc.c:1646  */
++#line 2556 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 52:
- /* Line 1787 of yacc.c  */
- #line 795 "awkgram.y"
 -#line 792 "awkgram.y" /* yacc.c:1646  */
++#line 795 "awkgram.y" /* yacc.c:1646  */
      { 
                if (! break_allowed)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`break' is not allowed outside a loop or 
switch"));
-               (yyvsp[(1) - (2)])->target_jmp = NULL;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_jmp = NULL;
+               (yyval) = list_create((yyvsp[-1]));
  
          }
 -#line 2566 "awkgram.c" /* yacc.c:1646  */
++#line 2569 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 53:
- /* Line 1787 of yacc.c  */
- #line 804 "awkgram.y"
 -#line 801 "awkgram.y" /* yacc.c:1646  */
++#line 804 "awkgram.y" /* yacc.c:1646  */
      {
                if (! continue_allowed)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`continue' is not allowed outside a loop"));
-               (yyvsp[(1) - (2)])->target_jmp = NULL;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_jmp = NULL;
+               (yyval) = list_create((yyvsp[-1]));
  
          }
 -#line 2579 "awkgram.c" /* yacc.c:1646  */
++#line 2582 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 54:
- /* Line 1787 of yacc.c  */
- #line 813 "awkgram.y"
 -#line 810 "awkgram.y" /* yacc.c:1646  */
++#line 813 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`next' used in %s action"), ruletab[rule]);
-               (yyvsp[(1) - (2)])->target_jmp = ip_rec;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_jmp = ip_rec;
+               (yyval) = list_create((yyvsp[-1]));
          }
 -#line 2592 "awkgram.c" /* yacc.c:1646  */
++#line 2595 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 55:
- /* Line 1787 of yacc.c  */
- #line 822 "awkgram.y"
 -#line 819 "awkgram.y" /* yacc.c:1646  */
++#line 822 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
-                       error_ln((yyvsp[(1) - (2)])->source_line,
+                       error_ln((yyvsp[-1])->source_line,
                                _("`nextfile' used in %s action"), 
ruletab[rule]);
  
-               (yyvsp[(1) - (2)])->target_newfile = ip_newfile;
-               (yyvsp[(1) - (2)])->target_endfile = ip_endfile;
-               (yyval) = list_create((yyvsp[(1) - (2)]));
+               (yyvsp[-1])->target_newfile = ip_newfile;
+               (yyvsp[-1])->target_endfile = ip_endfile;
+               (yyval) = list_create((yyvsp[-1]));
          }
 -#line 2607 "awkgram.c" /* yacc.c:1646  */
++#line 2610 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 56:
- /* Line 1787 of yacc.c  */
- #line 833 "awkgram.y"
 -#line 830 "awkgram.y" /* yacc.c:1646  */
++#line 833 "awkgram.y" /* yacc.c:1646  */
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time. 
@@@ -2828,25 -2620,25 +2623,25 @@@
                        (void) list_prepend((yyval), instruction(Op_push_i));
                        (yyval)->nexti->memory = dupnode(Nnull_string);
                } else
-                       (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - 
(3)]));
+                       (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
          }
 -#line 2626 "awkgram.c" /* yacc.c:1646  */
++#line 2629 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 57:
- /* Line 1787 of yacc.c  */
- #line 848 "awkgram.y"
 -#line 845 "awkgram.y" /* yacc.c:1646  */
++#line 848 "awkgram.y" /* yacc.c:1646  */
      {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
 -#line 2635 "awkgram.c" /* yacc.c:1646  */
++#line 2638 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 58:
- /* Line 1787 of yacc.c  */
- #line 851 "awkgram.y"
 -#line 848 "awkgram.y" /* yacc.c:1646  */
++#line 851 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(3) - (4)]) == NULL) {
-                       (yyval) = list_create((yyvsp[(1) - (4)]));
+               if ((yyvsp[-1]) == NULL) {
+                       (yyval) = list_create((yyvsp[-3]));
                        (void) list_prepend((yyval), instruction(Op_push_i));
                        (yyval)->nexti->memory = dupnode(Nnull_string);
                } else {
@@@ -2858,23 -2650,23 +2653,23 @@@
                                 * call without a return value is recognized
                                 * in mk_function().
                                 */
-                               ((yyvsp[(3) - (4)])->lasti + 1)->tail_call = 
true;
+                               ((yyvsp[-1])->lasti + 1)->tail_call = true;
                        }
  
-                       (yyval) = list_append((yyvsp[(3) - (4)]), (yyvsp[(1) - 
(4)]));
+                       (yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
                }
          }
 -#line 2660 "awkgram.c" /* yacc.c:1646  */
++#line 2663 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 60:
- /* Line 1787 of yacc.c  */
- #line 883 "awkgram.y"
 -#line 880 "awkgram.y" /* yacc.c:1646  */
++#line 883 "awkgram.y" /* yacc.c:1646  */
      { in_print = true; in_parens = 0; }
 -#line 2666 "awkgram.c" /* yacc.c:1646  */
++#line 2669 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 61:
- /* Line 1787 of yacc.c  */
- #line 884 "awkgram.y"
 -#line 881 "awkgram.y" /* yacc.c:1646  */
++#line 884 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2971,27 -2763,27 +2766,27 @@@ regular_print
                        }
                }
          }
 -#line 2767 "awkgram.c" /* yacc.c:1646  */
++#line 2770 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 62:
- /* Line 1787 of yacc.c  */
- #line 981 "awkgram.y"
 -#line 978 "awkgram.y" /* yacc.c:1646  */
++#line 981 "awkgram.y" /* yacc.c:1646  */
      { sub_counter = 0; }
 -#line 2773 "awkgram.c" /* yacc.c:1646  */
++#line 2776 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 63:
- /* Line 1787 of yacc.c  */
- #line 982 "awkgram.y"
 -#line 979 "awkgram.y" /* yacc.c:1646  */
++#line 982 "awkgram.y" /* yacc.c:1646  */
      {
-               char *arr = (yyvsp[(2) - (4)])->lextok;
+               char *arr = (yyvsp[-2])->lextok;
  
-               (yyvsp[(2) - (4)])->opcode = Op_push_array;
-               (yyvsp[(2) - (4)])->memory = variable((yyvsp[(2) - 
(4)])->source_line, arr, Node_var_new);
+               (yyvsp[-2])->opcode = Op_push_array;
+               (yyvsp[-2])->memory = variable((yyvsp[-2])->source_line, arr, 
Node_var_new);
  
                if (! do_posix && ! do_traditional) {
-                       if ((yyvsp[(2) - (4)])->memory == symbol_table)
+                       if ((yyvsp[-2])->memory == symbol_table)
                                fatal(_("`delete' is not allowed with SYMTAB"));
-                       else if ((yyvsp[(2) - (4)])->memory == func_table)
+                       else if ((yyvsp[-2])->memory == func_table)
                                fatal(_("`delete' is not allowed with 
FUNCTAB"));
                }
  
@@@ -3007,21 -2799,21 +2802,21 @@@
                         * Also, since BWK awk supports it, we don't have to
                         * check do_traditional either.
                         */
-                       (yyvsp[(1) - (4)])->expr_count = 0;
-                       (yyval) = list_append(list_create((yyvsp[(2) - (4)])), 
(yyvsp[(1) - (4)]));
+                       (yyvsp[-3])->expr_count = 0;
+                       (yyval) = list_append(list_create((yyvsp[-2])), 
(yyvsp[-3]));
                } else {
-                       (yyvsp[(1) - (4)])->expr_count = sub_counter;
-                       (yyval) = list_append(list_append((yyvsp[(4) - (4)]), 
(yyvsp[(2) - (4)])), (yyvsp[(1) - (4)]));
+                       (yyvsp[-3])->expr_count = sub_counter;
+                       (yyval) = list_append(list_append((yyvsp[0]), 
(yyvsp[-2])), (yyvsp[-3]));
                }
          }
 -#line 2810 "awkgram.c" /* yacc.c:1646  */
++#line 2813 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 64:
- /* Line 1787 of yacc.c  */
- #line 1019 "awkgram.y"
 -#line 1016 "awkgram.y" /* yacc.c:1646  */
++#line 1019 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
-               char *arr = (yyvsp[(3) - (4)])->lextok;
+               char *arr = (yyvsp[-1])->lextok;
  
                if (do_lint && ! warned) {
                        warned = true;
@@@ -3044,465 -2836,465 +2839,465 @@@
                                fatal(_("`delete' is not allowed with 
FUNCTAB"));
                }
          }
 -#line 2840 "awkgram.c" /* yacc.c:1646  */
++#line 2843 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 65:
- /* Line 1787 of yacc.c  */
- #line 1045 "awkgram.y"
-     { (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
 -#line 1042 "awkgram.y" /* yacc.c:1646  */
++#line 1045 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = optimize_assignment((yyvsp[0])); }
 -#line 2846 "awkgram.c" /* yacc.c:1646  */
++#line 2849 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 66:
- /* Line 1787 of yacc.c  */
- #line 1050 "awkgram.y"
 -#line 1047 "awkgram.y" /* yacc.c:1646  */
++#line 1050 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2852 "awkgram.c" /* yacc.c:1646  */
++#line 2855 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 67:
- /* Line 1787 of yacc.c  */
- #line 1052 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1049 "awkgram.y" /* yacc.c:1646  */
++#line 1052 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2858 "awkgram.c" /* yacc.c:1646  */
++#line 2861 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 68:
- /* Line 1787 of yacc.c  */
- #line 1057 "awkgram.y"
 -#line 1054 "awkgram.y" /* yacc.c:1646  */
++#line 1057 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2864 "awkgram.c" /* yacc.c:1646  */
++#line 2867 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 69:
- /* Line 1787 of yacc.c  */
- #line 1059 "awkgram.y"
 -#line 1056 "awkgram.y" /* yacc.c:1646  */
++#line 1059 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(1) - (2)]) == NULL)
-                       (yyval) = list_create((yyvsp[(2) - (2)]));
+               if ((yyvsp[-1]) == NULL)
+                       (yyval) = list_create((yyvsp[0]));
                else
-                       (yyval) = list_prepend((yyvsp[(1) - (2)]), (yyvsp[(2) - 
(2)]));
+                       (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 2875 "awkgram.c" /* yacc.c:1646  */
++#line 2878 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 70:
- /* Line 1787 of yacc.c  */
- #line 1066 "awkgram.y"
 -#line 1063 "awkgram.y" /* yacc.c:1646  */
++#line 1066 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 2881 "awkgram.c" /* yacc.c:1646  */
++#line 2884 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 71:
- /* Line 1787 of yacc.c  */
- #line 1071 "awkgram.y"
 -#line 1068 "awkgram.y" /* yacc.c:1646  */
++#line 1071 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
-               if ((yyvsp[(5) - (5)]) == NULL)
+               INSTRUCTION *casestmt = (yyvsp[0]);
+               if ((yyvsp[0]) == NULL)
                        casestmt = list_create(instruction(Op_no_op));  
                if (do_pretty_print)
                        (void) list_prepend(casestmt, 
instruction(Op_exec_count));
-               (yyvsp[(1) - (5)])->case_exp = (yyvsp[(2) - (5)]);
-               (yyvsp[(1) - (5)])->case_stmt = casestmt;
-               bcfree((yyvsp[(3) - (5)]));
-               (yyval) = (yyvsp[(1) - (5)]);
+               (yyvsp[-4])->case_exp = (yyvsp[-3]);
+               (yyvsp[-4])->case_stmt = casestmt;
+               bcfree((yyvsp[-2]));
+               (yyval) = (yyvsp[-4]);
          }
 -#line 2897 "awkgram.c" /* yacc.c:1646  */
++#line 2900 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 72:
- /* Line 1787 of yacc.c  */
- #line 1083 "awkgram.y"
 -#line 1080 "awkgram.y" /* yacc.c:1646  */
++#line 1083 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
-               if ((yyvsp[(4) - (4)]) == NULL)
+               INSTRUCTION *casestmt = (yyvsp[0]);
+               if ((yyvsp[0]) == NULL)
                        casestmt = list_create(instruction(Op_no_op));
                if (do_pretty_print)
                        (void) list_prepend(casestmt, 
instruction(Op_exec_count));
-               bcfree((yyvsp[(2) - (4)]));
-               (yyvsp[(1) - (4)])->case_stmt = casestmt;
-               (yyval) = (yyvsp[(1) - (4)]);
+               bcfree((yyvsp[-2]));
+               (yyvsp[-3])->case_stmt = casestmt;
+               (yyval) = (yyvsp[-3]);
          }
 -#line 2912 "awkgram.c" /* yacc.c:1646  */
++#line 2915 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 73:
- /* Line 1787 of yacc.c  */
- #line 1097 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1094 "awkgram.y" /* yacc.c:1646  */
++#line 1097 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2918 "awkgram.c" /* yacc.c:1646  */
++#line 2921 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 74:
- /* Line 1787 of yacc.c  */
- #line 1099 "awkgram.y"
 -#line 1096 "awkgram.y" /* yacc.c:1646  */
++#line 1099 "awkgram.y" /* yacc.c:1646  */
      { 
-               NODE *n = (yyvsp[(2) - (2)])->memory;
+               NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
                numbr_hndlr->gawk_negate_number(n);
-               bcfree((yyvsp[(1) - (2)]));
-               (yyval) = (yyvsp[(2) - (2)]);
+               bcfree((yyvsp[-1]));
+               (yyval) = (yyvsp[0]);
          }
 -#line 2930 "awkgram.c" /* yacc.c:1646  */
++#line 2933 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 75:
- /* Line 1787 of yacc.c  */
- #line 1107 "awkgram.y"
 -#line 1104 "awkgram.y" /* yacc.c:1646  */
++#line 1107 "awkgram.y" /* yacc.c:1646  */
      {
-               bcfree((yyvsp[(1) - (2)]));
-               (yyval) = (yyvsp[(2) - (2)]);
+               bcfree((yyvsp[-1]));
+               (yyval) = (yyvsp[0]);
          }
 -#line 2939 "awkgram.c" /* yacc.c:1646  */
++#line 2942 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 76:
- /* Line 1787 of yacc.c  */
- #line 1112 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1109 "awkgram.y" /* yacc.c:1646  */
++#line 1112 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2945 "awkgram.c" /* yacc.c:1646  */
++#line 2948 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 77:
- /* Line 1787 of yacc.c  */
- #line 1114 "awkgram.y"
 -#line 1111 "awkgram.y" /* yacc.c:1646  */
++#line 1114 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->opcode = Op_push_re;
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyvsp[0])->opcode = Op_push_re;
+               (yyval) = (yyvsp[0]);
          }
 -#line 2954 "awkgram.c" /* yacc.c:1646  */
++#line 2957 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 78:
- /* Line 1787 of yacc.c  */
- #line 1122 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1119 "awkgram.y" /* yacc.c:1646  */
++#line 1122 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2960 "awkgram.c" /* yacc.c:1646  */
++#line 2963 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 79:
- /* Line 1787 of yacc.c  */
- #line 1124 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1121 "awkgram.y" /* yacc.c:1646  */
++#line 1124 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 2966 "awkgram.c" /* yacc.c:1646  */
++#line 2969 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 81:
- /* Line 1787 of yacc.c  */
- #line 1134 "awkgram.y"
 -#line 1131 "awkgram.y" /* yacc.c:1646  */
++#line 1134 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = (yyvsp[(2) - (3)]);
+               (yyval) = (yyvsp[-1]);
          }
 -#line 2974 "awkgram.c" /* yacc.c:1646  */
++#line 2977 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 82:
- /* Line 1787 of yacc.c  */
- #line 1141 "awkgram.y"
 -#line 1138 "awkgram.y" /* yacc.c:1646  */
++#line 1141 "awkgram.y" /* yacc.c:1646  */
      {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
 -#line 2984 "awkgram.c" /* yacc.c:1646  */
++#line 2987 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 83:
- /* Line 1787 of yacc.c  */
- #line 1146 "awkgram.y"
 -#line 1143 "awkgram.y" /* yacc.c:1646  */
++#line 1146 "awkgram.y" /* yacc.c:1646  */
      { in_print = false; in_parens = 0; }
 -#line 2990 "awkgram.c" /* yacc.c:1646  */
++#line 2993 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 84:
- /* Line 1787 of yacc.c  */
- #line 1147 "awkgram.y"
 -#line 1144 "awkgram.y" /* yacc.c:1646  */
++#line 1147 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
-                       && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_K_getline_redir
-                               && (yyvsp[(3) - (3)])->lasti->redir_type == 
redirect_twoway)
+               if ((yyvsp[-2])->redir_type == redirect_twoway
+                       && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
+                               && (yyvsp[0])->lasti->redir_type == 
redirect_twoway)
                        yyerror(_("multistage two-way pipelines don't work"));
-               (yyval) = list_prepend((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
+               (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
 -#line 3002 "awkgram.c" /* yacc.c:1646  */
++#line 3005 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 85:
- /* Line 1787 of yacc.c  */
- #line 1158 "awkgram.y"
 -#line 1155 "awkgram.y" /* yacc.c:1646  */
++#line 1158 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), 
(yyvsp[(6) - (6)]), NULL, NULL);
+               (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
 -#line 3010 "awkgram.c" /* yacc.c:1646  */
++#line 3013 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 86:
- /* Line 1787 of yacc.c  */
- #line 1163 "awkgram.y"
 -#line 1160 "awkgram.y" /* yacc.c:1646  */
++#line 1163 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), 
(yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
+               (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
 -#line 3018 "awkgram.c" /* yacc.c:1646  */
++#line 3021 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 91:
- /* Line 1787 of yacc.c  */
- #line 1180 "awkgram.y"
 -#line 1177 "awkgram.y" /* yacc.c:1646  */
++#line 1180 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3024 "awkgram.c" /* yacc.c:1646  */
++#line 3027 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 92:
- /* Line 1787 of yacc.c  */
- #line 1182 "awkgram.y"
 -#line 1179 "awkgram.y" /* yacc.c:1646  */
++#line 1182 "awkgram.y" /* yacc.c:1646  */
      {
-               bcfree((yyvsp[(1) - (2)]));
-               (yyval) = (yyvsp[(2) - (2)]);
+               bcfree((yyvsp[-1]));
+               (yyval) = (yyvsp[0]);
          }
 -#line 3033 "awkgram.c" /* yacc.c:1646  */
++#line 3036 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 93:
- /* Line 1787 of yacc.c  */
- #line 1190 "awkgram.y"
 -#line 1187 "awkgram.y" /* yacc.c:1646  */
++#line 1190 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3039 "awkgram.c" /* yacc.c:1646  */
++#line 3042 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 94:
- /* Line 1787 of yacc.c  */
- #line 1192 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]) ; }
 -#line 1189 "awkgram.y" /* yacc.c:1646  */
++#line 1192 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]) ; }
 -#line 3045 "awkgram.c" /* yacc.c:1646  */
++#line 3048 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 95:
- /* Line 1787 of yacc.c  */
- #line 1197 "awkgram.y"
 -#line 1194 "awkgram.y" /* yacc.c:1646  */
++#line 1197 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->param_count = 0;
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyvsp[0])->param_count = 0;
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3054 "awkgram.c" /* yacc.c:1646  */
++#line 3057 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 96:
- /* Line 1787 of yacc.c  */
- #line 1202 "awkgram.y"
 -#line 1199 "awkgram.y" /* yacc.c:1646  */
++#line 1202 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(3) - (3)])->param_count =  (yyvsp[(1) - 
(3)])->lasti->param_count + 1;
-               (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
+               (yyvsp[0])->param_count =  (yyvsp[-2])->lasti->param_count + 1;
+               (yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
 -#line 3064 "awkgram.c" /* yacc.c:1646  */
++#line 3067 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 97:
- /* Line 1787 of yacc.c  */
- #line 1208 "awkgram.y"
 -#line 1205 "awkgram.y" /* yacc.c:1646  */
++#line 1208 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3070 "awkgram.c" /* yacc.c:1646  */
++#line 3073 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 98:
- /* Line 1787 of yacc.c  */
- #line 1210 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (2)]); }
 -#line 1207 "awkgram.y" /* yacc.c:1646  */
++#line 1210 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3076 "awkgram.c" /* yacc.c:1646  */
++#line 3079 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 99:
- /* Line 1787 of yacc.c  */
- #line 1212 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (3)]); }
 -#line 1209 "awkgram.y" /* yacc.c:1646  */
++#line 1212 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-2]); }
 -#line 3082 "awkgram.c" /* yacc.c:1646  */
++#line 3085 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 100:
- /* Line 1787 of yacc.c  */
- #line 1218 "awkgram.y"
 -#line 1215 "awkgram.y" /* yacc.c:1646  */
++#line 1218 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3088 "awkgram.c" /* yacc.c:1646  */
++#line 3091 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 101:
- /* Line 1787 of yacc.c  */
- #line 1220 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1217 "awkgram.y" /* yacc.c:1646  */
++#line 1220 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3094 "awkgram.c" /* yacc.c:1646  */
++#line 3097 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 102:
- /* Line 1787 of yacc.c  */
- #line 1225 "awkgram.y"
 -#line 1222 "awkgram.y" /* yacc.c:1646  */
++#line 1225 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3100 "awkgram.c" /* yacc.c:1646  */
++#line 3103 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 103:
- /* Line 1787 of yacc.c  */
- #line 1227 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1224 "awkgram.y" /* yacc.c:1646  */
++#line 1227 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3106 "awkgram.c" /* yacc.c:1646  */
++#line 3109 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 104:
- /* Line 1787 of yacc.c  */
- #line 1232 "awkgram.y"
-     { (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
 -#line 1229 "awkgram.y" /* yacc.c:1646  */
++#line 1232 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
 -#line 3112 "awkgram.c" /* yacc.c:1646  */
++#line 3115 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 105:
- /* Line 1787 of yacc.c  */
- #line 1234 "awkgram.y"
 -#line 1231 "awkgram.y" /* yacc.c:1646  */
++#line 1234 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)]));
+               (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
 -#line 3121 "awkgram.c" /* yacc.c:1646  */
++#line 3124 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 106:
- /* Line 1787 of yacc.c  */
- #line 1239 "awkgram.y"
 -#line 1236 "awkgram.y" /* yacc.c:1646  */
++#line 1239 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3127 "awkgram.c" /* yacc.c:1646  */
++#line 3130 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 107:
- /* Line 1787 of yacc.c  */
- #line 1241 "awkgram.y"
 -#line 1238 "awkgram.y" /* yacc.c:1646  */
++#line 1241 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
                 * snode get a list of arguments that it can count.
                 */
-               (yyval) = (yyvsp[(1) - (2)]);
+               (yyval) = (yyvsp[-1]);
          }
 -#line 3139 "awkgram.c" /* yacc.c:1646  */
++#line 3142 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 108:
- /* Line 1787 of yacc.c  */
- #line 1249 "awkgram.y"
 -#line 1246 "awkgram.y" /* yacc.c:1646  */
++#line 1249 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
-               (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)]));
+               (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
 -#line 3148 "awkgram.c" /* yacc.c:1646  */
++#line 3151 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 109:
- /* Line 1787 of yacc.c  */
- #line 1254 "awkgram.y"
 -#line 1251 "awkgram.y" /* yacc.c:1646  */
++#line 1254 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
-               (yyval) = (yyvsp[(1) - (3)]);
+               (yyval) = (yyvsp[-2]);
          }
 -#line 3157 "awkgram.c" /* yacc.c:1646  */
++#line 3160 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 110:
- /* Line 1787 of yacc.c  */
- #line 1263 "awkgram.y"
 -#line 1260 "awkgram.y" /* yacc.c:1646  */
++#line 1263 "awkgram.y" /* yacc.c:1646  */
      {
-               if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
-                       lintwarn_ln((yyvsp[(2) - (3)])->source_line,
+               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[(1) - (3)]), (yyvsp[(3) - (3)]), 
(yyvsp[(2) - (3)]));
+               (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
 -#line 3168 "awkgram.c" /* yacc.c:1646  */
++#line 3171 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 111:
- /* Line 1787 of yacc.c  */
- #line 1270 "awkgram.y"
-     { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 -#line 1267 "awkgram.y" /* yacc.c:1646  */
++#line 1270 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3174 "awkgram.c" /* yacc.c:1646  */
++#line 3177 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 112:
- /* Line 1787 of yacc.c  */
- #line 1272 "awkgram.y"
-     { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) 
- (3)])); }
 -#line 1269 "awkgram.y" /* yacc.c:1646  */
++#line 1272 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
 -#line 3180 "awkgram.c" /* yacc.c:1646  */
++#line 3183 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 113:
- /* Line 1787 of yacc.c  */
- #line 1274 "awkgram.y"
 -#line 1271 "awkgram.y" /* yacc.c:1646  */
++#line 1274 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
-                       warning_ln((yyvsp[(2) - (3)])->source_line,
+               if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
+                       warning_ln((yyvsp[-1])->source_line,
                                _("regular expression on left of `~' or `!~' 
operator"));
  
-               if ((yyvsp[(3) - (3)])->lasti == (yyvsp[(3) - (3)])->nexti && 
(yyvsp[(3) - (3)])->nexti->opcode == Op_match_rec) {
-                       (yyvsp[(2) - (3)])->memory = (yyvsp[(3) - 
(3)])->nexti->memory;
-                       bcfree((yyvsp[(3) - (3)])->nexti);      /* Op_match_rec 
*/
-                       bcfree((yyvsp[(3) - (3)]));                     /* 
Op_list */
-                       (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(2) - 
(3)]));
+               if ((yyvsp[0])->lasti == (yyvsp[0])->nexti && 
(yyvsp[0])->nexti->opcode == Op_match_rec) {
+                       (yyvsp[-1])->memory = (yyvsp[0])->nexti->memory;
+                       bcfree((yyvsp[0])->nexti);      /* Op_match_rec */
+                       bcfree((yyvsp[0]));                     /* Op_list */
+                       (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
                } else {
-                       (yyvsp[(2) - (3)])->memory = 
make_regnode(Node_dynregex, NULL);
-                       (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), 
(yyvsp[(3) - (3)])), (yyvsp[(2) - (3)]));
+                       (yyvsp[-1])->memory = make_regnode(Node_dynregex, NULL);
+                       (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
 -#line 3200 "awkgram.c" /* yacc.c:1646  */
++#line 3203 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 114:
- /* Line 1787 of yacc.c  */
- #line 1290 "awkgram.y"
 -#line 1287 "awkgram.y" /* yacc.c:1646  */
++#line 1290 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old)
-                       warning_ln((yyvsp[(2) - (3)])->source_line,
+                       warning_ln((yyvsp[-1])->source_line,
                                _("old awk does not support the keyword `in' 
except after `for'"));
-               (yyvsp[(3) - (3)])->nexti->opcode = Op_push_array;
-               (yyvsp[(2) - (3)])->opcode = Op_in_array;
-               (yyvsp[(2) - (3)])->expr_count = 1;
-               (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) 
- (3)])), (yyvsp[(2) - (3)]));
+               (yyvsp[0])->nexti->opcode = Op_push_array;
+               (yyvsp[-1])->opcode = Op_in_array;
+               (yyvsp[-1])->expr_count = 1;
+               (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
 -#line 3214 "awkgram.c" /* yacc.c:1646  */
++#line 3217 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 115:
- /* Line 1787 of yacc.c  */
- #line 1300 "awkgram.y"
 -#line 1297 "awkgram.y" /* yacc.c:1646  */
++#line 1300 "awkgram.y" /* yacc.c:1646  */
      {
-               if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == 
Op_match_rec)
-                       lintwarn_ln((yyvsp[(2) - (3)])->source_line,
+               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[(1) - (3)]), (yyvsp[(3) 
- (3)])), (yyvsp[(2) - (3)]));
+               (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
 -#line 3225 "awkgram.c" /* yacc.c:1646  */
++#line 3228 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 116:
- /* Line 1787 of yacc.c  */
- #line 1307 "awkgram.y"
-     { (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), 
(yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
 -#line 1304 "awkgram.y" /* yacc.c:1646  */
++#line 1307 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
 -#line 3231 "awkgram.c" /* yacc.c:1646  */
++#line 3234 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 117:
- /* Line 1787 of yacc.c  */
- #line 1309 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1306 "awkgram.y" /* yacc.c:1646  */
++#line 1309 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3237 "awkgram.c" /* yacc.c:1646  */
++#line 3240 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 118:
- /* Line 1787 of yacc.c  */
- #line 1314 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1311 "awkgram.y" /* yacc.c:1646  */
++#line 1314 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3243 "awkgram.c" /* yacc.c:1646  */
++#line 3246 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 119:
- /* Line 1787 of yacc.c  */
- #line 1316 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1313 "awkgram.y" /* yacc.c:1646  */
++#line 1316 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3249 "awkgram.c" /* yacc.c:1646  */
++#line 3252 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 120:
- /* Line 1787 of yacc.c  */
- #line 1318 "awkgram.y"
 -#line 1315 "awkgram.y" /* yacc.c:1646  */
++#line 1318 "awkgram.y" /* yacc.c:1646  */
      { 
-               (yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
-               (yyval) = (yyvsp[(2) - (2)]);
+               (yyvsp[0])->opcode = Op_assign_quotient;
+               (yyval) = (yyvsp[0]);
          }
 -#line 3258 "awkgram.c" /* yacc.c:1646  */
++#line 3261 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 121:
- /* Line 1787 of yacc.c  */
- #line 1326 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1323 "awkgram.y" /* yacc.c:1646  */
++#line 1326 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3264 "awkgram.c" /* yacc.c:1646  */
++#line 3267 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 122:
- /* Line 1787 of yacc.c  */
- #line 1328 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1325 "awkgram.y" /* yacc.c:1646  */
++#line 1328 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3270 "awkgram.c" /* yacc.c:1646  */
++#line 3273 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 123:
- /* Line 1787 of yacc.c  */
- #line 1333 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1330 "awkgram.y" /* yacc.c:1646  */
++#line 1333 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3276 "awkgram.c" /* yacc.c:1646  */
++#line 3279 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 124:
- /* Line 1787 of yacc.c  */
- #line 1335 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1332 "awkgram.y" /* yacc.c:1646  */
++#line 1335 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3282 "awkgram.c" /* yacc.c:1646  */
++#line 3285 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 125:
- /* Line 1787 of yacc.c  */
- #line 1340 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1337 "awkgram.y" /* yacc.c:1646  */
++#line 1340 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3288 "awkgram.c" /* yacc.c:1646  */
++#line 3291 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 126:
- /* Line 1787 of yacc.c  */
- #line 1342 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1339 "awkgram.y" /* yacc.c:1646  */
++#line 1342 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3294 "awkgram.c" /* yacc.c:1646  */
++#line 3297 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 127:
- /* Line 1787 of yacc.c  */
- #line 1344 "awkgram.y"
 -#line 1341 "awkgram.y" /* yacc.c:1646  */
++#line 1344 "awkgram.y" /* yacc.c:1646  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3549,47 -3341,47 +3344,47 @@@
                                max_args = count;
                }
          }
 -#line 3345 "awkgram.c" /* yacc.c:1646  */
++#line 3348 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 129:
- /* Line 1787 of yacc.c  */
- #line 1396 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1393 "awkgram.y" /* yacc.c:1646  */
++#line 1396 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3351 "awkgram.c" /* yacc.c:1646  */
++#line 3354 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 130:
- /* Line 1787 of yacc.c  */
- #line 1398 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1395 "awkgram.y" /* yacc.c:1646  */
++#line 1398 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3357 "awkgram.c" /* yacc.c:1646  */
++#line 3360 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 131:
- /* Line 1787 of yacc.c  */
- #line 1400 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1397 "awkgram.y" /* yacc.c:1646  */
++#line 1400 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3363 "awkgram.c" /* yacc.c:1646  */
++#line 3366 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 132:
- /* Line 1787 of yacc.c  */
- #line 1402 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1399 "awkgram.y" /* yacc.c:1646  */
++#line 1402 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3369 "awkgram.c" /* yacc.c:1646  */
++#line 3372 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 133:
- /* Line 1787 of yacc.c  */
- #line 1404 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1401 "awkgram.y" /* yacc.c:1646  */
++#line 1404 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3375 "awkgram.c" /* yacc.c:1646  */
++#line 3378 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 134:
- /* Line 1787 of yacc.c  */
- #line 1406 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1403 "awkgram.y" /* yacc.c:1646  */
++#line 1406 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3381 "awkgram.c" /* yacc.c:1646  */
++#line 3384 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 135:
- /* Line 1787 of yacc.c  */
- #line 1408 "awkgram.y"
 -#line 1405 "awkgram.y" /* yacc.c:1646  */
++#line 1408 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline var < file'
@@@ -3607,155 -3399,173 +3402,155 @@@
                                                _("`getline' invalid inside 
`%s' rule"), ruletab[rule]);
                        }
                }
-               if (do_lint && rule == END && (yyvsp[(3) - (3)]) == NULL)
-                       lintwarn_ln((yyvsp[(1) - (3)])->source_line,
+               if (do_lint && rule == END && (yyvsp[0]) == NULL)
+                       lintwarn_ln((yyvsp[-2])->source_line,
                                _("non-redirected `getline' undefined inside 
END action"));
-               (yyval) = mk_getline((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), 
(yyvsp[(3) - (3)]), redirect_input);
+               (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
 -#line 3408 "awkgram.c" /* yacc.c:1646  */
++#line 3411 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 136:
- /* Line 1787 of yacc.c  */
- #line 1431 "awkgram.y"
 -#line 1428 "awkgram.y" /* yacc.c:1646  */
++#line 1431 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(2) - (2)])->opcode = Op_postincrement;
-               (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - 
(2)]));
+               (yyvsp[0])->opcode = Op_postincrement;
+               (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
 -#line 3417 "awkgram.c" /* yacc.c:1646  */
++#line 3420 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 137:
- /* Line 1787 of yacc.c  */
- #line 1436 "awkgram.y"
 -#line 1433 "awkgram.y" /* yacc.c:1646  */
++#line 1436 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(2) - (2)])->opcode = Op_postdecrement;
-               (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - 
(2)]));
+               (yyvsp[0])->opcode = Op_postdecrement;
+               (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
 -#line 3426 "awkgram.c" /* yacc.c:1646  */
++#line 3429 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 138:
- /* Line 1787 of yacc.c  */
- #line 1441 "awkgram.y"
 -#line 1438 "awkgram.y" /* yacc.c:1646  */
++#line 1441 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old) {
-                   warning_ln((yyvsp[(4) - (5)])->source_line,
+                   warning_ln((yyvsp[-1])->source_line,
                                _("old awk does not support the keyword `in' 
except after `for'"));
-                   warning_ln((yyvsp[(4) - (5)])->source_line,
+                   warning_ln((yyvsp[-1])->source_line,
                                _("old awk does not support multidimensional 
arrays"));
                }
-               (yyvsp[(5) - (5)])->nexti->opcode = Op_push_array;
-               (yyvsp[(4) - (5)])->opcode = Op_in_array;
-               if ((yyvsp[(2) - (5)]) == NULL) {       /* error */
+               (yyvsp[0])->nexti->opcode = Op_push_array;
+               (yyvsp[-1])->opcode = Op_in_array;
+               if ((yyvsp[-3]) == NULL) {      /* error */
                        errcount++;
-                       (yyvsp[(4) - (5)])->expr_count = 0;
-                       (yyval) = list_merge((yyvsp[(5) - (5)]), (yyvsp[(4) - 
(5)]));
+                       (yyvsp[-1])->expr_count = 0;
+                       (yyval) = list_merge((yyvsp[0]), (yyvsp[-1]));
                } else {
-                       INSTRUCTION *t = (yyvsp[(2) - (5)]);
-                       (yyvsp[(4) - (5)])->expr_count = count_expressions(&t, 
false);
-                       (yyval) = list_append(list_merge(t, (yyvsp[(5) - 
(5)])), (yyvsp[(4) - (5)]));
+                       INSTRUCTION *t = (yyvsp[-3]);
+                       (yyvsp[-1])->expr_count = count_expressions(&t, false);
+                       (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
 -#line 3450 "awkgram.c" /* yacc.c:1646  */
++#line 3453 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 139:
- /* Line 1787 of yacc.c  */
- #line 1466 "awkgram.y"
 -#line 1463 "awkgram.y" /* yacc.c:1646  */
++#line 1466 "awkgram.y" /* yacc.c:1646  */
      {
-                 (yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), 
(yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
-                 bcfree((yyvsp[(2) - (4)]));
+                 (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
+                 bcfree((yyvsp[-2]));
                }
 -#line 3459 "awkgram.c" /* yacc.c:1646  */
++#line 3462 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 140:
- /* Line 1787 of yacc.c  */
- #line 1472 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1469 "awkgram.y" /* yacc.c:1646  */
++#line 1472 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3465 "awkgram.c" /* yacc.c:1646  */
++#line 3468 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 141:
- /* Line 1787 of yacc.c  */
- #line 1474 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1471 "awkgram.y" /* yacc.c:1646  */
++#line 1474 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3471 "awkgram.c" /* yacc.c:1646  */
++#line 3474 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 142:
- /* Line 1787 of yacc.c  */
- #line 1476 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1473 "awkgram.y" /* yacc.c:1646  */
++#line 1476 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3477 "awkgram.c" /* yacc.c:1646  */
++#line 3480 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 143:
- /* Line 1787 of yacc.c  */
- #line 1478 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1475 "awkgram.y" /* yacc.c:1646  */
++#line 1478 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3483 "awkgram.c" /* yacc.c:1646  */
++#line 3486 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 144:
- /* Line 1787 of yacc.c  */
- #line 1480 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1477 "awkgram.y" /* yacc.c:1646  */
++#line 1480 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3489 "awkgram.c" /* yacc.c:1646  */
++#line 3492 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 145:
- /* Line 1787 of yacc.c  */
- #line 1482 "awkgram.y"
-     { (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - 
(3)])), (yyvsp[(2) - (3)])); }
 -#line 1479 "awkgram.y" /* yacc.c:1646  */
++#line 1482 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1])); }
 -#line 3495 "awkgram.c" /* yacc.c:1646  */
++#line 3498 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 146:
- /* Line 1787 of yacc.c  */
- #line 1487 "awkgram.y"
 -#line 1484 "awkgram.y" /* yacc.c:1646  */
++#line 1487 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3503 "awkgram.c" /* yacc.c:1646  */
++#line 3506 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 147:
- /* Line 1787 of yacc.c  */
- #line 1491 "awkgram.y"
 -#line 1488 "awkgram.y" /* yacc.c:1646  */
++#line 1491 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
-                       (yyvsp[(2) - (2)])->opcode = Op_nomatch;
-                       (yyvsp[(1) - (2)])->opcode = Op_push_i;
-                       (yyvsp[(1) - (2)])->memory = make_number(0.0);  
-                       (yyval) = 
list_append(list_append(list_create((yyvsp[(1) - (2)])),
-                                               instruction(Op_field_spec)), 
(yyvsp[(2) - (2)]));
+               if ((yyvsp[0])->opcode == Op_match_rec) {
+                       (yyvsp[0])->opcode = Op_nomatch;
+                       (yyvsp[-1])->opcode = Op_push_i;
+                       (yyvsp[-1])->memory = make_number(0.0); 
+                       (yyval) = 
list_append(list_append(list_create((yyvsp[-1])),
+                                               instruction(Op_field_spec)), 
(yyvsp[0]));
                } else {
-                       (yyvsp[(1) - (2)])->opcode = Op_not;
-                       add_lint((yyvsp[(2) - (2)]), LINT_assign_in_cond);
-                       (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - 
(2)]));
 -                      if (do_optimize && (yyvsp[0])->nexti == 
(yyvsp[0])->lasti
 -                                      && (yyvsp[0])->nexti->opcode == 
Op_push_i
 -                                      && ((yyvsp[0])->nexti->memory->flags & 
(MPFN|MPZN)) == 0
 -                      ) {
 -                              NODE *n = (yyvsp[0])->nexti->memory;
 -                              if ((n->flags & (STRCUR|STRING)) != 0) {
 -                                      n->numbr = (AWKNUM) (n->stlen == 0);
 -                                      n->flags &= ~(STRCUR|STRING);
 -                                      n->flags |= (NUMCUR|NUMBER);
 -                                      efree(n->stptr);
 -                                      n->stptr = NULL;
 -                                      n->stlen = 0;
 -                              } else
 -                                      n->numbr = (AWKNUM) (n->numbr == 0.0);
 -                              bcfree((yyvsp[-1]));
 -                              (yyval) = (yyvsp[0]);
 -                      } else {
 -                              (yyvsp[-1])->opcode = Op_not;
 -                              add_lint((yyvsp[0]), LINT_assign_in_cond);
 -                              (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
 -                      }
++                      (yyvsp[-1])->opcode = Op_not;
++                      add_lint((yyvsp[0]), LINT_assign_in_cond);
++                      (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
           }
 -#line 3539 "awkgram.c" /* yacc.c:1646  */
++#line 3524 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 148:
- /* Line 1787 of yacc.c  */
- #line 1505 "awkgram.y"
-     { (yyval) = (yyvsp[(2) - (3)]); }
 -#line 1520 "awkgram.y" /* yacc.c:1646  */
++#line 1505 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3545 "awkgram.c" /* yacc.c:1646  */
++#line 3530 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 149:
- /* Line 1787 of yacc.c  */
- #line 1507 "awkgram.y"
 -#line 1522 "awkgram.y" /* yacc.c:1646  */
++#line 1507 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
 -#line 3555 "awkgram.c" /* yacc.c:1646  */
++#line 3540 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 150:
- /* Line 1787 of yacc.c  */
- #line 1513 "awkgram.y"
 -#line 1528 "awkgram.y" /* yacc.c:1646  */
++#line 1513 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
 -#line 3565 "awkgram.c" /* yacc.c:1646  */
++#line 3550 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 151:
- /* Line 1787 of yacc.c  */
- #line 1519 "awkgram.y"
 -#line 1534 "awkgram.y" /* yacc.c:1646  */
++#line 1519 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
  
@@@ -3768,86 -3578,86 +3563,86 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
 -#line 3582 "awkgram.c" /* yacc.c:1646  */
++#line 3567 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 154:
- /* Line 1787 of yacc.c  */
- #line 1534 "awkgram.y"
 -#line 1549 "awkgram.y" /* yacc.c:1646  */
++#line 1534 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (2)])->opcode = Op_preincrement;
-               (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - 
(2)]));
+               (yyvsp[-1])->opcode = Op_preincrement;
+               (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
 -#line 3591 "awkgram.c" /* yacc.c:1646  */
++#line 3576 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 155:
- /* Line 1787 of yacc.c  */
- #line 1539 "awkgram.y"
 -#line 1554 "awkgram.y" /* yacc.c:1646  */
++#line 1539 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (2)])->opcode = Op_predecrement;
-               (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - 
(2)]));
+               (yyvsp[-1])->opcode = Op_predecrement;
+               (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
 -#line 3600 "awkgram.c" /* yacc.c:1646  */
++#line 3585 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 156:
- /* Line 1787 of yacc.c  */
- #line 1544 "awkgram.y"
 -#line 1559 "awkgram.y" /* yacc.c:1646  */
++#line 1544 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3608 "awkgram.c" /* yacc.c:1646  */
++#line 3593 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 157:
- /* Line 1787 of yacc.c  */
- #line 1548 "awkgram.y"
 -#line 1563 "awkgram.y" /* yacc.c:1646  */
++#line 1548 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3616 "awkgram.c" /* yacc.c:1646  */
++#line 3601 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 158:
- /* Line 1787 of yacc.c  */
- #line 1552 "awkgram.y"
 -#line 1567 "awkgram.y" /* yacc.c:1646  */
++#line 1552 "awkgram.y" /* yacc.c:1646  */
      {
-               if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
-                       && ((yyvsp[(2) - (2)])->lasti->memory->flags & 
(STRCUR|STRING)) == 0
+               if ((yyvsp[0])->lasti->opcode == Op_push_i
+                       && ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) 
== 0
                ) {
-                       NODE *n = (yyvsp[(2) - (2)])->lasti->memory;
+                       NODE *n = (yyvsp[0])->lasti->memory;
                        (void) force_number(n);
                        numbr_hndlr->gawk_negate_number(n);
-                       (yyval) = (yyvsp[(2) - (2)]);
-                       bcfree((yyvsp[(1) - (2)]));
+                       (yyval) = (yyvsp[0]);
+                       bcfree((yyvsp[-1]));
                } else {
-                       (yyvsp[(1) - (2)])->opcode = Op_unary_minus;
-                       (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - 
(2)]));
+                       (yyvsp[-1])->opcode = Op_unary_minus;
+                       (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
 -#line 3635 "awkgram.c" /* yacc.c:1646  */
++#line 3620 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 159:
- /* Line 1787 of yacc.c  */
- #line 1567 "awkgram.y"
 -#line 1582 "awkgram.y" /* yacc.c:1646  */
++#line 1567 "awkgram.y" /* yacc.c:1646  */
      {
            /*
             * was: $$ = $2
             * POSIX semantics: force a conversion to numeric type
             */
-               (yyvsp[(1) - (2)])->opcode = Op_unary_plus;
-               (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+               (yyvsp[-1])->opcode = Op_unary_plus;
+               (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
          }
 -#line 3648 "awkgram.c" /* yacc.c:1646  */
++#line 3633 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 160:
- /* Line 1787 of yacc.c  */
- #line 1579 "awkgram.y"
 -#line 1594 "awkgram.y" /* yacc.c:1646  */
++#line 1579 "awkgram.y" /* yacc.c:1646  */
      {
-               func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
-               (yyval) = (yyvsp[(1) - (1)]);
+               func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
+               (yyval) = (yyvsp[0]);
          }
 -#line 3657 "awkgram.c" /* yacc.c:1646  */
++#line 3642 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 161:
- /* Line 1787 of yacc.c  */
- #line 1584 "awkgram.y"
 -#line 1599 "awkgram.y" /* yacc.c:1646  */
++#line 1584 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -3878,71 -3688,71 +3673,71 @@@
                 *              @f(f="real_fun")
                 */
  
-               (yyval) = list_prepend((yyvsp[(2) - (2)]), t);
+               (yyval) = list_prepend((yyvsp[0]), t);
          }
 -#line 3694 "awkgram.c" /* yacc.c:1646  */
++#line 3679 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 162:
- /* Line 1787 of yacc.c  */
- #line 1620 "awkgram.y"
 -#line 1635 "awkgram.y" /* yacc.c:1646  */
++#line 1620 "awkgram.y" /* yacc.c:1646  */
      {
-               param_sanity((yyvsp[(3) - (4)]));
-               (yyvsp[(1) - (4)])->opcode = Op_func_call;
-               (yyvsp[(1) - (4)])->func_body = NULL;
-               if ((yyvsp[(3) - (4)]) == NULL) {       /* no argument or error 
*/
-                       ((yyvsp[(1) - (4)]) + 1)->expr_count = 0;
-                       (yyval) = list_create((yyvsp[(1) - (4)]));
+               param_sanity((yyvsp[-1]));
+               (yyvsp[-3])->opcode = Op_func_call;
+               (yyvsp[-3])->func_body = NULL;
+               if ((yyvsp[-1]) == NULL) {      /* no argument or error */
+                       ((yyvsp[-3]) + 1)->expr_count = 0;
+                       (yyval) = list_create((yyvsp[-3]));
                } else {
-                       INSTRUCTION *t = (yyvsp[(3) - (4)]);
-                       ((yyvsp[(1) - (4)]) + 1)->expr_count = 
count_expressions(&t, true); 
-                       (yyval) = list_append(t, (yyvsp[(1) - (4)]));
+                       INSTRUCTION *t = (yyvsp[-1]);
+                       ((yyvsp[-3]) + 1)->expr_count = count_expressions(&t, 
true); 
+                       (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
 -#line 3712 "awkgram.c" /* yacc.c:1646  */
++#line 3697 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 163:
- /* Line 1787 of yacc.c  */
- #line 1637 "awkgram.y"
 -#line 1652 "awkgram.y" /* yacc.c:1646  */
++#line 1637 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3718 "awkgram.c" /* yacc.c:1646  */
++#line 3703 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 164:
- /* Line 1787 of yacc.c  */
- #line 1639 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1654 "awkgram.y" /* yacc.c:1646  */
++#line 1639 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3724 "awkgram.c" /* yacc.c:1646  */
++#line 3709 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 165:
- /* Line 1787 of yacc.c  */
- #line 1644 "awkgram.y"
 -#line 1659 "awkgram.y" /* yacc.c:1646  */
++#line 1644 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3730 "awkgram.c" /* yacc.c:1646  */
++#line 3715 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 166:
- /* Line 1787 of yacc.c  */
- #line 1646 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (2)]); }
 -#line 1661 "awkgram.y" /* yacc.c:1646  */
++#line 1646 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3736 "awkgram.c" /* yacc.c:1646  */
++#line 3721 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 167:
- /* Line 1787 of yacc.c  */
- #line 1651 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1666 "awkgram.y" /* yacc.c:1646  */
++#line 1651 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3742 "awkgram.c" /* yacc.c:1646  */
++#line 3727 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 168:
- /* Line 1787 of yacc.c  */
- #line 1653 "awkgram.y"
 -#line 1668 "awkgram.y" /* yacc.c:1646  */
++#line 1653 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 3750 "awkgram.c" /* yacc.c:1646  */
++#line 3735 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 169:
- /* Line 1787 of yacc.c  */
- #line 1660 "awkgram.y"
 -#line 1675 "awkgram.y" /* yacc.c:1646  */
++#line 1660 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti; 
+               INSTRUCTION *ip = (yyvsp[0])->lasti; 
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
                if (count > 1) {
                        /* change Op_subscript or Op_sub_array to Op_concat */
@@@ -3952,152 -3762,152 +3747,152 @@@
                } else
                        ip->opcode = Op_no_op;
                sub_counter++;  /* count # of dimensions */
-               (yyval) = (yyvsp[(1) - (1)]);
+               (yyval) = (yyvsp[0]);
          }
 -#line 3768 "awkgram.c" /* yacc.c:1646  */
++#line 3753 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 170:
- /* Line 1787 of yacc.c  */
- #line 1677 "awkgram.y"
 -#line 1692 "awkgram.y" /* yacc.c:1646  */
++#line 1677 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *t = (yyvsp[(2) - (3)]);
-               if ((yyvsp[(2) - (3)]) == NULL) {
-                       error_ln((yyvsp[(3) - (3)])->source_line,
+               INSTRUCTION *t = (yyvsp[-1]);
+               if ((yyvsp[-1]) == NULL) {
+                       error_ln((yyvsp[0])->source_line,
                                _("invalid subscript expression"));
                        /* install Null string as subscript. */
                        t = list_create(instruction(Op_push_i));
                        t->nexti->memory = dupnode(Nnull_string);
-                       (yyvsp[(3) - (3)])->sub_count = 1;                      
+                       (yyvsp[0])->sub_count = 1;                      
                } else
-                       (yyvsp[(3) - (3)])->sub_count = count_expressions(&t, 
false);
-               (yyval) = list_append(t, (yyvsp[(3) - (3)]));
+                       (yyvsp[0])->sub_count = count_expressions(&t, false);
+               (yyval) = list_append(t, (yyvsp[0]));
          }
 -#line 3786 "awkgram.c" /* yacc.c:1646  */
++#line 3771 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 171:
- /* Line 1787 of yacc.c  */
- #line 1694 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); }
 -#line 1709 "awkgram.y" /* yacc.c:1646  */
++#line 1694 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); }
 -#line 3792 "awkgram.c" /* yacc.c:1646  */
++#line 3777 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 172:
- /* Line 1787 of yacc.c  */
- #line 1696 "awkgram.y"
 -#line 1711 "awkgram.y" /* yacc.c:1646  */
++#line 1696 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+               (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
 -#line 3800 "awkgram.c" /* yacc.c:1646  */
++#line 3785 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 173:
- /* Line 1787 of yacc.c  */
- #line 1703 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (2)]); }
 -#line 1718 "awkgram.y" /* yacc.c:1646  */
++#line 1703 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[-1]); }
 -#line 3806 "awkgram.c" /* yacc.c:1646  */
++#line 3791 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 174:
- /* Line 1787 of yacc.c  */
- #line 1708 "awkgram.y"
 -#line 1723 "awkgram.y" /* yacc.c:1646  */
++#line 1708 "awkgram.y" /* yacc.c:1646  */
      {
-               char *var_name = (yyvsp[(1) - (1)])->lextok;
+               char *var_name = (yyvsp[0])->lextok;
  
-               (yyvsp[(1) - (1)])->opcode = Op_push;
-               (yyvsp[(1) - (1)])->memory = variable((yyvsp[(1) - 
(1)])->source_line, var_name, Node_var_new);
-               (yyval) = list_create((yyvsp[(1) - (1)]));
+               (yyvsp[0])->opcode = Op_push;
+               (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
+               (yyval) = list_create((yyvsp[0]));
          }
 -#line 3818 "awkgram.c" /* yacc.c:1646  */
++#line 3803 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 175:
- /* Line 1787 of yacc.c  */
- #line 1716 "awkgram.y"
 -#line 1731 "awkgram.y" /* yacc.c:1646  */
++#line 1716 "awkgram.y" /* yacc.c:1646  */
      {
-               char *arr = (yyvsp[(1) - (2)])->lextok;
-               (yyvsp[(1) - (2)])->memory = variable((yyvsp[(1) - 
(2)])->source_line, arr, Node_var_new);
-               (yyvsp[(1) - (2)])->opcode = Op_push_array;
-               (yyval) = list_prepend((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+               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 3829 "awkgram.c" /* yacc.c:1646  */
++#line 3814 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 176:
- /* Line 1787 of yacc.c  */
- #line 1726 "awkgram.y"
 -#line 1741 "awkgram.y" /* yacc.c:1646  */
++#line 1726 "awkgram.y" /* yacc.c:1646  */
      {
-               INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
+               INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
                        && ip->memory->type == Node_var
                        && ip->memory->var_update
                ) {
-                       (yyval) = list_prepend((yyvsp[(1) - (1)]), 
instruction(Op_var_update));
+                       (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_var_update));
                        (yyval)->nexti->update_var = ip->memory->var_update;
                } else
-                       (yyval) = (yyvsp[(1) - (1)]);
+                       (yyval) = (yyvsp[0]);
          }
 -#line 3845 "awkgram.c" /* yacc.c:1646  */
++#line 3830 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 177:
- /* Line 1787 of yacc.c  */
- #line 1738 "awkgram.y"
 -#line 1753 "awkgram.y" /* yacc.c:1646  */
++#line 1738 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
-               if ((yyvsp[(3) - (3)]) != NULL)
-                       mk_assignment((yyvsp[(2) - (3)]), NULL, (yyvsp[(3) - 
(3)]));
+               (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
+               if ((yyvsp[0]) != NULL)
+                       mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
 -#line 3855 "awkgram.c" /* yacc.c:1646  */
++#line 3840 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 178:
- /* Line 1787 of yacc.c  */
- #line 1747 "awkgram.y"
 -#line 1762 "awkgram.y" /* yacc.c:1646  */
++#line 1747 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->opcode = Op_postincrement;
+               (yyvsp[0])->opcode = Op_postincrement;
          }
 -#line 3863 "awkgram.c" /* yacc.c:1646  */
++#line 3848 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 179:
- /* Line 1787 of yacc.c  */
- #line 1751 "awkgram.y"
 -#line 1766 "awkgram.y" /* yacc.c:1646  */
++#line 1751 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyvsp[(1) - (1)])->opcode = Op_postdecrement;
+               (yyvsp[0])->opcode = Op_postdecrement;
          }
 -#line 3871 "awkgram.c" /* yacc.c:1646  */
++#line 3856 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 180:
- /* Line 1787 of yacc.c  */
- #line 1754 "awkgram.y"
 -#line 1769 "awkgram.y" /* yacc.c:1646  */
++#line 1754 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
 -#line 3877 "awkgram.c" /* yacc.c:1646  */
++#line 3862 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 182:
- /* Line 1787 of yacc.c  */
- #line 1762 "awkgram.y"
 -#line 1777 "awkgram.y" /* yacc.c:1646  */
++#line 1762 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3883 "awkgram.c" /* yacc.c:1646  */
++#line 3868 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 183:
- /* Line 1787 of yacc.c  */
- #line 1766 "awkgram.y"
 -#line 1781 "awkgram.y" /* yacc.c:1646  */
++#line 1766 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3889 "awkgram.c" /* yacc.c:1646  */
++#line 3874 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 186:
- /* Line 1787 of yacc.c  */
- #line 1775 "awkgram.y"
 -#line 1790 "awkgram.y" /* yacc.c:1646  */
++#line 1775 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3895 "awkgram.c" /* yacc.c:1646  */
++#line 3880 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 187:
- /* Line 1787 of yacc.c  */
- #line 1779 "awkgram.y"
-     { (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
 -#line 1794 "awkgram.y" /* yacc.c:1646  */
++#line 1779 "awkgram.y" /* yacc.c:1646  */
+     { (yyval) = (yyvsp[0]); yyerrok; }
 -#line 3901 "awkgram.c" /* yacc.c:1646  */
++#line 3886 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 188:
- /* Line 1787 of yacc.c  */
- #line 1783 "awkgram.y"
 -#line 1798 "awkgram.y" /* yacc.c:1646  */
++#line 1783 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
 -#line 3907 "awkgram.c" /* yacc.c:1646  */
++#line 3892 "awkgram.c" /* yacc.c:1646  */
      break;
  
  
- /* Line 1787 of yacc.c  */
- #line 4101 "awkgram.c"
 -#line 3911 "awkgram.c" /* yacc.c:1646  */
++#line 3896 "awkgram.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4323,13 -4133,9 +4118,9 @@@ yyreturn
    if (yymsg != yymsgbuf)
      YYSTACK_FREE (yymsg);
  #endif
-   /* Make sure YYID is used.  */
-   return YYID (yyresult);
+   return yyresult;
  }
- 
- 
- /* Line 2050 of yacc.c  */
- #line 1785 "awkgram.y"
 -#line 1800 "awkgram.y" /* yacc.c:1906  */
++#line 1785 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {

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

Summary of changes:
 .gitignore                         |    3 -
 ChangeLog                          |   80 +
 Makefile.am                        |   12 +-
 Makefile.in                        |   12 +-
 NEWS                               |    5 +-
 README                             |    2 +-
 README_d/ChangeLog                 |    8 +
 README_d/README.VMS                |    3 +
 README_d/README.solaris            |   23 +-
 awkgram.c                          | 2562 ++++++++++++--------------
 awkgram.y                          |    1 -
 command.c                          | 1429 +++++++---------
 configure                          |    6 +
 configure.ac                       |    8 +-
 dfa.c                              |   30 +-
 doc/ChangeLog                      |   55 +
 doc/gawk.1                         |    9 +-
 doc/gawk.info                      | 1738 +++++++++++-------
 doc/gawk.texi                      | 1027 +++++++++--
 doc/gawkinet.info                  |   72 +-
 doc/gawkinet.texi                  |    6 +-
 doc/gawktexi.in                    | 1017 +++++++++--
 doc/texinfo.tex                    |  210 ++-
 extension/ChangeLog                |    4 +
 extension/time.c                   |   31 +-
 field.c                            |    6 +-
 getopt.c                           |    2 +-
 getopt.h                           |    2 +-
 getopt1.c                          |    2 +-
 getopt_int.h                       |    2 +-
 interpret.h                        |    2 +-
 pc/ChangeLog                       |   39 +
 pc/Makefile.tst                    |   68 +-
 pc/config.h                        |   12 +-
 pc/popen.c                         |   23 +-
 po/LINGUAS                         |    1 +
 po/ca.gmo                          |  Bin 0 -> 43102 bytes
 po/ca.po                           | 3523 +++++++++++++++++++++++++-----------
 po/fi.gmo                          |  Bin 84089 -> 84555 bytes
 po/fi.po                           | 1063 ++++++------
 po/fr.gmo                          |  Bin 85144 -> 85628 bytes
 po/fr.po                           | 1423 +++++++--------
 po/gawk.pot                        | 1041 ++++++------
 po/it.gmo                          |  Bin 80497 -> 81018 bytes
 po/it.po                           | 1042 ++++++------
 po/nl.gmo                          |  Bin 69748 -> 80863 bytes
 po/nl.po                           | 1481 +++++++--------
 po/sv.gmo                          |  Bin 80433 -> 80916 bytes
 po/sv.po                           | 1297 ++++++-------
 po/vi.gmo                          |  Bin 92142 -> 93025 bytes
 po/vi.po                           | 1611 ++++++++---------
 regex.c                            |    2 +-
 regex.h                            |    4 +-
 regex_internal.c                   |    2 +-
 regex_internal.h                   |    2 +-
 test/ChangeLog                     |   43 +
 test/Makefile.am                   |   33 +-
 test/Makefile.in                   |   39 +-
 test/Maketests                     |    5 +
 test/mpfrnegzero.awk               |   15 +
 test/mpfrnegzero.ok                |    9 +
 test/readdir0.awk                  |   25 +-
 test/split_after_fpat.awk          |   11 +
 test/split_after_fpat.in           |    1 +
 test/split_after_fpat.ok           |    4 +
 test/strftime.awk                  |   42 +-
 vms/ChangeLog                      |   15 +-
 vms/generate_config_vms_h_gawk.com |   40 +-
 vms/vms-notes                      | 1148 ------------
 vms/vmstest.com                    |   17 +-
 70 files changed, 11964 insertions(+), 10486 deletions(-)
 create mode 100644 po/ca.gmo
 create mode 100644 test/mpfrnegzero.awk
 create mode 100644 test/mpfrnegzero.ok
 create mode 100644 test/split_after_fpat.awk
 create mode 100644 test/split_after_fpat.in
 create mode 100644 test/split_after_fpat.ok
 delete mode 100644 vms/vms-notes


hooks/post-receive
-- 
gawk



reply via email to

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