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-2597-g104b3c


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-2597-g104b3c3
Date: Mon, 17 Jul 2017 14:04:28 -0400 (EDT)

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

The branch, master has been updated
       via  104b3c3f13fcb4b53bfc330db0d103cf50d5b523 (commit)
      from  44cce0245a8113885ecedc34ac955aca6a021ca9 (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=104b3c3f13fcb4b53bfc330db0d103cf50d5b523

commit 104b3c3f13fcb4b53bfc330db0d103cf50d5b523
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jul 17 21:04:12 2017 +0300

    Small cleanups in the grammar.

diff --git a/ChangeLog b/ChangeLog
index ede4864..7a490c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-07-17         Arnold D. Robbins     <address@hidden>
+
+       * awkgram.y [non_post_simp_exp]: Merge LEX_BUILTIN and
+       LEX_LENGTH expansions.
+       (lookup_builtin): Move MPFR test to after test for sub builtin.
+
 2017-07-15         Arnold D. Robbins     <address@hidden>
 
        Revert change of 2016-07-24 that always runs the dfa
diff --git a/awkgram.c b/awkgram.c
index db29526..d7fc496 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -610,16 +610,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1236
+#define YYLAST   1209
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  76
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  70
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  203
+#define YYNRULES  202
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  350
+#define YYNSTATES  347
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
@@ -686,11 +686,11 @@ static const yytype_uint16 yyrline[] =
     1520,  1527,  1529,  1534,  1536,  1538,  1546,  1548,  1553,  1555,
     1560,  1562,  1564,  1620,  1622,  1624,  1626,  1628,  1630,  1632,
     1634,  1648,  1653,  1658,  1683,  1689,  1691,  1693,  1695,  1697,
-    1699,  1704,  1708,  1740,  1747,  1753,  1759,  1772,  1773,  1774,
-    1779,  1784,  1788,  1792,  1807,  1828,  1833,  1870,  1899,  1900,
-    1906,  1907,  1912,  1914,  1921,  1938,  1955,  1957,  1964,  1969,
-    1977,  1987,  1999,  2008,  2012,  2016,  2020,  2024,  2028,  2031,
-    2033,  2037,  2041,  2045
+    1699,  1704,  1708,  1740,  1747,  1753,  1766,  1767,  1768,  1773,
+    1778,  1782,  1786,  1801,  1822,  1827,  1864,  1893,  1894,  1900,
+    1901,  1906,  1908,  1915,  1932,  1949,  1951,  1958,  1963,  1971,
+    1981,  1993,  2002,  2006,  2010,  2014,  2018,  2022,  2025,  2027,
+    2031,  2035,  2039
 };
 #endif
 
@@ -745,10 +745,10 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF -275
+#define YYPACT_NINF -272
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-275)))
+  (!!((Yystate) == (-272)))
 
 #define YYTABLE_NINF -115
 
@@ -759,41 +759,41 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    -275,   376,  -275,  -275,   -12,    -9,  -275,  -275,  -275,  -275,
-     171,  -275,  -275,    44,    44,    44,     5,    40,  -275,  -275,
-    -275,  1139,  1139,  -275,  1139,  1166,   869,    27,  -275,   -18,
-       2,  -275,  -275,    89,   884,  1065,   192,   214,  -275,  -275,
-    -275,  -275,   248,   795,   869,  -275,    10,  -275,  -275,  -275,
-    -275,  -275,   116,    82,  -275,   115,  -275,  -275,  -275,   795,
-     795,   166,   107,   104,   107,   107,  1139,   117,  -275,  -275,
-      15,   349,    23,    45,  -275,   125,  -275,  -275,  -275,    89,
-    -275,   125,  -275,   178,  -275,  -275,  1092,   172,  1139,  1139,
-    1139,   125,  -275,  -275,  -275,  1139,   146,   192,  1139,  1139,
-    1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,  1139,
-    -275,   181,  -275,  -275,   173,  1139,  -275,  -275,  -275,   128,
-      73,  -275,  1107,    14,  1107,  -275,  -275,  -275,  -275,  1139,
-    -275,   128,   128,   349,  -275,  -275,  -275,  1139,   125,  -275,
-     152,   916,  -275,  -275,    16,    92,  -275,    20,    92,    89,
-    -275,   599,  -275,  -275,  -275,   148,  -275,   124,    22,  1048,
-    1139,   199,    44,   265,   265,   107,   107,   107,   107,   265,
-     265,   107,   107,   107,   107,  -275,  -275,  1107,  -275,  1092,
-     842,  -275,    43,   192,  -275,  -275,  1107,  -275,   172,  -275,
-    1107,  -275,  -275,  -275,  -275,  -275,   133,  -275,    41,   144,
-     145,   125,   147,    92,    92,  -275,  -275,    92,  1139,    92,
-     125,  -275,  -275,    92,  -275,  -275,  1107,  -275,   151,   125,
-    1139,  1107,  -275,  -275,  -275,  -275,  -275,  -275,   128,    76,
-    -275,  1139,  1139,  -275,   224,  1139,  1139,   715,   949,  -275,
-    -275,  -275,    92,  1107,  -275,  -275,  -275,   646,   599,   125,
-    -275,  -275,  1107,   125,  -275,    49,   349,    92,    -9,   160,
-     349,   349,   206,   113,  -275,   151,  -275,   869,   225,  -275,
-     169,  -275,  -275,  -275,  -275,  -275,   125,  -275,  -275,    11,
-    -275,  -275,  -275,   125,   125,   179,   172,   125,    15,  -275,
-    -275,   715,  -275,  -275,     2,   715,  1139,   128,   762,   152,
-    1139,   219,  -275,  -275,   349,   125,   275,   125,  1065,   125,
-     112,   125,   715,   125,   997,   715,  -275,   261,   205,  -275,
-     191,  -275,  -275,   997,   128,  -275,  -275,  -275,   271,   272,
-    -275,  -275,   205,  -275,   125,  -275,   128,   125,  -275,  -275,
-     125,  -275,   125,   715,  -275,   449,   715,  -275,   524,  -275
+    -272,   282,  -272,  -272,   -18,   -12,  -272,  -272,  -272,  -272,
+     166,  -272,  -272,    14,    14,    14,  -272,     4,  -272,  -272,
+    -272,  1060,  1060,  -272,  1060,  1087,   790,    24,  -272,   -21,
+       9,   -17,  -272,  -272,    15,  1102,   986,   101,   245,  -272,
+    -272,  -272,  -272,   224,   716,   790,  -272,     7,  -272,  -272,
+    -272,  -272,    33,    21,  -272,    13,  -272,  -272,  -272,   136,
+      75,    91,    75,    75,  1060,   102,  -272,  -272,   110,   969,
+      45,    56,  -272,    98,  -272,  -272,  -272,    15,  -272,    98,
+     716,  -272,   147,  -272,  -272,  1013,   167,  1060,  1060,  1060,
+      98,  -272,  -272,  -272,  1060,   117,   101,  1060,  1060,  1060,
+    1060,  1060,  1060,  1060,  1060,  1060,  1060,  1060,  1060,  -272,
+     164,  -272,  -272,   160,  1060,  -272,  -272,  -272,   109,   152,
+    -272,  1151,    20,  1151,  -272,  -272,  -272,  -272,  1060,  -272,
+     969,  -272,  -272,  -272,  1060,    98,  -272,   139,   837,  -272,
+    -272,    16,   -20,  -272,   143,   -20,    15,  -272,   520,  -272,
+     109,  -272,  -272,    97,  -272,   398,   566,  1126,  1060,   162,
+      14,     3,     3,    75,    75,    75,    75,     3,     3,    75,
+      75,    75,    75,  -272,  -272,  1151,  -272,  1013,   763,  -272,
+      41,   101,  1151,  -272,   167,  -272,  1151,  -272,  -272,  -272,
+    -272,  -272,   113,  -272,    12,   114,   118,    98,   123,   -20,
+     -20,  -272,  -272,   -20,  1060,   -20,    98,  -272,  -272,   -20,
+    -272,  -272,  1151,  -272,   121,    98,  -272,  1060,  1151,  -272,
+    -272,  -272,  -272,  -272,  -272,   109,   188,  -272,  1060,  1060,
+    -272,   197,  1060,  1060,   636,   870,  -272,  -272,  -272,   -20,
+    1151,  -272,  -272,  -272,   567,   520,    98,  -272,  -272,  1151,
+      98,  -272,    32,   969,   -20,   -12,   141,   969,   969,   165,
+     -11,  -272,   121,  -272,   790,   215,  -272,   148,  -272,  -272,
+    -272,  -272,  -272,    98,  -272,  -272,    11,  -272,  -272,  -272,
+      98,    98,   172,   167,    98,   110,  -272,  -272,   636,  -272,
+    -272,   -17,   636,  1060,   109,   683,   139,  1060,   221,  -272,
+    -272,   969,    98,   805,    98,   986,    98,   271,    98,   636,
+      98,   918,   636,  -272,   308,   191,  -272,   174,  -272,  -272,
+     918,   109,  -272,  -272,  -272,   244,   247,  -272,  -272,   191,
+    -272,    98,  -272,   109,    98,  -272,  -272,    98,  -272,    98,
+     636,  -272,   370,   636,  -272,   445,  -272
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -801,65 +801,65 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       2,     0,     1,     6,     0,   189,   171,   172,    21,    22,
-       0,    23,    24,   178,     0,     0,     0,   166,     5,    90,
+       2,     0,     1,     6,     0,   188,   170,   171,    21,    22,
+       0,    23,    24,   177,     0,     0,    30,   165,     5,    90,
       38,     0,     0,    37,     0,     0,     0,     0,     3,     0,
-       0,   161,    34,     4,    19,   132,   140,   141,   143,   167,
-     175,   191,   168,     0,     0,   186,     0,   190,    27,    26,
-      30,    31,     0,     0,    28,    94,   179,   169,   170,     0,
-       0,     0,   174,   168,   173,   162,     0,   195,   168,   109,
-       0,   107,     0,     0,   176,    92,   201,     7,     8,    42,
-      39,    92,     9,     0,    91,   136,     0,     0,     0,     0,
-       0,    92,   137,   139,   138,     0,     0,   142,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     134,   133,   151,   152,     0,     0,   117,    36,   122,     0,
-       0,   115,   121,     0,   107,   188,   187,    29,    32,     0,
-     150,     0,     0,     0,   193,   194,   192,   110,    92,   198,
-       0,     0,   163,    14,     0,     0,    17,     0,     0,    93,
-     196,     0,    43,    35,   127,   128,   129,   125,   126,     0,
-       0,   130,   178,   148,   149,   145,   146,   147,   144,   159,
-     160,   156,   157,   158,   155,   124,   135,   123,   177,   118,
-       0,   185,     0,    95,   164,   165,   111,   203,     0,   112,
-     108,    13,    10,    16,    11,    41,     0,    59,     0,     0,
-       0,    92,     0,     0,     0,    81,    82,     0,   103,     0,
-      92,    40,    53,     0,    62,    46,    67,    39,   199,    92,
-       0,    20,   154,   119,   120,   116,   100,    98,     0,     0,
-     153,     0,   103,    64,     0,     0,     0,     0,    68,    54,
-      55,    56,     0,   104,    57,   197,    61,     0,     0,    92,
-     200,    44,   131,    92,   101,     0,     0,     0,   180,     0,
-       0,     0,     0,   189,    69,     0,    58,     0,    85,    83,
-       0,    45,    25,    33,   102,    99,    92,    60,    65,     0,
-     182,   184,    66,    92,    92,     0,     0,    92,     0,    86,
-      63,     0,   181,   183,     0,     0,     0,     0,     0,    84,
-       0,    88,    70,    48,     0,    92,     0,    92,    87,    92,
-       0,    92,     0,    92,    68,     0,    72,     0,     0,    71,
-       0,    49,    50,    68,     0,    89,    75,    78,     0,     0,
-      79,    80,     0,   202,    92,    47,     0,    92,    77,    76,
-      92,    39,    92,     0,    39,     0,     0,    52,     0,    51
+       0,     0,   161,    34,     4,    19,   132,   140,   141,   143,
+     166,   174,   190,   167,     0,     0,   185,     0,   189,    27,
+      26,    31,     0,     0,    28,    94,   178,   168,   169,     0,
+     173,   167,   172,   162,     0,   194,   167,   109,     0,   107,
+       0,     0,   175,    92,   200,     7,     8,    42,    39,    92,
+       0,     9,     0,    91,   136,     0,     0,     0,     0,     0,
+      92,   137,   139,   138,     0,     0,   142,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
+     133,   151,   152,     0,     0,   117,    36,   122,     0,     0,
+     115,   121,     0,   107,   187,   186,    29,    32,     0,   150,
+       0,   192,   193,   191,   110,    92,   197,     0,     0,   163,
+      14,     0,     0,    17,     0,     0,    93,   195,     0,    43,
+       0,    35,   127,   128,   129,   125,   126,     0,     0,   130,
+     177,   148,   149,   145,   146,   147,   144,   159,   160,   156,
+     157,   158,   155,   124,   135,   123,   176,   118,     0,   184,
+       0,    95,   111,   202,     0,   112,   108,    13,    10,    16,
+      11,    41,     0,    59,     0,     0,     0,    92,     0,     0,
+       0,    81,    82,     0,   103,     0,    92,    40,    53,     0,
+      62,    46,    67,    39,   198,    92,   164,     0,    20,   154,
+     119,   120,   116,   100,    98,     0,     0,   153,     0,   103,
+      64,     0,     0,     0,     0,    68,    54,    55,    56,     0,
+     104,    57,   196,    61,     0,     0,    92,   199,    44,   131,
+      92,   101,     0,     0,     0,   179,     0,     0,     0,     0,
+     188,    69,     0,    58,     0,    85,    83,     0,    45,    25,
+      33,   102,    99,    92,    60,    65,     0,   181,   183,    66,
+      92,    92,     0,     0,    92,     0,    86,    63,     0,   180,
+     182,     0,     0,     0,     0,     0,    84,     0,    88,    70,
+      48,     0,    92,     0,    92,    87,    92,     0,    92,     0,
+      92,    68,     0,    72,     0,     0,    71,     0,    49,    50,
+      68,     0,    89,    75,    78,     0,     0,    79,    80,     0,
+     201,    92,    47,     0,    92,    77,    76,    92,    39,    92,
+       0,    39,     0,     0,    52,     0,    51
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -275,  -275,  -275,  -275,  -275,  -275,   252,  -275,  -275,  -275,
-    -275,   -33,  -275,   -80,  -275,  -213,   100,  -144,  -275,  -275,
-    -231,  -275,  -275,  -274,  -275,  -275,  -275,  -275,  -275,  -275,
-    -275,  -275,     7,    62,  -275,  -275,  -275,    54,  -275,   -43,
-       1,  -275,   -23,    -1,  -275,  -275,  -275,   -13,    17,  -275,
-     263,  -275,     8,   127,  -275,  -275,    21,   -36,  -275,  -275,
-     -78,    -2,  -275,   -27,  -230,   -65,  -275,   -15,   -38,   -94
+    -272,  -272,  -272,  -272,  -272,  -272,   225,  -272,   242,  -272,
+    -272,   -55,  -272,   -84,  -272,  -198,   -71,   -59,  -272,  -272,
+    -226,  -272,  -272,  -271,  -272,  -272,  -272,  -272,  -272,  -272,
+    -272,  -272,     6,    52,  -272,  -272,  -272,    26,  -272,   -42,
+     182,  -272,  -130,    -1,  -272,  -272,  -272,   -32,    17,  -272,
+     241,  -272,     2,   111,  -272,  -272,    -6,   -41,  -272,  -272,
+     -76,    -2,  -272,   -27,  -208,   -60,  -272,   -15,   -54,  -114
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,    28,   145,   148,    29,    77,    53,    54,    30,
-     182,    31,    83,   118,    32,   151,    78,   211,   212,   232,
-     213,   247,   258,   265,   310,   319,   332,   214,   268,   290,
-     300,   215,   149,   150,   130,   228,   229,   242,   269,    70,
-     119,   120,   121,   216,   115,    94,    95,    35,    36,    37,
-      38,    39,    40,    55,   278,   279,   280,    45,    46,    47,
-      41,    42,   136,   217,   218,   142,   249,   219,   334,   141
+      -1,     1,    28,   142,   145,    29,    75,    53,    30,    31,
+     180,    32,    82,   117,    33,   148,    76,   207,   208,   229,
+     209,   244,   255,   262,   307,   316,   329,   210,   265,   287,
+     297,   211,   146,   147,   129,   225,   226,   239,   266,    68,
+     118,   119,   120,   212,   114,    93,    94,    36,    37,    38,
+      39,    40,    41,    55,   275,   276,   277,    46,    47,    48,
+      42,    43,   133,   213,   214,   139,   246,   215,   331,   138
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -867,258 +867,252 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      34,   123,    80,    80,   248,   140,   154,   264,    33,   156,
-     126,    56,    57,    58,    81,   137,   137,   191,   271,    63,
-      63,   193,    63,    68,   143,    71,   180,   125,   292,   144,
-       4,   175,    85,    63,    19,    74,    79,    86,    62,    64,
-     324,    65,   122,   124,   226,   233,   146,   227,     5,   336,
-     274,   147,    97,   275,   178,    75,    43,    76,   122,   122,
-     131,   132,    44,    87,    88,   133,   184,   185,   -12,    74,
-     138,   138,   -15,    59,   179,    75,    72,   254,    73,    92,
-      93,    44,    44,   264,   139,   155,   181,   157,   158,   159,
-     335,   -12,   264,   262,   161,   -15,    63,    63,    63,    63,
-      63,    63,    63,    63,    63,    63,    63,    63,    60,   234,
-     230,    25,   -96,   316,   177,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,    63,   345,   138,
-      81,   348,   138,    81,    85,   255,   186,   317,   318,    86,
-     190,    84,  -114,   152,    19,   -97,   183,   301,   112,   113,
-     128,   303,    79,   160,   286,    79,   223,   225,    85,   221,
-      56,   134,   135,   253,    19,    87,   127,    76,   322,     4,
-     137,   325,   129,   103,    48,    49,     5,    19,   122,   122,
-    -106,    92,    93,   153,    44,   162,   -92,   176,    81,    81,
-     117,   276,    81,   188,    81,   283,   284,   139,    81,   347,
-     187,   231,   349,   250,   270,    92,    93,   243,   297,  -115,
-      79,    79,   235,   236,    79,   238,    79,    50,    51,   252,
-      79,  -106,   281,   299,   288,   138,    76,    81,   259,   282,
-     256,   243,   305,   285,   260,   261,   289,   331,  -106,   311,
-     309,    52,    81,   281,  -106,   192,   124,   296,   194,    79,
-     287,    98,    99,   100,   101,   102,  -115,  -115,   103,   337,
-     333,   110,   111,   237,    79,   210,    71,   302,   326,   327,
-     117,   342,   245,   104,   105,   106,   107,   108,   338,   339,
-     109,   251,    82,   307,   330,    85,   257,   308,    67,   222,
-      86,   313,   112,   113,   340,   304,     0,   306,    63,     0,
-     293,   114,     0,   239,   240,     0,    63,   241,     0,   244,
-       0,   272,     0,   246,    20,   273,    87,    88,    89,     0,
-     328,   329,     0,    23,     0,    97,   100,   101,   102,    90,
-       0,   103,    92,    93,     0,     0,     0,     0,   291,     0,
-       0,     0,   266,     0,     0,   294,   295,     0,     0,   298,
-      76,     0,     0,     0,     0,     0,     0,   277,     0,    85,
-       0,     0,     0,     0,    86,     0,     0,   312,     0,   314,
-       0,   315,   320,   321,     0,   323,     2,     3,     0,     4,
-       5,     0,     0,     6,     7,     0,     0,     0,     0,     0,
-      87,    88,    89,     0,     8,     9,   341,     0,     0,   343,
-       0,     0,   344,    90,   346,     0,    92,    93,     0,     0,
-       0,     0,    10,    11,    12,    13,     0,     0,   139,     0,
-      14,    15,    16,    17,    18,     0,     0,     0,    19,    20,
-       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
-      24,     0,     0,    25,    26,     0,    27,     0,     0,   -18,
-     195,   -18,     4,     5,     0,     0,     6,     7,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   196,
-       0,   197,   198,   199,   -74,   -74,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,     0,     0,     0,    13,   209,
-       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
-       0,   -74,    20,     0,     0,     0,     0,     0,    21,    22,
-       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
-       0,     0,    75,   -74,    76,   195,     0,     4,     5,     0,
-       0,     6,     7,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   196,     0,   197,   198,   199,   -73,
-     -73,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-       0,     0,     0,    13,   209,     0,     0,     0,    14,    15,
-      16,    17,     0,     0,     0,     0,   -73,    20,     0,     0,
-       0,     0,     0,    21,    22,     0,    23,     0,    24,     0,
-       0,    25,    26,     0,    61,     0,     0,    75,   -73,    76,
-     195,     0,     4,     5,     0,     0,     6,     7,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   196,
-       0,   197,   198,   199,     0,     0,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,     0,     0,     0,    13,   209,
-       0,     0,     0,    14,    15,    16,    17,    69,     0,     4,
-       5,     0,    20,     6,     7,     0,     0,  -105,    21,    22,
-       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
-       0,     0,    75,   210,    76,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    13,     0,     0,     0,     0,
-      14,    15,    16,    17,     0,     0,     0,     0,  -105,    20,
-       0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
-      24,     0,     0,    25,   267,  -105,    61,     0,     4,     5,
-       0,  -105,     6,     7,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   196,     0,   197,   198,   199,
-       0,     0,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,     0,     0,     0,    13,   209,     0,     0,     0,    14,
-      15,    16,    17,     0,     0,     4,     5,     0,    20,     6,
-       7,     0,     0,     0,    21,    22,     0,    23,     0,    24,
-       0,     0,    25,    26,     0,    61,     0,     0,    75,     0,
-      76,     0,     0,     0,     0,     0,   116,     0,     4,     5,
-       0,    13,     6,     7,   117,     0,    14,    15,    16,    17,
-       0,     0,     0,     0,     0,    20,     0,     0,     0,     0,
-       0,    21,    22,     0,    23,     0,    24,     0,     0,    25,
-      26,     0,    61,     0,    13,     0,     0,    76,     0,    14,
-      15,    16,    17,   224,     0,     4,     5,     0,    20,     6,
-       7,   117,     0,     0,    21,    22,     0,    23,     0,    24,
-       0,     0,    25,    26,  -113,    61,     0,     0,     0,     0,
-      69,     0,     4,     5,     0,     0,     6,     7,     0,     0,
-       0,    13,     0,     0,     0,     0,    14,    15,    16,    17,
-       0,     0,     0,     0,    85,    20,     0,     0,     0,    86,
-       0,    21,    22,     0,    23,     0,    24,     0,    13,    25,
-      26,     0,    61,    14,    15,    16,    17,   189,     0,     4,
-       5,     0,    20,     6,     7,    87,    88,    89,    21,    22,
-       0,    23,     0,    24,     0,     0,    25,    26,    90,    61,
-      91,    92,    93,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     4,   263,     0,    13,     6,     7,     0,     0,
-      14,    15,    16,    17,     0,     0,     0,     0,     0,    20,
-       0,     0,   198,     0,     0,    21,    22,     0,    23,     0,
-      24,   205,   206,    25,    26,     0,    61,     0,    13,     0,
-       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
-       4,     5,    20,     0,     6,     7,     0,     0,    21,    22,
-       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
-     198,     0,     0,     0,     0,     0,     0,     0,     0,   205,
-     206,     0,     0,     0,     0,     0,    13,     0,     0,     0,
-       0,    14,    15,    16,    17,     0,     0,     0,     0,     0,
-      20,     0,     0,     0,     0,     0,    21,    22,    85,    23,
-       0,    24,     0,    86,    25,    26,     0,    61,     4,     5,
-       0,     0,     6,     7,     0,     0,     0,    96,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
-      88,    89,     0,     0,     0,     4,     5,     0,     0,     6,
-       7,   117,    90,   220,    13,    92,    93,     0,     0,    14,
-      15,    16,    17,     0,     0,     0,     0,    85,    20,     0,
-       0,     0,    86,     0,    21,    22,     0,    23,     0,    24,
-       0,    13,    25,    26,     0,    61,    14,    15,    16,    17,
-       0,     0,     4,     5,     0,    20,     6,     7,    87,    88,
-      89,    21,    22,     0,    23,     0,    24,     0,     0,    25,
-      26,    90,    61,     0,    92,    93,     0,     0,     0,     4,
-       5,     0,     0,     6,     7,     0,     0,     0,    13,     0,
-       0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
-       0,     0,    20,     0,     0,     0,     0,     0,    21,    22,
-       0,    23,     0,    24,     0,     0,    25,    26,     0,    61,
-      14,    15,    16,    17,     0,     0,     0,     0,     0,    20,
+      35,   152,    78,   122,    78,   178,   125,    34,   137,   261,
+     154,    56,    57,    58,    79,   245,   230,   187,     5,    61,
+      61,   134,    61,    66,   124,    69,   173,     4,   289,    72,
+     283,    19,    19,   271,    61,    77,   272,   268,    60,    62,
+     321,    63,   223,   121,   123,   224,   140,   220,   222,   333,
+      44,   141,    73,    96,    74,    74,    73,   143,   176,    45,
+      45,    72,   144,   130,    99,   100,   101,    83,   -12,   102,
+     128,   188,   -31,    70,   190,    71,   135,    80,    45,   121,
+     231,    25,    45,   126,   153,   261,   155,   156,   157,   127,
+     216,   -12,   179,   159,   261,    61,    61,    61,    61,    61,
+      61,    61,    61,    61,    61,    61,    61,    84,   227,   332,
+     -96,   134,   252,   175,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,    61,    79,   236,   237,
+      79,   149,   238,   182,   241,   111,   112,   186,   243,     4,
+     342,   102,   158,   345,   189,   181,   131,   132,    77,   134,
+      19,    77,   151,   177,    91,    92,   160,   218,    56,  -106,
+      97,    98,    99,   100,   101,   250,   135,   102,   263,    49,
+      50,     5,  -115,   116,   174,   259,   121,   121,   136,   136,
+     184,   228,   232,   274,    79,    79,   233,   183,    79,   251,
+      79,   235,   282,   273,    79,   -15,    74,   280,   281,   247,
+    -106,   256,   267,   240,   135,    77,    77,   294,   135,    77,
+     279,    77,    16,    51,   278,    77,   249,  -106,   -15,  -115,
+    -115,  -114,   285,  -106,    79,   296,   286,   253,   240,   298,
+     328,   257,   258,   300,   302,   278,    52,   109,   110,    79,
+     293,   308,   306,   123,   135,    77,   330,   284,   206,   234,
+     319,   335,    54,   322,   336,   254,    81,   -97,   242,   327,
+      77,   334,   150,    69,   299,   305,    65,   248,   111,   112,
+     290,   219,   313,   339,     0,   337,     0,   113,     0,     0,
+     304,   344,     2,     3,   346,     4,     5,     0,   310,     6,
+       7,     0,   301,     0,   303,    61,   314,   315,   269,     0,
+       8,     9,   270,    61,   103,   104,   105,   106,   107,     0,
+       0,   108,     0,     0,     0,   323,   324,   116,    10,    11,
+      12,    13,    96,    19,     0,   288,    14,    15,    16,    17,
+      18,     0,   291,   292,    19,    20,   295,     0,     0,     0,
+       0,    21,    22,     0,    23,   -92,    24,     0,     0,    25,
+      26,     0,    27,     0,   309,   -18,   311,   -18,   312,   317,
+     318,    20,   320,     0,     0,     0,     0,   325,   326,     0,
+      23,   191,     0,     4,     5,     0,     0,     6,     7,     0,
+       0,     0,     0,   338,     0,     0,   340,     0,     0,   341,
+     192,   343,   193,   194,   195,   -74,   -74,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,     0,     0,    84,    13,
+     205,     0,     0,    85,    14,    15,    16,    17,     0,     0,
+       0,     0,   -74,    20,     0,     0,     0,     0,     0,    21,
+      22,     0,    23,     0,    24,     0,     0,    25,    26,    86,
+      59,     0,     0,    73,   -74,    74,   191,     0,     4,     5,
+       0,     0,     6,     7,     0,    91,    92,     0,     0,     0,
+       0,     0,     0,     0,     0,   192,     0,   193,   194,   195,
+     -73,   -73,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,     0,     0,     0,    13,   205,     0,     0,     0,    14,
+      15,    16,    17,     0,     0,     0,     0,   -73,    20,     0,
+       0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
+       0,     0,    25,    26,     0,    59,     0,     0,    73,   -73,
+      74,   191,     0,     4,     5,     0,     0,     6,     7,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     192,     0,   193,   194,   195,     0,     0,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,     0,     0,     0,    13,
+     205,     0,     0,     0,    14,    15,    16,    17,    67,     0,
+       4,     5,     0,    20,     6,     7,    84,     0,  -105,    21,
+      22,    85,    23,     0,    24,     0,     0,    25,    26,     0,
+      59,     0,     0,    73,   206,    74,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    13,    86,    87,     0,
+       0,    14,    15,    16,    17,     0,     0,     0,     0,  -105,
+      20,     0,     0,    91,    92,     0,    21,    22,     0,    23,
+       0,    24,     0,     0,    25,   264,  -105,    59,     0,     4,
+       5,     0,  -105,     6,     7,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   192,     0,   193,   194,
+     195,     0,     0,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,     0,     0,     0,    13,   205,     0,     0,     0,
+      14,    15,    16,    17,     0,     0,     4,     5,     0,    20,
+       6,     7,     0,     0,     0,    21,    22,     0,    23,     0,
+      24,     0,     0,    25,    26,     0,    59,     0,     0,    73,
+       0,    74,     0,     0,     0,     0,     0,   115,     0,     4,
+       5,     0,    13,     6,     7,   116,     0,    14,    15,    16,
+      17,     0,     0,     0,     0,     0,    20,     0,     0,     0,
+       0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
+      25,    26,     0,    59,     0,    13,     0,     0,    74,     0,
+      14,    15,    16,    17,   221,     0,     4,     5,     0,    20,
+       6,     7,   116,     0,     0,    21,    22,     0,    23,     0,
+      24,     0,     0,    25,    26,  -113,    59,     0,     0,     0,
+       0,    67,     0,     4,     5,     0,     0,     6,     7,     0,
+       0,     0,    13,     0,     0,     0,     0,    14,    15,    16,
+      17,     0,     0,     0,     0,    84,    20,     0,     0,     0,
+      85,     0,    21,    22,     0,    23,     0,    24,     0,    13,
+      25,    26,     0,    59,    14,    15,    16,    17,   185,     0,
+       4,     5,     0,    20,     6,     7,    86,    87,    88,    21,
+      22,     0,    23,     0,    24,     0,     0,    25,    26,    89,
+      59,     0,    91,    92,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     4,   260,     0,    13,     6,     7,     0,
+      74,    14,    15,    16,    17,     0,     0,     0,     0,     0,
+      20,     0,     0,   194,     0,     0,    21,    22,     0,    23,
+       0,    24,   201,   202,    25,    26,     0,    59,     0,    13,
+       0,     0,     0,     0,    14,    15,    16,    17,     0,     0,
+       0,     4,     5,    20,     0,     6,     7,     0,     0,    21,
+      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
+      59,   194,     0,     0,     0,     0,     0,     0,     0,     0,
+     201,   202,     0,     0,     0,     0,     0,    13,     0,     0,
+       0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
+       0,    20,     0,     0,     0,     0,     0,    21,    22,    84,
+      23,     0,    24,     0,    85,    25,    26,     0,    59,     4,
+       5,     0,     0,     6,     7,     0,     0,     0,    95,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      86,    87,    88,     0,     0,     0,     4,     5,     0,     0,
+       6,     7,   116,    89,     0,    13,    91,    92,     0,     0,
+      14,    15,    16,    17,     0,     0,     0,     0,   136,    20,
        0,     0,     0,     0,     0,    21,    22,     0,    23,     0,
-      24,     0,     0,    25,    66,     0,    61
+      24,     0,    13,    25,    26,     0,    59,    14,    15,    16,
+      17,     0,     0,     4,     5,     0,    20,     6,     7,     0,
+       0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
+      25,    26,     0,    59,     0,     0,     0,     0,     0,     0,
+       4,     5,     0,     0,     6,     7,     0,     0,     0,    13,
+       0,     0,     0,     0,    14,    15,    16,    17,     0,     0,
+       0,     0,    84,    20,     0,     0,     0,    85,     0,    21,
+      22,     0,    23,     0,    24,     0,     0,    25,    26,     0,
+      59,    14,    15,    16,    17,     0,    84,     0,     0,     0,
+      20,    85,     0,    86,    87,    88,    21,    22,     0,    23,
+       0,    24,     0,     0,    25,    64,    89,    59,    90,    91,
+      92,    84,     0,     0,     0,     0,    85,    86,    87,    88,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      89,   217,     0,    91,    92,     0,     0,     0,     0,     0,
+       0,     0,    86,    87,    88,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    89,     0,     0,    91,    92
 };
 
 static const yytype_int16 yycheck[] =
 {
-       1,    44,    29,    30,   217,    70,    86,   238,     1,    87,
-      46,    13,    14,    15,    29,     1,     1,     1,   248,    21,
-      22,     1,    24,    25,     1,    26,   120,    17,    17,     6,
-       3,   111,    10,    35,    52,    27,    29,    15,    21,    22,
-     314,    24,    43,    44,     1,     4,     1,     4,     4,   323,
-       1,     6,    35,     4,   119,    73,    68,    75,    59,    60,
-      59,    60,    71,    41,    42,    66,   131,   132,    52,    61,
-      56,    56,    52,    68,     1,    73,    49,     1,    51,    57,
-      58,    71,    71,   314,    69,    86,    72,    88,    89,    90,
-     320,    75,   323,   237,    95,    75,    98,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,    68,    68,
-     188,    67,    69,     1,   115,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   129,   341,    56,
-     145,   344,    56,   148,    10,   229,   137,    25,    26,    15,
-     141,    52,    69,    81,    52,    69,   129,   291,    44,    45,
-      68,   295,   145,    91,    41,   148,   179,   180,    10,   160,
-     162,    44,    45,   228,    52,    41,    50,    75,   312,     3,
-       1,   315,    57,    66,     3,     4,     4,    52,   179,   180,
-      11,    57,    58,     5,    71,    39,    74,    14,   203,   204,
-       9,   256,   207,    41,   209,   260,   261,    69,   213,   343,
-     138,    68,   346,   218,   247,    57,    58,   208,   286,    10,
-     203,   204,    68,    68,   207,    68,   209,    46,    47,   220,
-     213,    52,   258,   288,   267,    56,    75,   242,     4,    69,
-     231,   232,   297,    27,   235,   236,    11,   317,    69,   304,
-      21,    70,   257,   279,    75,   145,   247,    68,   148,   242,
-     265,    59,    60,    61,    62,    63,    57,    58,    66,   324,
-      55,    13,    14,   201,   257,    74,   267,   294,     7,     8,
-       9,   336,   210,    59,    60,    61,    62,    63,     7,     7,
-      66,   219,    30,   298,   317,    10,   232,   300,    25,   162,
-      15,   306,    44,    45,   332,   296,    -1,   298,   300,    -1,
-     279,    53,    -1,   203,   204,    -1,   308,   207,    -1,   209,
-      -1,   249,    -1,   213,    53,   253,    41,    42,    43,    -1,
-      59,    60,    -1,    62,    -1,   308,    61,    62,    63,    54,
-      -1,    66,    57,    58,    -1,    -1,    -1,    -1,   276,    -1,
-      -1,    -1,   242,    -1,    -1,   283,   284,    -1,    -1,   287,
-      75,    -1,    -1,    -1,    -1,    -1,    -1,   257,    -1,    10,
-      -1,    -1,    -1,    -1,    15,    -1,    -1,   305,    -1,   307,
-      -1,   309,   310,   311,    -1,   313,     0,     1,    -1,     3,
-       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    -1,    -1,
-      41,    42,    43,    -1,    18,    19,   334,    -1,    -1,   337,
-      -1,    -1,   340,    54,   342,    -1,    57,    58,    -1,    -1,
-      -1,    -1,    36,    37,    38,    39,    -1,    -1,    69,    -1,
-      44,    45,    46,    47,    48,    -1,    -1,    -1,    52,    53,
-      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
-      64,    -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,
-       1,    75,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
-      -1,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
-      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
-      -1,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
-      -1,    -1,    73,    74,    75,     1,    -1,     3,     4,    -1,
-      -1,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,    45,
-      46,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
-      -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,    -1,
-      -1,    67,    68,    -1,    70,    -1,    -1,    73,    74,    75,
-       1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
-      -1,    22,    23,    24,    -1,    -1,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    -1,    -1,    -1,    39,    40,
-      -1,    -1,    -1,    44,    45,    46,    47,     1,    -1,     3,
-       4,    -1,    53,     7,     8,    -1,    -1,    11,    59,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
-      -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
-      44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,
-      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
-      64,    -1,    -1,    67,    68,    69,    70,    -1,     3,     4,
-      -1,    75,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,
+       1,    85,    29,    45,    31,   119,    47,     1,    68,   235,
+      86,    13,    14,    15,    29,   213,     4,     1,     4,    21,
+      22,     1,    24,    25,    17,    26,   110,     3,    17,    27,
+      41,    52,    52,     1,    36,    29,     4,   245,    21,    22,
+     311,    24,     1,    44,    45,     4,     1,   177,   178,   320,
+      68,     6,    73,    36,    75,    75,    73,     1,   118,    71,
+      71,    59,     6,    64,    61,    62,    63,    52,    52,    66,
+      57,   142,    68,    49,   145,    51,    56,    68,    71,    80,
+      68,    67,    71,    50,    85,   311,    87,    88,    89,    68,
+     150,    75,    72,    94,   320,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,    10,   184,   317,
+      69,     1,   226,   114,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   128,   142,   199,   200,
+     145,    79,   203,   134,   205,    44,    45,   138,   209,     3,
+     338,    66,    90,   341,     1,   128,    44,    45,   142,     1,
+      52,   145,     5,     1,    57,    58,    39,   158,   160,    11,
+      59,    60,    61,    62,    63,   225,    56,    66,   239,     3,
+       4,     4,    10,     9,    14,   234,   177,   178,    69,    69,
+      41,    68,    68,   254,   199,   200,    68,   135,   203,     1,
+     205,    68,    27,   253,   209,    52,    75,   257,   258,   214,
+      52,     4,   244,   204,    56,   199,   200,   283,    56,   203,
+      69,   205,    46,    47,   255,   209,   217,    69,    75,    57,
+      58,    69,   264,    75,   239,   285,    11,   228,   229,   288,
+     314,   232,   233,   292,   294,   276,    70,    13,    14,   254,
+      68,   301,    21,   244,    56,   239,    55,   262,    74,   197,
+     309,     7,    10,   312,     7,   229,    31,    69,   206,   314,
+     254,   321,    80,   264,   291,   297,    25,   215,    44,    45,
+     276,   160,     1,   333,    -1,   329,    -1,    53,    -1,    -1,
+     295,   340,     0,     1,   343,     3,     4,    -1,   303,     7,
+       8,    -1,   293,    -1,   295,   297,    25,    26,   246,    -1,
+      18,    19,   250,   305,    59,    60,    61,    62,    63,    -1,
+      -1,    66,    -1,    -1,    -1,     7,     8,     9,    36,    37,
+      38,    39,   305,    52,    -1,   273,    44,    45,    46,    47,
+      48,    -1,   280,   281,    52,    53,   284,    -1,    -1,    -1,
+      -1,    59,    60,    -1,    62,    74,    64,    -1,    -1,    67,
+      68,    -1,    70,    -1,   302,    73,   304,    75,   306,   307,
+     308,    53,   310,    -1,    -1,    -1,    -1,    59,    60,    -1,
+      62,     1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,
+      -1,    -1,    -1,   331,    -1,    -1,   334,    -1,    -1,   337,
+      20,   339,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    -1,    -1,    10,    39,
+      40,    -1,    -1,    15,    44,    45,    46,    47,    -1,    -1,
+      -1,    -1,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,
+      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    41,
+      70,    -1,    -1,    73,    74,    75,     1,    -1,     3,     4,
+      -1,    -1,     7,     8,    -1,    57,    58,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,    24,
-      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
+      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,     3,     4,    -1,    53,     7,
-       8,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
-      -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,    -1,
-      75,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
-      -1,    39,     7,     8,     9,    -1,    44,    45,    46,    47,
-      -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,    -1,    -1,
-      -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
-      68,    -1,    70,    -1,    39,    -1,    -1,    75,    -1,    44,
-      45,    46,    47,     1,    -1,     3,     4,    -1,    53,     7,
-       8,     9,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
-      -1,    -1,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
-       1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,    -1,
-      -1,    39,    -1,    -1,    -1,    -1,    44,    45,    46,    47,
-      -1,    -1,    -1,    -1,    10,    53,    -1,    -1,    -1,    15,
-      -1,    59,    60,    -1,    62,    -1,    64,    -1,    39,    67,
-      68,    -1,    70,    44,    45,    46,    47,     1,    -1,     3,
-       4,    -1,    53,     7,     8,    41,    42,    43,    59,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,    54,    70,
-      56,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,     3,     4,    -1,    39,     7,     8,    -1,    -1,
-      44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
-      -1,    -1,    23,    -1,    -1,    59,    60,    -1,    62,    -1,
-      64,    32,    33,    67,    68,    -1,    70,    -1,    39,    -1,
-      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
-       3,     4,    53,    -1,     7,     8,    -1,    -1,    59,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
-      23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,
-      33,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
-      -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,
-      53,    -1,    -1,    -1,    -1,    -1,    59,    60,    10,    62,
-      -1,    64,    -1,    15,    67,    68,    -1,    70,     3,     4,
-      -1,    -1,     7,     8,    -1,    -1,    -1,    12,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
-      42,    43,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
-       8,     9,    54,    55,    39,    57,    58,    -1,    -1,    44,
-      45,    46,    47,    -1,    -1,    -1,    -1,    10,    53,    -1,
-      -1,    -1,    15,    -1,    59,    60,    -1,    62,    -1,    64,
-      -1,    39,    67,    68,    -1,    70,    44,    45,    46,    47,
-      -1,    -1,     3,     4,    -1,    53,     7,     8,    41,    42,
-      43,    59,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
-      68,    54,    70,    -1,    57,    58,    -1,    -1,    -1,     3,
-       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    39,    -1,
-      -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
-      -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,
-      -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,
-      44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,
+      45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,
+      -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
+      -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,    74,
+      75,     1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      20,    -1,    22,    23,    24,    -1,    -1,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    -1,    -1,    -1,    39,
+      40,    -1,    -1,    -1,    44,    45,    46,    47,     1,    -1,
+       3,     4,    -1,    53,     7,     8,    10,    -1,    11,    59,
+      60,    15,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
+      70,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    39,    41,    42,    -1,
+      -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,
+      53,    -1,    -1,    57,    58,    -1,    59,    60,    -1,    62,
+      -1,    64,    -1,    -1,    67,    68,    69,    70,    -1,     3,
+       4,    -1,    75,     7,     8,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,    22,    23,
+      24,    -1,    -1,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
+      44,    45,    46,    47,    -1,    -1,     3,     4,    -1,    53,
+       7,     8,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
+      64,    -1,    -1,    67,    68,    -1,    70,    -1,    -1,    73,
+      -1,    75,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
+       4,    -1,    39,     7,     8,     9,    -1,    44,    45,    46,
+      47,    -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,    -1,
+      -1,    -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,
+      67,    68,    -1,    70,    -1,    39,    -1,    -1,    75,    -1,
+      44,    45,    46,    47,     1,    -1,     3,     4,    -1,    53,
+       7,     8,     9,    -1,    -1,    59,    60,    -1,    62,    -1,
+      64,    -1,    -1,    67,    68,    69,    70,    -1,    -1,    -1,
+      -1,     1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,
+      -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    45,    46,
+      47,    -1,    -1,    -1,    -1,    10,    53,    -1,    -1,    -1,
+      15,    -1,    59,    60,    -1,    62,    -1,    64,    -1,    39,
+      67,    68,    -1,    70,    44,    45,    46,    47,     1,    -1,
+       3,     4,    -1,    53,     7,     8,    41,    42,    43,    59,
+      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    54,
+      70,    -1,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,     3,     4,    -1,    39,     7,     8,    -1,
+      75,    44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,
+      53,    -1,    -1,    23,    -1,    -1,    59,    60,    -1,    62,
+      -1,    64,    32,    33,    67,    68,    -1,    70,    -1,    39,
+      -1,    -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,
+      -1,     3,     4,    53,    -1,     7,     8,    -1,    -1,    59,
+      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
+      70,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      32,    33,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
+      -1,    -1,    44,    45,    46,    47,    -1,    -1,    -1,    -1,
+      -1,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,    10,
+      62,    -1,    64,    -1,    15,    67,    68,    -1,    70,     3,
+       4,    -1,    -1,     7,     8,    -1,    -1,    -1,    12,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      41,    42,    43,    -1,    -1,    -1,     3,     4,    -1,    -1,
+       7,     8,     9,    54,    -1,    39,    57,    58,    -1,    -1,
+      44,    45,    46,    47,    -1,    -1,    -1,    -1,    69,    53,
       -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
-      64,    -1,    -1,    67,    68,    -1,    70
+      64,    -1,    39,    67,    68,    -1,    70,    44,    45,    46,
+      47,    -1,    -1,     3,     4,    -1,    53,     7,     8,    -1,
+      -1,    -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,
+      67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
+       3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,    39,
+      -1,    -1,    -1,    -1,    44,    45,    46,    47,    -1,    -1,
+      -1,    -1,    10,    53,    -1,    -1,    -1,    15,    -1,    59,
+      60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,
+      70,    44,    45,    46,    47,    -1,    10,    -1,    -1,    -1,
+      53,    15,    -1,    41,    42,    43,    59,    60,    -1,    62,
+      -1,    64,    -1,    -1,    67,    68,    54,    70,    56,    57,
+      58,    10,    -1,    -1,    -1,    -1,    15,    41,    42,    43,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      54,    55,    -1,    57,    58,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1128,38 +1122,38 @@ static const yytype_uint8 yystos[] =
        0,    77,     0,     1,     3,     4,     7,     8,    18,    19,
       36,    37,    38,    39,    44,    45,    46,    47,    48,    52,
       53,    59,    60,    62,    64,    67,    68,    70,    78,    81,
-      85,    87,    90,   108,   119,   123,   124,   125,   126,   127,
-     128,   136,   137,    68,    71,   133,   134,   135,     3,     4,
-      46,    47,    70,    83,    84,   129,   137,   137,   137,    68,
-      68,    70,   124,   137,   124,   124,    68,   126,   137,     1,
-     115,   119,    49,    51,   128,    73,    75,    82,    92,   108,
-     139,   143,    82,    88,    52,    10,    15,    41,    42,    43,
-      54,    56,    57,    58,   121,   122,    12,   124,    59,    60,
-      61,    62,    63,    66,    59,    60,    61,    62,    63,    66,
-      13,    14,    44,    45,    53,   120,     1,     9,    89,   116,
-     117,   118,   119,   115,   119,    17,   133,    50,    68,    57,
-     110,   116,   116,   119,    44,    45,   138,     1,    56,    69,
-     141,   145,   141,     1,     6,    79,     1,     6,    80,   108,
-     109,    91,   109,     5,    89,   119,   136,   119,   119,   119,
-     109,   119,    39,   124,   124,   124,   124,   124,   124,   124,
-     124,   124,   124,   124,   124,    89,    14,   119,   141,     1,
-     145,    72,    86,   124,   141,   141,   119,   109,    41,     1,
-     119,     1,    92,     1,    92,     1,    20,    22,    23,    24,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    40,
-      74,    93,    94,    96,   103,   107,   119,   139,   140,   143,
-      55,   119,   129,   118,     1,   118,     1,     4,   111,   112,
-     136,    68,    95,     4,    68,    68,    68,   109,    68,    92,
-      92,    92,   113,   119,    92,   109,    92,    97,    91,   142,
-     143,   109,   119,   141,     1,   145,   119,   113,    98,     4,
-     119,   119,    93,     4,    96,    99,    92,    68,   104,   114,
-     115,   140,   109,   109,     1,     4,   141,    92,   130,   131,
-     132,   133,    69,   141,   141,    27,    41,   143,   115,    11,
-     105,   109,    17,   132,   109,   109,    68,   136,   109,   141,
-     106,    93,   139,    93,   119,   141,   119,   143,   123,    21,
-     100,   141,   109,   143,   109,   109,     1,    25,    26,   101,
-     109,   109,    93,   109,    99,    93,     7,     8,    59,    60,
-      87,    89,   102,    55,   144,   140,    99,   141,     7,     7,
-     144,   109,   141,   109,   109,    91,   109,    93,    91,    93
+      84,    85,    87,    90,   108,   119,   123,   124,   125,   126,
+     127,   128,   136,   137,    68,    71,   133,   134,   135,     3,
+       4,    47,    70,    83,    84,   129,   137,   137,   137,    70,
+     124,   137,   124,   124,    68,   126,   137,     1,   115,   119,
+      49,    51,   128,    73,    75,    82,    92,   108,   139,   143,
+      68,    82,    88,    52,    10,    15,    41,    42,    43,    54,
+      56,    57,    58,   121,   122,    12,   124,    59,    60,    61,
+      62,    63,    66,    59,    60,    61,    62,    63,    66,    13,
+      14,    44,    45,    53,   120,     1,     9,    89,   116,   117,
+     118,   119,   115,   119,    17,   133,    50,    68,    57,   110,
+     119,    44,    45,   138,     1,    56,    69,   141,   145,   141,
+       1,     6,    79,     1,     6,    80,   108,   109,    91,   109,
+     116,     5,    89,   119,   136,   119,   119,   119,   109,   119,
+      39,   124,   124,   124,   124,   124,   124,   124,   124,   124,
+     124,   124,   124,    89,    14,   119,   141,     1,   145,    72,
+      86,   124,   119,   109,    41,     1,   119,     1,    92,     1,
+      92,     1,    20,    22,    23,    24,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    40,    74,    93,    94,    96,
+     103,   107,   119,   139,   140,   143,   141,    55,   119,   129,
+     118,     1,   118,     1,     4,   111,   112,   136,    68,    95,
+       4,    68,    68,    68,   109,    68,    92,    92,    92,   113,
+     119,    92,   109,    92,    97,    91,   142,   143,   109,   119,
+     141,     1,   145,   119,   113,    98,     4,   119,   119,    93,
+       4,    96,    99,    92,    68,   104,   114,   115,   140,   109,
+     109,     1,     4,   141,    92,   130,   131,   132,   133,    69,
+     141,   141,    27,    41,   143,   115,    11,   105,   109,    17,
+     132,   109,   109,    68,   136,   109,   141,   106,    93,   139,
+      93,   119,   141,   119,   143,   123,    21,   100,   141,   109,
+     143,   109,   109,     1,    25,    26,   101,   109,   109,    93,
+     109,    99,    93,     7,     8,    59,    60,    87,    89,   102,
+      55,   144,   140,    99,   141,     7,     7,   144,   109,   141,
+     109,   109,    91,   109,    93,    91,    93
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@ -1182,10 +1176,10 @@ static const yytype_uint8 yyr1[] =
      123,   123,   123,   124,   124,   124,   124,   124,   124,   124,
      124,   124,   124,   124,   125,   125,   125,   125,   125,   125,
      125,   126,   126,   126,   126,   126,   126,   126,   126,   126,
-     126,   126,   126,   126,   126,   127,   127,   128,   129,   129,
-     130,   130,   131,   131,   132,   133,   134,   134,   135,   136,
-     136,   137,   137,   138,   138,   138,   139,   140,   141,   142,
-     142,   143,   144,   145
+     126,   126,   126,   126,   127,   127,   128,   129,   129,   130,
+     130,   131,   131,   132,   133,   134,   134,   135,   136,   136,
+     137,   137,   138,   138,   138,   139,   140,   141,   142,   142,
+     143,   144,   145
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1207,11 +1201,11 @@ static const yytype_uint8 yyr2[] =
        3,     5,     1,     1,     1,     2,     1,     1,     1,     1,
        1,     1,     2,     1,     3,     3,     3,     3,     3,     3,
        3,     2,     2,     5,     4,     3,     3,     3,     3,     3,
-       3,     1,     2,     3,     4,     4,     1,     1,     1,     2,
-       2,     1,     1,     2,     2,     1,     2,     4,     0,     1,
-       0,     2,     1,     2,     1,     3,     1,     2,     2,     1,
-       2,     1,     3,     1,     1,     0,     2,     2,     1,     0,
-       1,     1,     1,     2
+       3,     1,     2,     3,     4,     1,     1,     1,     2,     2,
+       1,     1,     2,     2,     1,     2,     4,     0,     1,     0,
+       2,     1,     2,     1,     3,     1,     2,     2,     1,     2,
+       1,     3,     1,     1,     0,     2,     2,     1,     0,     1,
+       1,     1,     2
 };
 
 
@@ -1893,7 +1887,7 @@ yyreduce:
                rule = 0;
                yyerrok;
          }
-#line 1897 "awkgram.c" /* yacc.c:1646  */
+#line 1891 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 5:
@@ -1901,7 +1895,7 @@ yyreduce:
     {
                next_sourcefile();
          }
-#line 1905 "awkgram.c" /* yacc.c:1646  */
+#line 1899 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 6:
@@ -1914,7 +1908,7 @@ yyreduce:
                 */
                /* yyerrok; */
          }
-#line 1918 "awkgram.c" /* yacc.c:1646  */
+#line 1912 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 7:
@@ -1923,7 +1917,7 @@ yyreduce:
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
-#line 1927 "awkgram.c" /* yacc.c:1646  */
+#line 1921 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 8:
@@ -1938,7 +1932,7 @@ yyreduce:
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
-#line 1942 "awkgram.c" /* yacc.c:1646  */
+#line 1936 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 9:
@@ -1949,7 +1943,7 @@ yyreduce:
                want_param_names = DONT_CHECK;
                yyerrok;
          }
-#line 1953 "awkgram.c" /* yacc.c:1646  */
+#line 1947 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 10:
@@ -1959,7 +1953,7 @@ yyreduce:
                at_seen = false;
                yyerrok;
          }
-#line 1963 "awkgram.c" /* yacc.c:1646  */
+#line 1957 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 11:
@@ -1969,7 +1963,7 @@ yyreduce:
                at_seen = false;
                yyerrok;
          }
-#line 1973 "awkgram.c" /* yacc.c:1646  */
+#line 1967 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 12:
@@ -1981,19 +1975,19 @@ yyreduce:
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
-#line 1985 "awkgram.c" /* yacc.c:1646  */
+#line 1979 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 13:
 #line 286 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 1991 "awkgram.c" /* yacc.c:1646  */
+#line 1985 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 14:
 #line 288 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 1997 "awkgram.c" /* yacc.c:1646  */
+#line 1991 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 15:
@@ -2005,19 +1999,19 @@ yyreduce:
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
-#line 2009 "awkgram.c" /* yacc.c:1646  */
+#line 2003 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 16:
 #line 301 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 2015 "awkgram.c" /* yacc.c:1646  */
+#line 2009 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 17:
 #line 303 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 2021 "awkgram.c" /* yacc.c:1646  */
+#line 2015 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 18:
@@ -2030,7 +2024,7 @@ yyreduce:
                } else
                        (yyval) = NULL;
          }
-#line 2034 "awkgram.c" /* yacc.c:1646  */
+#line 2028 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 19:
@@ -2043,7 +2037,7 @@ yyreduce:
                } else
                        (yyval) = (yyvsp[0]);
          }
-#line 2047 "awkgram.c" /* yacc.c:1646  */
+#line 2041 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 20:
@@ -2077,7 +2071,7 @@ yyreduce:
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
-#line 2081 "awkgram.c" /* yacc.c:1646  */
+#line 2075 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 21:
@@ -2095,7 +2089,7 @@ yyreduce:
                check_comment();
                (yyval) = (yyvsp[0]);
          }
-#line 2099 "awkgram.c" /* yacc.c:1646  */
+#line 2093 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 22:
@@ -2113,7 +2107,7 @@ yyreduce:
                check_comment();
                (yyval) = (yyvsp[0]);
          }
-#line 2117 "awkgram.c" /* yacc.c:1646  */
+#line 2111 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 23:
@@ -2125,7 +2119,7 @@ yyreduce:
                check_comment();
                (yyval) = (yyvsp[0]);
          }
-#line 2129 "awkgram.c" /* yacc.c:1646  */
+#line 2123 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 24:
@@ -2137,7 +2131,7 @@ yyreduce:
                check_comment();
                (yyval) = (yyvsp[0]);
          }
-#line 2141 "awkgram.c" /* yacc.c:1646  */
+#line 2135 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 25:
@@ -2150,19 +2144,19 @@ yyreduce:
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
-#line 2154 "awkgram.c" /* yacc.c:1646  */
+#line 2148 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 26:
 #line 416 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 2160 "awkgram.c" /* yacc.c:1646  */
+#line 2154 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 27:
 #line 418 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 2166 "awkgram.c" /* yacc.c:1646  */
+#line 2160 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 28:
@@ -2172,7 +2166,7 @@ yyreduce:
                                        tokstart);
                YYABORT;
          }
-#line 2176 "awkgram.c" /* yacc.c:1646  */
+#line 2170 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 29:
@@ -2181,13 +2175,13 @@ yyreduce:
                (yyval) = (yyvsp[0]);
                at_seen = false;
          }
-#line 2185 "awkgram.c" /* yacc.c:1646  */
+#line 2179 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 32:
 #line 438 "awkgram.y" /* yacc.c:1646  */
     { want_param_names = FUNC_HEADER; }
-#line 2191 "awkgram.c" /* yacc.c:1646  */
+#line 2185 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 33:
@@ -2229,13 +2223,13 @@ yyreduce:
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
-#line 2233 "awkgram.c" /* yacc.c:1646  */
+#line 2227 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 34:
 #line 484 "awkgram.y" /* yacc.c:1646  */
     { want_regexp = true; }
-#line 2239 "awkgram.c" /* yacc.c:1646  */
+#line 2233 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 35:
@@ -2268,7 +2262,7 @@ yyreduce:
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
-#line 2272 "awkgram.c" /* yacc.c:1646  */
+#line 2266 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 36:
@@ -2285,13 +2279,13 @@ yyreduce:
                  (yyval)->opcode = Op_push_re;
                  (yyval)->memory = make_typed_regex(re, len);
                }
-#line 2289 "awkgram.c" /* yacc.c:1646  */
+#line 2283 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 37:
 #line 533 "awkgram.y" /* yacc.c:1646  */
     { bcfree((yyvsp[0])); }
-#line 2295 "awkgram.c" /* yacc.c:1646  */
+#line 2289 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 39:
@@ -2306,7 +2300,7 @@ yyreduce:
                } else
                        (yyval) = NULL;
          }
-#line 2310 "awkgram.c" /* yacc.c:1646  */
+#line 2304 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 40:
@@ -2357,25 +2351,25 @@ yyreduce:
                }
                yyerrok;
          }
-#line 2361 "awkgram.c" /* yacc.c:1646  */
+#line 2355 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 41:
 #line 597 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = NULL; }
-#line 2367 "awkgram.c" /* yacc.c:1646  */
+#line 2361 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 44:
 #line 607 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 2373 "awkgram.c" /* yacc.c:1646  */
+#line 2367 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 45:
 #line 609 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[-1]); }
-#line 2379 "awkgram.c" /* yacc.c:1646  */
+#line 2373 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 46:
@@ -2386,7 +2380,7 @@ yyreduce:
                else
                        (yyval) = (yyvsp[0]);
          }
-#line 2390 "awkgram.c" /* yacc.c:1646  */
+#line 2384 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 47:
@@ -2480,7 +2474,7 @@ yyreduce:
                break_allowed--;
                fix_break_continue(ip, tbreak, NULL);
          }
-#line 2484 "awkgram.c" /* yacc.c:1646  */
+#line 2478 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 48:
@@ -2526,7 +2520,7 @@ yyreduce:
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
-#line 2530 "awkgram.c" /* yacc.c:1646  */
+#line 2524 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 49:
@@ -2572,7 +2566,7 @@ yyreduce:
                } /* else
                        $1 and $4 are NULLs */
          }
-#line 2576 "awkgram.c" /* yacc.c:1646  */
+#line 2570 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 50:
@@ -2689,7 +2683,7 @@ regular_loop:
                break_allowed--;
                continue_allowed--;
          }
-#line 2693 "awkgram.c" /* yacc.c:1646  */
+#line 2687 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 51:
@@ -2700,7 +2694,7 @@ regular_loop:
                break_allowed--;
                continue_allowed--;
          }
-#line 2704 "awkgram.c" /* yacc.c:1646  */
+#line 2698 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 52:
@@ -2711,7 +2705,7 @@ regular_loop:
                break_allowed--;
                continue_allowed--;
          }
-#line 2715 "awkgram.c" /* yacc.c:1646  */
+#line 2709 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 53:
@@ -2723,7 +2717,7 @@ regular_loop:
                        (yyval) = (yyvsp[0]);
                (yyval) = add_pending_comment((yyval));
          }
-#line 2727 "awkgram.c" /* yacc.c:1646  */
+#line 2721 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 54:
@@ -2737,7 +2731,7 @@ regular_loop:
                (yyval) = add_pending_comment((yyval));
 
          }
-#line 2741 "awkgram.c" /* yacc.c:1646  */
+#line 2735 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 55:
@@ -2751,7 +2745,7 @@ regular_loop:
                (yyval) = add_pending_comment((yyval));
 
          }
-#line 2755 "awkgram.c" /* yacc.c:1646  */
+#line 2749 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 56:
@@ -2765,7 +2759,7 @@ regular_loop:
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
-#line 2769 "awkgram.c" /* yacc.c:1646  */
+#line 2763 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 57:
@@ -2781,7 +2775,7 @@ regular_loop:
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
-#line 2785 "awkgram.c" /* yacc.c:1646  */
+#line 2779 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 58:
@@ -2801,7 +2795,7 @@ regular_loop:
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                (yyval) = add_pending_comment((yyval));
          }
-#line 2805 "awkgram.c" /* yacc.c:1646  */
+#line 2799 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 59:
@@ -2810,7 +2804,7 @@ regular_loop:
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
-#line 2814 "awkgram.c" /* yacc.c:1646  */
+#line 2808 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 60:
@@ -2836,13 +2830,13 @@ regular_loop:
                }
                (yyval) = add_pending_comment((yyval));
          }
-#line 2840 "awkgram.c" /* yacc.c:1646  */
+#line 2834 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 62:
 #line 1024 "awkgram.y" /* yacc.c:1646  */
     { in_print = true; in_parens = 0; }
-#line 2846 "awkgram.c" /* yacc.c:1646  */
+#line 2840 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 63:
@@ -2944,13 +2938,13 @@ regular_print:
                }
                (yyval) = add_pending_comment((yyval));
          }
-#line 2948 "awkgram.c" /* yacc.c:1646  */
+#line 2942 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 64:
 #line 1123 "awkgram.y" /* yacc.c:1646  */
     { sub_counter = 0; }
-#line 2954 "awkgram.c" /* yacc.c:1646  */
+#line 2948 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 65:
@@ -2988,7 +2982,7 @@ regular_print:
                }
                (yyval) = add_pending_comment((yyval));
          }
-#line 2992 "awkgram.c" /* yacc.c:1646  */
+#line 2986 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 66:
@@ -3019,7 +3013,7 @@ regular_print:
                }
                (yyval) = add_pending_comment((yyval));
          }
-#line 3023 "awkgram.c" /* yacc.c:1646  */
+#line 3017 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 67:
@@ -3028,25 +3022,25 @@ regular_print:
                (yyval) = optimize_assignment((yyvsp[0]));
                (yyval) = add_pending_comment((yyval));
          }
-#line 3032 "awkgram.c" /* yacc.c:1646  */
+#line 3026 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 68:
 #line 1197 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3038 "awkgram.c" /* yacc.c:1646  */
+#line 3032 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 69:
 #line 1199 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3044 "awkgram.c" /* yacc.c:1646  */
+#line 3038 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 70:
 #line 1204 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3050 "awkgram.c" /* yacc.c:1646  */
+#line 3044 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 71:
@@ -3057,13 +3051,13 @@ regular_print:
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
-#line 3061 "awkgram.c" /* yacc.c:1646  */
+#line 3055 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 72:
 #line 1213 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3067 "awkgram.c" /* yacc.c:1646  */
+#line 3061 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 73:
@@ -3079,7 +3073,7 @@ regular_print:
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
-#line 3083 "awkgram.c" /* yacc.c:1646  */
+#line 3077 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 74:
@@ -3094,13 +3088,13 @@ regular_print:
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
-#line 3098 "awkgram.c" /* yacc.c:1646  */
+#line 3092 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 75:
 #line 1244 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = (yyvsp[0]); }
-#line 3104 "awkgram.c" /* yacc.c:1646  */
+#line 3098 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 76:
@@ -3112,7 +3106,7 @@ regular_print:
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
-#line 3116 "awkgram.c" /* yacc.c:1646  */
+#line 3110 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 77:
@@ -3123,13 +3117,13 @@ regular_print:
                add_sign_to_num(n, '+');
                (yyval) = (yyvsp[0]);
          }
-#line 3127 "awkgram.c" /* yacc.c:1646  */
+#line 3121 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 78:
 #line 1261 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = (yyvsp[0]); }
-#line 3133 "awkgram.c" /* yacc.c:1646  */
+#line 3127 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 79:
@@ -3141,7 +3135,7 @@ regular_print:
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
-#line 3145 "awkgram.c" /* yacc.c:1646  */
+#line 3139 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 80:
@@ -3151,19 +3145,19 @@ regular_print:
                (yyvsp[0])->opcode = Op_push_re;
                (yyval) = (yyvsp[0]);
          }
-#line 3155 "awkgram.c" /* yacc.c:1646  */
+#line 3149 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 81:
 #line 1280 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3161 "awkgram.c" /* yacc.c:1646  */
+#line 3155 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 82:
 #line 1282 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3167 "awkgram.c" /* yacc.c:1646  */
+#line 3161 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 84:
@@ -3171,7 +3165,7 @@ regular_print:
     {
                (yyval) = (yyvsp[-1]);
          }
-#line 3175 "awkgram.c" /* yacc.c:1646  */
+#line 3169 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 85:
@@ -3181,13 +3175,13 @@ regular_print:
                in_parens = 0;
                (yyval) = NULL;
          }
-#line 3185 "awkgram.c" /* yacc.c:1646  */
+#line 3179 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 86:
 #line 1304 "awkgram.y" /* yacc.c:1646  */
     { in_print = false; in_parens = 0; }
-#line 3191 "awkgram.c" /* yacc.c:1646  */
+#line 3185 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 87:
@@ -3199,7 +3193,7 @@ regular_print:
                        yyerror(_("multistage two-way pipelines don't work"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
-#line 3203 "awkgram.c" /* yacc.c:1646  */
+#line 3197 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 88:
@@ -3207,7 +3201,7 @@ regular_print:
     {
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
-#line 3211 "awkgram.c" /* yacc.c:1646  */
+#line 3205 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 89:
@@ -3215,13 +3209,13 @@ regular_print:
     {
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
-#line 3219 "awkgram.c" /* yacc.c:1646  */
+#line 3213 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 94:
 #line 1338 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3225 "awkgram.c" /* yacc.c:1646  */
+#line 3219 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 95:
@@ -3230,19 +3224,19 @@ regular_print:
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
-#line 3234 "awkgram.c" /* yacc.c:1646  */
+#line 3228 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 96:
 #line 1348 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3240 "awkgram.c" /* yacc.c:1646  */
+#line 3234 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 97:
 #line 1350 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3246 "awkgram.c" /* yacc.c:1646  */
+#line 3240 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 98:
@@ -3251,7 +3245,7 @@ regular_print:
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
-#line 3255 "awkgram.c" /* yacc.c:1646  */
+#line 3249 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 99:
@@ -3264,55 +3258,55 @@ regular_print:
                } else
                        (yyval) = NULL;
          }
-#line 3268 "awkgram.c" /* yacc.c:1646  */
+#line 3262 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 100:
 #line 1369 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3274 "awkgram.c" /* yacc.c:1646  */
+#line 3268 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 101:
 #line 1371 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[-1]); }
-#line 3280 "awkgram.c" /* yacc.c:1646  */
+#line 3274 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 102:
 #line 1373 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[-2]); }
-#line 3286 "awkgram.c" /* yacc.c:1646  */
+#line 3280 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 103:
 #line 1379 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3292 "awkgram.c" /* yacc.c:1646  */
+#line 3286 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 104:
 #line 1381 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3298 "awkgram.c" /* yacc.c:1646  */
+#line 3292 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 105:
 #line 1386 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3304 "awkgram.c" /* yacc.c:1646  */
+#line 3298 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 106:
 #line 1388 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3310 "awkgram.c" /* yacc.c:1646  */
+#line 3304 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 107:
 #line 1393 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3316 "awkgram.c" /* yacc.c:1646  */
+#line 3310 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 108:
@@ -3321,13 +3315,13 @@ regular_print:
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
-#line 3325 "awkgram.c" /* yacc.c:1646  */
+#line 3319 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 109:
 #line 1400 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3331 "awkgram.c" /* yacc.c:1646  */
+#line 3325 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 110:
@@ -3339,7 +3333,7 @@ regular_print:
                 */
                (yyval) = (yyvsp[-1]);
          }
-#line 3343 "awkgram.c" /* yacc.c:1646  */
+#line 3337 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 111:
@@ -3348,7 +3342,7 @@ regular_print:
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
-#line 3352 "awkgram.c" /* yacc.c:1646  */
+#line 3346 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 112:
@@ -3357,25 +3351,25 @@ regular_print:
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
-#line 3361 "awkgram.c" /* yacc.c:1646  */
+#line 3355 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 113:
 #line 1423 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3367 "awkgram.c" /* yacc.c:1646  */
+#line 3361 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 114:
 #line 1425 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3373 "awkgram.c" /* yacc.c:1646  */
+#line 3367 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 115:
 #line 1430 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3379 "awkgram.c" /* yacc.c:1646  */
+#line 3373 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 116:
@@ -3384,13 +3378,13 @@ regular_print:
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
-#line 3388 "awkgram.c" /* yacc.c:1646  */
+#line 3382 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 117:
 #line 1437 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 3394 "awkgram.c" /* yacc.c:1646  */
+#line 3388 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 118:
@@ -3402,7 +3396,7 @@ regular_print:
                 */
                (yyval) = (yyvsp[-1]);
          }
-#line 3406 "awkgram.c" /* yacc.c:1646  */
+#line 3400 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 119:
@@ -3411,7 +3405,7 @@ regular_print:
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
-#line 3415 "awkgram.c" /* yacc.c:1646  */
+#line 3409 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 120:
@@ -3420,19 +3414,19 @@ regular_print:
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
-#line 3424 "awkgram.c" /* yacc.c:1646  */
+#line 3418 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 121:
 #line 1459 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3430 "awkgram.c" /* yacc.c:1646  */
+#line 3424 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 122:
 #line 1460 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = list_create((yyvsp[0])); }
-#line 3436 "awkgram.c" /* yacc.c:1646  */
+#line 3430 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 123:
@@ -3443,7 +3437,7 @@ regular_print:
                                _("regular expression on right of assignment"));
                (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
-#line 3447 "awkgram.c" /* yacc.c:1646  */
+#line 3441 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 124:
@@ -3451,19 +3445,19 @@ regular_print:
     {
                (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), 
(yyvsp[-1]));
          }
-#line 3455 "awkgram.c" /* yacc.c:1646  */
+#line 3449 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 125:
 #line 1477 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3461 "awkgram.c" /* yacc.c:1646  */
+#line 3455 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 126:
 #line 1479 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3467 "awkgram.c" /* yacc.c:1646  */
+#line 3461 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 127:
@@ -3480,7 +3474,7 @@ regular_print:
                bcfree((yyvsp[0]));
                (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
          }
-#line 3484 "awkgram.c" /* yacc.c:1646  */
+#line 3478 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 128:
@@ -3501,7 +3495,7 @@ regular_print:
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
-#line 3505 "awkgram.c" /* yacc.c:1646  */
+#line 3499 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 129:
@@ -3515,7 +3509,7 @@ regular_print:
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
-#line 3519 "awkgram.c" /* yacc.c:1646  */
+#line 3513 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 130:
@@ -3526,31 +3520,31 @@ regular_print:
                                _("regular expression on right of comparison"));
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
-#line 3530 "awkgram.c" /* yacc.c:1646  */
+#line 3524 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 131:
 #line 1528 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
-#line 3536 "awkgram.c" /* yacc.c:1646  */
+#line 3530 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 132:
 #line 1530 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3542 "awkgram.c" /* yacc.c:1646  */
+#line 3536 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 133:
 #line 1535 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3548 "awkgram.c" /* yacc.c:1646  */
+#line 3542 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 134:
 #line 1537 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3554 "awkgram.c" /* yacc.c:1646  */
+#line 3548 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 135:
@@ -3559,43 +3553,43 @@ regular_print:
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
-#line 3563 "awkgram.c" /* yacc.c:1646  */
+#line 3557 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 136:
 #line 1547 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3569 "awkgram.c" /* yacc.c:1646  */
+#line 3563 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 137:
 #line 1549 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3575 "awkgram.c" /* yacc.c:1646  */
+#line 3569 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 138:
 #line 1554 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3581 "awkgram.c" /* yacc.c:1646  */
+#line 3575 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 139:
 #line 1556 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3587 "awkgram.c" /* yacc.c:1646  */
+#line 3581 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 140:
 #line 1561 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3593 "awkgram.c" /* yacc.c:1646  */
+#line 3587 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 141:
 #line 1563 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 3599 "awkgram.c" /* yacc.c:1646  */
+#line 3593 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 142:
@@ -3652,43 +3646,43 @@ regular_print:
                                max_args = count;
                }
          }
-#line 3656 "awkgram.c" /* yacc.c:1646  */
+#line 3650 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 144:
 #line 1623 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3662 "awkgram.c" /* yacc.c:1646  */
+#line 3656 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 145:
 #line 1625 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3668 "awkgram.c" /* yacc.c:1646  */
+#line 3662 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 146:
 #line 1627 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3674 "awkgram.c" /* yacc.c:1646  */
+#line 3668 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 147:
 #line 1629 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3680 "awkgram.c" /* yacc.c:1646  */
+#line 3674 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 148:
 #line 1631 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3686 "awkgram.c" /* yacc.c:1646  */
+#line 3680 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 149:
 #line 1633 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3692 "awkgram.c" /* yacc.c:1646  */
+#line 3686 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 150:
@@ -3706,7 +3700,7 @@ regular_print:
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
-#line 3710 "awkgram.c" /* yacc.c:1646  */
+#line 3704 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 151:
@@ -3715,7 +3709,7 @@ regular_print:
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
-#line 3719 "awkgram.c" /* yacc.c:1646  */
+#line 3713 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 152:
@@ -3724,7 +3718,7 @@ regular_print:
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
-#line 3728 "awkgram.c" /* yacc.c:1646  */
+#line 3722 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 153:
@@ -3748,7 +3742,7 @@ regular_print:
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
-#line 3752 "awkgram.c" /* yacc.c:1646  */
+#line 3746 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 154:
@@ -3757,43 +3751,43 @@ regular_print:
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
-#line 3761 "awkgram.c" /* yacc.c:1646  */
+#line 3755 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 155:
 #line 1690 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3767 "awkgram.c" /* yacc.c:1646  */
+#line 3761 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 156:
 #line 1692 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3773 "awkgram.c" /* yacc.c:1646  */
+#line 3767 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 157:
 #line 1694 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3779 "awkgram.c" /* yacc.c:1646  */
+#line 3773 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 158:
 #line 1696 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3785 "awkgram.c" /* yacc.c:1646  */
+#line 3779 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 159:
 #line 1698 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3791 "awkgram.c" /* yacc.c:1646  */
+#line 3785 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 160:
 #line 1700 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3797 "awkgram.c" /* yacc.c:1646  */
+#line 3791 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 161:
@@ -3801,7 +3795,7 @@ regular_print:
     {
                (yyval) = list_create((yyvsp[0]));
          }
-#line 3805 "awkgram.c" /* yacc.c:1646  */
+#line 3799 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 162:
@@ -3837,7 +3831,7 @@ regular_print:
                        }
                }
           }
-#line 3841 "awkgram.c" /* yacc.c:1646  */
+#line 3835 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 163:
@@ -3848,7 +3842,7 @@ regular_print:
                else
                        (yyval) = (yyvsp[-1]);
          }
-#line 3852 "awkgram.c" /* yacc.c:1646  */
+#line 3846 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 164:
@@ -3858,22 +3852,12 @@ regular_print:
                if ((yyval) == NULL)
                        YYABORT;
          }
-#line 3862 "awkgram.c" /* yacc.c:1646  */
+#line 3856 "awkgram.c" /* yacc.c:1646  */
     break;
 
   case 165:
 #line 1754 "awkgram.y" /* yacc.c:1646  */
     {
-               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
-               if ((yyval) == NULL)
-                       YYABORT;
-         }
-#line 3872 "awkgram.c" /* yacc.c:1646  */
-    break;
-
-  case 166:
-#line 1760 "awkgram.y" /* yacc.c:1646  */
-    {
                static bool warned = false;
 
                if (do_lint && ! warned) {
@@ -3885,45 +3869,45 @@ regular_print:
                if ((yyval) == NULL)
                        YYABORT;
          }
-#line 3889 "awkgram.c" /* yacc.c:1646  */
+#line 3873 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 169:
-#line 1775 "awkgram.y" /* yacc.c:1646  */
+  case 168:
+#line 1769 "awkgram.y" /* yacc.c:1646  */
     {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
-#line 3898 "awkgram.c" /* yacc.c:1646  */
+#line 3882 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 170:
-#line 1780 "awkgram.y" /* yacc.c:1646  */
+  case 169:
+#line 1774 "awkgram.y" /* yacc.c:1646  */
     {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
-#line 3907 "awkgram.c" /* yacc.c:1646  */
+#line 3891 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 171:
-#line 1785 "awkgram.y" /* yacc.c:1646  */
+  case 170:
+#line 1779 "awkgram.y" /* yacc.c:1646  */
     {
                (yyval) = list_create((yyvsp[0]));
          }
-#line 3915 "awkgram.c" /* yacc.c:1646  */
+#line 3899 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 172:
-#line 1789 "awkgram.y" /* yacc.c:1646  */
+  case 171:
+#line 1783 "awkgram.y" /* yacc.c:1646  */
     {
                (yyval) = list_create((yyvsp[0]));
          }
-#line 3923 "awkgram.c" /* yacc.c:1646  */
+#line 3907 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 173:
-#line 1793 "awkgram.y" /* yacc.c:1646  */
+  case 172:
+#line 1787 "awkgram.y" /* yacc.c:1646  */
     {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3938,11 +3922,11 @@ regular_print:
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
-#line 3942 "awkgram.c" /* yacc.c:1646  */
+#line 3926 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 174:
-#line 1808 "awkgram.y" /* yacc.c:1646  */
+  case 173:
+#line 1802 "awkgram.y" /* yacc.c:1646  */
     {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3960,20 +3944,20 @@ regular_print:
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
-#line 3964 "awkgram.c" /* yacc.c:1646  */
+#line 3948 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 175:
-#line 1829 "awkgram.y" /* yacc.c:1646  */
+  case 174:
+#line 1823 "awkgram.y" /* yacc.c:1646  */
     {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
-#line 3973 "awkgram.c" /* yacc.c:1646  */
+#line 3957 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 176:
-#line 1834 "awkgram.y" /* yacc.c:1646  */
+  case 175:
+#line 1828 "awkgram.y" /* yacc.c:1646  */
     {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@ -4007,11 +3991,11 @@ regular_print:
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
-#line 4011 "awkgram.c" /* yacc.c:1646  */
+#line 3995 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 177:
-#line 1871 "awkgram.y" /* yacc.c:1646  */
+  case 176:
+#line 1865 "awkgram.y" /* yacc.c:1646  */
     {
                NODE *n;
 
@@ -4036,49 +4020,49 @@ regular_print:
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
-#line 4040 "awkgram.c" /* yacc.c:1646  */
+#line 4024 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 178:
-#line 1899 "awkgram.y" /* yacc.c:1646  */
+  case 177:
+#line 1893 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 4046 "awkgram.c" /* yacc.c:1646  */
+#line 4030 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 179:
-#line 1901 "awkgram.y" /* yacc.c:1646  */
+  case 178:
+#line 1895 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); }
-#line 4052 "awkgram.c" /* yacc.c:1646  */
+#line 4036 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 180:
-#line 1906 "awkgram.y" /* yacc.c:1646  */
+  case 179:
+#line 1900 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 4058 "awkgram.c" /* yacc.c:1646  */
+#line 4042 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 181:
-#line 1908 "awkgram.y" /* yacc.c:1646  */
+  case 180:
+#line 1902 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[-1]); }
-#line 4064 "awkgram.c" /* yacc.c:1646  */
+#line 4048 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 182:
-#line 1913 "awkgram.y" /* yacc.c:1646  */
+  case 181:
+#line 1907 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = (yyvsp[0]); }
-#line 4070 "awkgram.c" /* yacc.c:1646  */
+#line 4054 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 183:
-#line 1915 "awkgram.y" /* yacc.c:1646  */
+  case 182:
+#line 1909 "awkgram.y" /* yacc.c:1646  */
     {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
-#line 4078 "awkgram.c" /* yacc.c:1646  */
+#line 4062 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 184:
-#line 1922 "awkgram.y" /* yacc.c:1646  */
+  case 183:
+#line 1916 "awkgram.y" /* yacc.c:1646  */
     {
                INSTRUCTION *ip = (yyvsp[0])->lasti;
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@ -4092,11 +4076,11 @@ regular_print:
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
-#line 4096 "awkgram.c" /* yacc.c:1646  */
+#line 4080 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 185:
-#line 1939 "awkgram.y" /* yacc.c:1646  */
+  case 184:
+#line 1933 "awkgram.y" /* yacc.c:1646  */
     {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@ -4110,31 +4094,31 @@ regular_print:
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
-#line 4114 "awkgram.c" /* yacc.c:1646  */
+#line 4098 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 186:
-#line 1956 "awkgram.y" /* yacc.c:1646  */
+  case 185:
+#line 1950 "awkgram.y" /* yacc.c:1646  */
     {  (yyval) = (yyvsp[0]); }
-#line 4120 "awkgram.c" /* yacc.c:1646  */
+#line 4104 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 187:
-#line 1958 "awkgram.y" /* yacc.c:1646  */
+  case 186:
+#line 1952 "awkgram.y" /* yacc.c:1646  */
     {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
-#line 4128 "awkgram.c" /* yacc.c:1646  */
+#line 4112 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 188:
-#line 1965 "awkgram.y" /* yacc.c:1646  */
+  case 187:
+#line 1959 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[-1]); }
-#line 4134 "awkgram.c" /* yacc.c:1646  */
+#line 4118 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 189:
-#line 1970 "awkgram.y" /* yacc.c:1646  */
+  case 188:
+#line 1964 "awkgram.y" /* yacc.c:1646  */
     {
                char *var_name = (yyvsp[0])->lextok;
 
@@ -4142,22 +4126,22 @@ regular_print:
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
-#line 4146 "awkgram.c" /* yacc.c:1646  */
+#line 4130 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 190:
-#line 1978 "awkgram.y" /* yacc.c:1646  */
+  case 189:
+#line 1972 "awkgram.y" /* yacc.c:1646  */
     {
                char *arr = (yyvsp[-1])->lextok;
                (yyvsp[-1])->memory = variable((yyvsp[-1])->source_line, arr, 
Node_var_new);
                (yyvsp[-1])->opcode = Op_push_array;
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-1]));
          }
-#line 4157 "awkgram.c" /* yacc.c:1646  */
+#line 4141 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 191:
-#line 1988 "awkgram.y" /* yacc.c:1646  */
+  case 190:
+#line 1982 "awkgram.y" /* yacc.c:1646  */
     {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@ -4169,73 +4153,73 @@ regular_print:
                } else
                        (yyval) = (yyvsp[0]);
          }
-#line 4173 "awkgram.c" /* yacc.c:1646  */
+#line 4157 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 192:
-#line 2000 "awkgram.y" /* yacc.c:1646  */
+  case 191:
+#line 1994 "awkgram.y" /* yacc.c:1646  */
     {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
-#line 4183 "awkgram.c" /* yacc.c:1646  */
+#line 4167 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 193:
-#line 2009 "awkgram.y" /* yacc.c:1646  */
+  case 192:
+#line 2003 "awkgram.y" /* yacc.c:1646  */
     {
                (yyvsp[0])->opcode = Op_postincrement;
          }
-#line 4191 "awkgram.c" /* yacc.c:1646  */
+#line 4175 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 194:
-#line 2013 "awkgram.y" /* yacc.c:1646  */
+  case 193:
+#line 2007 "awkgram.y" /* yacc.c:1646  */
     {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
-#line 4199 "awkgram.c" /* yacc.c:1646  */
+#line 4183 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 195:
-#line 2016 "awkgram.y" /* yacc.c:1646  */
+  case 194:
+#line 2010 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = NULL; }
-#line 4205 "awkgram.c" /* yacc.c:1646  */
+#line 4189 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 197:
-#line 2024 "awkgram.y" /* yacc.c:1646  */
+  case 196:
+#line 2018 "awkgram.y" /* yacc.c:1646  */
     { yyerrok; }
-#line 4211 "awkgram.c" /* yacc.c:1646  */
+#line 4195 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 198:
-#line 2028 "awkgram.y" /* yacc.c:1646  */
+  case 197:
+#line 2022 "awkgram.y" /* yacc.c:1646  */
     { yyerrok; }
-#line 4217 "awkgram.c" /* yacc.c:1646  */
+#line 4201 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 201:
-#line 2037 "awkgram.y" /* yacc.c:1646  */
+  case 200:
+#line 2031 "awkgram.y" /* yacc.c:1646  */
     { yyerrok; }
-#line 4223 "awkgram.c" /* yacc.c:1646  */
+#line 4207 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 202:
-#line 2041 "awkgram.y" /* yacc.c:1646  */
+  case 201:
+#line 2035 "awkgram.y" /* yacc.c:1646  */
     { (yyval) = (yyvsp[0]); yyerrok; }
-#line 4229 "awkgram.c" /* yacc.c:1646  */
+#line 4213 "awkgram.c" /* yacc.c:1646  */
     break;
 
-  case 203:
-#line 2045 "awkgram.y" /* yacc.c:1646  */
+  case 202:
+#line 2039 "awkgram.y" /* yacc.c:1646  */
     { yyerrok; }
-#line 4235 "awkgram.c" /* yacc.c:1646  */
+#line 4219 "awkgram.c" /* yacc.c:1646  */
     break;
 
 
-#line 4239 "awkgram.c" /* yacc.c:1646  */
+#line 4223 "awkgram.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -4463,7 +4447,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 2047 "awkgram.y" /* yacc.c:1906  */
+#line 2041 "awkgram.y" /* yacc.c:1906  */
 
 
 struct token {
@@ -8640,15 +8624,15 @@ lookup_builtin(const char *name)
                return NULL;
        }
 
+       /* And another special case... */
+       if (tokentab[mid].value == Op_sub_builtin)
+               return (builtin_func_t) do_sub;
+
 #ifdef HAVE_MPFR
        if (do_mpfr)
                return tokentab[mid].ptr2;
 #endif
 
-       /* And another special case... */
-       if (tokentab[mid].value == Op_sub_builtin)
-               return (builtin_func_t) do_sub;
-
        return tokentab[mid].ptr;
 }
 
diff --git a/awkgram.y b/awkgram.y
index ddcc9d7..5d3ae87 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -1744,13 +1744,7 @@ non_post_simp_exp
                else
                        $$ = $2;
          }
-       | LEX_BUILTIN '(' opt_fcall_expression_list r_paren
-         {
-               $$ = snode($3, $1);
-               if ($$ == NULL)
-                       YYABORT;
-         }
-       | LEX_LENGTH '(' opt_fcall_expression_list r_paren
+       | lex_builtin '(' opt_fcall_expression_list r_paren
          {
                $$ = snode($3, $1);
                if ($$ == NULL)
@@ -6220,15 +6214,15 @@ lookup_builtin(const char *name)
                return NULL;
        }
 
+       /* And another special case... */
+       if (tokentab[mid].value == Op_sub_builtin)
+               return (builtin_func_t) do_sub;
+
 #ifdef HAVE_MPFR
        if (do_mpfr)
                return tokentab[mid].ptr2;
 #endif
 
-       /* And another special case... */
-       if (tokentab[mid].value == Op_sub_builtin)
-               return (builtin_func_t) do_sub;
-
        return tokentab[mid].ptr;
 }
 

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

Summary of changes:
 ChangeLog |    6 +
 awkgram.c | 1264 ++++++++++++++++++++++++++++++-------------------------------
 awkgram.y |   16 +-
 3 files changed, 635 insertions(+), 651 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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