gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-3630-g6feedb


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-3630-g6feedb0
Date: Mon, 28 Jan 2019 14:04:27 -0500 (EST)

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, master has been updated
       via  6feedb03eec026b9ec972cbf4d22cfb7f73c07ad (commit)
       via  d142c8609ceca2d4e2c026d24c3d7b51215a7db9 (commit)
       via  aa1580b9a51285328cd50ef3ee9b452514af2e4e (commit)
       via  74e184676613ab8b008a25ffaf87f2f227ec0640 (commit)
      from  79adbea9dc2882dab38abe5d985041a72a4f7146 (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=6feedb03eec026b9ec972cbf4d22cfb7f73c07ad

commit 6feedb03eec026b9ec972cbf4d22cfb7f73c07ad
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jan 28 21:03:50 2019 +0200

    Further simply namespace handling in awkgram.y.

diff --git a/ChangeLog b/ChangeLog
index 0dc9477..b1727e7 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2019-01-27         Arnold D. Robbins     <address@hidden>
 
+       * awkgram.y (qualify_name): Return duplicated strings.
+       (yylex): Qualify names before returning either NAME or FUNC_CALL.
+       (Grammar): Replace qualified_name non-token with NAME, remove
+       `qualified_name' production.
+
+2019-01-27         Arnold D. Robbins     <address@hidden>
+
        * Makefile.am, NEWS, awkgram.y, cint_array.c, custom.h, debug.c,
        eval.c, ext.c, gawkapi.c, int_array.c, interpret.h, nonposix.h,
        profile.c, re.c, replace.c, str_array.c, symbol.c: Update
diff --git a/awkgram.c b/awkgram.c
index a960844..ae48c7e 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -621,16 +621,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1169
+#define YYLAST   1191
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  77
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  72
+#define YYNNTS  71
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  208
+#define YYNRULES  207
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  356
+#define YYNSTATES  355
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
@@ -685,24 +685,24 @@ static const yytype_uint16 yyrline[] =
        0,   231,   231,   232,   237,   247,   251,   263,   271,   285,
      296,   306,   316,   329,   339,   341,   346,   356,   358,   363,
      365,   367,   373,   377,   382,   412,   424,   436,   442,   451,
-     469,   483,   484,   495,   501,   509,   510,   514,   514,   548,
-     547,   581,   596,   598,   603,   604,   624,   629,   630,   634,
-     645,   650,   657,   765,   816,   866,   992,  1013,  1034,  1044,
-    1054,  1064,  1075,  1088,  1106,  1105,  1119,  1137,  1137,  1235,
-    1235,  1268,  1298,  1306,  1307,  1313,  1314,  1321,  1326,  1339,
-    1354,  1356,  1364,  1371,  1373,  1381,  1390,  1392,  1401,  1402,
-    1410,  1415,  1415,  1428,  1434,  1446,  1450,  1472,  1473,  1479,
-    1480,  1489,  1490,  1495,  1500,  1517,  1519,  1521,  1528,  1529,
-    1535,  1536,  1541,  1543,  1550,  1552,  1560,  1565,  1576,  1577,
-    1582,  1584,  1591,  1593,  1601,  1606,  1616,  1617,  1622,  1629,
-    1633,  1635,  1637,  1650,  1667,  1677,  1684,  1686,  1691,  1693,
-    1695,  1703,  1705,  1710,  1712,  1717,  1719,  1721,  1778,  1780,
-    1782,  1784,  1786,  1788,  1790,  1792,  1806,  1811,  1816,  1841,
-    1847,  1849,  1851,  1853,  1855,  1857,  1862,  1866,  1898,  1906,
-    1912,  1918,  1931,  1932,  1933,  1938,  1943,  1947,  1951,  1966,
-    1987,  1992,  2029,  2066,  2067,  2073,  2074,  2079,  2081,  2088,
-    2105,  2122,  2124,  2131,  2136,  2142,  2153,  2165,  2174,  2178,
-    2183,  2187,  2191,  2195,  2200,  2201,  2205,  2209,  2213
+     469,   470,   481,   487,   495,   496,   500,   500,   534,   533,
+     567,   582,   584,   589,   590,   610,   615,   616,   620,   631,
+     636,   643,   751,   802,   852,   978,   999,  1020,  1030,  1040,
+    1050,  1061,  1074,  1092,  1091,  1105,  1123,  1123,  1221,  1221,
+    1254,  1284,  1292,  1293,  1299,  1300,  1307,  1312,  1325,  1340,
+    1342,  1350,  1357,  1359,  1367,  1376,  1378,  1387,  1388,  1396,
+    1401,  1401,  1414,  1420,  1432,  1436,  1458,  1459,  1465,  1466,
+    1475,  1476,  1481,  1486,  1503,  1505,  1507,  1514,  1515,  1521,
+    1522,  1527,  1529,  1536,  1538,  1546,  1551,  1562,  1563,  1568,
+    1570,  1577,  1579,  1587,  1592,  1602,  1603,  1608,  1615,  1619,
+    1621,  1623,  1636,  1653,  1663,  1670,  1672,  1677,  1679,  1681,
+    1689,  1691,  1696,  1698,  1703,  1705,  1707,  1764,  1766,  1768,
+    1770,  1772,  1774,  1776,  1778,  1792,  1797,  1802,  1827,  1833,
+    1835,  1837,  1839,  1841,  1843,  1848,  1852,  1884,  1892,  1898,
+    1904,  1917,  1918,  1919,  1924,  1929,  1933,  1937,  1952,  1973,
+    1978,  2015,  2052,  2053,  2059,  2060,  2065,  2067,  2074,  2091,
+    2108,  2110,  2117,  2122,  2128,  2139,  2151,  2160,  2164,  2169,
+    2173,  2177,  2181,  2186,  2187,  2191,  2195,  2199
 };
 #endif
 
@@ -724,8 +724,8 @@ static const char *const yytname[] =
   "SLASH_BEFORE_EQUAL", "'?'", "':'", "','", "'<'", "'>'", "'+'", "'-'",
   "'*'", "'/'", "'%'", "'!'", "UNARY", "'^'", "'$'", "'('", "')'", "'@'",
   "'['", "']'", "'{'", "'}'", "';'", "$accept", "program", "rule",
-  "source", "library", "namespace", "pattern", "action", "qualified_name",
-  "func_name", "lex_builtin", "function_prologue", "address@hidden", "regexp", 
"address@hidden",
+  "source", "library", "namespace", "pattern", "action", "func_name",
+  "lex_builtin", "function_prologue", "address@hidden", "regexp", 
"address@hidden",
   "typed_regexp", "a_slash", "statements", "statement_term", "statement",
   "non_compound_stmt", "address@hidden", "simple_stmt", "address@hidden", 
"address@hidden",
   "opt_simple_stmt", "case_statements", "case_statement", "case_value",
@@ -758,56 +758,56 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF -295
+#define YYPACT_NINF -283
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-295)))
+  (!!((Yystate) == (-283)))
 
-#define YYTABLE_NINF -120
+#define YYTABLE_NINF -119
 
 #define yytable_value_is_error(Yytable_value) \
-  (!!((Yytable_value) == (-120)))
+  (!!((Yytable_value) == (-119)))
 
   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    -295,   359,  -295,  -295,   -38,  -295,  -295,  -295,  -295,  -295,
-     172,  -295,  -295,    17,    17,    17,   -31,   -27,  -295,  -295,
-    -295,  1016,  1016,  -295,  1016,  1061,   861,   218,  -295,   -29,
-     -32,   -22,  -295,  -295,    84,  1076,   983,   354,   382,  -295,
-    -295,  -295,  -295,   325,   785,  -295,  -295,  -295,    18,  -295,
-      91,  -295,   113,  -295,  -295,  -295,   785,   785,   170,   115,
-      87,   115,   115,  1016,   114,  -295,  -295,    13,   273,    31,
-      70,   121,  -295,   127,  -295,  -295,  -295,    84,  -295,   127,
-     861,  -295,    22,  -295,  -295,   182,  -295,  -295,   971,   173,
-    1016,  1016,  1016,   127,  -295,  -295,  -295,  1016,  1016,   157,
-     354,  1016,  1016,  1016,  1016,  1016,  1016,  1016,  1016,  1016,
-    1016,  1016,  1016,  -295,   189,  -295,  -295,   195,  1016,  -295,
-    -295,  -295,   134,    66,  -295,  1110,  -295,  -295,  1016,  -295,
-     134,   134,   273,  -295,  -295,  -295,  1016,  -295,   175,   889,
-    -295,  -295,    45,   -17,  -295,    80,   -17,  -295,    81,   -17,
-      84,  -295,   585,  -295,    15,  1110,  -295,  -295,  -295,  -295,
-      19,  -295,   276,   190,  1099,  -295,   240,  1110,    17,   233,
-     233,   115,   115,   115,   115,   233,   233,   115,   115,   115,
-     115,  -295,  -295,  1110,  -295,   971,   813,    49,   354,  -295,
-    -295,  1110,   173,  -295,  1110,  -295,  -295,  -295,  -295,  -295,
-    -295,  -295,   142,  -295,    11,   158,   164,   127,   165,   -17,
-     -17,  -295,  -295,   -17,  1016,   -17,   127,  -295,  -295,   -17,
-    -295,  -295,  1110,  -295,   147,   127,  -295,  1016,  -295,  -295,
-    -295,  -295,  -295,  -295,   134,   129,  -295,  1016,  1016,   173,
-    -295,  1016,  1016,   703,   938,  -295,  -295,  -295,   -17,  1110,
-    -295,  -295,  -295,   633,   585,   127,  -295,  -295,  1110,   127,
-    -295,   124,   273,   -17,   174,   -32,   273,   273,   215,   -23,
-    -295,   147,  -295,   861,   235,  -295,    16,  -295,  -295,  -295,
-    -295,  -295,   127,  -295,  -295,  -295,    57,  -295,  -295,   127,
-     127,   188,   173,   127,    13,  -295,  -295,   703,  -295,  -295,
-     -22,   703,  1016,   134,   737,   175,  1016,   230,  -295,  -295,
-     273,   127,   251,   127,   983,   127,   153,   127,   703,   127,
-     938,   703,  -295,   154,   206,  -295,   193,  -295,  -295,   938,
-     134,  -295,  -295,  -295,   256,   257,  -295,  -295,   206,  -295,
-     127,  -295,   134,   127,  -295,  -295,   127,  -295,   127,   703,
-    -295,   433,   703,  -295,   509,  -295
+    -283,   316,  -283,  -283,   -45,   -28,  -283,  -283,  -283,  -283,
+     160,  -283,  -283,    23,    23,    23,   -39,   -18,  -283,  -283,
+    -283,  1047,  1047,  -283,  1047,  1075,   818,   257,  -283,    99,
+     -20,  -283,  -283,    11,  1017,   974,   378,   415,  -283,  -283,
+    -283,  -283,   329,   742,   818,  -283,     0,  -283,  -283,  -283,
+    -283,  -283,    25,     9,  -283,    22,  -283,  -283,  -283,   742,
+     742,    79,    46,    18,    46,    46,  1047,   114,  -283,  -283,
+      13,   286,    44,    47,    60,  -283,    94,  -283,  -283,  -283,
+      11,  -283,    94,  -283,   151,  -283,  -283,  1002,   162,  1047,
+    1047,  1047,    94,  -283,  -283,  -283,  1047,  1047,   132,   378,
+    1047,  1047,  1047,  1047,  1047,  1047,  1047,  1047,  1047,  1047,
+    1047,  1047,  -283,   170,  -283,  -283,   168,  1047,  -283,  -283,
+    -283,   116,    14,  -283,  1132,    76,  1132,  -283,  -283,  -283,
+    -283,  1047,  -283,   116,   116,   286,  -283,  -283,  -283,  1047,
+    -283,   144,   846,  -283,  -283,    34,    91,  -283,    39,    91,
+    -283,    59,    91,    11,  -283,   542,  -283,  -283,  -283,   145,
+    -283,   135,   580,  1113,  -283,   189,  1132,    23,   230,   230,
+      46,    46,    46,    46,   230,   230,    46,    46,    46,    46,
+    -283,  -283,  1132,  -283,  1002,   770,  -283,    27,   378,  -283,
+    -283,  1132,   162,  -283,  1132,  -283,  -283,  -283,  -283,  -283,
+    -283,  -283,   119,  -283,    12,   123,   126,    94,   128,    91,
+      91,  -283,  -283,    91,  1047,    91,    94,  -283,  -283,    91,
+    -283,  -283,  1132,  -283,   122,    94,  1047,  -283,  -283,  -283,
+    -283,  -283,  -283,   116,    73,  -283,  1047,  1047,  -283,   198,
+    1047,  1047,   660,   895,  -283,  -283,  -283,    91,  1132,  -283,
+    -283,  -283,   590,   542,    94,  -283,  -283,  1132,    94,  -283,
+      28,   286,    91,   -28,   141,   286,   286,   190,   -23,  -283,
+     122,  -283,   818,   205,  -283,   325,  -283,  -283,  -283,  -283,
+    -283,    94,  -283,  -283,   115,  -283,  -283,  -283,    94,    94,
+     153,   162,    94,    13,  -283,  -283,   660,  -283,  -283,   -20,
+     660,  1047,   116,   694,   144,  1047,   209,  -283,  -283,   286,
+      94,  1090,    94,   974,    94,   152,    94,   660,    94,   929,
+     660,  -283,   342,   176,  -283,   158,  -283,  -283,   929,   116,
+    -283,  -283,  -283,   236,   243,  -283,  -283,   176,  -283,    94,
+    -283,   116,    94,  -283,  -283,    94,  -283,    94,   660,  -283,
+     390,   660,  -283,   466,  -283
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -815,68 +815,68 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       2,     0,     1,     6,     0,    30,   176,   177,    25,    26,
-       0,    27,    28,   183,     0,     0,     0,   171,     5,    95,
-      43,     0,     0,    42,     0,     0,     0,     0,     3,     0,
-     194,     0,   166,    39,     4,    23,   137,   145,   146,   148,
-     172,   180,   196,   173,     0,    32,    35,    36,     0,    31,
-       0,    33,    99,   184,   174,   175,     0,     0,     0,   179,
-     173,   178,   167,     0,   200,   173,   114,     0,   112,     0,
-       0,     0,   181,    97,   206,     7,     8,    47,    44,    97,
-       0,   191,     0,   195,     9,     0,    96,   141,     0,     0,
-       0,     0,     0,    97,   142,   144,   143,     0,     0,     0,
-     147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   139,   138,   156,   157,     0,     0,   122,
-      41,   127,     0,     0,   120,   126,    34,    37,     0,   155,
-       0,     0,     0,   198,   199,   197,   115,   203,     0,     0,
-     168,    15,     0,     0,    18,     0,     0,    21,     0,     0,
-      98,   201,     0,    48,     0,   112,   193,   192,    40,   132,
-     133,   134,   130,   131,     0,   208,   135,    24,   183,   153,
-     154,   150,   151,   152,   149,   164,   165,   161,   162,   163,
-     160,   129,   140,   128,   182,   123,     0,     0,   100,   169,
-     170,   116,     0,   117,   113,    14,    10,    17,    11,    20,
-      12,    46,     0,    64,     0,     0,     0,    97,     0,     0,
-       0,    86,    87,     0,   108,     0,    97,    45,    58,     0,
-      67,    51,    72,    44,   204,    97,   190,     0,   159,   124,
-     125,   121,   105,   103,     0,     0,   158,     0,   108,     0,
-      69,     0,     0,     0,    73,    59,    60,    61,     0,   109,
-      62,   202,    66,     0,     0,    97,   205,    49,   136,    97,
-     106,     0,     0,     0,     0,   185,     0,     0,     0,   194,
-      74,     0,    63,     0,    90,    88,     0,    50,    29,    38,
-     107,   104,    97,    65,    71,    70,     0,   187,   189,    97,
-      97,     0,     0,    97,     0,    91,    68,     0,   186,   188,
-       0,     0,     0,     0,     0,    89,     0,    93,    75,    53,
-       0,    97,     0,    97,    92,    97,     0,    97,     0,    97,
-      73,     0,    77,     0,     0,    76,     0,    54,    55,    73,
-       0,    94,    80,    83,     0,     0,    84,    85,     0,   207,
-      97,    52,     0,    97,    82,    81,    97,    44,    97,     0,
-      44,     0,     0,    57,     0,    56
+       2,     0,     1,     6,     0,   193,   175,   176,    25,    26,
+       0,    27,    28,   182,     0,     0,     0,   170,     5,    94,
+      42,     0,     0,    41,     0,     0,     0,     0,     3,     0,
+       0,   165,    38,     4,    23,   136,   144,   145,   147,   171,
+     179,   195,   172,     0,     0,   190,     0,   194,    31,    30,
+      34,    35,     0,     0,    32,    98,   183,   173,   174,     0,
+       0,     0,   178,   172,   177,   166,     0,   199,   172,   113,
+       0,   111,     0,     0,     0,   180,    96,   205,     7,     8,
+      46,    43,    96,     9,     0,    95,   140,     0,     0,     0,
+       0,     0,    96,   141,   143,   142,     0,     0,     0,   146,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   138,   137,   155,   156,     0,     0,   121,    40,
+     126,     0,     0,   119,   125,     0,   111,   192,   191,    33,
+      36,     0,   154,     0,     0,     0,   197,   198,   196,   114,
+     202,     0,     0,   167,    15,     0,     0,    18,     0,     0,
+      21,     0,     0,    97,   200,     0,    47,    39,   131,   132,
+     133,   129,   130,     0,   207,   134,    24,   182,   152,   153,
+     149,   150,   151,   148,   163,   164,   160,   161,   162,   159,
+     128,   139,   127,   181,   122,     0,   189,     0,    99,   168,
+     169,   115,     0,   116,   112,    14,    10,    17,    11,    20,
+      12,    45,     0,    63,     0,     0,     0,    96,     0,     0,
+       0,    85,    86,     0,   107,     0,    96,    44,    57,     0,
+      66,    50,    71,    43,   203,    96,     0,   158,   123,   124,
+     120,   104,   102,     0,     0,   157,     0,   107,    68,     0,
+       0,     0,     0,    72,    58,    59,    60,     0,   108,    61,
+     201,    65,     0,     0,    96,   204,    48,   135,    96,   105,
+       0,     0,     0,   184,     0,     0,     0,     0,   193,    73,
+       0,    62,     0,    89,    87,     0,    49,    29,    37,   106,
+     103,    96,    64,    69,     0,   186,   188,    70,    96,    96,
+       0,     0,    96,     0,    90,    67,     0,   185,   187,     0,
+       0,     0,     0,     0,    88,     0,    92,    74,    52,     0,
+      96,     0,    96,    91,    96,     0,    96,     0,    96,    72,
+       0,    76,     0,     0,    75,     0,    53,    54,    72,     0,
+      93,    79,    82,     0,     0,    83,    84,     0,   206,    96,
+      51,     0,    96,    81,    80,    96,    43,    96,     0,    43,
+       0,     0,    56,     0,    55
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -295,  -295,  -295,  -295,  -295,  -295,  -295,   242,    -9,  -295,
-    -295,  -295,  -295,   -52,  -295,   -84,  -295,  -195,   -95,  -127,
-    -295,  -295,  -236,  -295,  -295,  -294,  -295,  -295,  -295,  -295,
-    -295,  -295,  -295,  -295,   110,   -35,  -295,  -295,  -295,    37,
-    -295,   -70,   108,  -295,     7,    -1,  -295,  -295,  -295,   -21,
-      39,  -295,   262,  -295,     6,   150,  -295,  -295,     3,   -76,
-    -295,  -295,   -80,    -2,  -295,   -26,  -213,   -65,  -295,    36,
-     -36,   -28
+    -283,  -283,  -283,  -283,  -283,  -283,  -283,   226,  -283,  -283,
+    -283,  -283,   -63,  -283,   -77,  -283,  -215,   -73,   -30,  -283,
+    -283,  -234,  -283,  -283,  -282,  -283,  -283,  -283,  -283,  -283,
+    -283,  -283,  -283,     5,   -35,  -283,  -283,  -283,    24,  -283,
+     -43,   101,  -283,   -15,    -1,  -283,  -283,  -283,   -40,    17,
+    -283,   237,  -283,    -6,    96,  -283,  -283,   -16,   -42,  -283,
+    -283,   -81,    -2,  -283,   -27,  -186,   -65,  -283,   -62,   -68,
+      -8
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,    28,   143,   146,   149,    29,    75,    30,    50,
-      51,    31,   187,    32,    85,   121,    33,   152,    76,   217,
-     218,   238,   219,   253,   265,   271,   316,   325,   338,   220,
-     274,   296,   306,   221,   150,   151,   129,   234,   235,   248,
-     275,    67,   122,   123,   124,   222,   118,    96,    97,    36,
-      37,    38,    39,    40,    41,    52,   285,   286,   287,    81,
-      82,    83,    42,    43,   135,   223,   224,   140,   255,    79,
-     340,   139
+      -1,     1,    28,   146,   149,   152,    29,    78,    53,    54,
+      30,   187,    31,    84,   120,    32,   155,    79,   217,   218,
+     237,   219,   252,   263,   270,   315,   324,   337,   220,   273,
+     295,   305,   221,   153,   154,   132,   233,   234,   247,   274,
+      70,   121,   122,   123,   222,   117,    95,    96,    35,    36,
+      37,    38,    39,    40,    55,   283,   284,   285,    45,    46,
+      47,    41,    42,   138,   223,   224,   143,   254,    82,   339,
+     142
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -884,244 +884,250 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      35,    49,   138,    78,   159,    78,   157,    98,   270,   161,
-     154,    53,    54,    55,   136,     5,   136,   136,   292,    60,
-      60,     5,    60,    65,    19,    68,   330,  -111,   254,    87,
-     181,    44,   141,    72,    60,   342,    19,   142,    56,   156,
-      80,   277,    57,   125,   153,    73,   195,    74,   196,    80,
-     232,   198,    73,   233,   200,   125,   125,   184,   165,    74,
-      59,    61,   132,    62,    72,   189,   190,   185,   126,  -111,
-      93,   144,    93,    93,   298,   100,   145,    94,    95,   155,
-     239,   197,   199,   137,   270,    25,  -111,   160,   226,   162,
-     163,   164,  -111,   270,    80,   186,   166,   167,   -13,    60,
-      60,    60,    60,    60,    60,    60,    60,    60,    60,    60,
-      60,    34,   236,   341,   245,   246,   268,   183,   247,  -101,
-     250,   -13,   147,    93,   252,   280,    60,   148,   281,    80,
-     260,   115,   116,   -16,   -19,   191,  -119,    86,   194,    77,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   351,   272,   322,   354,   -16,   -19,   133,   134,
-     127,   332,   333,   120,   130,   131,    53,   188,   283,   259,
-     307,   128,   243,     4,   309,    45,     5,     5,   323,   324,
-      19,   251,   106,   276,   125,   125,    93,   158,   225,   288,
-     257,   328,   229,   231,   331,   240,   168,   282,   120,  -102,
-      87,   289,   290,   294,   137,    88,    19,   261,    20,   182,
-     288,   237,   303,   249,   334,   335,   192,    23,    46,    47,
-     278,     4,   353,    74,   279,   355,   258,   241,   -97,   305,
-     264,    89,    90,   242,   244,   269,   262,   249,   311,   337,
-     266,   267,   291,    48,   284,   317,   295,   297,    94,    95,
-    -120,   315,   155,    77,   300,   301,    77,   302,   304,    77,
-     256,    87,   339,   344,   345,   343,    88,    69,   216,    70,
-      71,   336,    68,    84,   308,   263,   318,   348,   320,   225,
-     321,   326,   327,    87,   329,   314,    87,    64,    88,   299,
-     225,    88,    89,    90,    91,   103,   104,   105,  -120,  -120,
-     106,   310,   346,   312,    60,   347,    92,   293,   349,    94,
-      95,   350,    60,   352,    89,    90,    91,    89,   228,    77,
-      77,     0,     0,    77,     0,    77,     0,    74,    92,    77,
-       0,    94,    95,   225,    94,    95,     0,   225,   113,   114,
-     313,     0,     0,   137,     0,     0,     0,     0,   319,     0,
-       0,     0,     0,   100,   225,     0,     0,   225,    77,     2,
-       3,     0,     4,     5,     0,     0,     6,     7,     0,   115,
-     116,     0,     0,    77,     0,     0,     0,     8,     9,   117,
-       0,     0,     0,     0,     0,   225,     0,   225,   225,     0,
-     225,     0,     0,     0,     0,    10,    11,    12,    13,     0,
-       0,     0,     0,    14,    15,    16,    17,    18,     0,     0,
-       0,     0,    19,    20,   101,   102,   103,   104,   105,    21,
-      22,   106,    23,     0,    24,     0,     0,    25,    26,     0,
-      27,     0,     0,   -22,   201,   -22,     4,     5,     0,     0,
-       6,     7,   107,   108,   109,   110,   111,     0,     0,   112,
-       0,     0,     0,   202,     0,   203,   204,   205,   -79,   -79,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,     0,
-       0,     0,    13,   215,     0,     0,     0,    14,    15,    16,
-      17,     0,     0,     0,     0,     0,   -79,    20,     0,     0,
-       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
-       0,    25,    26,     0,    58,     0,     0,    73,   -79,    74,
-     201,     0,     4,     5,     0,     0,     6,     7,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   202,
-       0,   203,   204,   205,   -78,   -78,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,     0,     0,     0,    13,   215,
-       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
-       0,     0,   -78,    20,     0,     0,     0,     0,     0,    21,
-      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
-      58,     0,     0,    73,   -78,    74,   201,     0,     4,     5,
-       0,     0,     6,     7,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   202,     0,   203,   204,   205,
-       0,     0,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,     0,     0,     0,    13,   215,     0,     0,     0,    14,
-      15,    16,    17,     0,    66,     0,     4,     5,     0,    20,
-       6,     7,     0,     0,  -110,    21,    22,     0,    23,     0,
-      24,     0,     0,    25,    26,     0,    58,     0,     0,    73,
-     216,    74,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    13,     0,     0,     0,     0,    14,    15,    16,
-      17,     0,     0,     0,     0,     0,  -110,    20,     0,     0,
-       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
-       0,    25,   273,  -110,    58,     0,     4,     5,     0,  -110,
-       6,     7,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   202,     0,   203,   204,   205,     0,     0,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,     0,
-       4,     5,    13,   215,     6,     7,     0,    14,    15,    16,
-      17,     0,     0,     0,     0,     0,     0,    20,     0,     0,
-       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
-       0,    25,    26,     0,    58,     0,    13,    73,     0,    74,
-       0,    14,    15,    16,    17,     0,   119,     0,     4,     5,
-       0,    20,     6,     7,   120,     0,     0,    21,    22,     0,
-      23,     0,    24,     0,     0,    25,    26,     0,    58,     0,
-       0,     0,     0,    74,   230,     0,     4,     5,     0,     0,
-       6,     7,   120,     0,    13,     0,     0,     0,     0,    14,
+      34,   125,    81,    81,   128,   141,    33,   160,   253,   269,
+     158,    56,    57,    58,   139,   184,   238,   127,   291,    63,
+      63,    75,    63,    68,    43,    71,    97,     5,   231,   279,
+      59,   232,   280,    63,    80,   195,   180,   329,    62,    64,
+     197,    65,   124,   126,    44,   144,   341,   156,   147,    44,
+     145,    60,    99,   148,    76,    75,   183,   164,   124,   124,
+     199,   150,   114,   115,    85,   135,   151,   276,   189,   190,
+      92,    92,    44,   196,   259,   129,   198,   139,   130,   200,
+     131,   239,     4,   140,  -118,   269,   159,   -13,   161,   162,
+     163,    25,   -16,   225,   269,   165,   166,  -100,    63,    63,
+      63,    63,    63,    63,    63,    63,    63,    63,    63,    63,
+     -13,   235,   -19,   105,   185,   -16,   182,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,    63,
+      92,   350,   297,    92,   353,   -19,   244,   245,   191,   340,
+     246,   194,   249,  -101,    19,    86,   251,    19,   188,   186,
+      87,    80,    19,   321,    80,    86,   157,    80,   136,   137,
+     133,   134,   255,    48,    49,    56,     5,    77,   258,   228,
+     230,   167,   242,    76,   271,    77,    88,   322,   323,   119,
+     225,   250,   181,   124,   124,   192,   140,    44,   236,   282,
+     256,   225,   240,    93,    94,   241,   281,   243,    77,  -119,
+     288,   289,   264,    93,    94,    19,    50,    51,   292,   275,
+     302,   287,   267,   248,    80,    80,   294,   290,    80,   277,
+      80,   286,   301,   278,    80,   257,   260,   -96,   304,   293,
+     314,    52,   338,   216,   225,   261,   248,   310,   225,   265,
+     266,   312,   286,   343,   316,   336,   296,  -119,  -119,   318,
+     344,   126,    80,   299,   300,   225,    83,   303,   225,   335,
+       4,   262,    67,   227,   342,   313,   306,    80,   298,   345,
+     308,    71,   307,     0,     0,   317,   347,   319,     0,   320,
+     325,   326,     0,   328,     0,     0,   225,   327,   225,   225,
+     330,   225,   102,   103,   104,     0,    86,   105,     0,     0,
+     309,    87,   311,    63,   346,     0,    72,   348,    73,    74,
+     349,    63,   351,     0,     0,     0,     2,     3,   352,     4,
+       5,   354,     0,     6,     7,     0,   139,    88,    89,    90,
+      99,     0,     0,     0,     8,     9,  -110,     0,     0,     0,
+       0,    91,   112,   113,    93,    94,     0,     0,     0,   331,
+     332,   119,    10,    11,    12,    13,   140,     0,     0,     0,
+      14,    15,    16,    17,    18,     0,     0,     0,     0,    19,
+      20,     0,     0,   114,   115,     0,    21,    22,  -110,    23,
+       0,    24,    92,   116,    25,    26,     0,    27,     0,     0,
+     -22,   201,   -22,     4,     5,  -110,    20,     6,     7,     0,
+       0,  -110,   333,   334,     0,    23,     0,     0,     0,     0,
+     202,     0,   203,   204,   205,   -78,   -78,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,     0,     0,     0,    13,
+     215,     0,     0,     0,    14,    15,    16,    17,   100,   101,
+     102,   103,   104,   -78,    20,   105,     0,     0,     0,     0,
+      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
+       0,    61,     0,     0,    76,   -78,    77,   201,     0,     4,
+       5,     0,     0,     6,     7,   106,   107,   108,   109,   110,
+       0,     0,   111,     0,     0,     0,   202,     0,   203,   204,
+     205,   -77,   -77,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,     0,     0,     0,    13,   215,     0,     0,     0,
+      14,    15,    16,    17,     0,     0,     0,     0,     0,   -77,
+      20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
+       0,    24,     0,     0,    25,    26,     0,    61,     0,     0,
+      76,   -77,    77,   201,     0,     4,     5,     0,     0,     6,
+       7,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   202,     0,   203,   204,   205,     0,     0,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,     0,     0,
+       0,    13,   215,     0,     0,     0,    14,    15,    16,    17,
+      86,    69,     0,     4,     5,    87,    20,     6,     7,     0,
+       0,  -109,    21,    22,     0,    23,     0,    24,     0,     0,
+      25,    26,     0,    61,     0,     0,    76,   216,    77,     0,
+       0,    88,    89,     0,     0,     0,     0,     0,     0,    13,
+       0,     0,     0,     0,    14,    15,    16,    17,    93,    94,
+       0,     0,     0,  -109,    20,     0,     0,     0,     0,     0,
+      21,    22,     0,    23,     0,    24,     0,     0,    25,   272,
+    -109,    61,     0,     4,     5,     0,  -109,     6,     7,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     202,     0,   203,   204,   205,     0,     0,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,     0,     4,     5,    13,
+     215,     6,     7,     0,    14,    15,    16,    17,     0,     0,
+       0,     0,     0,     0,    20,     0,     0,     0,     0,     0,
+      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
+       0,    61,     0,    13,    76,     0,    77,     0,    14,    15,
+      16,    17,     0,   118,     0,     4,     5,     0,    20,     6,
+       7,   119,     0,     0,    21,    22,     0,    23,     0,    24,
+       0,     0,    25,    26,     0,    61,     0,     0,     0,     0,
+      77,   229,     0,     4,     5,     0,     0,     6,     7,   119,
+       0,    13,     0,     0,     0,     0,    14,    15,    16,    17,
+       0,     0,     0,     0,     0,     0,    20,     0,     0,     0,
+       0,     0,    21,    22,     0,    23,     0,    24,     0,    13,
+      25,    26,  -117,    61,    14,    15,    16,    17,     0,    69,
+       0,     4,     5,     0,    20,     6,     7,     0,     0,     0,
+      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
+       0,    61,     0,     0,     0,     0,     0,   193,     0,     4,
+       5,     0,     0,     6,     7,     0,     0,    13,     0,     0,
+       0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
+       0,     0,    20,     0,     0,     0,     0,     0,    21,    22,
+       0,    23,     0,    24,     0,    13,    25,    26,     0,    61,
+      14,    15,    16,    17,     0,     0,     0,     0,     4,   268,
+      20,     0,     6,     7,     0,     0,    21,    22,     0,    23,
+       0,    24,     0,     0,    25,    26,     0,    61,   204,     0,
+       0,     0,     0,     0,     0,     0,     0,   211,   212,     0,
+       0,     0,     4,     5,    13,     0,     6,     7,     0,    14,
       15,    16,    17,     0,     0,     0,     0,     0,     0,    20,
-       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
-      24,     0,    13,    25,    26,  -118,    58,    14,    15,    16,
-      17,     0,    66,     0,     4,     5,     0,    20,     6,     7,
-       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
-       0,    25,    26,     0,    58,     0,     0,     0,     0,     0,
-     193,     0,     4,     5,     0,     0,     6,     7,     0,     0,
-      13,     0,     0,     0,     0,    14,    15,    16,    17,     0,
-       0,     0,     0,     0,     0,    20,     0,     0,     0,     0,
-       0,    21,    22,     0,    23,     0,    24,     0,    13,    25,
-      26,     0,    58,    14,    15,    16,    17,     0,     0,     0,
-       0,     4,     5,    20,     0,     6,     7,     0,     0,    21,
+       0,     0,   204,     0,     0,    21,    22,     0,    23,     0,
+      24,   211,   212,    25,    26,     0,    61,     0,    13,     0,
+       0,     0,     0,    14,    15,    16,    17,     4,     5,     0,
+       0,     6,     7,    20,     0,     0,    98,     0,     0,    21,
       22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
-      58,   204,     0,     0,     0,     0,     0,     0,     0,     0,
-     211,   212,     0,     0,     4,     5,     0,    13,     6,     7,
-     120,     0,    14,    15,    16,    17,     4,     5,     0,     0,
-       6,     7,    20,     0,     0,    99,     0,     0,    21,    22,
-       0,    23,     0,    24,     0,     0,    25,    26,     0,    58,
-      13,     0,     0,     0,     0,    14,    15,    16,    17,     4,
-       5,     0,    13,     6,     7,    20,     0,    14,    15,    16,
-      17,    21,    22,     0,    23,     0,    24,    20,     0,    25,
-      26,     0,    58,    21,    22,     0,    23,     0,    24,     0,
-       0,    25,    26,     0,    58,    13,     0,     0,     0,     0,
-      14,    15,    16,    17,     4,     5,     0,     0,     6,     7,
-      20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
-       0,    24,     0,     0,    25,    26,    87,    58,     0,     0,
-       0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    14,    15,    16,    17,    87,
-       0,     0,     0,     0,    88,    20,     0,    89,    90,    91,
-      87,    21,    22,     0,    23,    88,    24,     0,     0,    25,
-      63,    92,    58,    93,    94,    95,     0,     0,     0,     0,
-      89,    90,    91,     0,     0,     0,     0,     0,     0,     0,
-       0,    89,    90,    91,    92,   227,     0,    94,    95,     0,
-       0,     0,     0,     0,     0,    92,     0,     0,    94,    95
+      61,     0,     0,     0,     0,     4,     5,     0,     0,     6,
+       7,   119,     0,    13,     0,     0,     0,     0,    14,    15,
+      16,    17,     0,     0,     0,     0,     0,    86,    20,     0,
+       0,     0,    87,     0,    21,    22,     0,    23,     0,    24,
+       0,    13,    25,    26,     0,    61,    14,    15,    16,    17,
+       4,     5,     0,     0,     6,     7,    20,     0,    88,    89,
+      90,     0,    21,    22,     0,    23,     0,    24,     0,     0,
+      25,    26,    91,    61,    92,    93,    94,     0,     4,     5,
+       0,     0,     6,     7,     0,     0,    13,     0,     0,     0,
+       0,    14,    15,    16,    17,     0,     0,     0,     0,     0,
+      86,    20,     0,     0,     0,    87,     0,    21,    22,     0,
+      23,     0,    24,     0,     0,    25,    26,     0,    61,    14,
+      15,    16,    17,    86,     0,     0,     0,     0,    87,    20,
+       0,    88,    89,    90,     0,    21,    22,     0,    23,     0,
+      24,     0,    86,    25,    66,    91,    61,    87,    93,    94,
+       0,     0,     0,     0,    88,    89,    90,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    77,     0,    91,   226,
+       0,    93,    94,    88,    89,    90,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    91,     0,     0,
+      93,    94
 };
 
 static const yytype_int16 yycheck[] =
 {
-       1,    10,    67,    29,    88,    31,    82,    35,   244,    89,
-      80,    13,    14,    15,     1,     4,     1,     1,    41,    21,
-      22,     4,    24,    25,    53,    26,   320,    11,   223,    10,
-     114,    69,     1,    27,    36,   329,    53,     6,    69,    17,
-      72,   254,    69,    44,    79,    74,     1,    76,   143,    72,
-       1,   146,    74,     4,   149,    56,    57,   122,    93,    76,
-      21,    22,    63,    24,    58,   130,   131,     1,    50,    53,
-      57,     1,    57,    57,    17,    36,     6,    58,    59,    80,
-      69,     1,     1,    70,   320,    68,    70,    88,    73,    90,
-      91,    92,    76,   329,    72,   123,    97,    98,    53,   101,
+       1,    44,    29,    30,    46,    70,     1,    88,   223,   243,
+      87,    13,    14,    15,     1,     1,     4,    17,    41,    21,
+      22,    27,    24,    25,    69,    26,    34,     4,     1,     1,
+      69,     4,     4,    35,    29,     1,   113,   319,    21,    22,
+       1,    24,    43,    44,    72,     1,   328,    82,     1,    72,
+       6,    69,    35,     6,    74,    61,   121,    92,    59,    60,
+       1,     1,    44,    45,    53,    66,     6,   253,   133,   134,
+      57,    57,    72,   146,     1,    50,   149,     1,    69,   152,
+      58,    69,     3,    70,    70,   319,    87,    53,    89,    90,
+      91,    68,    53,   155,   328,    96,    97,    70,   100,   101,
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,     1,   192,   326,   209,   210,   243,   118,   213,    70,
-     215,    76,     1,    57,   219,     1,   128,     6,     4,    72,
-       1,    44,    45,    53,    53,   136,    70,    53,   139,    29,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   347,   248,     1,   350,    76,    76,    44,    45,
-      69,     7,     8,     9,    56,    57,   168,   128,   263,   234,
-     297,    58,   207,     3,   301,     3,     4,     4,    25,    26,
-      53,   216,    67,   253,   185,   186,    57,     5,   152,   265,
-     225,   318,   185,   186,   321,   204,    39,   262,     9,    70,
-      10,   266,   267,   273,    70,    15,    53,   235,    54,    14,
-     286,    69,   292,   214,    60,    61,    41,    63,    46,    47,
-     255,     3,   349,    76,   259,   352,   227,    69,    75,   294,
-     239,    41,    42,    69,    69,   244,   237,   238,   303,   323,
-     241,   242,    27,    71,    70,   310,    11,   282,    58,    59,
-      10,    21,   253,   143,   289,   290,   146,    69,   293,   149,
-     224,    10,    56,     7,     7,   330,    15,    49,    75,    51,
-      52,   323,   273,    31,   300,   238,   311,   342,   313,   243,
-     315,   316,   317,    10,   319,   306,    10,    25,    15,   286,
-     254,    15,    41,    42,    43,    62,    63,    64,    58,    59,
-      67,   302,   338,   304,   306,   340,    55,   271,   343,    58,
-      59,   346,   314,   348,    41,    42,    43,    41,   168,   209,
-     210,    -1,    -1,   213,    -1,   215,    -1,    76,    55,   219,
-      -1,    58,    59,   297,    58,    59,    -1,   301,    13,    14,
-     304,    -1,    -1,    70,    -1,    -1,    -1,    -1,   312,    -1,
-      -1,    -1,    -1,   314,   318,    -1,    -1,   321,   248,     0,
-       1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    44,
-      45,    -1,    -1,   263,    -1,    -1,    -1,    18,    19,    54,
-      -1,    -1,    -1,    -1,    -1,   349,    -1,   351,   352,    -1,
-     354,    -1,    -1,    -1,    -1,    36,    37,    38,    39,    -1,
-      -1,    -1,    -1,    44,    45,    46,    47,    48,    -1,    -1,
-      -1,    -1,    53,    54,    60,    61,    62,    63,    64,    60,
-      61,    67,    63,    -1,    65,    -1,    -1,    68,    69,    -1,
-      71,    -1,    -1,    74,     1,    76,     3,     4,    -1,    -1,
-       7,     8,    60,    61,    62,    63,    64,    -1,    -1,    67,
-      -1,    -1,    -1,    20,    -1,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    -1,
-      -1,    -1,    39,    40,    -1,    -1,    -1,    44,    45,    46,
-      47,    -1,    -1,    -1,    -1,    -1,    53,    54,    -1,    -1,
-      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
-      -1,    68,    69,    -1,    71,    -1,    -1,    74,    75,    76,
-       1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
-      -1,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
-      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
-      -1,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    60,
-      61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,    -1,
-      71,    -1,    -1,    74,    75,    76,     1,    -1,     3,     4,
-      -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,
-      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,
-      45,    46,    47,    -1,     1,    -1,     3,     4,    -1,    54,
-       7,     8,    -1,    -1,    11,    60,    61,    -1,    63,    -1,
-      65,    -1,    -1,    68,    69,    -1,    71,    -1,    -1,    74,
-      75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,    46,
-      47,    -1,    -1,    -1,    -1,    -1,    53,    54,    -1,    -1,
-      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
-      -1,    68,    69,    70,    71,    -1,     3,     4,    -1,    76,
-       7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    20,    -1,    22,    23,    24,    -1,    -1,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    -1,
-       3,     4,    39,    40,     7,     8,    -1,    44,    45,    46,
-      47,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
-      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
-      -1,    68,    69,    -1,    71,    -1,    39,    74,    -1,    76,
-      -1,    44,    45,    46,    47,    -1,     1,    -1,     3,     4,
-      -1,    54,     7,     8,     9,    -1,    -1,    60,    61,    -1,
-      63,    -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,
-      -1,    -1,    -1,    76,     1,    -1,     3,     4,    -1,    -1,
-       7,     8,     9,    -1,    39,    -1,    -1,    -1,    -1,    44,
+      76,   192,    53,    67,   122,    76,   117,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   131,
+      57,   346,    17,    57,   349,    76,   209,   210,   139,   325,
+     213,   142,   215,    70,    53,    10,   219,    53,   131,    73,
+      15,   146,    53,     1,   149,    10,     5,   152,    44,    45,
+      59,    60,   224,     3,     4,   167,     4,    76,   233,   184,
+     185,    39,   207,    74,   247,    76,    41,    25,    26,     9,
+     242,   216,    14,   184,   185,    41,    70,    72,    69,   262,
+     225,   253,    69,    58,    59,    69,   261,    69,    76,    10,
+     265,   266,     4,    58,    59,    53,    46,    47,   270,   252,
+     291,    70,   242,   214,   209,   210,    11,    27,   213,   254,
+     215,   263,    69,   258,   219,   226,   234,    75,   293,   272,
+      21,    71,    56,    75,   296,   236,   237,   302,   300,   240,
+     241,   303,   284,     7,   309,   322,   281,    58,    59,   311,
+       7,   252,   247,   288,   289,   317,    30,   292,   320,   322,
+       3,   237,    25,   167,   329,   305,   296,   262,   284,   337,
+     300,   272,   299,    -1,    -1,   310,   341,   312,    -1,   314,
+     315,   316,    -1,   318,    -1,    -1,   348,   317,   350,   351,
+     320,   353,    62,    63,    64,    -1,    10,    67,    -1,    -1,
+     301,    15,   303,   305,   339,    -1,    49,   342,    51,    52,
+     345,   313,   347,    -1,    -1,    -1,     0,     1,   348,     3,
+       4,   351,    -1,     7,     8,    -1,     1,    41,    42,    43,
+     313,    -1,    -1,    -1,    18,    19,    11,    -1,    -1,    -1,
+      -1,    55,    13,    14,    58,    59,    -1,    -1,    -1,     7,
+       8,     9,    36,    37,    38,    39,    70,    -1,    -1,    -1,
+      44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,    53,
+      54,    -1,    -1,    44,    45,    -1,    60,    61,    53,    63,
+      -1,    65,    57,    54,    68,    69,    -1,    71,    -1,    -1,
+      74,     1,    76,     3,     4,    70,    54,     7,     8,    -1,
+      -1,    76,    60,    61,    -1,    63,    -1,    -1,    -1,    -1,
+      20,    -1,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    -1,    -1,    -1,    39,
+      40,    -1,    -1,    -1,    44,    45,    46,    47,    60,    61,
+      62,    63,    64,    53,    54,    67,    -1,    -1,    -1,    -1,
+      60,    61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,
+      -1,    71,    -1,    -1,    74,    75,    76,     1,    -1,     3,
+       4,    -1,    -1,     7,     8,    60,    61,    62,    63,    64,
+      -1,    -1,    67,    -1,    -1,    -1,    20,    -1,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
+      44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
+      54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,
+      -1,    65,    -1,    -1,    68,    69,    -1,    71,    -1,    -1,
+      74,    75,    76,     1,    -1,     3,     4,    -1,    -1,     7,
+       8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    20,    -1,    22,    23,    24,    -1,    -1,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    -1,    -1,
+      -1,    39,    40,    -1,    -1,    -1,    44,    45,    46,    47,
+      10,     1,    -1,     3,     4,    15,    54,     7,     8,    -1,
+      -1,    11,    60,    61,    -1,    63,    -1,    65,    -1,    -1,
+      68,    69,    -1,    71,    -1,    -1,    74,    75,    76,    -1,
+      -1,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    39,
+      -1,    -1,    -1,    -1,    44,    45,    46,    47,    58,    59,
+      -1,    -1,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,
+      60,    61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,
+      70,    71,    -1,     3,     4,    -1,    76,     7,     8,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      20,    -1,    22,    23,    24,    -1,    -1,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    -1,     3,     4,    39,
+      40,     7,     8,    -1,    44,    45,    46,    47,    -1,    -1,
+      -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,
+      60,    61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,
+      -1,    71,    -1,    39,    74,    -1,    76,    -1,    44,    45,
+      46,    47,    -1,     1,    -1,     3,     4,    -1,    54,     7,
+       8,     9,    -1,    -1,    60,    61,    -1,    63,    -1,    65,
+      -1,    -1,    68,    69,    -1,    71,    -1,    -1,    -1,    -1,
+      76,     1,    -1,     3,     4,    -1,    -1,     7,     8,     9,
+      -1,    39,    -1,    -1,    -1,    -1,    44,    45,    46,    47,
+      -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,
+      -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,    39,
+      68,    69,    70,    71,    44,    45,    46,    47,    -1,     1,
+      -1,     3,     4,    -1,    54,     7,     8,    -1,    -1,    -1,
+      60,    61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,
+      -1,    71,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
+       4,    -1,    -1,     7,     8,    -1,    -1,    39,    -1,    -1,
+      -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,
+      -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,    60,    61,
+      -1,    63,    -1,    65,    -1,    39,    68,    69,    -1,    71,
+      44,    45,    46,    47,    -1,    -1,    -1,    -1,     3,     4,
+      54,    -1,     7,     8,    -1,    -1,    60,    61,    -1,    63,
+      -1,    65,    -1,    -1,    68,    69,    -1,    71,    23,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    33,    -1,
+      -1,    -1,     3,     4,    39,    -1,     7,     8,    -1,    44,
       45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    54,
-      -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,    -1,
-      65,    -1,    39,    68,    69,    70,    71,    44,    45,    46,
-      47,    -1,     1,    -1,     3,     4,    -1,    54,     7,     8,
-      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
-      -1,    68,    69,    -1,    71,    -1,    -1,    -1,    -1,    -1,
-       1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
-      39,    -1,    -1,    -1,    -1,    44,    45,    46,    47,    -1,
-      -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,    -1,
-      -1,    60,    61,    -1,    63,    -1,    65,    -1,    39,    68,
-      69,    -1,    71,    44,    45,    46,    47,    -1,    -1,    -1,
-      -1,     3,     4,    54,    -1,     7,     8,    -1,    -1,    60,
+      -1,    -1,    23,    -1,    -1,    60,    61,    -1,    63,    -1,
+      65,    32,    33,    68,    69,    -1,    71,    -1,    39,    -1,
+      -1,    -1,    -1,    44,    45,    46,    47,     3,     4,    -1,
+      -1,     7,     8,    54,    -1,    -1,    12,    -1,    -1,    60,
       61,    -1,    63,    -1,    65,    -1,    -1,    68,    69,    -1,
-      71,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      32,    33,    -1,    -1,     3,     4,    -1,    39,     7,     8,
-       9,    -1,    44,    45,    46,    47,     3,     4,    -1,    -1,
-       7,     8,    54,    -1,    -1,    12,    -1,    -1,    60,    61,
-      -1,    63,    -1,    65,    -1,    -1,    68,    69,    -1,    71,
-      39,    -1,    -1,    -1,    -1,    44,    45,    46,    47,     3,
-       4,    -1,    39,     7,     8,    54,    -1,    44,    45,    46,
-      47,    60,    61,    -1,    63,    -1,    65,    54,    -1,    68,
-      69,    -1,    71,    60,    61,    -1,    63,    -1,    65,    -1,
-      -1,    68,    69,    -1,    71,    39,    -1,    -1,    -1,    -1,
-      44,    45,    46,    47,     3,     4,    -1,    -1,     7,     8,
-      54,    -1,    -1,    -1,    -1,    -1,    60,    61,    -1,    63,
-      -1,    65,    -1,    -1,    68,    69,    10,    71,    -1,    -1,
-      -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    44,    45,    46,    47,    10,
-      -1,    -1,    -1,    -1,    15,    54,    -1,    41,    42,    43,
-      10,    60,    61,    -1,    63,    15,    65,    -1,    -1,    68,
-      69,    55,    71,    57,    58,    59,    -1,    -1,    -1,    -1,
-      41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    41,    42,    43,    55,    56,    -1,    58,    59,    -1,
-      -1,    -1,    -1,    -1,    -1,    55,    -1,    -1,    58,    59
+      71,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
+       8,     9,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,
+      46,    47,    -1,    -1,    -1,    -1,    -1,    10,    54,    -1,
+      -1,    -1,    15,    -1,    60,    61,    -1,    63,    -1,    65,
+      -1,    39,    68,    69,    -1,    71,    44,    45,    46,    47,
+       3,     4,    -1,    -1,     7,     8,    54,    -1,    41,    42,
+      43,    -1,    60,    61,    -1,    63,    -1,    65,    -1,    -1,
+      68,    69,    55,    71,    57,    58,    59,    -1,     3,     4,
+      -1,    -1,     7,     8,    -1,    -1,    39,    -1,    -1,    -1,
+      -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,
+      10,    54,    -1,    -1,    -1,    15,    -1,    60,    61,    -1,
+      63,    -1,    65,    -1,    -1,    68,    69,    -1,    71,    44,
+      45,    46,    47,    10,    -1,    -1,    -1,    -1,    15,    54,
+      -1,    41,    42,    43,    -1,    60,    61,    -1,    63,    -1,
+      65,    -1,    10,    68,    69,    55,    71,    15,    58,    59,
+      -1,    -1,    -1,    -1,    41,    42,    43,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    55,    56,
+      -1,    58,    59,    41,    42,    43,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    -1,    -1,
+      58,    59
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1131,39 +1137,39 @@ static const yytype_uint8 yystos[] =
        0,    78,     0,     1,     3,     4,     7,     8,    18,    19,
       36,    37,    38,    39,    44,    45,    46,    47,    48,    53,
       54,    60,    61,    63,    65,    68,    69,    71,    79,    83,
-      85,    88,    90,    93,   111,   122,   126,   127,   128,   129,
-     130,   131,   139,   140,    69,     3,    46,    47,    71,    85,
-      86,    87,   132,   140,   140,   140,    69,    69,    71,   127,
-     140,   127,   127,    69,   129,   140,     1,   118,   122,    49,
-      51,    52,   131,    74,    76,    84,    95,   111,   142,   146,
-      72,   136,   137,   138,    84,    91,    53,    10,    15,    41,
-      42,    43,    55,    57,    58,    59,   124,   125,   148,    12,
-     127,    60,    61,    62,    63,    64,    67,    60,    61,    62,
-      63,    64,    67,    13,    14,    44,    45,    54,   123,     1,
-       9,    92,   119,   120,   121,   122,    50,    69,    58,   113,
-     119,   119,   122,    44,    45,   141,     1,    70,   144,   148,
-     144,     1,     6,    80,     1,     6,    81,     1,     6,    82,
-     111,   112,    94,   112,   118,   122,    17,   136,     5,    92,
-     122,   139,   122,   122,   122,   112,   122,   122,    39,   127,
-     127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
-     127,    92,    14,   122,   144,     1,   148,    89,   127,   144,
-     144,   122,    41,     1,   122,     1,    95,     1,    95,     1,
-      95,     1,    20,    22,    23,    24,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    40,    75,    96,    97,    99,
-     106,   110,   122,   142,   143,   146,    73,    56,   132,   121,
-       1,   121,     1,     4,   114,   115,   139,    69,    98,    69,
-      85,    69,    69,   112,    69,    95,    95,    95,   116,   122,
-      95,   112,    95,   100,    94,   145,   146,   112,   122,   144,
-       1,   148,   122,   116,    85,   101,   122,   122,    96,    85,
-      99,   102,    95,    69,   107,   117,   118,   143,   112,   112,
-       1,     4,   144,    95,    70,   133,   134,   135,   136,   144,
-     144,    27,    41,   146,   118,    11,   108,   112,    17,   135,
-     112,   112,    69,   139,   112,   144,   109,    96,   142,    96,
-     122,   144,   122,   146,   126,    21,   103,   144,   112,   146,
-     112,   112,     1,    25,    26,   104,   112,   112,    96,   112,
-     102,    96,     7,     8,    60,    61,    90,    92,   105,    56,
-     147,   143,   102,   144,     7,     7,   147,   112,   144,   112,
-     112,    94,   112,    96,    94,    96
+      87,    89,    92,   110,   121,   125,   126,   127,   128,   129,
+     130,   138,   139,    69,    72,   135,   136,   137,     3,     4,
+      46,    47,    71,    85,    86,   131,   139,   139,   139,    69,
+      69,    71,   126,   139,   126,   126,    69,   128,   139,     1,
+     117,   121,    49,    51,    52,   130,    74,    76,    84,    94,
+     110,   141,   145,    84,    90,    53,    10,    15,    41,    42,
+      43,    55,    57,    58,    59,   123,   124,   147,    12,   126,
+      60,    61,    62,    63,    64,    67,    60,    61,    62,    63,
+      64,    67,    13,    14,    44,    45,    54,   122,     1,     9,
+      91,   118,   119,   120,   121,   117,   121,    17,   135,    50,
+      69,    58,   112,   118,   118,   121,    44,    45,   140,     1,
+      70,   143,   147,   143,     1,     6,    80,     1,     6,    81,
+       1,     6,    82,   110,   111,    93,   111,     5,    91,   121,
+     138,   121,   121,   121,   111,   121,   121,    39,   126,   126,
+     126,   126,   126,   126,   126,   126,   126,   126,   126,   126,
+      91,    14,   121,   143,     1,   147,    73,    88,   126,   143,
+     143,   121,    41,     1,   121,     1,    94,     1,    94,     1,
+      94,     1,    20,    22,    23,    24,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    40,    75,    95,    96,    98,
+     105,   109,   121,   141,   142,   145,    56,   131,   120,     1,
+     120,     1,     4,   113,   114,   138,    69,    97,     4,    69,
+      69,    69,   111,    69,    94,    94,    94,   115,   121,    94,
+     111,    94,    99,    93,   144,   145,   111,   121,   143,     1,
+     147,   121,   115,   100,     4,   121,   121,    95,     4,    98,
+     101,    94,    69,   106,   116,   117,   142,   111,   111,     1,
+       4,   143,    94,   132,   133,   134,   135,    70,   143,   143,
+      27,    41,   145,   117,    11,   107,   111,    17,   134,   111,
+     111,    69,   138,   111,   143,   108,    95,   141,    95,   121,
+     143,   121,   145,   125,    21,   102,   143,   111,   145,   111,
+     111,     1,    25,    26,   103,   111,   111,    95,   111,   101,
+      95,     7,     8,    60,    61,    89,    91,   104,    56,   146,
+     142,   101,   143,     7,     7,   146,   111,   143,   111,   111,
+      93,   111,    95,    93,    95
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1172,24 +1178,24 @@ static const yytype_uint8 yyr1[] =
        0,    77,    78,    78,    78,    78,    78,    79,    79,    79,
       79,    79,    79,    80,    80,    80,    81,    81,    81,    82,
       82,    82,    83,    83,    83,    83,    83,    83,    83,    84,
-      85,    86,    86,    86,    86,    87,    87,    89,    88,    91,
-      90,    92,    93,    93,    94,    94,    94,    95,    95,    96,
-      96,    96,    96,    96,    96,    96,    96,    96,    96,    97,
-      97,    97,    97,    97,    98,    97,    97,   100,    99,   101,
-      99,    99,    99,   102,   102,   103,   103,   103,   104,   104,
-     105,   105,   105,   105,   105,   105,   106,   106,   107,   107,
-     108,   109,   108,   110,   110,   111,   111,   112,   112,   113,
-     113,   114,   114,   115,   115,   115,   115,   115,   116,   116,
-     117,   117,   118,   118,   118,   118,   118,   118,   119,   119,
-     120,   120,   120,   120,   120,   120,   121,   121,   122,   122,
-     122,   122,   122,   122,   122,   122,   122,   122,   123,   123,
-     123,   124,   124,   125,   125,   126,   126,   126,   127,   127,
-     127,   127,   127,   127,   127,   127,   127,   127,   127,   128,
-     128,   128,   128,   128,   128,   128,   129,   129,   129,   129,
-     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
-     130,   130,   131,   132,   132,   133,   133,   134,   134,   135,
-     136,   137,   137,   138,   139,   139,   140,   140,   141,   141,
-     141,   142,   143,   144,   145,   145,   146,   147,   148
+      85,    85,    85,    85,    86,    86,    88,    87,    90,    89,
+      91,    92,    92,    93,    93,    93,    94,    94,    95,    95,
+      95,    95,    95,    95,    95,    95,    95,    95,    96,    96,
+      96,    96,    96,    97,    96,    96,    99,    98,   100,    98,
+      98,    98,   101,   101,   102,   102,   102,   103,   103,   104,
+     104,   104,   104,   104,   104,   105,   105,   106,   106,   107,
+     108,   107,   109,   109,   110,   110,   111,   111,   112,   112,
+     113,   113,   114,   114,   114,   114,   114,   115,   115,   116,
+     116,   117,   117,   117,   117,   117,   117,   118,   118,   119,
+     119,   119,   119,   119,   119,   120,   120,   121,   121,   121,
+     121,   121,   121,   121,   121,   121,   121,   122,   122,   122,
+     123,   123,   124,   124,   125,   125,   125,   126,   126,   126,
+     126,   126,   126,   126,   126,   126,   126,   126,   127,   127,
+     127,   127,   127,   127,   127,   128,   128,   128,   128,   128,
+     128,   128,   128,   128,   128,   128,   128,   128,   128,   129,
+     129,   130,   131,   131,   132,   132,   133,   133,   134,   135,
+     136,   136,   137,   138,   138,   139,   139,   140,   140,   140,
+     141,   142,   143,   144,   144,   145,   146,   147
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1198,24 +1204,24 @@ static const yytype_uint8 yyr2[] =
        0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
        4,     4,     4,     1,     2,     1,     1,     2,     1,     1,
        2,     1,     0,     1,     3,     1,     1,     1,     1,     5,
-       1,     1,     1,     1,     2,     1,     1,     0,     7,     0,
-       3,     1,     1,     1,     0,     2,     2,     1,     2,     2,
-       3,     1,     9,     6,     8,     8,    12,    11,     1,     2,
-       2,     2,     2,     3,     0,     4,     2,     0,     4,     0,
-       4,     4,     1,     0,     1,     0,     2,     2,     5,     4,
-       1,     2,     2,     1,     1,     1,     1,     1,     1,     3,
-       0,     0,     3,     6,     9,     1,     2,     0,     1,     0,
-       2,     0,     1,     1,     3,     1,     2,     3,     0,     1,
-       0,     1,     1,     3,     1,     2,     3,     3,     0,     1,
-       1,     3,     1,     2,     3,     3,     1,     1,     3,     3,
-       3,     3,     3,     3,     3,     3,     5,     1,     1,     1,
-       2,     1,     1,     1,     1,     1,     1,     2,     1,     3,
-       3,     3,     3,     3,     3,     3,     2,     2,     5,     4,
-       3,     3,     3,     3,     3,     3,     1,     2,     3,     4,
-       4,     1,     1,     1,     2,     2,     1,     1,     2,     2,
-       1,     2,     4,     0,     1,     0,     2,     1,     2,     1,
-       3,     1,     2,     2,     1,     2,     1,     3,     1,     1,
-       0,     2,     2,     1,     0,     1,     1,     1,     2
+       1,     1,     1,     2,     1,     1,     0,     7,     0,     3,
+       1,     1,     1,     0,     2,     2,     1,     2,     2,     3,
+       1,     9,     6,     8,     8,    12,    11,     1,     2,     2,
+       2,     2,     3,     0,     4,     2,     0,     4,     0,     4,
+       4,     1,     0,     1,     0,     2,     2,     5,     4,     1,
+       2,     2,     1,     1,     1,     1,     1,     1,     3,     0,
+       0,     3,     6,     9,     1,     2,     0,     1,     0,     2,
+       0,     1,     1,     3,     1,     2,     3,     0,     1,     0,
+       1,     1,     3,     1,     2,     3,     3,     0,     1,     1,
+       3,     1,     2,     3,     3,     1,     1,     3,     3,     3,
+       3,     3,     3,     3,     3,     5,     1,     1,     1,     2,
+       1,     1,     1,     1,     1,     1,     2,     1,     3,     3,
+       3,     3,     3,     3,     3,     2,     2,     5,     4,     3,
+       3,     3,     3,     3,     3,     1,     2,     3,     4,     4,
+       1,     1,     1,     2,     2,     1,     1,     2,     2,     1,
+       2,     4,     0,     1,     0,     2,     1,     2,     1,     3,
+       1,     2,     2,     1,     2,     1,     3,     1,     1,     0,
+       2,     2,     1,     0,     1,     1,     1,     2
 };
 
 
@@ -1894,7 +1900,7 @@ yyreduce:
         case 2:
 #line 231 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 1898 "awkgram.c" /* yacc.c:1645  */
+#line 1904 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 3:
@@ -1903,7 +1909,7 @@ yyreduce:
                rule = 0;
                yyerrok;
          }
-#line 1907 "awkgram.c" /* yacc.c:1645  */
+#line 1913 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 4:
@@ -1917,7 +1923,7 @@ yyreduce:
                }
                (yyval) = (yyvsp[-1]);
          }
-#line 1921 "awkgram.c" /* yacc.c:1645  */
+#line 1927 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 5:
@@ -1925,7 +1931,7 @@ yyreduce:
     {
                next_sourcefile();
          }
-#line 1929 "awkgram.c" /* yacc.c:1645  */
+#line 1935 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 6:
@@ -1938,7 +1944,7 @@ yyreduce:
                 */
                /* yyerrok; */
          }
-#line 1942 "awkgram.c" /* yacc.c:1645  */
+#line 1948 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 7:
@@ -1950,7 +1956,7 @@ yyreduce:
                        pending_comment = NULL;
                }
          }
-#line 1954 "awkgram.c" /* yacc.c:1645  */
+#line 1960 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 8:
@@ -1968,7 +1974,7 @@ yyreduce:
                        (void) append_rule((yyvsp[-1]), NULL);
                }
          }
-#line 1972 "awkgram.c" /* yacc.c:1645  */
+#line 1978 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 9:
@@ -1983,7 +1989,7 @@ yyreduce:
                }
                yyerrok;
          }
-#line 1987 "awkgram.c" /* yacc.c:1645  */
+#line 1993 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 10:
@@ -1997,7 +2003,7 @@ yyreduce:
                }
                yyerrok;
          }
-#line 2001 "awkgram.c" /* yacc.c:1645  */
+#line 2007 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 11:
@@ -2011,7 +2017,7 @@ yyreduce:
                }
                yyerrok;
          }
-#line 2015 "awkgram.c" /* yacc.c:1645  */
+#line 2021 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 12:
@@ -2025,7 +2031,7 @@ yyreduce:
 
                yyerrok;
          }
-#line 2029 "awkgram.c" /* yacc.c:1645  */
+#line 2035 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 13:
@@ -2039,19 +2045,19 @@ yyreduce:
                bcfree((yyvsp[0]));
                (yyval) = (INSTRUCTION *) srcfile;
          }
-#line 2043 "awkgram.c" /* yacc.c:1645  */
+#line 2049 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 14:
 #line 340 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2049 "awkgram.c" /* yacc.c:1645  */
+#line 2055 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 15:
 #line 342 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2055 "awkgram.c" /* yacc.c:1645  */
+#line 2061 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 16:
@@ -2065,37 +2071,37 @@ yyreduce:
                bcfree((yyvsp[0]));
                (yyval) = (INSTRUCTION *) srcfile;
          }
-#line 2069 "awkgram.c" /* yacc.c:1645  */
+#line 2075 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 17:
 #line 357 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2075 "awkgram.c" /* yacc.c:1645  */
+#line 2081 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 18:
 #line 359 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2081 "awkgram.c" /* yacc.c:1645  */
+#line 2087 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 19:
 #line 364 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 2087 "awkgram.c" /* yacc.c:1645  */
+#line 2093 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 20:
 #line 366 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2093 "awkgram.c" /* yacc.c:1645  */
+#line 2099 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 21:
 #line 368 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2099 "awkgram.c" /* yacc.c:1645  */
+#line 2105 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 22:
@@ -2104,7 +2110,7 @@ yyreduce:
                rule = Rule;
                (yyval) = NULL;
          }
-#line 2108 "awkgram.c" /* yacc.c:1645  */
+#line 2114 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 23:
@@ -2112,7 +2118,7 @@ yyreduce:
     {
                rule = Rule;
          }
-#line 2116 "awkgram.c" /* yacc.c:1645  */
+#line 2122 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 24:
@@ -2146,7 +2152,7 @@ yyreduce:
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
-#line 2150 "awkgram.c" /* yacc.c:1645  */
+#line 2156 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 25:
@@ -2162,7 +2168,7 @@ yyreduce:
                (yyvsp[0])->source_file = source;
                (yyval) = (yyvsp[0]);
          }
-#line 2166 "awkgram.c" /* yacc.c:1645  */
+#line 2172 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 26:
@@ -2178,7 +2184,7 @@ yyreduce:
                (yyvsp[0])->source_file = source;
                (yyval) = (yyvsp[0]);
          }
-#line 2182 "awkgram.c" /* yacc.c:1645  */
+#line 2188 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 27:
@@ -2188,7 +2194,7 @@ yyreduce:
                (yyvsp[0])->source_file = source;
                (yyval) = (yyvsp[0]);
          }
-#line 2192 "awkgram.c" /* yacc.c:1645  */
+#line 2198 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 28:
@@ -2198,7 +2204,7 @@ yyreduce:
                (yyvsp[0])->source_file = source;
                (yyval) = (yyvsp[0]);
          }
-#line 2202 "awkgram.c" /* yacc.c:1645  */
+#line 2208 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 29:
@@ -2217,11 +2223,11 @@ yyreduce:
 
                (yyval) = ip;
          }
-#line 2221 "awkgram.c" /* yacc.c:1645  */
+#line 2227 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 30:
-#line 470 "awkgram.y" /* yacc.c:1645  */
+  case 31:
+#line 471 "awkgram.y" /* yacc.c:1645  */
     {
                const char *name = (yyvsp[0])->lextok;
                char *qname = qualify_name(name, strlen(name));
@@ -2232,51 +2238,36 @@ yyreduce:
                }
                (yyval) = (yyvsp[0]);
          }
-#line 2236 "awkgram.c" /* yacc.c:1645  */
+#line 2242 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 32:
-#line 485 "awkgram.y" /* yacc.c:1645  */
-    {
-               const char *name = (yyvsp[0])->lextok;
-               char *qname = qualify_name(name, strlen(name));
-
-               if (qname != name) {
-                       efree((void *)name);
-                       (yyvsp[0])->lextok = qname;
-               }
-               (yyval) = (yyvsp[0]);
-         }
-#line 2251 "awkgram.c" /* yacc.c:1645  */
-    break;
-
-  case 33:
-#line 496 "awkgram.y" /* yacc.c:1645  */
+#line 482 "awkgram.y" /* yacc.c:1645  */
     {
                yyerror(_("`%s' is a built-in function, it cannot be 
redefined"),
                                        tokstart);
                YYABORT;
          }
-#line 2261 "awkgram.c" /* yacc.c:1645  */
+#line 2252 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 34:
-#line 502 "awkgram.y" /* yacc.c:1645  */
+  case 33:
+#line 488 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = (yyvsp[0]);
                at_seen = false;
          }
-#line 2270 "awkgram.c" /* yacc.c:1645  */
+#line 2261 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 37:
-#line 514 "awkgram.y" /* yacc.c:1645  */
+  case 36:
+#line 500 "awkgram.y" /* yacc.c:1645  */
     { want_param_names = FUNC_HEADER; }
-#line 2276 "awkgram.c" /* yacc.c:1645  */
+#line 2267 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 38:
-#line 515 "awkgram.y" /* yacc.c:1645  */
+  case 37:
+#line 501 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *func_comment = NULL;
                // Merge any comments found in the parameter list with those
@@ -2302,17 +2293,17 @@ yyreduce:
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
-#line 2306 "awkgram.c" /* yacc.c:1645  */
+#line 2297 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 39:
-#line 548 "awkgram.y" /* yacc.c:1645  */
+  case 38:
+#line 534 "awkgram.y" /* yacc.c:1645  */
     { want_regexp = true; }
-#line 2312 "awkgram.c" /* yacc.c:1645  */
+#line 2303 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 40:
-#line 550 "awkgram.y" /* yacc.c:1645  */
+  case 39:
+#line 536 "awkgram.y" /* yacc.c:1645  */
     {
                  NODE *n, *exp;
                  char *re;
@@ -2341,11 +2332,11 @@ yyreduce:
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
-#line 2345 "awkgram.c" /* yacc.c:1645  */
+#line 2336 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 41:
-#line 582 "awkgram.y" /* yacc.c:1645  */
+  case 40:
+#line 568 "awkgram.y" /* yacc.c:1645  */
     {
                  char *re;
                  size_t len;
@@ -2358,23 +2349,23 @@ yyreduce:
                  (yyval)->opcode = Op_push_re;
                  (yyval)->memory = make_typed_regex(re, len);
                }
-#line 2362 "awkgram.c" /* yacc.c:1645  */
+#line 2353 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 42:
-#line 597 "awkgram.y" /* yacc.c:1645  */
+  case 41:
+#line 583 "awkgram.y" /* yacc.c:1645  */
     { bcfree((yyvsp[0])); }
-#line 2368 "awkgram.c" /* yacc.c:1645  */
+#line 2359 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 44:
-#line 603 "awkgram.y" /* yacc.c:1645  */
+  case 43:
+#line 589 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 2374 "awkgram.c" /* yacc.c:1645  */
+#line 2365 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 45:
-#line 605 "awkgram.y" /* yacc.c:1645  */
+  case 44:
+#line 591 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0]) == NULL) {
                        (yyval) = (yyvsp[-1]);
@@ -2394,29 +2385,29 @@ yyreduce:
 
                yyerrok;
          }
-#line 2398 "awkgram.c" /* yacc.c:1645  */
+#line 2389 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 46:
-#line 625 "awkgram.y" /* yacc.c:1645  */
+  case 45:
+#line 611 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = NULL; }
-#line 2404 "awkgram.c" /* yacc.c:1645  */
+#line 2395 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 47:
-#line 629 "awkgram.y" /* yacc.c:1645  */
+  case 46:
+#line 615 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 2410 "awkgram.c" /* yacc.c:1645  */
+#line 2401 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 48:
-#line 630 "awkgram.y" /* yacc.c:1645  */
+  case 47:
+#line 616 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 2416 "awkgram.c" /* yacc.c:1645  */
+#line 2407 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 49:
-#line 635 "awkgram.y" /* yacc.c:1645  */
+  case 48:
+#line 621 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0]) != NULL) {
                        INSTRUCTION *ip;
@@ -2427,31 +2418,31 @@ yyreduce:
                } else
                        (yyval) = NULL;
          }
-#line 2431 "awkgram.c" /* yacc.c:1645  */
+#line 2422 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 50:
-#line 646 "awkgram.y" /* yacc.c:1645  */
+  case 49:
+#line 632 "awkgram.y" /* yacc.c:1645  */
     {
                trailing_comment = (yyvsp[0]);  // NULL or comment
                (yyval) = make_braced_statements((yyvsp[-2]), (yyvsp[-1]), 
(yyvsp[0]));
          }
-#line 2440 "awkgram.c" /* yacc.c:1645  */
+#line 2431 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 51:
-#line 651 "awkgram.y" /* yacc.c:1645  */
+  case 50:
+#line 637 "awkgram.y" /* yacc.c:1645  */
     {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
-#line 2451 "awkgram.c" /* yacc.c:1645  */
+#line 2442 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 52:
-#line 658 "awkgram.y" /* yacc.c:1645  */
+  case 51:
+#line 644 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@ -2559,11 +2550,11 @@ yyreduce:
                break_allowed--;
                fix_break_continue(ip, tbreak, NULL);
          }
-#line 2563 "awkgram.c" /* yacc.c:1645  */
+#line 2554 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 53:
-#line 766 "awkgram.y" /* yacc.c:1645  */
+  case 52:
+#line 752 "awkgram.y" /* yacc.c:1645  */
     {
                /*
                 *    -----------------
@@ -2614,11 +2605,11 @@ yyreduce:
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
-#line 2618 "awkgram.c" /* yacc.c:1645  */
+#line 2609 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 54:
-#line 817 "awkgram.y" /* yacc.c:1645  */
+  case 53:
+#line 803 "awkgram.y" /* yacc.c:1645  */
     {
                /*
                 *    -----------------
@@ -2668,11 +2659,11 @@ yyreduce:
                /* else
                        $1 and $4 are NULLs */
          }
-#line 2672 "awkgram.c" /* yacc.c:1645  */
+#line 2663 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 55:
-#line 867 "awkgram.y" /* yacc.c:1645  */
+  case 54:
+#line 853 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[-5])->lextok;
@@ -2798,11 +2789,11 @@ regular_loop:
                break_allowed--;
                continue_allowed--;
          }
-#line 2802 "awkgram.c" /* yacc.c:1645  */
+#line 2793 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 56:
-#line 993 "awkgram.y" /* yacc.c:1645  */
+  case 55:
+#line 979 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-7]) != NULL) {
                        merge_comments((yyvsp[-7]), NULL);
@@ -2823,11 +2814,11 @@ regular_loop:
                break_allowed--;
                continue_allowed--;
          }
-#line 2827 "awkgram.c" /* yacc.c:1645  */
+#line 2818 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 57:
-#line 1014 "awkgram.y" /* yacc.c:1645  */
+  case 56:
+#line 1000 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-6]) != NULL) {
                        merge_comments((yyvsp[-6]), NULL);
@@ -2848,22 +2839,22 @@ regular_loop:
                break_allowed--;
                continue_allowed--;
          }
-#line 2852 "awkgram.c" /* yacc.c:1645  */
+#line 2843 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 58:
-#line 1035 "awkgram.y" /* yacc.c:1645  */
+  case 57:
+#line 1021 "awkgram.y" /* yacc.c:1645  */
     {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
-#line 2863 "awkgram.c" /* yacc.c:1645  */
+#line 2854 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 59:
-#line 1045 "awkgram.y" /* yacc.c:1645  */
+  case 58:
+#line 1031 "awkgram.y" /* yacc.c:1645  */
     {
                if (! break_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@ -2873,11 +2864,11 @@ regular_loop:
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyval), (yyvsp[0]));
          }
-#line 2877 "awkgram.c" /* yacc.c:1645  */
+#line 2868 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 60:
-#line 1055 "awkgram.y" /* yacc.c:1645  */
+  case 59:
+#line 1041 "awkgram.y" /* yacc.c:1645  */
     {
                if (! continue_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@ -2887,11 +2878,11 @@ regular_loop:
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyval), (yyvsp[0]));
          }
-#line 2891 "awkgram.c" /* yacc.c:1645  */
+#line 2882 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 61:
-#line 1065 "awkgram.y" /* yacc.c:1645  */
+  case 60:
+#line 1051 "awkgram.y" /* yacc.c:1645  */
     {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@ -2902,11 +2893,11 @@ regular_loop:
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyval), (yyvsp[0]));
          }
-#line 2906 "awkgram.c" /* yacc.c:1645  */
+#line 2897 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 62:
-#line 1076 "awkgram.y" /* yacc.c:1645  */
+  case 61:
+#line 1062 "awkgram.y" /* yacc.c:1645  */
     {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@ -2919,11 +2910,11 @@ regular_loop:
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyval), (yyvsp[0]));
          }
-#line 2923 "awkgram.c" /* yacc.c:1645  */
+#line 2914 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 63:
-#line 1089 "awkgram.y" /* yacc.c:1645  */
+  case 62:
+#line 1075 "awkgram.y" /* yacc.c:1645  */
     {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time.
@@ -2940,20 +2931,20 @@ regular_loop:
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyval), (yyvsp[0]));
          }
-#line 2944 "awkgram.c" /* yacc.c:1645  */
+#line 2935 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 64:
-#line 1106 "awkgram.y" /* yacc.c:1645  */
+  case 63:
+#line 1092 "awkgram.y" /* yacc.c:1645  */
     {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
-#line 2953 "awkgram.c" /* yacc.c:1645  */
+#line 2944 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 65:
-#line 1109 "awkgram.y" /* yacc.c:1645  */
+  case 64:
+#line 1095 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-1]) == NULL) {
                        (yyval) = list_create((yyvsp[-3]));
@@ -2964,28 +2955,28 @@ regular_loop:
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyval), (yyvsp[0]));
          }
-#line 2968 "awkgram.c" /* yacc.c:1645  */
+#line 2959 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 66:
-#line 1120 "awkgram.y" /* yacc.c:1645  */
+  case 65:
+#line 1106 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0]) != NULL)
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[0]));
                else
                        (yyval) = (yyvsp[-1]);
          }
-#line 2979 "awkgram.c" /* yacc.c:1645  */
+#line 2970 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 67:
-#line 1137 "awkgram.y" /* yacc.c:1645  */
+  case 66:
+#line 1123 "awkgram.y" /* yacc.c:1645  */
     { in_print = true; in_parens = 0; }
-#line 2985 "awkgram.c" /* yacc.c:1645  */
+#line 2976 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 68:
-#line 1138 "awkgram.y" /* yacc.c:1645  */
+  case 67:
+#line 1124 "awkgram.y" /* yacc.c:1645  */
     {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@ -3082,17 +3073,17 @@ regular_print:
                        }
                }
          }
-#line 3086 "awkgram.c" /* yacc.c:1645  */
+#line 3077 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 69:
-#line 1235 "awkgram.y" /* yacc.c:1645  */
+  case 68:
+#line 1221 "awkgram.y" /* yacc.c:1645  */
     { sub_counter = 0; }
-#line 3092 "awkgram.c" /* yacc.c:1645  */
+#line 3083 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 70:
-#line 1236 "awkgram.y" /* yacc.c:1645  */
+  case 69:
+#line 1222 "awkgram.y" /* yacc.c:1645  */
     {
                char *arr = (yyvsp[-2])->lextok;
 
@@ -3125,11 +3116,11 @@ regular_print:
                        (yyval) = list_append(list_append((yyvsp[0]), 
(yyvsp[-2])), (yyvsp[-3]));
                }
          }
-#line 3129 "awkgram.c" /* yacc.c:1645  */
+#line 3120 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 71:
-#line 1273 "awkgram.y" /* yacc.c:1645  */
+  case 70:
+#line 1259 "awkgram.y" /* yacc.c:1645  */
     {
                static bool warned = false;
                char *arr = (yyvsp[-1])->lextok;
@@ -3155,54 +3146,54 @@ regular_print:
                                fatal(_("`delete' is not allowed with 
FUNCTAB"));
                }
          }
-#line 3159 "awkgram.c" /* yacc.c:1645  */
+#line 3150 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 72:
-#line 1299 "awkgram.y" /* yacc.c:1645  */
+  case 71:
+#line 1285 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = optimize_assignment((yyvsp[0]));
          }
-#line 3167 "awkgram.c" /* yacc.c:1645  */
+#line 3158 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 73:
-#line 1306 "awkgram.y" /* yacc.c:1645  */
+  case 72:
+#line 1292 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3173 "awkgram.c" /* yacc.c:1645  */
+#line 3164 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 74:
-#line 1308 "awkgram.y" /* yacc.c:1645  */
+  case 73:
+#line 1294 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3179 "awkgram.c" /* yacc.c:1645  */
+#line 3170 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 75:
-#line 1313 "awkgram.y" /* yacc.c:1645  */
+  case 74:
+#line 1299 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3185 "awkgram.c" /* yacc.c:1645  */
+#line 3176 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 76:
-#line 1315 "awkgram.y" /* yacc.c:1645  */
+  case 75:
+#line 1301 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-1]) == NULL)
                        (yyval) = list_create((yyvsp[0]));
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
-#line 3196 "awkgram.c" /* yacc.c:1645  */
+#line 3187 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 77:
-#line 1322 "awkgram.y" /* yacc.c:1645  */
+  case 76:
+#line 1308 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3202 "awkgram.c" /* yacc.c:1645  */
+#line 3193 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 78:
-#line 1327 "awkgram.y" /* yacc.c:1645  */
+  case 77:
+#line 1313 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@ -3215,11 +3206,11 @@ regular_print:
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
-#line 3219 "awkgram.c" /* yacc.c:1645  */
+#line 3210 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 79:
-#line 1340 "awkgram.y" /* yacc.c:1645  */
+  case 78:
+#line 1326 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@ -3231,17 +3222,17 @@ regular_print:
                (yyvsp[-3])->comment = (yyvsp[-1]);
                (yyval) = (yyvsp[-3]);
          }
-#line 3235 "awkgram.c" /* yacc.c:1645  */
+#line 3226 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 80:
-#line 1355 "awkgram.y" /* yacc.c:1645  */
+  case 79:
+#line 1341 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = (yyvsp[0]); }
-#line 3241 "awkgram.c" /* yacc.c:1645  */
+#line 3232 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 81:
-#line 1357 "awkgram.y" /* yacc.c:1645  */
+  case 80:
+#line 1343 "awkgram.y" /* yacc.c:1645  */
     {
                NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
@@ -3249,28 +3240,28 @@ regular_print:
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
-#line 3253 "awkgram.c" /* yacc.c:1645  */
+#line 3244 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 82:
-#line 1365 "awkgram.y" /* yacc.c:1645  */
+  case 81:
+#line 1351 "awkgram.y" /* yacc.c:1645  */
     {
                NODE *n = (yyvsp[0])->lasti->memory;
                bcfree((yyvsp[-1]));
                add_sign_to_num(n, '+');
                (yyval) = (yyvsp[0]);
          }
-#line 3264 "awkgram.c" /* yacc.c:1645  */
+#line 3255 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 83:
-#line 1372 "awkgram.y" /* yacc.c:1645  */
+  case 82:
+#line 1358 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = (yyvsp[0]); }
-#line 3270 "awkgram.c" /* yacc.c:1645  */
+#line 3261 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 84:
-#line 1374 "awkgram.y" /* yacc.c:1645  */
+  case 83:
+#line 1360 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0])->memory->type == Node_regex)
                        (yyvsp[0])->opcode = Op_push_re;
@@ -3278,57 +3269,57 @@ regular_print:
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
-#line 3282 "awkgram.c" /* yacc.c:1645  */
+#line 3273 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 85:
-#line 1382 "awkgram.y" /* yacc.c:1645  */
+  case 84:
+#line 1368 "awkgram.y" /* yacc.c:1645  */
     {
                assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
                (yyvsp[0])->opcode = Op_push_re;
                (yyval) = (yyvsp[0]);
          }
-#line 3292 "awkgram.c" /* yacc.c:1645  */
+#line 3283 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 86:
-#line 1391 "awkgram.y" /* yacc.c:1645  */
+  case 85:
+#line 1377 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3298 "awkgram.c" /* yacc.c:1645  */
+#line 3289 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 87:
-#line 1393 "awkgram.y" /* yacc.c:1645  */
+  case 86:
+#line 1379 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3304 "awkgram.c" /* yacc.c:1645  */
+#line 3295 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 89:
-#line 1403 "awkgram.y" /* yacc.c:1645  */
+  case 88:
+#line 1389 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = (yyvsp[-1]);
          }
-#line 3312 "awkgram.c" /* yacc.c:1645  */
+#line 3303 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 90:
-#line 1410 "awkgram.y" /* yacc.c:1645  */
+  case 89:
+#line 1396 "awkgram.y" /* yacc.c:1645  */
     {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
-#line 3322 "awkgram.c" /* yacc.c:1645  */
+#line 3313 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 91:
-#line 1415 "awkgram.y" /* yacc.c:1645  */
+  case 90:
+#line 1401 "awkgram.y" /* yacc.c:1645  */
     { in_print = false; in_parens = 0; }
-#line 3328 "awkgram.c" /* yacc.c:1645  */
+#line 3319 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 92:
-#line 1416 "awkgram.y" /* yacc.c:1645  */
+  case 91:
+#line 1402 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-2])->redir_type == redirect_twoway
                        && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@ -3338,21 +3329,21 @@ regular_print:
                        lintwarn(_("concatenation as I/O `>' redirection target 
is ambiguous"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
-#line 3342 "awkgram.c" /* yacc.c:1645  */
+#line 3333 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 93:
-#line 1429 "awkgram.y" /* yacc.c:1645  */
+  case 92:
+#line 1415 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-1]) != NULL)
                        (yyvsp[-5])->comment = (yyvsp[-1]);
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
-#line 3352 "awkgram.c" /* yacc.c:1645  */
+#line 3343 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 94:
-#line 1436 "awkgram.y" /* yacc.c:1645  */
+  case 93:
+#line 1422 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-4]) != NULL)
                        (yyvsp[-8])->comment = (yyvsp[-4]);
@@ -3360,19 +3351,19 @@ regular_print:
                        (yyvsp[-2])->comment = (yyvsp[-1]);
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
-#line 3364 "awkgram.c" /* yacc.c:1645  */
+#line 3355 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 95:
-#line 1447 "awkgram.y" /* yacc.c:1645  */
+  case 94:
+#line 1433 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = (yyvsp[0]);
          }
-#line 3372 "awkgram.c" /* yacc.c:1645  */
+#line 3363 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 96:
-#line 1451 "awkgram.y" /* yacc.c:1645  */
+  case 95:
+#line 1437 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-1]) != NULL && (yyvsp[0]) != NULL) {
                        if ((yyvsp[-1])->memory->comment_type == EOL_COMMENT) {
@@ -3390,59 +3381,59 @@ regular_print:
                } else
                        (yyval) = NULL;
          }
-#line 3394 "awkgram.c" /* yacc.c:1645  */
+#line 3385 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 97:
-#line 1472 "awkgram.y" /* yacc.c:1645  */
+  case 96:
+#line 1458 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3400 "awkgram.c" /* yacc.c:1645  */
+#line 3391 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 98:
-#line 1474 "awkgram.y" /* yacc.c:1645  */
+  case 97:
+#line 1460 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3406 "awkgram.c" /* yacc.c:1645  */
+#line 3397 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 99:
-#line 1479 "awkgram.y" /* yacc.c:1645  */
+  case 98:
+#line 1465 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3412 "awkgram.c" /* yacc.c:1645  */
+#line 3403 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 100:
-#line 1481 "awkgram.y" /* yacc.c:1645  */
+  case 99:
+#line 1467 "awkgram.y" /* yacc.c:1645  */
     {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
-#line 3421 "awkgram.c" /* yacc.c:1645  */
+#line 3412 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 101:
-#line 1489 "awkgram.y" /* yacc.c:1645  */
+  case 100:
+#line 1475 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3427 "awkgram.c" /* yacc.c:1645  */
+#line 3418 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 102:
-#line 1491 "awkgram.y" /* yacc.c:1645  */
+  case 101:
+#line 1477 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3433 "awkgram.c" /* yacc.c:1645  */
+#line 3424 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 103:
-#line 1496 "awkgram.y" /* yacc.c:1645  */
+  case 102:
+#line 1482 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
-#line 3442 "awkgram.c" /* yacc.c:1645  */
+#line 3433 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 104:
-#line 1501 "awkgram.y" /* yacc.c:1645  */
+  case 103:
+#line 1487 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
                        (yyvsp[0])->param_count = 
(yyvsp[-2])->lasti->param_count + 1;
@@ -3459,76 +3450,76 @@ regular_print:
                } else
                        (yyval) = NULL;
          }
-#line 3463 "awkgram.c" /* yacc.c:1645  */
+#line 3454 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 105:
-#line 1518 "awkgram.y" /* yacc.c:1645  */
+  case 104:
+#line 1504 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3469 "awkgram.c" /* yacc.c:1645  */
+#line 3460 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 106:
-#line 1520 "awkgram.y" /* yacc.c:1645  */
+  case 105:
+#line 1506 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[-1]); }
-#line 3475 "awkgram.c" /* yacc.c:1645  */
+#line 3466 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 107:
-#line 1522 "awkgram.y" /* yacc.c:1645  */
+  case 106:
+#line 1508 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[-2]); }
-#line 3481 "awkgram.c" /* yacc.c:1645  */
+#line 3472 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 108:
-#line 1528 "awkgram.y" /* yacc.c:1645  */
+  case 107:
+#line 1514 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3487 "awkgram.c" /* yacc.c:1645  */
+#line 3478 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 109:
-#line 1530 "awkgram.y" /* yacc.c:1645  */
+  case 108:
+#line 1516 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3493 "awkgram.c" /* yacc.c:1645  */
+#line 3484 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 110:
-#line 1535 "awkgram.y" /* yacc.c:1645  */
+  case 109:
+#line 1521 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3499 "awkgram.c" /* yacc.c:1645  */
+#line 3490 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 111:
-#line 1537 "awkgram.y" /* yacc.c:1645  */
+  case 110:
+#line 1523 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3505 "awkgram.c" /* yacc.c:1645  */
+#line 3496 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 112:
-#line 1542 "awkgram.y" /* yacc.c:1645  */
+  case 111:
+#line 1528 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3511 "awkgram.c" /* yacc.c:1645  */
+#line 3502 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 113:
-#line 1544 "awkgram.y" /* yacc.c:1645  */
+  case 112:
+#line 1530 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-1]) != NULL)
                        (yyvsp[-2])->lasti->comment = (yyvsp[-1]);
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
-#line 3522 "awkgram.c" /* yacc.c:1645  */
+#line 3513 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 114:
-#line 1551 "awkgram.y" /* yacc.c:1645  */
+  case 113:
+#line 1537 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3528 "awkgram.c" /* yacc.c:1645  */
+#line 3519 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 115:
-#line 1553 "awkgram.y" /* yacc.c:1645  */
+  case 114:
+#line 1539 "awkgram.y" /* yacc.c:1645  */
     {
                /*
                 * Returning the expression list instead of NULL lets
@@ -3536,66 +3527,66 @@ regular_print:
                 */
                (yyval) = (yyvsp[-1]);
          }
-#line 3540 "awkgram.c" /* yacc.c:1645  */
+#line 3531 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 116:
-#line 1561 "awkgram.y" /* yacc.c:1645  */
+  case 115:
+#line 1547 "awkgram.y" /* yacc.c:1645  */
     {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
-#line 3549 "awkgram.c" /* yacc.c:1645  */
+#line 3540 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 117:
-#line 1566 "awkgram.y" /* yacc.c:1645  */
+  case 116:
+#line 1552 "awkgram.y" /* yacc.c:1645  */
     {
                /* Ditto */
                if ((yyvsp[-1]) != NULL)
                        (yyvsp[-2])->lasti->comment = (yyvsp[-1]);
                (yyval) = (yyvsp[-2]);
          }
-#line 3560 "awkgram.c" /* yacc.c:1645  */
+#line 3551 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 118:
-#line 1576 "awkgram.y" /* yacc.c:1645  */
+  case 117:
+#line 1562 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3566 "awkgram.c" /* yacc.c:1645  */
+#line 3557 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 119:
-#line 1578 "awkgram.y" /* yacc.c:1645  */
+  case 118:
+#line 1564 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3572 "awkgram.c" /* yacc.c:1645  */
+#line 3563 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 120:
-#line 1583 "awkgram.y" /* yacc.c:1645  */
+  case 119:
+#line 1569 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3578 "awkgram.c" /* yacc.c:1645  */
+#line 3569 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 121:
-#line 1585 "awkgram.y" /* yacc.c:1645  */
+  case 120:
+#line 1571 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-1]) != NULL)
                        (yyvsp[-2])->lasti->comment = (yyvsp[-1]);
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
-#line 3589 "awkgram.c" /* yacc.c:1645  */
+#line 3580 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 122:
-#line 1592 "awkgram.y" /* yacc.c:1645  */
+  case 121:
+#line 1578 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 3595 "awkgram.c" /* yacc.c:1645  */
+#line 3586 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 123:
-#line 1594 "awkgram.y" /* yacc.c:1645  */
+  case 122:
+#line 1580 "awkgram.y" /* yacc.c:1645  */
     {
                /*
                 * Returning the expression list instead of NULL lets
@@ -3603,74 +3594,74 @@ regular_print:
                 */
                (yyval) = (yyvsp[-1]);
          }
-#line 3607 "awkgram.c" /* yacc.c:1645  */
+#line 3598 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 124:
-#line 1602 "awkgram.y" /* yacc.c:1645  */
+  case 123:
+#line 1588 "awkgram.y" /* yacc.c:1645  */
     {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
-#line 3616 "awkgram.c" /* yacc.c:1645  */
+#line 3607 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 125:
-#line 1607 "awkgram.y" /* yacc.c:1645  */
+  case 124:
+#line 1593 "awkgram.y" /* yacc.c:1645  */
     {
                /* Ditto */
                if ((yyvsp[-1]) != NULL)
                        (yyvsp[-2])->comment = (yyvsp[-1]);
                (yyval) = (yyvsp[-2]);
          }
-#line 3627 "awkgram.c" /* yacc.c:1645  */
+#line 3618 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 126:
-#line 1616 "awkgram.y" /* yacc.c:1645  */
+  case 125:
+#line 1602 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3633 "awkgram.c" /* yacc.c:1645  */
+#line 3624 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 127:
-#line 1617 "awkgram.y" /* yacc.c:1645  */
+  case 126:
+#line 1603 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = list_create((yyvsp[0])); }
-#line 3639 "awkgram.c" /* yacc.c:1645  */
+#line 3630 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 128:
-#line 1623 "awkgram.y" /* yacc.c:1645  */
+  case 127:
+#line 1609 "awkgram.y" /* yacc.c:1645  */
     {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of assignment"));
                (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
-#line 3650 "awkgram.c" /* yacc.c:1645  */
+#line 3641 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 129:
-#line 1630 "awkgram.y" /* yacc.c:1645  */
+  case 128:
+#line 1616 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), 
(yyvsp[-1]));
          }
-#line 3658 "awkgram.c" /* yacc.c:1645  */
+#line 3649 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 130:
-#line 1634 "awkgram.y" /* yacc.c:1645  */
+  case 129:
+#line 1620 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3664 "awkgram.c" /* yacc.c:1645  */
+#line 3655 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 131:
-#line 1636 "awkgram.y" /* yacc.c:1645  */
+  case 130:
+#line 1622 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3670 "awkgram.c" /* yacc.c:1645  */
+#line 3661 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 132:
-#line 1638 "awkgram.y" /* yacc.c:1645  */
+  case 131:
+#line 1624 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@ -3683,11 +3674,11 @@ regular_print:
                bcfree((yyvsp[0]));
                (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
          }
-#line 3687 "awkgram.c" /* yacc.c:1645  */
+#line 3678 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 133:
-#line 1651 "awkgram.y" /* yacc.c:1645  */
+  case 132:
+#line 1637 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@ -3704,11 +3695,11 @@ regular_print:
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
-#line 3708 "awkgram.c" /* yacc.c:1645  */
+#line 3699 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 134:
-#line 1668 "awkgram.y" /* yacc.c:1645  */
+  case 133:
+#line 1654 "awkgram.y" /* yacc.c:1645  */
     {
                if (do_lint_old)
                        warning_ln((yyvsp[-1])->source_line,
@@ -3718,91 +3709,91 @@ regular_print:
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
-#line 3722 "awkgram.c" /* yacc.c:1645  */
+#line 3713 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 135:
-#line 1678 "awkgram.y" /* yacc.c:1645  */
+  case 134:
+#line 1664 "awkgram.y" /* yacc.c:1645  */
     {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of comparison"));
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
-#line 3733 "awkgram.c" /* yacc.c:1645  */
+#line 3724 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 136:
-#line 1685 "awkgram.y" /* yacc.c:1645  */
+  case 135:
+#line 1671 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
-#line 3739 "awkgram.c" /* yacc.c:1645  */
+#line 3730 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 137:
-#line 1687 "awkgram.y" /* yacc.c:1645  */
+  case 136:
+#line 1673 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3745 "awkgram.c" /* yacc.c:1645  */
+#line 3736 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 138:
-#line 1692 "awkgram.y" /* yacc.c:1645  */
+  case 137:
+#line 1678 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3751 "awkgram.c" /* yacc.c:1645  */
+#line 3742 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 139:
-#line 1694 "awkgram.y" /* yacc.c:1645  */
+  case 138:
+#line 1680 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3757 "awkgram.c" /* yacc.c:1645  */
+#line 3748 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 140:
-#line 1696 "awkgram.y" /* yacc.c:1645  */
+  case 139:
+#line 1682 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
-#line 3766 "awkgram.c" /* yacc.c:1645  */
+#line 3757 "awkgram.c" /* yacc.c:1645  */
+    break;
+
+  case 140:
+#line 1690 "awkgram.y" /* yacc.c:1645  */
+    { (yyval) = (yyvsp[0]); }
+#line 3763 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 141:
-#line 1704 "awkgram.y" /* yacc.c:1645  */
+#line 1692 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3772 "awkgram.c" /* yacc.c:1645  */
+#line 3769 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 142:
-#line 1706 "awkgram.y" /* yacc.c:1645  */
+#line 1697 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3778 "awkgram.c" /* yacc.c:1645  */
+#line 3775 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 143:
-#line 1711 "awkgram.y" /* yacc.c:1645  */
+#line 1699 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3784 "awkgram.c" /* yacc.c:1645  */
+#line 3781 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 144:
-#line 1713 "awkgram.y" /* yacc.c:1645  */
+#line 1704 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3790 "awkgram.c" /* yacc.c:1645  */
+#line 3787 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 145:
-#line 1718 "awkgram.y" /* yacc.c:1645  */
+#line 1706 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 3796 "awkgram.c" /* yacc.c:1645  */
+#line 3793 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 146:
-#line 1720 "awkgram.y" /* yacc.c:1645  */
-    { (yyval) = (yyvsp[0]); }
-#line 3802 "awkgram.c" /* yacc.c:1645  */
-    break;
-
-  case 147:
-#line 1722 "awkgram.y" /* yacc.c:1645  */
+#line 1708 "awkgram.y" /* yacc.c:1645  */
     {
                int count = 2;
                bool is_simple_var = false;
@@ -3856,47 +3847,47 @@ regular_print:
                                max_args = count;
                }
          }
-#line 3860 "awkgram.c" /* yacc.c:1645  */
+#line 3851 "awkgram.c" /* yacc.c:1645  */
+    break;
+
+  case 148:
+#line 1767 "awkgram.y" /* yacc.c:1645  */
+    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3857 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 149:
-#line 1781 "awkgram.y" /* yacc.c:1645  */
+#line 1769 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3866 "awkgram.c" /* yacc.c:1645  */
+#line 3863 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 150:
-#line 1783 "awkgram.y" /* yacc.c:1645  */
+#line 1771 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3872 "awkgram.c" /* yacc.c:1645  */
+#line 3869 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 151:
-#line 1785 "awkgram.y" /* yacc.c:1645  */
+#line 1773 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3878 "awkgram.c" /* yacc.c:1645  */
+#line 3875 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 152:
-#line 1787 "awkgram.y" /* yacc.c:1645  */
+#line 1775 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3884 "awkgram.c" /* yacc.c:1645  */
+#line 3881 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 153:
-#line 1789 "awkgram.y" /* yacc.c:1645  */
+#line 1777 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3890 "awkgram.c" /* yacc.c:1645  */
+#line 3887 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 154:
-#line 1791 "awkgram.y" /* yacc.c:1645  */
-    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3896 "awkgram.c" /* yacc.c:1645  */
-    break;
-
-  case 155:
-#line 1793 "awkgram.y" /* yacc.c:1645  */
+#line 1779 "awkgram.y" /* yacc.c:1645  */
     {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@ -3910,29 +3901,29 @@ regular_print:
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
-#line 3914 "awkgram.c" /* yacc.c:1645  */
+#line 3905 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 156:
-#line 1807 "awkgram.y" /* yacc.c:1645  */
+  case 155:
+#line 1793 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
-#line 3923 "awkgram.c" /* yacc.c:1645  */
+#line 3914 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 157:
-#line 1812 "awkgram.y" /* yacc.c:1645  */
+  case 156:
+#line 1798 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
-#line 3932 "awkgram.c" /* yacc.c:1645  */
+#line 3923 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 158:
-#line 1817 "awkgram.y" /* yacc.c:1645  */
+  case 157:
+#line 1803 "awkgram.y" /* yacc.c:1645  */
     {
                if (do_lint_old) {
                    warning_ln((yyvsp[-1])->source_line,
@@ -3952,64 +3943,64 @@ regular_print:
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
-#line 3956 "awkgram.c" /* yacc.c:1645  */
+#line 3947 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 159:
-#line 1842 "awkgram.y" /* yacc.c:1645  */
+  case 158:
+#line 1828 "awkgram.y" /* yacc.c:1645  */
     {
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
-#line 3965 "awkgram.c" /* yacc.c:1645  */
+#line 3956 "awkgram.c" /* yacc.c:1645  */
+    break;
+
+  case 159:
+#line 1834 "awkgram.y" /* yacc.c:1645  */
+    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3962 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 160:
-#line 1848 "awkgram.y" /* yacc.c:1645  */
+#line 1836 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3971 "awkgram.c" /* yacc.c:1645  */
+#line 3968 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 161:
-#line 1850 "awkgram.y" /* yacc.c:1645  */
+#line 1838 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3977 "awkgram.c" /* yacc.c:1645  */
+#line 3974 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 162:
-#line 1852 "awkgram.y" /* yacc.c:1645  */
+#line 1840 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3983 "awkgram.c" /* yacc.c:1645  */
+#line 3980 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 163:
-#line 1854 "awkgram.y" /* yacc.c:1645  */
+#line 1842 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3989 "awkgram.c" /* yacc.c:1645  */
+#line 3986 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 164:
-#line 1856 "awkgram.y" /* yacc.c:1645  */
+#line 1844 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3995 "awkgram.c" /* yacc.c:1645  */
+#line 3992 "awkgram.c" /* yacc.c:1645  */
     break;
 
   case 165:
-#line 1858 "awkgram.y" /* yacc.c:1645  */
-    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 4001 "awkgram.c" /* yacc.c:1645  */
-    break;
-
-  case 166:
-#line 1863 "awkgram.y" /* yacc.c:1645  */
+#line 1849 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = list_create((yyvsp[0]));
          }
-#line 4009 "awkgram.c" /* yacc.c:1645  */
+#line 4000 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 167:
-#line 1867 "awkgram.y" /* yacc.c:1645  */
+  case 166:
+#line 1853 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0])->opcode == Op_match_rec) {
                        (yyvsp[0])->opcode = Op_nomatch;
@@ -4041,11 +4032,11 @@ regular_print:
                        }
                }
           }
-#line 4045 "awkgram.c" /* yacc.c:1645  */
+#line 4036 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 168:
-#line 1899 "awkgram.y" /* yacc.c:1645  */
+  case 167:
+#line 1885 "awkgram.y" /* yacc.c:1645  */
     {
                // Always include. Allows us to lint warn on
                // print "foo" > "bar" 1
@@ -4053,31 +4044,31 @@ regular_print:
                // print "foo" > ("bar" 1)
                (yyval) = list_append((yyvsp[-1]), bcalloc(Op_parens, 1, 
sourceline));
          }
-#line 4057 "awkgram.c" /* yacc.c:1645  */
+#line 4048 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 169:
-#line 1907 "awkgram.y" /* yacc.c:1645  */
+  case 168:
+#line 1893 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
-#line 4067 "awkgram.c" /* yacc.c:1645  */
+#line 4058 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 170:
-#line 1913 "awkgram.y" /* yacc.c:1645  */
+  case 169:
+#line 1899 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
-#line 4077 "awkgram.c" /* yacc.c:1645  */
+#line 4068 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 171:
-#line 1919 "awkgram.y" /* yacc.c:1645  */
+  case 170:
+#line 1905 "awkgram.y" /* yacc.c:1645  */
     {
                static bool warned = false;
 
@@ -4090,45 +4081,45 @@ regular_print:
                if ((yyval) == NULL)
                        YYABORT;
          }
-#line 4094 "awkgram.c" /* yacc.c:1645  */
+#line 4085 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 174:
-#line 1934 "awkgram.y" /* yacc.c:1645  */
+  case 173:
+#line 1920 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
-#line 4103 "awkgram.c" /* yacc.c:1645  */
+#line 4094 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 175:
-#line 1939 "awkgram.y" /* yacc.c:1645  */
+  case 174:
+#line 1925 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
-#line 4112 "awkgram.c" /* yacc.c:1645  */
+#line 4103 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 176:
-#line 1944 "awkgram.y" /* yacc.c:1645  */
+  case 175:
+#line 1930 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = list_create((yyvsp[0]));
          }
-#line 4120 "awkgram.c" /* yacc.c:1645  */
+#line 4111 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 177:
-#line 1948 "awkgram.y" /* yacc.c:1645  */
+  case 176:
+#line 1934 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = list_create((yyvsp[0]));
          }
-#line 4128 "awkgram.c" /* yacc.c:1645  */
+#line 4119 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 178:
-#line 1952 "awkgram.y" /* yacc.c:1645  */
+  case 177:
+#line 1938 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -4143,11 +4134,11 @@ regular_print:
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
-#line 4147 "awkgram.c" /* yacc.c:1645  */
+#line 4138 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 179:
-#line 1967 "awkgram.y" /* yacc.c:1645  */
+  case 178:
+#line 1953 "awkgram.y" /* yacc.c:1645  */
     {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -4165,20 +4156,20 @@ regular_print:
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
-#line 4169 "awkgram.c" /* yacc.c:1645  */
+#line 4160 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 180:
-#line 1988 "awkgram.y" /* yacc.c:1645  */
+  case 179:
+#line 1974 "awkgram.y" /* yacc.c:1645  */
     {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
-#line 4178 "awkgram.c" /* yacc.c:1645  */
+#line 4169 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 181:
-#line 1993 "awkgram.y" /* yacc.c:1645  */
+  case 180:
+#line 1979 "awkgram.y" /* yacc.c:1645  */
     {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@ -4212,11 +4203,11 @@ regular_print:
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
-#line 4216 "awkgram.c" /* yacc.c:1645  */
+#line 4207 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 182:
-#line 2030 "awkgram.y" /* yacc.c:1645  */
+  case 181:
+#line 2016 "awkgram.y" /* yacc.c:1645  */
     {
                NODE *n;
                char *name = (yyvsp[-3])->func_name;
@@ -4249,49 +4240,49 @@ regular_print:
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
-#line 4253 "awkgram.c" /* yacc.c:1645  */
+#line 4244 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 183:
-#line 2066 "awkgram.y" /* yacc.c:1645  */
+  case 182:
+#line 2052 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 4259 "awkgram.c" /* yacc.c:1645  */
+#line 4250 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 184:
-#line 2068 "awkgram.y" /* yacc.c:1645  */
+  case 183:
+#line 2054 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 4265 "awkgram.c" /* yacc.c:1645  */
+#line 4256 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 185:
-#line 2073 "awkgram.y" /* yacc.c:1645  */
+  case 184:
+#line 2059 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 4271 "awkgram.c" /* yacc.c:1645  */
+#line 4262 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 186:
-#line 2075 "awkgram.y" /* yacc.c:1645  */
+  case 185:
+#line 2061 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[-1]); }
-#line 4277 "awkgram.c" /* yacc.c:1645  */
+#line 4268 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 187:
-#line 2080 "awkgram.y" /* yacc.c:1645  */
+  case 186:
+#line 2066 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = (yyvsp[0]); }
-#line 4283 "awkgram.c" /* yacc.c:1645  */
+#line 4274 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 188:
-#line 2082 "awkgram.y" /* yacc.c:1645  */
+  case 187:
+#line 2068 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
-#line 4291 "awkgram.c" /* yacc.c:1645  */
+#line 4282 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 189:
-#line 2089 "awkgram.y" /* yacc.c:1645  */
+  case 188:
+#line 2075 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *ip = (yyvsp[0])->lasti;
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@ -4305,11 +4296,11 @@ regular_print:
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
-#line 4309 "awkgram.c" /* yacc.c:1645  */
+#line 4300 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 190:
-#line 2106 "awkgram.y" /* yacc.c:1645  */
+  case 189:
+#line 2092 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@ -4323,41 +4314,41 @@ regular_print:
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
-#line 4327 "awkgram.c" /* yacc.c:1645  */
+#line 4318 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 191:
-#line 2123 "awkgram.y" /* yacc.c:1645  */
+  case 190:
+#line 2109 "awkgram.y" /* yacc.c:1645  */
     {  (yyval) = (yyvsp[0]); }
-#line 4333 "awkgram.c" /* yacc.c:1645  */
+#line 4324 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 192:
-#line 2125 "awkgram.y" /* yacc.c:1645  */
+  case 191:
+#line 2111 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
-#line 4341 "awkgram.c" /* yacc.c:1645  */
+#line 4332 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 193:
-#line 2132 "awkgram.y" /* yacc.c:1645  */
+  case 192:
+#line 2118 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[-1]); }
-#line 4347 "awkgram.c" /* yacc.c:1645  */
+#line 4338 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 194:
-#line 2137 "awkgram.y" /* yacc.c:1645  */
+  case 193:
+#line 2123 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->opcode = Op_push;
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
(yyvsp[0])->lextok, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
-#line 4357 "awkgram.c" /* yacc.c:1645  */
+#line 4348 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 195:
-#line 2143 "awkgram.y" /* yacc.c:1645  */
+  case 194:
+#line 2129 "awkgram.y" /* yacc.c:1645  */
     {
                char *arr = (yyvsp[-1])->lextok;
 
@@ -4365,11 +4356,11 @@ regular_print:
                (yyvsp[-1])->opcode = Op_push_array;
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-1]));
          }
-#line 4369 "awkgram.c" /* yacc.c:1645  */
+#line 4360 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 196:
-#line 2154 "awkgram.y" /* yacc.c:1645  */
+  case 195:
+#line 2140 "awkgram.y" /* yacc.c:1645  */
     {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@ -4381,85 +4372,85 @@ regular_print:
                } else
                        (yyval) = (yyvsp[0]);
          }
-#line 4385 "awkgram.c" /* yacc.c:1645  */
+#line 4376 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 197:
-#line 2166 "awkgram.y" /* yacc.c:1645  */
+  case 196:
+#line 2152 "awkgram.y" /* yacc.c:1645  */
     {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
-#line 4395 "awkgram.c" /* yacc.c:1645  */
+#line 4386 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 198:
-#line 2175 "awkgram.y" /* yacc.c:1645  */
+  case 197:
+#line 2161 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->opcode = Op_postincrement;
          }
-#line 4403 "awkgram.c" /* yacc.c:1645  */
+#line 4394 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 199:
-#line 2179 "awkgram.y" /* yacc.c:1645  */
+  case 198:
+#line 2165 "awkgram.y" /* yacc.c:1645  */
     {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
-#line 4411 "awkgram.c" /* yacc.c:1645  */
+#line 4402 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 200:
-#line 2183 "awkgram.y" /* yacc.c:1645  */
+  case 199:
+#line 2169 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 4417 "awkgram.c" /* yacc.c:1645  */
+#line 4408 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 201:
-#line 2187 "awkgram.y" /* yacc.c:1645  */
+  case 200:
+#line 2173 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); }
-#line 4423 "awkgram.c" /* yacc.c:1645  */
+#line 4414 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 202:
-#line 2191 "awkgram.y" /* yacc.c:1645  */
+  case 201:
+#line 2177 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); yyerrok; }
-#line 4429 "awkgram.c" /* yacc.c:1645  */
+#line 4420 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 203:
-#line 2195 "awkgram.y" /* yacc.c:1645  */
+  case 202:
+#line 2181 "awkgram.y" /* yacc.c:1645  */
     { yyerrok; }
-#line 4435 "awkgram.c" /* yacc.c:1645  */
+#line 4426 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 204:
-#line 2200 "awkgram.y" /* yacc.c:1645  */
+  case 203:
+#line 2186 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = NULL; }
-#line 4441 "awkgram.c" /* yacc.c:1645  */
+#line 4432 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 206:
-#line 2205 "awkgram.y" /* yacc.c:1645  */
+  case 205:
+#line 2191 "awkgram.y" /* yacc.c:1645  */
     { yyerrok; }
-#line 4447 "awkgram.c" /* yacc.c:1645  */
+#line 4438 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 207:
-#line 2209 "awkgram.y" /* yacc.c:1645  */
+  case 206:
+#line 2195 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); yyerrok; }
-#line 4453 "awkgram.c" /* yacc.c:1645  */
+#line 4444 "awkgram.c" /* yacc.c:1645  */
     break;
 
-  case 208:
-#line 2213 "awkgram.y" /* yacc.c:1645  */
+  case 207:
+#line 2199 "awkgram.y" /* yacc.c:1645  */
     { (yyval) = (yyvsp[0]); yyerrok; }
-#line 4459 "awkgram.c" /* yacc.c:1645  */
+#line 4450 "awkgram.c" /* yacc.c:1645  */
     break;
 
 
-#line 4463 "awkgram.c" /* yacc.c:1645  */
+#line 4454 "awkgram.c" /* yacc.c:1645  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -4686,7 +4677,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 2215 "awkgram.y" /* yacc.c:1903  */
+#line 2201 "awkgram.y" /* yacc.c:1903  */
 
 
 struct token {
@@ -6948,7 +6939,11 @@ make_instruction:
                return lasttok = class;
        }
 out:
-       tokkey = estrdup(tokstart, tok - tokstart - 1);
+       if (want_param_names == FUNC_HEADER)
+               tokkey = estrdup(tokstart, tok - tokstart - 1);
+       else
+               tokkey = qualify_name(tokstart, tok - tokstart - 1);
+
        if (*lexptr == '(') {
                yylval = bcalloc(Op_token, 2, sourceline);
                yylval->lextok = tokkey;
@@ -9323,11 +9318,11 @@ static char *
 qualify_name(const char *name, size_t len)
 {
        if (strchr(name, ':') != NULL)  // already qualified
-               return (char *) name;
+               return estrdup(name, len);
 
        NODE *p = lookup(name);
        if (p != NULL && p->type == Node_param_list)
-               return (char *) name;
+               return estrdup(name, len);
 
        if (current_namespace != awk_namespace && ! is_all_upper(name)) {
                size_t length = strlen(current_namespace) + 2 + len + 1;
@@ -9339,5 +9334,5 @@ qualify_name(const char *name, size_t len)
                return buf;
        }
 
-       return (char *) name;
+       return estrdup(name, len);
 }
diff --git a/awkgram.y b/awkgram.y
index d27c83a..415b894 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -465,22 +465,8 @@ action
          }
        ;
 
-qualified_name
-       : NAME
-         {
-               const char *name = $1->lextok;
-               char *qname = qualify_name(name, strlen(name));
-
-               if (qname != name) {
-                       efree((void *)name);
-                       $1->lextok = qname;
-               }
-               $$ = $1;
-         }
-       ;
-
 func_name
-       : qualified_name
+       : NAME
        | FUNC_CALL
          {
                const char *name = $1->lextok;
@@ -863,7 +849,7 @@ statement
                /* else
                        $1 and $4 are NULLs */
          }
-       | LEX_FOR '(' qualified_name LEX_IN simple_variable r_paren opt_nls 
statement
+       | LEX_FOR '(' NAME LEX_IN simple_variable r_paren opt_nls statement
          {
                INSTRUCTION *ip;
                char *var_name = $3->lextok;
@@ -1232,7 +1218,7 @@ regular_print:
                }
          }
 
-       | LEX_DELETE qualified_name { sub_counter = 0; } delete_subscript_list
+       | LEX_DELETE NAME { sub_counter = 0; } delete_subscript_list
          {
                char *arr = $2->lextok;
 
@@ -1265,7 +1251,7 @@ regular_print:
                        $$ = list_append(list_append($4, $2), $1);
                }
          }
-       | LEX_DELETE '(' qualified_name ')'
+       | LEX_DELETE '(' NAME ')'
                  /*
                   * this is for tawk compatibility. maybe the warnings
                   * should always be done.
@@ -2133,13 +2119,13 @@ subscript_list
        ;
 
 simple_variable
-       : qualified_name
+       : NAME
          {
                $1->opcode = Op_push;
                $1->memory = variable($1->source_line, $1->lextok, 
Node_var_new);
                $$ = list_create($1);
          }
-       | qualified_name subscript_list
+       | NAME subscript_list
          {
                char *arr = $1->lextok;
 
@@ -4473,7 +4459,11 @@ make_instruction:
                return lasttok = class;
        }
 out:
-       tokkey = estrdup(tokstart, tok - tokstart - 1);
+       if (want_param_names == FUNC_HEADER)
+               tokkey = estrdup(tokstart, tok - tokstart - 1);
+       else
+               tokkey = qualify_name(tokstart, tok - tokstart - 1);
+
        if (*lexptr == '(') {
                yylval = bcalloc(Op_token, 2, sourceline);
                yylval->lextok = tokkey;
@@ -6848,11 +6838,11 @@ static char *
 qualify_name(const char *name, size_t len)
 {
        if (strchr(name, ':') != NULL)  // already qualified
-               return (char *) name;
+               return estrdup(name, len);
 
        NODE *p = lookup(name);
        if (p != NULL && p->type == Node_param_list)
-               return (char *) name;
+               return estrdup(name, len);
 
        if (current_namespace != awk_namespace && ! is_all_upper(name)) {
                size_t length = strlen(current_namespace) + 2 + len + 1;
@@ -6864,5 +6854,5 @@ qualify_name(const char *name, size_t len)
                return buf;
        }
 
-       return (char *) name;
+       return estrdup(name, len);
 }

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=d142c8609ceca2d4e2c026d24c3d7b51215a7db9

commit d142c8609ceca2d4e2c026d24c3d7b51215a7db9
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jan 28 21:01:56 2019 +0200

    Update copyright year in many dates.

diff --git a/ChangeLog b/ChangeLog
index 1e6385b..0dc9477 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-01-27         Arnold D. Robbins     <address@hidden>
+
+       * Makefile.am, NEWS, awkgram.y, cint_array.c, custom.h, debug.c,
+       eval.c, ext.c, gawkapi.c, int_array.c, interpret.h, nonposix.h,
+       profile.c, re.c, replace.c, str_array.c, symbol.c: Update
+       copyright year.
+
 2019-01-26         Arnold D. Robbins     <address@hidden>
 
        * Makefile.am (pc/Makefile.tst): Fix to work for out of tree builds.
diff --git a/Makefile.am b/Makefile.am
index 4d51a09..87ea507 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
 #
 # Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 2000-2016 the Free Software Foundation, Inc.
+# Copyright (C) 2000-2019 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
diff --git a/Makefile.in b/Makefile.in
index fcc2359..dae0863 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -17,7 +17,7 @@
 #
 # Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 2000-2016 the Free Software Foundation, Inc.
+# Copyright (C) 2000-2019 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
diff --git a/NEWS b/NEWS
index 47ff836..b7aeb16 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-   Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
+   Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019
    Free Software Foundation, Inc.
    
    Copying and distribution of this file, with or without modification,
diff --git a/awkgram.y b/awkgram.y
index 22a8df7..d27c83a 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1986, 1988, 1989, 1991-2018 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2019 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/cint_array.c b/cint_array.c
index 497bd79..08815e4 100644
--- a/cint_array.c
+++ b/cint_array.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1986, 1988, 1989, 1991-2013, 2016, 2017,
+ * Copyright (C) 1986, 1988, 1989, 1991-2013, 2016, 2017, 2019,
  * the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
diff --git a/custom.h b/custom.h
index 8d375c8..0b6b8b5 100644
--- a/custom.h
+++ b/custom.h
@@ -11,7 +11,7 @@
  */
 
 /*
- * Copyright (C) 1995-2004, 2008, 2009, 2011, 2016
+ * Copyright (C) 1995-2004, 2008, 2009, 2011, 2016, 2018
  * the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
diff --git a/debug.c b/debug.c
index 13ae1b7..c60cc5a 100644
--- a/debug.c
+++ b/debug.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 2004, 2010-2013, 2016-2018 the Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2010-2013, 2016-2019 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/eval.c b/eval.c
index 1dd0de4..aa78d3e 100644
--- a/eval.c
+++ b/eval.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1986, 1988, 1989, 1991-2017 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2018 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/ext.c b/ext.c
index 36969b1..8babd2c 100644
--- a/ext.c
+++ b/ext.c
@@ -7,7 +7,7 @@
  */
 
 /*
- * Copyright (C) 1995 - 2001, 2003-2014, 2016-2017,
+ * Copyright (C) 1995 - 2001, 2003-2014, 2016-2018,
  * the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
diff --git a/gawkapi.c b/gawkapi.c
index 9119239..99c25be 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 2012-2018 the Free Software Foundation, Inc.
+ * Copyright (C) 2012-2019 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/int_array.c b/int_array.c
index 475f16f..1a29215 100644
--- a/int_array.c
+++ b/int_array.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1986, 1988, 1989, 1991-2013, 2016, 2017,
+ * Copyright (C) 1986, 1988, 1989, 1991-2013, 2016, 2017, 2019,
  * the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
diff --git a/interpret.h b/interpret.h
index 720b583..c16da88 100644
--- a/interpret.h
+++ b/interpret.h
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2018 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2019 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/nonposix.h b/nonposix.h
index bd92a68..26ef32b 100644
--- a/nonposix.h
+++ b/nonposix.h
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 2012, 2013, 2016, 2017 the Free Software Foundation, Inc.
+ * Copyright (C) 2012, 2013, 2016, 2017, 2018 the Free Software Foundation, 
Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/profile.c b/profile.c
index 1a1a1e9..6e92f60 100644
--- a/profile.c
+++ b/profile.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1999-2018 the Free Software Foundation, Inc.
+ * Copyright (C) 1999-2019 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/re.c b/re.c
index d772400..174f54f 100644
--- a/re.c
+++ b/re.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1991-2017 the Free Software Foundation, Inc.
+ * Copyright (C) 1991-2018 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/replace.c b/replace.c
index ae069f5..77670b0 100644
--- a/replace.c
+++ b/replace.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1989, 1991-2013 the Free Software Foundation, Inc.
+ * Copyright (C) 1989, 1991-2014, 2018 the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff --git a/str_array.c b/str_array.c
index 85e554b..c90f786 100644
--- a/str_array.c
+++ b/str_array.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1986, 1988, 1989, 1991-2013, 2016, 2017, 2018,
+ * Copyright (C) 1986, 1988, 1989, 1991-2013, 2016, 2017, 2018, 2019,
  * the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
diff --git a/symbol.c b/symbol.c
index 16f214f..fe92811 100644
--- a/symbol.c
+++ b/symbol.c
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 1986, 1988, 1989, 1991-2015, 2017, 2018,
+ * Copyright (C) 1986, 1988, 1989, 1991-2015, 2017, 2018, 2019,
  * the Free Software Foundation, Inc.
  *
  * This file is part of GAWK, the GNU implementation of the
diff --git a/test/ChangeLog b/test/ChangeLog
index 8054bbc..090b73a 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,6 +1,7 @@
 2019-01-28         Arnold D. Robbins     <address@hidden>
 
        * Makefile.am (symtab6): Fix the test's recipe.
+       Update copyright year.
        * symtab6.ok: Adjust to have correct content.
 
 2019-01-26         Arnold D. Robbins     <address@hidden>
diff --git a/test/Makefile.am b/test/Makefile.am
index 13a23a4..7cc55c5 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,7 +1,7 @@
 #
 # test/Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 1988-2018 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2019 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
diff --git a/test/Makefile.in b/test/Makefile.in
index 37f1220..3d633db 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -17,7 +17,7 @@
 #
 # test/Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 1988-2018 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2019 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=aa1580b9a51285328cd50ef3ee9b452514af2e4e

commit aa1580b9a51285328cd50ef3ee9b452514af2e4e
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jan 28 20:52:34 2019 +0200

    Update doc versions and copyright years.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 66a0b54..fa857dd 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-28         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in, gawk.1, awkcard.in: Update copyright dates and
+       appropriate version numbers.
+
 2019-01-25         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in (Namespaces): Add a cautionary note that the feature
diff --git a/doc/awkcard.in b/doc/awkcard.in
index 1a6b72f..38fc4a6 100644
--- a/doc/awkcard.in
+++ b/doc/awkcard.in
@@ -1,7 +1,8 @@
 .\" AWK Reference Card --- Arnold Robbins, address@hidden
 .\"
 .\" Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-.\" 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
+.\" 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,
+.\" 2019
 .\" Free Software Foundation, Inc.
 .\" 
 .\" Permission is granted to make and distribute verbatim copies of
@@ -71,7 +72,7 @@ Input Control        13
 Internationalization (\*(GK)  18
 Lines And Statements  4
 Localization (\*(GK)  12
-Namespaces    12
+Namespaces (\*(GK)    12
 Numeric Functions     15
 Output Control        13
 Pattern Elements      8
@@ -99,7 +100,7 @@ Variables   5\*(CX
 \*(CD
 .SL
 .nf
-\*(FRCopyright \(co 1996\(en2005, 2007, 2009\(en2018
+\*(FRCopyright \(co 1996\(en2005, 2007, 2009\(en2019
 Free Software Foundation, Inc.
 .nf
 .BT
@@ -1304,7 +1305,7 @@ namespace.
 You change the current namespace with an
 \*(address@hidden "\*(FIname\^\*(FC"\*(FR
 directive.\*(CB
-.EB "\s+2\f(HBNAMESPACES\*(FR\s0"
+.EB "\s+2\f(HBNAMESPACES (\*(GK\f(HB)\*(FR\s0"
 
 .BT
 
@@ -1987,7 +1988,7 @@ to use the current domain.\*(CB
 .ES
 .nf
 \*(CDHost: \*(FCftp.gnu.org\*(FR
-File: \*(FC/gnu/gawk/gawk-4.2.1.tar.gz\fP
+File: \*(FC/gnu/gawk/gawk-5.0.0.tar.gz\fP
 .in +.2i
 .fi
 GNU \*(AK (\*(GK). There may be a later version.
@@ -2018,7 +2019,7 @@ maintains it.\*(CX
 .ES
 .fi
 \*(CDCopyright \(co 1996\(en2005,
-2007, 2009\(en2018 Free Software Foundation, Inc.
+2007, 2009\(en2019 Free Software Foundation, Inc.
 .sp .5   
 Permission is granted to make and distribute verbatim copies of this
 reference card provided the copyright notice and this permission notice
diff --git a/doc/gawk.1 b/doc/gawk.1
index 4b188ae..4a766d9 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -13,7 +13,7 @@
 .              if \w'\(rq' .ds rq "\(rq
 .      \}
 .\}
-.TH GAWK 1 "Dec 12 2018" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Jan 27 2019" "Free Software Foundation" "Utility Commands"
 .SH NAME
 gawk \- pattern scanning and processing language
 .SH SYNOPSIS
@@ -4083,7 +4083,7 @@ status is 2.  On non-POSIX systems, this value may be 
mapped to
 .SH VERSION INFORMATION
 This man page documents
 .IR gawk ,
-version 4.2.
+version 5.0.
 .SH AUTHORS
 The original version of \*(UX
 .I awk
@@ -4184,7 +4184,7 @@ Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger,
 Addison-Wesley, 1988.  ISBN 0-201-07981-X.
 .PP
 \*(EP,
-Edition 4.2, shipped with the
+Edition 5.0, shipped with the
 .I gawk
 source.
 The current version of this document is available online at
@@ -4236,7 +4236,7 @@ We thank him.
 .SH COPYING PERMISSIONS
 Copyright \(co 1989, 1991, 1992, 1993, 1994, 1995, 1996,
 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
-2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
+2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 1b194ef..b353c14 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -59,9 +59,9 @@
 @c applies to and all the info about who's publishing this edition
 
 @c These apply across the board.
address@hidden UPDATE-MONTH September, 2018
address@hidden VERSION 4.2
address@hidden PATCHLEVEL 1
address@hidden UPDATE-MONTH January, 2019
address@hidden VERSION 5.0
address@hidden PATCHLEVEL 0
 
 @set GAWKINETTITLE TCP/IP Internetworking with @command{gawk}
 @ifset FOR_PRINT
@@ -71,7 +71,7 @@
 @set TITLE GAWK: Effective AWK Programming
 @end ifclear
 @set SUBTITLE A User's Guide for GNU Awk
address@hidden EDITION 4.2
address@hidden EDITION 5.0
 
 @iftex
 @set DOCUMENT book
@@ -279,13 +279,13 @@ Fax: +1-617-542-2652
 Email: <email>gnu@@gnu.org</email>
 URL: <ulink 
url="https://www.gnu.org";>https://www.gnu.org/</ulink></literallayout>
 
-<literallayout class="normal">Copyright &copy; 1989, 1991, 1992, 1993, 
1996&ndash;2005, 2007, 2009&ndash;2018
+<literallayout class="normal">Copyright &copy; 1989, 1991, 1992, 1993, 
1996&ndash;2005, 2007, 2009&ndash;2019
 Free Software Foundation, Inc.
 All Rights Reserved.</literallayout>
 @end docbook
 
 @ifnotdocbook
-Copyright @copyright{} 1989, 1991, 1992, 1993, 1996--2005, 2007, 2009--2018 @*
+Copyright @copyright{} 1989, 1991, 1992, 1993, 1996--2005, 2007, 2009--2019 @*
 Free Software Foundation, Inc.
 @end ifnotdocbook
 @sp 2

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=74e184676613ab8b008a25ffaf87f2f227ec0640

commit 74e184676613ab8b008a25ffaf87f2f227ec0640
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jan 28 20:50:04 2019 +0200

    Fix symtab6 test.

diff --git a/test/ChangeLog b/test/ChangeLog
index 1ed2036..8054bbc 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-28         Arnold D. Robbins     <address@hidden>
+
+       * Makefile.am (symtab6): Fix the test's recipe.
+       * symtab6.ok: Adjust to have correct content.
+
 2019-01-26         Arnold D. Robbins     <address@hidden>
 
        * Makefile.am (EXTRA_DIST): Use correct filenames for dfacheck test.
diff --git a/test/Makefile.am b/test/Makefile.am
index 2ee231a..13a23a4 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -2129,7 +2129,7 @@ charasbytes:
 
 symtab6:
        @echo $@
-       @AWKPATH="$(srcdir)" @$(AWK) -f address@hidden > _$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden > _$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
 
 symtab8:
diff --git a/test/Makefile.in b/test/Makefile.in
index c7ed278..37f1220 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -2578,7 +2578,7 @@ charasbytes:
 
 symtab6:
        @echo $@
-       @AWKPATH="$(srcdir)" @$(AWK) -f address@hidden > _$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden > _$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
 
 symtab8:
diff --git a/test/symtab6.ok b/test/symtab6.ok
index df8ea24..5a9cbfa 100644
--- a/test/symtab6.ok
+++ b/test/symtab6.ok
@@ -1,2 +1,2 @@
-/bin/bash: @LANGUAGE=: command not found
-EXIT CODE: 127
+gawk: symtab6.awk:1: fatal: cannot assign to arbitrary elements of SYMTAB
+EXIT CODE: 2

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

Summary of changes:
 ChangeLog        |   14 +
 Makefile.am      |    2 +-
 Makefile.in      |    2 +-
 NEWS             |    2 +-
 awkgram.c        | 1915 +++++++++++++++++++++++++++---------------------------
 awkgram.y        |   40 +-
 cint_array.c     |    2 +-
 custom.h         |    2 +-
 debug.c          |    2 +-
 doc/ChangeLog    |    5 +
 doc/awkcard.in   |   13 +-
 doc/gawk.1       |    8 +-
 doc/gawktexi.in  |   12 +-
 eval.c           |    2 +-
 ext.c            |    2 +-
 gawkapi.c        |    2 +-
 int_array.c      |    2 +-
 interpret.h      |    2 +-
 nonposix.h       |    2 +-
 profile.c        |    2 +-
 re.c             |    2 +-
 replace.c        |    2 +-
 str_array.c      |    2 +-
 symbol.c         |    2 +-
 test/ChangeLog   |    6 +
 test/Makefile.am |    4 +-
 test/Makefile.in |    4 +-
 test/symtab6.ok  |    4 +-
 28 files changed, 1035 insertions(+), 1024 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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