gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, feature/fix-comments, updated. gawk-4.1.


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/fix-comments, updated. gawk-4.1.0-2690-g58d5ed3
Date: Mon, 17 Jul 2017 14:06:40 -0400 (EDT)

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

The branch, feature/fix-comments has been updated
       via  58d5ed311047006058d9188336521bdb56403fbb (commit)
       via  104b3c3f13fcb4b53bfc330db0d103cf50d5b523 (commit)
      from  1ebf12cfe09b3d6b65704a7d6a1b05dfa375ed63 (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=58d5ed311047006058d9188336521bdb56403fbb

commit 58d5ed311047006058d9188336521bdb56403fbb
Merge: 1ebf12c 104b3c3
Author: Arnold D. Robbins <address@hidden>
Date:   Mon Jul 17 21:06:30 2017 +0300

    Merge branch 'master' into feature/fix-comments

diff --cc awkgram.c
index cec4d77,d7fc496..8b9e1a0
--- a/awkgram.c
+++ b/awkgram.c
@@@ -610,16 -610,16 +610,16 @@@ union yyallo
  /* YYFINAL -- State number of the termination state.  */
  #define YYFINAL  2
  /* YYLAST -- Last index in YYTABLE.  */
- #define YYLAST   1247
 -#define YYLAST   1209
++#define YYLAST   1218
  
  /* YYNTOKENS -- Number of terminals.  */
  #define YYNTOKENS  76
  /* YYNNTS -- Number of nonterminals.  */
 -#define YYNNTS  70
 +#define YYNNTS  71
  /* YYNRULES -- Number of rules.  */
- #define YYNRULES  204
 -#define YYNRULES  202
++#define YYNRULES  203
  /* YYNSTATES -- Number of states.  */
- #define YYNSTATES  351
 -#define YYNSTATES  347
++#define YYNSTATES  348
  
  /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
     by yylex, with out-of-bounds checking.  */
@@@ -674,23 -674,23 +674,23 @@@ static const yytype_uint16 yyrline[] 
       262,   268,   277,   285,   287,   292,   300,   302,   308,   316,
       326,   356,   370,   384,   392,   403,   415,   417,   419,   425,
       433,   434,   438,   438,   484,   483,   517,   532,   534,   539,
 -     549,   596,   601,   602,   606,   608,   610,   617,   707,   749,
 -     791,   904,   911,   918,   929,   939,   949,   959,   971,   988,
 -     987,  1012,  1024,  1024,  1123,  1123,  1157,  1188,  1197,  1198,
 -    1204,  1205,  1212,  1217,  1229,  1243,  1245,  1253,  1260,  1262,
 -    1270,  1279,  1281,  1290,  1291,  1299,  1304,  1304,  1315,  1319,
 -    1327,  1328,  1331,  1333,  1338,  1339,  1348,  1349,  1354,  1359,
 -    1368,  1370,  1372,  1379,  1380,  1386,  1387,  1392,  1394,  1399,
 -    1401,  1409,  1414,  1423,  1424,  1429,  1431,  1436,  1438,  1446,
 -    1451,  1459,  1460,  1465,  1472,  1476,  1478,  1480,  1493,  1510,
 -    1520,  1527,  1529,  1534,  1536,  1538,  1546,  1548,  1553,  1555,
 -    1560,  1562,  1564,  1620,  1622,  1624,  1626,  1628,  1630,  1632,
 -    1634,  1648,  1653,  1658,  1683,  1689,  1691,  1693,  1695,  1697,
 -    1699,  1704,  1708,  1740,  1747,  1753,  1766,  1767,  1768,  1773,
 -    1778,  1782,  1786,  1801,  1822,  1827,  1864,  1893,  1894,  1900,
 -    1901,  1906,  1908,  1915,  1932,  1949,  1951,  1958,  1963,  1971,
 -    1981,  1993,  2002,  2006,  2010,  2014,  2018,  2022,  2025,  2027,
 -    2031,  2035,  2039
 +     549,   596,   601,   602,   606,   622,   624,   626,   633,   724,
 +     766,   808,   921,   928,   935,   946,   956,   966,   976,   988,
 +    1005,  1004,  1029,  1041,  1041,  1140,  1140,  1174,  1205,  1214,
 +    1215,  1221,  1222,  1229,  1234,  1246,  1260,  1262,  1270,  1277,
 +    1279,  1287,  1296,  1298,  1307,  1308,  1316,  1321,  1321,  1332,
 +    1336,  1344,  1345,  1348,  1350,  1355,  1356,  1365,  1366,  1371,
 +    1376,  1385,  1387,  1389,  1396,  1397,  1403,  1404,  1409,  1411,
 +    1416,  1418,  1426,  1431,  1440,  1441,  1446,  1448,  1453,  1455,
 +    1463,  1468,  1476,  1477,  1482,  1489,  1493,  1495,  1497,  1510,
 +    1527,  1537,  1544,  1546,  1551,  1553,  1555,  1563,  1565,  1570,
 +    1572,  1577,  1579,  1581,  1637,  1639,  1641,  1643,  1645,  1647,
 +    1649,  1651,  1665,  1670,  1675,  1700,  1706,  1708,  1710,  1712,
-     1714,  1716,  1721,  1725,  1757,  1764,  1770,  1776,  1789,  1790,
-     1791,  1796,  1801,  1805,  1809,  1824,  1845,  1850,  1887,  1916,
-     1917,  1923,  1924,  1929,  1931,  1938,  1955,  1972,  1974,  1981,
-     1986,  1994,  2004,  2016,  2025,  2029,  2033,  2037,  2041,  2045,
-     2048,  2050,  2054,  2058,  2062
++    1714,  1716,  1721,  1725,  1757,  1764,  1770,  1783,  1784,  1785,
++    1790,  1795,  1799,  1803,  1818,  1839,  1844,  1881,  1910,  1911,
++    1917,  1918,  1923,  1925,  1932,  1949,  1966,  1968,  1975,  1980,
++    1988,  1998,  2010,  2019,  2023,  2027,  2031,  2035,  2039,  2042,
++    2044,  2048,  2052,  2056
  };
  #endif
  
@@@ -745,56 -745,55 +745,55 @@@ static const yytype_uint16 yytoknum[] 
  };
  # endif
  
- #define YYPACT_NINF -305
 -#define YYPACT_NINF -272
++#define YYPACT_NINF -289
  
  #define yypact_value_is_default(Yystate) \
-   (!!((Yystate) == (-305)))
 -  (!!((Yystate) == (-272)))
++  (!!((Yystate) == (-289)))
  
 -#define YYTABLE_NINF -115
 +#define YYTABLE_NINF -116
  
  #define yytable_value_is_error(Yytable_value) \
 -  (!!((Yytable_value) == (-115)))
 +  (!!((Yytable_value) == (-116)))
  
    /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
       STATE-NUM.  */
  static const yytype_int16 yypact[] =
  {
-     -305,   387,  -305,  -305,   -35,   -18,  -305,  -305,  -305,  -305,
-      182,  -305,  -305,    78,    78,    78,   -23,   -21,  -305,  -305,
-     -305,  1150,  1150,  -305,  1150,   303,   880,   187,  -305,   -25,
-      -16,  -305,  -305,     3,  1165,  1076,    97,   341,  -305,  -305,
-     -305,  -305,   280,   806,   880,  -305,     8,  -305,  -305,  -305,
-     -305,  -305,    10,     5,  -305,    76,  -305,  -305,  -305,   806,
-      806,   145,    75,    22,    75,    75,  1150,   117,  -305,  -305,
-       15,  1059,    31,    38,  -305,   112,  -305,  -305,  -305,     3,
-     -305,   112,  -305,   162,  -305,  -305,  1103,   175,  1150,  1150,
-     1150,   112,  -305,  -305,  -305,  1150,   141,    97,  1150,  1150,
-     1150,  1150,  1150,  1150,  1150,  1150,  1150,  1150,  1150,  1150,
-     -305,   173,  -305,  -305,   170,  1150,  -305,  -305,  -305,   118,
-       69,  -305,  1189,    58,  1189,  -305,  -305,  -305,  -305,  1150,
-     -305,   118,   118,  1059,  -305,  -305,  -305,  1150,   112,  -305,
-      148,   927,  -305,  -305,    68,   -24,  -305,    71,   -24,     3,
-     -305,   610,  -305,  -305,  -305,    19,  -305,   241,   220,  1183,
-     1150,   186,    78,   -20,   -20,    75,    75,    75,    75,   -20,
-      -20,    75,    75,    75,    75,  -305,  -305,  1189,  -305,  1103,
-      853,  -305,    60,    97,  -305,  -305,  1189,  -305,   175,  -305,
-     1189,  -305,  -305,  -305,  -305,  -305,   135,  -305,    59,   140,
-      146,   112,   151,   -24,   -24,  -305,  -305,   -24,  1150,   -24,
-      112,   -16,  -305,  -305,   -24,  -305,  -305,  1189,  -305,   147,
-      112,  1150,  1189,  -305,  -305,  -305,  -305,  -305,  -305,   118,
-      138,  -305,  1150,  1150,  -305,   212,  1150,  1150,   726,   960,
-     -305,  -305,  -305,   -24,  1189,  -305,  -305,  -305,  -305,   657,
-      610,   112,  -305,  -305,  1189,   112,  -305,    48,  1059,   -24,
-      -18,   154,  1059,  1059,   198,   -17,  -305,   147,  -305,   201,
-      880,   223,  -305,    57,  -305,  -305,  -305,  -305,  -305,   112,
-     -305,  -305,     9,  -305,  -305,  -305,   112,   112,   163,   175,
-      112,  -305,   259,   190,  -305,   168,    15,  -305,  -305,   726,
-     -305,  -305,  -305,   726,  1150,   118,   773,  -305,  -305,   230,
-      240,  -305,  -305,   190,  -305,   112,  -305,   148,  1150,   234,
-     -305,  1059,   112,   895,   112,  -305,  -305,   112,  -305,  1076,
-      112,   112,   726,   112,  1008,  -305,   460,   726,  -305,  -305,
-     1008,   118,   535,  -305,   118,   112,   112,   726,   726,  -305,
-     -305
 -    -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
++    -289,   402,  -289,  -289,   -33,   -26,  -289,  -289,  -289,  -289,
++     235,  -289,  -289,    12,    12,    12,  -289,     7,  -289,  -289,
++    -289,  1118,  1118,  -289,  1118,  1145,   317,   194,  -289,   -25,
++      10,   -20,  -289,  -289,    -5,  1086,  1044,   -22,   306,  -289,
++    -289,  -289,  -289,   241,   821,   317,  -289,     2,  -289,  -289,
++    -289,  -289,     5,    14,  -289,    11,  -289,  -289,  -289,    67,
++      74,    22,    74,    74,  1118,   100,  -289,  -289,   108,   376,
++      45,    53,  -289,    73,  -289,  -289,  -289,    -5,  -289,    73,
++     821,  -289,   137,  -289,  -289,  1071,   149,  1118,  1118,  1118,
++      73,  -289,  -289,  -289,  1118,   120,   -22,  1118,  1118,  1118,
++    1118,  1118,  1118,  1118,  1118,  1118,  1118,  1118,  1118,  -289,
++     151,  -289,  -289,   153,  1118,  -289,  -289,  -289,    93,   126,
++    -289,  1160,     9,  1160,  -289,  -289,  -289,  -289,  1118,  -289,
++     376,  -289,  -289,  -289,  1118,    73,  -289,   124,   895,  -289,
++    -289,    59,   -23,  -289,    61,   -23,    -5,  -289,   625,  -289,
++      93,  -289,  -289,   122,  -289,   217,   302,  1027,  1118,   142,
++      12,   185,   185,    74,    74,    74,    74,   185,   185,    74,
++      74,    74,    74,  -289,  -289,  1160,  -289,  1071,   868,  -289,
++      60,   -22,  1160,  -289,   149,  -289,  1160,  -289,  -289,  -289,
++    -289,  -289,    95,  -289,     3,   101,   103,    73,   104,   -23,
++     -23,  -289,  -289,   -23,  1118,   -23,    73,   -20,  -289,  -289,
++     -23,  -289,  -289,  1160,  -289,    99,    73,  -289,  1118,  1160,
++    -289,  -289,  -289,  -289,  -289,  -289,    93,   148,  -289,  1118,
++    1118,  -289,   177,  1118,  1118,   741,   943,  -289,  -289,  -289,
++     -23,  1160,  -289,  -289,  -289,  -289,   672,   625,    73,  -289,
++    -289,  1160,    73,  -289,    30,   376,   -23,   -26,   116,   376,
++     376,   159,   -15,  -289,    99,  -289,   150,   317,   178,  -289,
++     220,  -289,  -289,  -289,  -289,  -289,    73,  -289,  -289,    52,
++    -289,  -289,  -289,    73,    73,   128,   149,    73,  -289,   428,
++     146,  -289,   118,   108,  -289,  -289,   741,  -289,  -289,  -289,
++     741,  1118,    93,   788,  -289,  -289,   204,   207,  -289,  -289,
++     146,  -289,    73,  -289,   124,  1118,   198,  -289,   376,    73,
++     273,    73,  -289,  -289,    73,  -289,  1044,    73,    73,   741,
++      73,   976,  -289,   475,   741,  -289,  -289,   976,    93,   550,
++    -289,    93,    73,    73,   741,   741,  -289,  -289
  };
  
    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@@ -802,68 -801,65 +801,67 @@@
       means the default is an error.  */
  static const yytype_uint8 yydefact[] =
  {
-        2,     0,     1,     6,     0,   190,   172,   173,    21,    22,
-        0,    23,    24,   179,     0,     0,     0,   167,     5,    91,
 -       2,     0,     1,     6,     0,   188,   170,   171,    21,    22,
 -       0,    23,    24,   177,     0,     0,    30,   165,     5,    90,
++       2,     0,     1,     6,     0,   189,   171,   172,    21,    22,
++       0,    23,    24,   178,     0,     0,    30,   166,     5,    91,
        38,     0,     0,    37,     0,     0,     0,     0,     3,     0,
-        0,   162,    34,     4,    19,   133,   141,   142,   144,   168,
-      176,   192,   169,     0,     0,   187,     0,   191,    27,    26,
-       30,    31,     0,     0,    28,    95,   180,   170,   171,     0,
-        0,     0,   175,   169,   174,   163,     0,   196,   169,   110,
-        0,   108,     0,     0,   177,    93,   202,     7,     8,    42,
-       39,    93,     9,     0,    92,   137,     0,     0,     0,     0,
-        0,    93,   138,   140,   139,     0,     0,   143,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      135,   134,   152,   153,     0,     0,   118,    36,   123,     0,
-        0,   116,   122,     0,   108,   189,   188,    29,    32,     0,
-      151,     0,     0,     0,   194,   195,   193,   111,    93,   199,
-        0,     0,   164,    14,     0,     0,    17,     0,     0,    94,
-      197,     0,    43,    35,   128,   129,   130,   126,   127,     0,
-        0,   131,   179,   149,   150,   146,   147,   148,   145,   160,
-      161,   157,   158,   159,   156,   125,   136,   124,   178,   119,
-        0,   186,     0,    96,   165,   166,   112,   204,     0,   113,
-      109,    13,    10,    16,    11,    41,     0,    60,     0,     0,
-        0,    93,     0,     0,     0,    82,    83,     0,   104,     0,
-       93,     0,    40,    54,     0,    63,    47,    68,    39,   200,
-       93,     0,    20,   155,   120,   121,   117,   101,    99,     0,
-        0,   154,     0,   104,    65,     0,     0,     0,     0,    69,
-       55,    56,    57,     0,   105,    58,   198,    71,    62,     0,
-        0,    93,   201,    45,   132,    93,   102,     0,     0,     0,
-      181,     0,     0,     0,     0,   190,    70,     0,    59,     0,
-        0,    86,    84,     0,    46,    25,    33,   103,   100,    93,
-       61,    66,     0,   183,   185,    67,    93,    93,     0,     0,
-       93,    73,     0,     0,    72,     0,     0,    87,    64,     0,
-      182,   184,    44,     0,     0,     0,     0,    76,    79,     0,
-        0,    80,    81,     0,   203,    93,    48,    85,     0,    89,
-       49,     0,    93,     0,    93,    78,    77,    93,    39,    88,
-       93,    93,     0,    93,    69,    39,     0,     0,    50,    51,
-       69,     0,     0,    90,     0,    93,    93,     0,     0,    53,
-       52
 -       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
++       0,     0,   162,    34,     4,    19,   133,   141,   142,   144,
++     167,   175,   191,   168,     0,     0,   186,     0,   190,    27,
++      26,    31,     0,     0,    28,    95,   179,   169,   170,     0,
++     174,   168,   173,   163,     0,   195,   168,   110,     0,   108,
++       0,     0,   176,    93,   201,     7,     8,    42,    39,    93,
++       0,     9,     0,    92,   137,     0,     0,     0,     0,     0,
++      93,   138,   140,   139,     0,     0,   143,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   135,
++     134,   152,   153,     0,     0,   118,    36,   123,     0,     0,
++     116,   122,     0,   108,   188,   187,    29,    32,     0,   151,
++       0,   193,   194,   192,   111,    93,   198,     0,     0,   164,
++      14,     0,     0,    17,     0,     0,    94,   196,     0,    43,
++       0,    35,   128,   129,   130,   126,   127,     0,     0,   131,
++     178,   149,   150,   146,   147,   148,   145,   160,   161,   157,
++     158,   159,   156,   125,   136,   124,   177,   119,     0,   185,
++       0,    96,   112,   203,     0,   113,   109,    13,    10,    16,
++      11,    41,     0,    60,     0,     0,     0,    93,     0,     0,
++       0,    82,    83,     0,   104,     0,    93,     0,    40,    54,
++       0,    63,    47,    68,    39,   199,    93,   165,     0,    20,
++     155,   120,   121,   117,   101,    99,     0,     0,   154,     0,
++     104,    65,     0,     0,     0,     0,    69,    55,    56,    57,
++       0,   105,    58,   197,    71,    62,     0,     0,    93,   200,
++      45,   132,    93,   102,     0,     0,     0,   180,     0,     0,
++       0,     0,   189,    70,     0,    59,     0,     0,    86,    84,
++       0,    46,    25,    33,   103,   100,    93,    61,    66,     0,
++     182,   184,    67,    93,    93,     0,     0,    93,    73,     0,
++       0,    72,     0,     0,    87,    64,     0,   181,   183,    44,
++       0,     0,     0,     0,    76,    79,     0,     0,    80,    81,
++       0,   202,    93,    48,    85,     0,    89,    49,     0,    93,
++       0,    93,    78,    77,    93,    39,    88,    93,    93,     0,
++      93,    69,    39,     0,     0,    50,    51,    69,     0,     0,
++      90,     0,    93,    93,     0,     0,    53,    52
  };
  
    /* YYPGOTO[NTERM-NUM].  */
  static const yytype_int16 yypgoto[] =
  {
-     -305,  -305,  -305,  -305,  -305,  -305,   227,  -305,  -305,  -305,
-     -305,   -34,  -305,   -71,  -305,  -204,   -67,  -305,  -182,  -305,
-     -305,  -222,  -305,  -305,  -304,  -305,  -305,  -305,  -305,  -305,
-     -305,  -305,  -305,     6,    53,  -305,  -305,  -305,    26,  -305,
-      -38,   111,  -305,    -6,   109,  -305,  -305,  -305,   -58,    -1,
-     -305,   245,  -305,     4,   110,  -305,  -305,    -8,   -42,  -305,
-     -305,   -77,   -13,  -305,   -11,  -212,   -57,  -305,   -26,   -37,
-     -115
 -    -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
++    -289,  -289,  -289,  -289,  -289,  -289,   191,  -289,   215,  -289,
++    -289,   -60,  -289,   -82,  -289,  -201,   -62,  -289,  -161,  -289,
++    -289,  -221,  -289,  -289,  -288,  -289,  -289,  -289,  -289,  -289,
++    -289,  -289,  -289,    13,    71,  -289,  -289,  -289,    19,  -289,
++     -41,   154,  -289,   -21,    32,  -289,  -289,  -289,   -80,     0,
++    -289,   208,  -289,    -2,    80,  -289,  -289,   -38,   -42,  -289,
++    -289,   -66,   -13,  -289,     1,  -229,     4,  -289,   -12,   -68,
++    -113
  };
  
    /* 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,   213,
-      233,   214,   249,   260,   267,   269,   294,   313,   215,   271,
-      298,   318,   216,   149,   150,   130,   229,   230,   243,   272,
-       70,   119,   120,   121,   217,   115,    94,    95,    35,    36,
-       37,    38,    39,    40,    55,   281,   282,   283,    45,    46,
-       47,    41,    42,   136,   218,   219,   142,   251,   220,   315,
-      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
++     180,    32,    82,   117,    33,   148,    76,   207,   208,   209,
++     230,   210,   246,   257,   264,   266,   291,   310,   211,   268,
++     295,   315,   212,   146,   147,   129,   226,   227,   240,   269,
++      68,   118,   119,   120,   213,   114,    93,    94,    36,    37,
++      38,    39,    40,    41,    55,   278,   279,   280,    46,    47,
++      48,    42,    43,   133,   214,   215,   139,   248,   216,   312,
++     138
  };
  
    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@@ -871,260 -867,252 +869,254 @@@
       number is the opposite.  If YYTABLE_NINF, syntax error.  */
  static const yytype_int16 yytable[] =
  {
-       56,    57,    58,    81,   126,   180,   123,    33,    63,    63,
-      156,    63,    68,   140,   250,   154,   137,   266,    80,    80,
-       62,    64,    63,    65,   289,   125,   300,    19,    19,    85,
-      341,    74,   143,    43,    97,    79,   344,   144,   274,   146,
-      175,   100,   101,   102,   147,    59,   103,    60,    75,   277,
-       76,    76,   278,    44,    44,    84,   264,    75,   137,   137,
-      127,   227,   178,   234,   228,    74,   112,   113,  -107,   191,
-      179,   138,   193,   128,   184,   185,    92,    93,   192,    44,
-       44,   194,     5,   316,   139,    63,    63,    63,    63,    63,
-       63,    63,    63,    63,    63,    63,    63,   163,   164,   165,
-      166,   167,   168,   169,   170,   171,   172,   173,   174,  -107,
-       34,   231,   266,   138,   138,   257,    63,   319,   266,    81,
-      -12,   320,    81,   -15,   336,   138,  -107,   235,   183,   -97,
-      181,   342,  -107,   129,   152,    71,   240,   241,  -115,   256,
-      242,   103,   245,   -12,   160,    25,   -15,   248,     4,    56,
-      339,    79,   122,   124,    79,   343,    98,    99,   100,   101,
-      102,   134,   135,   103,    19,   349,   350,   153,   122,   122,
-      131,   132,   255,   224,   226,   133,   268,    81,    81,     5,
-      162,    81,   117,    81,   176,    48,    49,   139,    81,   188,
-        4,   187,   280,   252,   138,   155,  -116,   157,   158,   159,
-      247,   279,   291,   232,   161,   286,   287,   -98,   236,    79,
-       79,   273,   305,    79,   237,    79,   261,    81,   284,   239,
-       79,   312,    76,   285,   177,   288,   292,   293,    50,    51,
-       85,   304,   296,    81,   297,    86,    72,   325,    73,   317,
-      284,   290,   210,  -116,  -116,   314,   186,   326,   322,    79,
-      190,    85,    52,    19,   238,   330,    86,    82,   311,   259,
-      329,    87,    88,   246,   331,    79,   307,   308,   117,   222,
-       67,     0,   223,   253,   301,   -93,   327,    92,    93,     0,
-      324,     0,    87,     0,   345,     0,     0,   346,   122,   122,
-        0,     0,     0,   110,   111,     0,     0,   333,    92,    93,
-        0,     0,     0,     0,   275,    63,     4,     5,   276,     0,
-        6,     7,    20,     0,     0,     0,    63,   244,   309,   310,
-        0,    23,   295,     0,   112,   113,     0,     0,    97,     0,
-      254,     0,   299,   114,     0,     0,     0,     0,     0,   302,
-      303,   258,   244,   306,     0,   262,   263,    14,    15,    16,
-       17,     0,     0,     0,     0,     0,    20,     0,   124,     0,
-        0,     0,    21,    22,     0,    23,     0,    24,   328,     0,
-       25,    66,     0,    61,     0,   332,     0,   334,     0,    71,
-      335,     0,     0,   337,   338,     0,   340,     2,     3,     0,
-        4,     5,     0,     0,     6,     7,     0,     0,   347,   348,
-      104,   105,   106,   107,   108,     8,     9,   109,     0,     0,
-        0,     0,     0,   321,     0,   323,     0,     0,     0,     0,
-        0,     0,     0,    10,    11,    12,    13,     0,     0,     0,
-        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,
 -      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,
++      56,    57,    58,   152,   122,   125,   178,   231,    61,    61,
++     134,    61,    66,   247,    34,   263,     5,    79,   271,   124,
++     154,    60,    62,    61,    63,    72,   286,    19,   173,    19,
++      78,   274,    78,    35,   275,    44,    96,    97,    98,    99,
++     100,   101,    77,   338,   102,    45,   140,    83,    73,   341,
++      74,   141,    74,    73,   143,   126,    45,    72,    69,   144,
++     187,   224,   189,   313,   225,   135,   111,   112,   128,   297,
++       4,   232,   137,    45,   261,   -31,   121,   123,    80,    25,
++     188,   179,   127,   190,    61,    61,    61,    61,    61,    61,
++      61,    61,    61,    61,    61,    61,   130,   161,   162,   163,
++     164,   165,   166,   167,   168,   169,   170,   171,   172,   134,
++     263,   -12,   121,   -15,   254,    61,   263,   153,   228,   155,
++     156,   157,   176,    45,   333,    19,   159,   177,   181,   -97,
++      79,   339,    84,    79,   -12,   316,   -15,   237,   238,   317,
++     102,   239,   151,   242,   131,   132,   175,    56,   245,   253,
++     149,   288,  -116,     5,   217,    77,   221,   223,    77,   160,
++     116,   158,   136,   229,   135,   184,   182,   174,   336,   233,
++     186,   234,   236,   340,    74,   289,   290,   136,   265,    91,
++      92,   258,   135,   346,   347,   282,   285,    79,    79,   294,
++     219,    79,   206,    79,   277,  -115,   301,     4,    79,  -116,
++    -116,   311,    19,   249,   135,   270,   183,   309,   244,   121,
++     121,   322,    77,    77,   323,   281,    77,   -98,    77,   327,
++     302,   134,    81,    77,   -93,    54,   293,    84,    79,   308,
++     252,  -107,    85,    65,   150,   326,   241,   281,    49,    50,
++     220,   298,   324,    70,    79,    71,    99,   100,   101,   256,
++     251,   102,   287,    77,   109,   110,     0,     0,    86,   276,
++       0,   255,   241,   283,   284,   259,   260,     0,   235,    77,
++       0,     0,  -107,     0,    91,    92,   135,   243,   123,     0,
++       0,    16,    51,    84,     0,   111,   112,   250,    85,  -107,
++       0,   321,     0,     0,   113,  -107,     0,   314,     0,    69,
++       0,     0,    61,     0,     0,    52,   319,     0,   330,     0,
++       0,     0,    84,    61,    86,    87,    88,    85,    67,   272,
++       4,     5,   328,   273,     6,     7,    96,    89,     0,     0,
++      91,    92,     0,   318,     0,   320,     0,   292,     0,     0,
++       0,     0,   342,    86,    87,   343,     0,   296,    74,     0,
++       0,     0,     0,     0,   299,   300,    13,     0,   303,    91,
++      92,    14,    15,    16,    17,   103,   104,   105,   106,   107,
++      20,     0,   108,     0,     0,     0,    21,    22,     0,    23,
++       0,    24,     0,   325,    25,    26,    84,    59,     0,     0,
++     329,    85,   331,     0,     0,   332,     0,     0,   334,   335,
++       0,   337,     2,     3,     0,     4,     5,     0,     0,     6,
++       7,     0,     0,   344,   345,     0,     0,    86,    87,    88,
++       8,     9,     0,     0,     0,     0,     0,     0,     0,     0,
++      89,     0,     0,    91,    92,   304,   305,   116,    10,    11,
++      12,    13,     0,     0,     0,   136,    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,   191,   -18,     4,     5,
++       0,    20,     6,     7,     0,     0,     0,   306,   307,     0,
++      23,     0,     0,     0,     0,   192,     0,   193,   194,   195,
++     -75,   -75,   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,
++      15,    16,    17,     0,     0,     0,     0,   -75,    20,     0,
+        0,     0,     0,     0,    21,    22,     0,    23,     0,    24,
 -       0,     0,    25,    26,     0,    59,     0,     0,    73,   -73,
++       0,     0,    25,    26,     0,    59,     0,     0,    73,   -75,
+       74,   191,     0,     4,     5,     0,     0,     6,     7,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      196,     0,   197,   198,   199,   -75,   -75,   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,   -75,    20,     0,     0,     0,     0,     0,    21,
 -     192,     0,   193,   194,   195,     0,     0,   196,   197,   198,
++     192,     0,   193,   194,   195,   -74,   -74,   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,    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,
++     205,     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,   -75,    76,   195,     0,     4,     5,
 -      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,
++      59,     0,     0,    73,   -74,    74,   191,     0,     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,   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,     0,     0,  -106,    21,    22,     0,    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,     0,     0,     0,     0,    14,    15,    16,    17,
++       0,     0,     0,     0,  -106,    20,     0,     0,     0,     0,
++       0,    21,    22,     0,    23,     0,    24,     0,     0,    25,
++     267,  -106,    59,     0,     4,     5,     0,  -106,     6,     7,
         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,  -106,    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,  -106,
-       20,     0,     0,     0,     0,     0,    21,    22,     0,    23,
-        0,    24,     0,     0,    25,   270,  -106,    61,     0,     4,
-        5,     0,  -106,     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,   225,     0,     4,     5,     0,    20,
-        6,     7,   117,     0,     0,    21,    22,     0,    23,     0,
-       24,     0,     0,    25,    26,  -114,    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,     0,    92,    93,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,     4,   265,     0,    13,     6,     7,     0,
-       76,    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,
 -      89,   217,     0,    91,    92,     0,     0,     0,     0,     0,
 -       0,     0,    86,    87,    88,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,    89,     0,     0,    91,    92
++       0,   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,   222,
++       0,     4,     5,     0,    20,     6,     7,   116,     0,     0,
++      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
++    -114,    59,     0,     0,     0,     0,   185,     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,    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,     0,    13,    92,    93,     0,     0,
-       14,    15,    16,    17,     0,     0,     0,     0,   139,    20,
-        0,     0,     0,     0,     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,     0,
-        0,     0,    21,    22,     0,    23,     0,    24,     0,     0,
-       25,    26,     0,    61,     0,    85,     0,     0,     0,     0,
-       86,     0,     0,     0,     0,     0,     0,     0,     0,    13,
-        0,     0,     0,    85,    14,    15,    16,    17,    86,    85,
-        0,     0,     0,    20,    86,     0,    87,    88,    89,    21,
-       22,     0,    23,     0,    24,     0,     0,    25,    26,    90,
-       61,    91,    92,    93,    87,    88,    89,     0,     0,     0,
-       87,    88,    89,     0,     0,     0,     0,    90,   221,     0,
-       92,    93,     0,    90,     0,     0,    92,    93
++       0,    20,     0,     0,     0,     0,     0,    21,    22,     0,
++      23,     0,    24,     0,    13,    25,    26,     0,    59,    14,
++      15,    16,    17,     0,     0,     0,     4,   262,    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,     4,
++       5,     0,    13,     6,     7,     0,     0,    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,     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,   218,    13,    91,    92,     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,     0,
++       0,     4,     5,     0,    20,     6,     7,    86,    87,    88,
++      21,    22,     0,    23,     0,    24,     0,     0,    25,    26,
++      89,    59,    90,    91,    92,     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,     0,     0,     0,     0,    20,     0,
++       0,    86,    87,    88,    21,    22,     0,    23,     0,    24,
++       0,     0,    25,    64,    89,    59,     0,    91,    92
  };
  
  static const yytype_int16 yycheck[] =
  {
-       13,    14,    15,    29,    46,   120,    44,     1,    21,    22,
-       87,    24,    25,    70,   218,    86,     1,   239,    29,    30,
-       21,    22,    35,    24,    41,    17,    17,    52,    52,    10,
-      334,    27,     1,    68,    35,    29,   340,     6,   250,     1,
-      111,    61,    62,    63,     6,    68,    66,    68,    73,     1,
-       75,    75,     4,    71,    71,    52,   238,    73,     1,     1,
-       50,     1,   119,     4,     4,    61,    44,    45,    11,     1,
-        1,    56,     1,    68,   131,   132,    57,    58,   145,    71,
-       71,   148,     4,   295,    69,    98,    99,   100,   101,   102,
-      103,   104,   105,   106,   107,   108,   109,    98,    99,   100,
-      101,   102,   103,   104,   105,   106,   107,   108,   109,    52,
-        1,   188,   334,    56,    56,   230,   129,   299,   340,   145,
-       52,   303,   148,    52,   328,    56,    69,    68,   129,    69,
-       72,   335,    75,    57,    81,    26,   203,   204,    69,     1,
-      207,    66,   209,    75,    91,    67,    75,   214,     3,   162,
-      332,   145,    43,    44,   148,   337,    59,    60,    61,    62,
-       63,    44,    45,    66,    52,   347,   348,     5,    59,    60,
-       59,    60,   229,   179,   180,    66,   243,   203,   204,     4,
-       39,   207,     9,   209,    14,     3,     4,    69,   214,    41,
-        3,   138,   259,   219,    56,    86,    10,    88,    89,    90,
-      211,   258,     1,    68,    95,   262,   263,    69,    68,   203,
-      204,   249,   289,   207,    68,   209,     4,   243,   260,    68,
-      214,   292,    75,    69,   115,    27,    25,    26,    46,    47,
-       10,    68,   270,   259,    11,    15,    49,     7,    51,   296,
-      282,   267,    74,    57,    58,    55,   137,     7,   305,   243,
-      141,    10,    70,    52,   201,    21,    15,    30,   292,   233,
-      318,    41,    42,   210,   321,   259,     7,     8,     9,   160,
-       25,    -1,   162,   220,   282,    74,   313,    57,    58,    -1,
-      306,    -1,    41,    -1,   341,    -1,    -1,   344,   179,   180,
-       -1,    -1,    -1,    13,    14,    -1,    -1,   323,    57,    58,
-       -1,    -1,    -1,    -1,   251,   318,     3,     4,   255,    -1,
-        7,     8,    53,    -1,    -1,    -1,   329,   208,    59,    60,
-       -1,    62,   269,    -1,    44,    45,    -1,    -1,   329,    -1,
-      221,    -1,   279,    53,    -1,    -1,    -1,    -1,    -1,   286,
-      287,   232,   233,   290,    -1,   236,   237,    44,    45,    46,
-       47,    -1,    -1,    -1,    -1,    -1,    53,    -1,   249,    -1,
-       -1,    -1,    59,    60,    -1,    62,    -1,    64,   315,    -1,
-       67,    68,    -1,    70,    -1,   322,    -1,   324,    -1,   270,
-      327,    -1,    -1,   330,   331,    -1,   333,     0,     1,    -1,
-        3,     4,    -1,    -1,     7,     8,    -1,    -1,   345,   346,
-       59,    60,    61,    62,    63,    18,    19,    66,    -1,    -1,
-       -1,    -1,    -1,   304,    -1,   306,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    36,    37,    38,    39,    -1,    -1,    -1,
-       -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,    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,
++      13,    14,    15,    85,    45,    47,   119,     4,    21,    22,
++       1,    24,    25,   214,     1,   236,     4,    29,   247,    17,
++      86,    21,    22,    36,    24,    27,    41,    52,   110,    52,
++      29,     1,    31,     1,     4,    68,    36,    59,    60,    61,
++      62,    63,    29,   331,    66,    71,     1,    52,    73,   337,
++      75,     6,    75,    73,     1,    50,    71,    59,    26,     6,
++       1,     1,     1,   292,     4,    56,    44,    45,    57,    17,
++       3,    68,    68,    71,   235,    68,    44,    45,    68,    67,
++     142,    72,    68,   145,    97,    98,    99,   100,   101,   102,
++     103,   104,   105,   106,   107,   108,    64,    97,    98,    99,
++     100,   101,   102,   103,   104,   105,   106,   107,   108,     1,
++     331,    52,    80,    52,   227,   128,   337,    85,   184,    87,
++      88,    89,   118,    71,   325,    52,    94,     1,   128,    69,
++     142,   332,    10,   145,    75,   296,    75,   199,   200,   300,
++      66,   203,     5,   205,    44,    45,   114,   160,   210,     1,
++      79,     1,    10,     4,   150,   142,   177,   178,   145,    39,
++       9,    90,    69,    68,    56,    41,   134,    14,   329,    68,
++     138,    68,    68,   334,    75,    25,    26,    69,   240,    57,
++      58,     4,    56,   344,   345,    69,    27,   199,   200,    11,
++     158,   203,    74,   205,   256,    69,    68,     3,   210,    57,
++      58,    55,    52,   215,    56,   246,   135,   289,   207,   177,
++     178,     7,   199,   200,     7,   257,   203,    69,   205,    21,
++     286,     1,    31,   210,    74,    10,   267,    10,   240,   289,
++     226,    11,    15,    25,    80,   315,   204,   279,     3,     4,
++     160,   279,   310,    49,   256,    51,    61,    62,    63,   230,
++     218,    66,   264,   240,    13,    14,    -1,    -1,    41,   255,
++      -1,   229,   230,   259,   260,   233,   234,    -1,   197,   256,
++      -1,    -1,    52,    -1,    57,    58,    56,   206,   246,    -1,
++      -1,    46,    47,    10,    -1,    44,    45,   216,    15,    69,
++      -1,   303,    -1,    -1,    53,    75,    -1,   293,    -1,   267,
++      -1,    -1,   315,    -1,    -1,    70,   302,    -1,   320,    -1,
++      -1,    -1,    10,   326,    41,    42,    43,    15,     1,   248,
++       3,     4,   318,   252,     7,     8,   326,    54,    -1,    -1,
++      57,    58,    -1,   301,    -1,   303,    -1,   266,    -1,    -1,
++      -1,    -1,   338,    41,    42,   341,    -1,   276,    75,    -1,
++      -1,    -1,    -1,    -1,   283,   284,    39,    -1,   287,    57,
++      58,    44,    45,    46,    47,    59,    60,    61,    62,    63,
++      53,    -1,    66,    -1,    -1,    -1,    59,    60,    -1,    62,
++      -1,    64,    -1,   312,    67,    68,    10,    70,    -1,    -1,
++     319,    15,   321,    -1,    -1,   324,    -1,    -1,   327,   328,
++      -1,   330,     0,     1,    -1,     3,     4,    -1,    -1,     7,
++       8,    -1,    -1,   342,   343,    -1,    -1,    41,    42,    43,
++      18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      54,    -1,    -1,    57,    58,     7,     8,     9,    36,    37,
++      38,    39,    -1,    -1,    -1,    69,    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,    53,     7,     8,    -1,    -1,    -1,    59,    60,    -1,
++      62,    -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,
 +      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,
 -       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,    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,
 +      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,    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,
 +      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,
++      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
 +      35,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,
-       45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,
-       -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
++      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,     3,     4,    -1,    -1,     7,     8,    -1,
++      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,    -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,    -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,
 -      54,    55,    -1,    57,    58,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58
++      -1,    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,
-       -1,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,    10,
-       62,    -1,    64,    -1,    15,    67,    68,    -1,    70,     3,
-        4,    -1,    -1,     7,     8,    -1,    -1,    -1,    12,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       41,    42,    43,    -1,    -1,    -1,     3,     4,    -1,    -1,
-        7,     8,     9,    54,    -1,    39,    57,    58,    -1,    -1,
-       44,    45,    46,    47,    -1,    -1,    -1,    -1,    69,    53,
-       -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
-       64,    -1,    39,    67,    68,    -1,    70,    44,    45,    46,
-       47,    -1,    -1,     3,     4,    -1,    53,     7,     8,    -1,
-       -1,    -1,    59,    60,    -1,    62,    -1,    64,    -1,    -1,
-       67,    68,    -1,    70,    -1,    10,    -1,    -1,    -1,    -1,
-       15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
-       -1,    -1,    -1,    10,    44,    45,    46,    47,    15,    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,    41,    42,    43,    -1,    -1,    -1,
-       41,    42,    43,    -1,    -1,    -1,    -1,    54,    55,    -1,
-       57,    58,    -1,    54,    -1,    -1,    57,    58
++      -1,    53,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
++      62,    -1,    64,    -1,    39,    67,    68,    -1,    70,    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,     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,    -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,    56,    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,
++      10,    53,    -1,    -1,    -1,    15,    -1,    59,    60,    -1,
++      62,    -1,    64,    -1,    -1,    67,    68,    -1,    70,    44,
++      45,    46,    47,    -1,    -1,    -1,    -1,    -1,    53,    -1,
++      -1,    41,    42,    43,    59,    60,    -1,    62,    -1,    64,
++      -1,    -1,    67,    68,    54,    70,    -1,    57,    58
  };
  
    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@@ -1134,39 -1122,38 +1126,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,   109,   120,   124,   125,   126,   127,   128,
-      129,   137,   138,    68,    71,   134,   135,   136,     3,     4,
-       46,    47,    70,    83,    84,   130,   138,   138,   138,    68,
-       68,    70,   125,   138,   125,   125,    68,   127,   138,     1,
-      116,   120,    49,    51,   129,    73,    75,    82,    92,   109,
-      140,   144,    82,    88,    52,    10,    15,    41,    42,    43,
-       54,    56,    57,    58,   122,   123,    12,   125,    59,    60,
-       61,    62,    63,    66,    59,    60,    61,    62,    63,    66,
-       13,    14,    44,    45,    53,   121,     1,     9,    89,   117,
-      118,   119,   120,   116,   120,    17,   134,    50,    68,    57,
-      111,   117,   117,   120,    44,    45,   139,     1,    56,    69,
-      142,   146,   142,     1,     6,    79,     1,     6,    80,   109,
-      110,    91,   110,     5,    89,   120,   137,   120,   120,   120,
-      110,   120,    39,   125,   125,   125,   125,   125,   125,   125,
-      125,   125,   125,   125,   125,    89,    14,   120,   142,     1,
-      146,    72,    86,   125,   142,   142,   120,   110,    41,     1,
-      120,     1,    92,     1,    92,     1,    20,    22,    23,    24,
-       27,    28,    29,    30,    31,    32,    33,    34,    35,    40,
-       74,    93,    94,    95,    97,   104,   108,   120,   140,   141,
-      144,    55,   120,   130,   119,     1,   119,     1,     4,   112,
-      113,   137,    68,    96,     4,    68,    68,    68,   110,    68,
-       92,    92,    92,   114,   120,    92,   110,   140,    92,    98,
-       91,   143,   144,   110,   120,   142,     1,   146,   120,   114,
-       99,     4,   120,   120,    94,     4,    97,   100,    92,   101,
-       68,   105,   115,   116,   141,   110,   110,     1,     4,   142,
-       92,   131,   132,   133,   134,    69,   142,   142,    27,    41,
-      144,     1,    25,    26,   102,   110,   116,    11,   106,   110,
-       17,   133,   110,   110,    68,   137,   110,     7,     8,    59,
-       60,    87,    89,   103,    55,   145,   141,   142,   107,    94,
-       94,   120,   142,   120,   144,     7,     7,   145,   110,   124,
-       21,   142,   110,   144,   110,   110,    91,   110,   110,    94,
-      110,   100,    91,    94,   100,   142,   142,   110,   110,    94,
-       94
 -      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,
++      84,    85,    87,    90,   109,   120,   124,   125,   126,   127,
++     128,   129,   137,   138,    68,    71,   134,   135,   136,     3,
++       4,    47,    70,    83,    84,   130,   138,   138,   138,    70,
++     125,   138,   125,   125,    68,   127,   138,     1,   116,   120,
++      49,    51,   129,    73,    75,    82,    92,   109,   140,   144,
+       68,    82,    88,    52,    10,    15,    41,    42,    43,    54,
 -      56,    57,    58,   121,   122,    12,   124,    59,    60,    61,
++      56,    57,    58,   122,   123,    12,   125,    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,
++      14,    44,    45,    53,   121,     1,     9,    89,   117,   118,
++     119,   120,   116,   120,    17,   134,    50,    68,    57,   111,
++     120,    44,    45,   139,     1,    56,    69,   142,   146,   142,
++       1,     6,    79,     1,     6,    80,   109,   110,    91,   110,
++     117,     5,    89,   120,   137,   120,   120,   120,   110,   120,
++      39,   125,   125,   125,   125,   125,   125,   125,   125,   125,
++     125,   125,   125,    89,    14,   120,   142,     1,   146,    72,
++      86,   125,   120,   110,    41,     1,   120,     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
++      31,    32,    33,    34,    35,    40,    74,    93,    94,    95,
++      97,   104,   108,   120,   140,   141,   144,   142,    55,   120,
++     130,   119,     1,   119,     1,     4,   112,   113,   137,    68,
++      96,     4,    68,    68,    68,   110,    68,    92,    92,    92,
++     114,   120,    92,   110,   140,    92,    98,    91,   143,   144,
++     110,   120,   142,     1,   146,   120,   114,    99,     4,   120,
++     120,    94,     4,    97,   100,    92,   101,    68,   105,   115,
++     116,   141,   110,   110,     1,     4,   142,    92,   131,   132,
++     133,   134,    69,   142,   142,    27,    41,   144,     1,    25,
++      26,   102,   110,   116,    11,   106,   110,    17,   133,   110,
++     110,    68,   137,   110,     7,     8,    59,    60,    87,    89,
++     103,    55,   145,   141,   142,   107,    94,    94,   120,   142,
++     120,   144,     7,     7,   145,   110,   124,    21,   142,   110,
++     144,   110,   110,    91,   110,   110,    94,   110,   100,    91,
++      94,   100,   142,   142,   110,   110,    94,    94
  };
  
    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
@@@ -1176,23 -1163,23 +1167,23 @@@ static const yytype_uint8 yyr1[] 
        78,    78,    79,    79,    79,    80,    80,    80,    81,    81,
        81,    81,    81,    81,    81,    82,    83,    83,    83,    83,
        84,    84,    86,    85,    88,    87,    89,    90,    90,    91,
 -      91,    91,    92,    92,    93,    93,    93,    93,    93,    93,
 -      93,    93,    93,    93,    94,    94,    94,    94,    94,    95,
 -      94,    94,    97,    96,    98,    96,    96,    96,    99,    99,
 -     100,   100,   100,   101,   101,   102,   102,   102,   102,   102,
 -     102,   103,   103,   104,   104,   105,   106,   105,   107,   107,
 -     108,   108,   109,   109,   110,   110,   111,   111,   112,   112,
 -     112,   112,   112,   113,   113,   114,   114,   115,   115,   115,
 -     115,   115,   115,   116,   116,   117,   117,   117,   117,   117,
 -     117,   118,   118,   119,   119,   119,   119,   119,   119,   119,
 -     119,   119,   119,   120,   120,   120,   121,   121,   122,   122,
 -     123,   123,   123,   124,   124,   124,   124,   124,   124,   124,
 -     124,   124,   124,   124,   125,   125,   125,   125,   125,   125,
 -     125,   126,   126,   126,   126,   126,   126,   126,   126,   126,
 -     126,   126,   126,   126,   127,   127,   128,   129,   129,   130,
 -     130,   131,   131,   132,   133,   134,   134,   135,   136,   136,
 -     137,   137,   138,   138,   138,   139,   140,   141,   142,   142,
 -     143,   144,   145
 +      91,    91,    92,    92,    93,    94,    94,    94,    94,    94,
 +      94,    94,    94,    94,    94,    95,    95,    95,    95,    95,
 +      96,    95,    95,    98,    97,    99,    97,    97,    97,   100,
 +     100,   101,   101,   101,   102,   102,   103,   103,   103,   103,
 +     103,   103,   104,   104,   105,   105,   106,   107,   106,   108,
 +     108,   109,   109,   110,   110,   111,   111,   112,   112,   113,
 +     113,   113,   113,   113,   114,   114,   115,   115,   116,   116,
 +     116,   116,   116,   116,   117,   117,   118,   118,   118,   118,
 +     118,   118,   119,   119,   120,   120,   120,   120,   120,   120,
 +     120,   120,   120,   120,   121,   121,   121,   122,   122,   123,
 +     123,   124,   124,   124,   125,   125,   125,   125,   125,   125,
 +     125,   125,   125,   125,   125,   126,   126,   126,   126,   126,
 +     126,   126,   127,   127,   127,   127,   127,   127,   127,   127,
-      127,   127,   127,   127,   127,   127,   128,   128,   129,   130,
-      130,   131,   131,   132,   132,   133,   134,   135,   135,   136,
-      137,   137,   138,   138,   139,   139,   139,   140,   141,   142,
-      143,   143,   144,   145,   146
++     127,   127,   127,   127,   127,   128,   128,   129,   130,   130,
++     131,   131,   132,   132,   133,   134,   135,   135,   136,   137,
++     137,   138,   138,   139,   139,   139,   140,   141,   142,   143,
++     143,   144,   145,   146
  };
  
    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@@ -1202,23 -1189,23 +1193,23 @@@ static const yytype_uint8 yyr2[] 
         4,     4,     1,     2,     1,     1,     2,     1,     0,     1,
         4,     1,     1,     1,     1,     5,     1,     1,     1,     2,
         1,     1,     0,     7,     0,     3,     1,     1,     1,     0,
 -       2,     2,     1,     2,     2,     3,     1,     9,     6,     8,
 -       8,    12,    11,     1,     2,     2,     2,     2,     3,     0,
 -       4,     2,     0,     4,     0,     4,     4,     1,     0,     1,
 -       0,     2,     2,     5,     4,     1,     2,     2,     1,     1,
 -       1,     1,     1,     1,     3,     0,     0,     3,     6,     9,
 -       1,     2,     0,     1,     0,     2,     0,     1,     1,     3,
 -       1,     2,     3,     0,     1,     0,     1,     1,     3,     1,
 -       2,     3,     3,     0,     1,     1,     3,     1,     2,     3,
 -       3,     1,     1,     3,     3,     3,     3,     3,     3,     3,
 -       3,     5,     1,     1,     1,     2,     1,     1,     1,     1,
 -       1,     1,     2,     1,     3,     3,     3,     3,     3,     3,
 -       3,     2,     2,     5,     4,     3,     3,     3,     3,     3,
 -       3,     1,     2,     3,     4,     1,     1,     1,     2,     2,
 -       1,     1,     2,     2,     1,     2,     4,     0,     1,     0,
 -       2,     1,     2,     1,     3,     1,     2,     2,     1,     2,
 -       1,     3,     1,     1,     0,     2,     2,     1,     0,     1,
 -       1,     1,     2
 +       2,     2,     1,     2,     5,     2,     3,     1,     5,     6,
 +       8,     8,    12,    11,     1,     2,     2,     2,     2,     3,
 +       0,     4,     2,     0,     4,     0,     4,     4,     1,     0,
 +       1,     0,     2,     2,     5,     4,     1,     2,     2,     1,
 +       1,     1,     1,     1,     1,     3,     0,     0,     3,     6,
 +       9,     1,     2,     0,     1,     0,     2,     0,     1,     1,
 +       3,     1,     2,     3,     0,     1,     0,     1,     1,     3,
 +       1,     2,     3,     3,     0,     1,     1,     3,     1,     2,
 +       3,     3,     1,     1,     3,     3,     3,     3,     3,     3,
 +       3,     3,     5,     1,     1,     1,     2,     1,     1,     1,
 +       1,     1,     1,     2,     1,     3,     3,     3,     3,     3,
 +       3,     3,     2,     2,     5,     4,     3,     3,     3,     3,
-        3,     3,     1,     2,     3,     4,     4,     1,     1,     1,
-        2,     2,     1,     1,     2,     2,     1,     2,     4,     0,
-        1,     0,     2,     1,     2,     1,     3,     1,     2,     2,
-        1,     2,     1,     3,     1,     1,     0,     2,     2,     1,
-        0,     1,     1,     1,     2
++       3,     3,     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
  };
  
  
@@@ -1900,7 -1887,7 +1891,7 @@@ yyreduce
                rule = 0;
                yyerrok;
          }
- #line 1904 "awkgram.c" /* yacc.c:1646  */
 -#line 1891 "awkgram.c" /* yacc.c:1646  */
++#line 1895 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 5:
@@@ -1908,7 -1895,7 +1899,7 @@@
      {
                next_sourcefile();
          }
- #line 1912 "awkgram.c" /* yacc.c:1646  */
 -#line 1899 "awkgram.c" /* yacc.c:1646  */
++#line 1903 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 6:
@@@ -1921,7 -1908,7 +1912,7 @@@
                 */
                /* yyerrok; */
          }
- #line 1925 "awkgram.c" /* yacc.c:1646  */
 -#line 1912 "awkgram.c" /* yacc.c:1646  */
++#line 1916 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 7:
@@@ -1930,7 -1917,7 +1921,7 @@@
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
- #line 1934 "awkgram.c" /* yacc.c:1646  */
 -#line 1921 "awkgram.c" /* yacc.c:1646  */
++#line 1925 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 8:
@@@ -1945,7 -1932,7 +1936,7 @@@
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
- #line 1949 "awkgram.c" /* yacc.c:1646  */
 -#line 1936 "awkgram.c" /* yacc.c:1646  */
++#line 1940 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 9:
@@@ -1956,7 -1943,7 +1947,7 @@@
                want_param_names = DONT_CHECK;
                yyerrok;
          }
- #line 1960 "awkgram.c" /* yacc.c:1646  */
 -#line 1947 "awkgram.c" /* yacc.c:1646  */
++#line 1951 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 10:
@@@ -1966,7 -1953,7 +1957,7 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1970 "awkgram.c" /* yacc.c:1646  */
 -#line 1957 "awkgram.c" /* yacc.c:1646  */
++#line 1961 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 11:
@@@ -1976,7 -1963,7 +1967,7 @@@
                at_seen = false;
                yyerrok;
          }
- #line 1980 "awkgram.c" /* yacc.c:1646  */
 -#line 1967 "awkgram.c" /* yacc.c:1646  */
++#line 1971 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 12:
@@@ -1988,19 -1975,19 +1979,19 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 1992 "awkgram.c" /* yacc.c:1646  */
 -#line 1979 "awkgram.c" /* yacc.c:1646  */
++#line 1983 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 13:
  #line 286 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1998 "awkgram.c" /* yacc.c:1646  */
 -#line 1985 "awkgram.c" /* yacc.c:1646  */
++#line 1989 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 14:
  #line 288 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2004 "awkgram.c" /* yacc.c:1646  */
 -#line 1991 "awkgram.c" /* yacc.c:1646  */
++#line 1995 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 15:
@@@ -2012,19 -1999,19 +2003,19 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 2016 "awkgram.c" /* yacc.c:1646  */
 -#line 2003 "awkgram.c" /* yacc.c:1646  */
++#line 2007 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 16:
  #line 301 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2022 "awkgram.c" /* yacc.c:1646  */
 -#line 2009 "awkgram.c" /* yacc.c:1646  */
++#line 2013 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 17:
  #line 303 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2028 "awkgram.c" /* yacc.c:1646  */
 -#line 2015 "awkgram.c" /* yacc.c:1646  */
++#line 2019 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 18:
@@@ -2037,7 -2024,7 +2028,7 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2041 "awkgram.c" /* yacc.c:1646  */
 -#line 2028 "awkgram.c" /* yacc.c:1646  */
++#line 2032 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 19:
@@@ -2050,7 -2037,7 +2041,7 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 2054 "awkgram.c" /* yacc.c:1646  */
 -#line 2041 "awkgram.c" /* yacc.c:1646  */
++#line 2045 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 20:
@@@ -2084,7 -2071,7 +2075,7 @@@
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
- #line 2088 "awkgram.c" /* yacc.c:1646  */
 -#line 2075 "awkgram.c" /* yacc.c:1646  */
++#line 2079 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 21:
@@@ -2102,7 -2089,7 +2093,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2106 "awkgram.c" /* yacc.c:1646  */
 -#line 2093 "awkgram.c" /* yacc.c:1646  */
++#line 2097 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 22:
@@@ -2120,7 -2107,7 +2111,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2124 "awkgram.c" /* yacc.c:1646  */
 -#line 2111 "awkgram.c" /* yacc.c:1646  */
++#line 2115 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 23:
@@@ -2132,7 -2119,7 +2123,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2136 "awkgram.c" /* yacc.c:1646  */
 -#line 2123 "awkgram.c" /* yacc.c:1646  */
++#line 2127 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 24:
@@@ -2144,7 -2131,7 +2135,7 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2148 "awkgram.c" /* yacc.c:1646  */
 -#line 2135 "awkgram.c" /* yacc.c:1646  */
++#line 2139 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 25:
@@@ -2157,19 -2144,19 +2148,19 @@@
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
- #line 2161 "awkgram.c" /* yacc.c:1646  */
 -#line 2148 "awkgram.c" /* yacc.c:1646  */
++#line 2152 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 26:
  #line 416 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2167 "awkgram.c" /* yacc.c:1646  */
 -#line 2154 "awkgram.c" /* yacc.c:1646  */
++#line 2158 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 27:
  #line 418 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2173 "awkgram.c" /* yacc.c:1646  */
 -#line 2160 "awkgram.c" /* yacc.c:1646  */
++#line 2164 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 28:
@@@ -2179,7 -2166,7 +2170,7 @@@
                                        tokstart);
                YYABORT;
          }
- #line 2183 "awkgram.c" /* yacc.c:1646  */
 -#line 2170 "awkgram.c" /* yacc.c:1646  */
++#line 2174 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 29:
@@@ -2188,13 -2175,13 +2179,13 @@@
                (yyval) = (yyvsp[0]);
                at_seen = false;
          }
- #line 2192 "awkgram.c" /* yacc.c:1646  */
 -#line 2179 "awkgram.c" /* yacc.c:1646  */
++#line 2183 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 32:
  #line 438 "awkgram.y" /* yacc.c:1646  */
      { want_param_names = FUNC_HEADER; }
- #line 2198 "awkgram.c" /* yacc.c:1646  */
 -#line 2185 "awkgram.c" /* yacc.c:1646  */
++#line 2189 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 33:
@@@ -2236,13 -2223,13 +2227,13 @@@
                (yyval) = (yyvsp[-6]);
                want_param_names = FUNC_BODY;
          }
- #line 2240 "awkgram.c" /* yacc.c:1646  */
 -#line 2227 "awkgram.c" /* yacc.c:1646  */
++#line 2231 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 34:
  #line 484 "awkgram.y" /* yacc.c:1646  */
      { want_regexp = true; }
- #line 2246 "awkgram.c" /* yacc.c:1646  */
 -#line 2233 "awkgram.c" /* yacc.c:1646  */
++#line 2237 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 35:
@@@ -2275,7 -2262,7 +2266,7 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
- #line 2279 "awkgram.c" /* yacc.c:1646  */
 -#line 2266 "awkgram.c" /* yacc.c:1646  */
++#line 2270 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 36:
@@@ -2292,13 -2279,13 +2283,13 @@@
                  (yyval)->opcode = Op_push_re;
                  (yyval)->memory = make_typed_regex(re, len);
                }
- #line 2296 "awkgram.c" /* yacc.c:1646  */
 -#line 2283 "awkgram.c" /* yacc.c:1646  */
++#line 2287 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 37:
  #line 533 "awkgram.y" /* yacc.c:1646  */
      { bcfree((yyvsp[0])); }
- #line 2302 "awkgram.c" /* yacc.c:1646  */
 -#line 2289 "awkgram.c" /* yacc.c:1646  */
++#line 2293 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 39:
@@@ -2313,7 -2300,7 +2304,7 @@@
                } else
                        (yyval) = NULL;
          }
- #line 2317 "awkgram.c" /* yacc.c:1646  */
 -#line 2304 "awkgram.c" /* yacc.c:1646  */
++#line 2308 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 40:
@@@ -2364,57 -2351,40 +2355,57 @@@
                }
                yyerrok;
          }
- #line 2368 "awkgram.c" /* yacc.c:1646  */
 -#line 2355 "awkgram.c" /* yacc.c:1646  */
++#line 2359 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 41:
  #line 597 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2374 "awkgram.c" /* yacc.c:1646  */
 -#line 2361 "awkgram.c" /* yacc.c:1646  */
++#line 2365 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 44:
  #line 607 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = NULL; }
 -#line 2367 "awkgram.c" /* yacc.c:1646  */
 +    {
 +              INSTRUCTION *ip;
 +
 +              ip = (yyvsp[-2]);
 +              if (do_pretty_print) {
 +                      (void) list_prepend(ip, (yyvsp[-4]));
 +                      (void) list_prepend(ip, instruction(Op_exec_count));
 +              }
 +              /* else
 +                      $1 is NULL */
 +              (yyval) = ip;
 +        }
- #line 2391 "awkgram.c" /* yacc.c:1646  */
++#line 2382 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 45:
 -#line 609 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[-1]); }
 -#line 2373 "awkgram.c" /* yacc.c:1646  */
 +#line 623 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = NULL; }
- #line 2397 "awkgram.c" /* yacc.c:1646  */
++#line 2388 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 46:
 -#line 611 "awkgram.y" /* yacc.c:1646  */
 +#line 625 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = (yyvsp[-1]); }
- #line 2403 "awkgram.c" /* yacc.c:1646  */
++#line 2394 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 47:
 +#line 627 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
- #line 2414 "awkgram.c" /* yacc.c:1646  */
 -#line 2384 "awkgram.c" /* yacc.c:1646  */
++#line 2405 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 47:
 -#line 618 "awkgram.y" /* yacc.c:1646  */
 +  case 48:
 +#line 634 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2505,11 -2474,11 +2496,11 @@@
                break_allowed--;
                fix_break_continue(ip, tbreak, NULL);
          }
- #line 2509 "awkgram.c" /* yacc.c:1646  */
 -#line 2478 "awkgram.c" /* yacc.c:1646  */
++#line 2500 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 48:
 -#line 708 "awkgram.y" /* yacc.c:1646  */
 +  case 49:
 +#line 725 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2551,11 -2520,11 +2542,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
- #line 2555 "awkgram.c" /* yacc.c:1646  */
 -#line 2524 "awkgram.c" /* yacc.c:1646  */
++#line 2546 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 49:
 -#line 750 "awkgram.y" /* yacc.c:1646  */
 +  case 50:
 +#line 767 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2597,11 -2566,11 +2588,11 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
- #line 2601 "awkgram.c" /* yacc.c:1646  */
 -#line 2570 "awkgram.c" /* yacc.c:1646  */
++#line 2592 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 50:
 -#line 792 "awkgram.y" /* yacc.c:1646  */
 +  case 51:
 +#line 809 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[-5])->lextok;
@@@ -2714,33 -2683,33 +2705,33 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
- #line 2718 "awkgram.c" /* yacc.c:1646  */
 -#line 2687 "awkgram.c" /* yacc.c:1646  */
++#line 2709 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 51:
 -#line 905 "awkgram.y" /* yacc.c:1646  */
 +  case 52:
 +#line 922 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), 
(yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2729 "awkgram.c" /* yacc.c:1646  */
 -#line 2698 "awkgram.c" /* yacc.c:1646  */
++#line 2720 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 52:
 -#line 912 "awkgram.y" /* yacc.c:1646  */
 +  case 53:
 +#line 929 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION 
*) NULL, (yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2740 "awkgram.c" /* yacc.c:1646  */
 -#line 2709 "awkgram.c" /* yacc.c:1646  */
++#line 2731 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 53:
 -#line 919 "awkgram.y" /* yacc.c:1646  */
 +  case 54:
 +#line 936 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
@@@ -2748,11 -2717,11 +2739,11 @@@
                        (yyval) = (yyvsp[0]);
                (yyval) = add_pending_comment((yyval));
          }
- #line 2752 "awkgram.c" /* yacc.c:1646  */
 -#line 2721 "awkgram.c" /* yacc.c:1646  */
++#line 2743 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 54:
 -#line 930 "awkgram.y" /* yacc.c:1646  */
 +  case 55:
 +#line 947 "awkgram.y" /* yacc.c:1646  */
      {
                if (! break_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2762,11 -2731,11 +2753,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2766 "awkgram.c" /* yacc.c:1646  */
 -#line 2735 "awkgram.c" /* yacc.c:1646  */
++#line 2757 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 55:
 -#line 940 "awkgram.y" /* yacc.c:1646  */
 +  case 56:
 +#line 957 "awkgram.y" /* yacc.c:1646  */
      {
                if (! continue_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2776,11 -2745,11 +2767,11 @@@
                (yyval) = add_pending_comment((yyval));
  
          }
- #line 2780 "awkgram.c" /* yacc.c:1646  */
 -#line 2749 "awkgram.c" /* yacc.c:1646  */
++#line 2771 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 56:
 -#line 950 "awkgram.y" /* yacc.c:1646  */
 +  case 57:
 +#line 967 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@@ -2790,11 -2759,11 +2781,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2794 "awkgram.c" /* yacc.c:1646  */
 -#line 2763 "awkgram.c" /* yacc.c:1646  */
++#line 2785 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 57:
 -#line 960 "awkgram.y" /* yacc.c:1646  */
 +  case 58:
 +#line 977 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@@ -2806,11 -2775,11 +2797,11 @@@
                (yyval) = list_create((yyvsp[-1]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2810 "awkgram.c" /* yacc.c:1646  */
 -#line 2779 "awkgram.c" /* yacc.c:1646  */
++#line 2801 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 58:
 -#line 972 "awkgram.y" /* yacc.c:1646  */
 +  case 59:
 +#line 989 "awkgram.y" /* yacc.c:1646  */
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time.
@@@ -2826,20 -2795,20 +2817,20 @@@
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 2830 "awkgram.c" /* yacc.c:1646  */
 -#line 2799 "awkgram.c" /* yacc.c:1646  */
++#line 2821 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 59:
 -#line 988 "awkgram.y" /* yacc.c:1646  */
 +  case 60:
 +#line 1005 "awkgram.y" /* yacc.c:1646  */
      {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
- #line 2839 "awkgram.c" /* yacc.c:1646  */
 -#line 2808 "awkgram.c" /* yacc.c:1646  */
++#line 2830 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 60:
 -#line 991 "awkgram.y" /* yacc.c:1646  */
 +  case 61:
 +#line 1008 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL) {
                        (yyval) = list_create((yyvsp[-3]));
@@@ -2861,17 -2830,17 +2852,17 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2865 "awkgram.c" /* yacc.c:1646  */
 -#line 2834 "awkgram.c" /* yacc.c:1646  */
++#line 2856 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 62:
 -#line 1024 "awkgram.y" /* yacc.c:1646  */
 +  case 63:
 +#line 1041 "awkgram.y" /* yacc.c:1646  */
      { in_print = true; in_parens = 0; }
- #line 2871 "awkgram.c" /* yacc.c:1646  */
 -#line 2840 "awkgram.c" /* yacc.c:1646  */
++#line 2862 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 63:
 -#line 1025 "awkgram.y" /* yacc.c:1646  */
 +  case 64:
 +#line 1042 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2969,17 -2938,17 +2960,17 @@@ regular_print
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 2973 "awkgram.c" /* yacc.c:1646  */
 -#line 2942 "awkgram.c" /* yacc.c:1646  */
++#line 2964 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 64:
 -#line 1123 "awkgram.y" /* yacc.c:1646  */
 +  case 65:
 +#line 1140 "awkgram.y" /* yacc.c:1646  */
      { sub_counter = 0; }
- #line 2979 "awkgram.c" /* yacc.c:1646  */
 -#line 2948 "awkgram.c" /* yacc.c:1646  */
++#line 2970 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 65:
 -#line 1124 "awkgram.y" /* yacc.c:1646  */
 +  case 66:
 +#line 1141 "awkgram.y" /* yacc.c:1646  */
      {
                char *arr = (yyvsp[-2])->lextok;
  
@@@ -3013,11 -2982,11 +3004,11 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3017 "awkgram.c" /* yacc.c:1646  */
 -#line 2986 "awkgram.c" /* yacc.c:1646  */
++#line 3008 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 66:
 -#line 1162 "awkgram.y" /* yacc.c:1646  */
 +  case 67:
 +#line 1179 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
                char *arr = (yyvsp[-1])->lextok;
@@@ -3044,55 -3013,55 +3035,55 @@@
                }
                (yyval) = add_pending_comment((yyval));
          }
- #line 3048 "awkgram.c" /* yacc.c:1646  */
 -#line 3017 "awkgram.c" /* yacc.c:1646  */
++#line 3039 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 67:
 -#line 1189 "awkgram.y" /* yacc.c:1646  */
 +  case 68:
 +#line 1206 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = optimize_assignment((yyvsp[0]));
                (yyval) = add_pending_comment((yyval));
          }
- #line 3057 "awkgram.c" /* yacc.c:1646  */
 -#line 3026 "awkgram.c" /* yacc.c:1646  */
++#line 3048 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 68:
 -#line 1197 "awkgram.y" /* yacc.c:1646  */
 +  case 69:
 +#line 1214 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3063 "awkgram.c" /* yacc.c:1646  */
 -#line 3032 "awkgram.c" /* yacc.c:1646  */
++#line 3054 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 69:
 -#line 1199 "awkgram.y" /* yacc.c:1646  */
 +  case 70:
 +#line 1216 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3069 "awkgram.c" /* yacc.c:1646  */
 -#line 3038 "awkgram.c" /* yacc.c:1646  */
++#line 3060 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 70:
 -#line 1204 "awkgram.y" /* yacc.c:1646  */
 +  case 71:
 +#line 1221 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3075 "awkgram.c" /* yacc.c:1646  */
 -#line 3044 "awkgram.c" /* yacc.c:1646  */
++#line 3066 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 71:
 -#line 1206 "awkgram.y" /* yacc.c:1646  */
 +  case 72:
 +#line 1223 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL)
                        (yyval) = list_create((yyvsp[0]));
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
- #line 3086 "awkgram.c" /* yacc.c:1646  */
 -#line 3055 "awkgram.c" /* yacc.c:1646  */
++#line 3077 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 72:
 -#line 1213 "awkgram.y" /* yacc.c:1646  */
 +  case 73:
 +#line 1230 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3092 "awkgram.c" /* yacc.c:1646  */
 -#line 3061 "awkgram.c" /* yacc.c:1646  */
++#line 3083 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 73:
 -#line 1218 "awkgram.y" /* yacc.c:1646  */
 +  case 74:
 +#line 1235 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3104,11 -3073,11 +3095,11 @@@
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
- #line 3108 "awkgram.c" /* yacc.c:1646  */
 -#line 3077 "awkgram.c" /* yacc.c:1646  */
++#line 3099 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 74:
 -#line 1230 "awkgram.y" /* yacc.c:1646  */
 +  case 75:
 +#line 1247 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -3119,17 -3088,17 +3110,17 @@@
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
- #line 3123 "awkgram.c" /* yacc.c:1646  */
 -#line 3092 "awkgram.c" /* yacc.c:1646  */
++#line 3114 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 75:
 -#line 1244 "awkgram.y" /* yacc.c:1646  */
 +  case 76:
 +#line 1261 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3129 "awkgram.c" /* yacc.c:1646  */
 -#line 3098 "awkgram.c" /* yacc.c:1646  */
++#line 3120 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 76:
 -#line 1246 "awkgram.y" /* yacc.c:1646  */
 +  case 77:
 +#line 1263 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
@@@ -3137,28 -3106,28 +3128,28 @@@
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3141 "awkgram.c" /* yacc.c:1646  */
 -#line 3110 "awkgram.c" /* yacc.c:1646  */
++#line 3132 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 77:
 -#line 1254 "awkgram.y" /* yacc.c:1646  */
 +  case 78:
 +#line 1271 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n = (yyvsp[0])->lasti->memory;
                bcfree((yyvsp[-1]));
                add_sign_to_num(n, '+');
                (yyval) = (yyvsp[0]);
          }
- #line 3152 "awkgram.c" /* yacc.c:1646  */
 -#line 3121 "awkgram.c" /* yacc.c:1646  */
++#line 3143 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 78:
 -#line 1261 "awkgram.y" /* yacc.c:1646  */
 +  case 79:
 +#line 1278 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3158 "awkgram.c" /* yacc.c:1646  */
 -#line 3127 "awkgram.c" /* yacc.c:1646  */
++#line 3149 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 79:
 -#line 1263 "awkgram.y" /* yacc.c:1646  */
 +  case 80:
 +#line 1280 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->memory->type == Node_regex)
                        (yyvsp[0])->opcode = Op_push_re;
@@@ -3166,57 -3135,57 +3157,57 @@@
                        (yyvsp[0])->opcode = Op_push;
                (yyval) = (yyvsp[0]);
          }
- #line 3170 "awkgram.c" /* yacc.c:1646  */
 -#line 3139 "awkgram.c" /* yacc.c:1646  */
++#line 3161 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 80:
 -#line 1271 "awkgram.y" /* yacc.c:1646  */
 +  case 81:
 +#line 1288 "awkgram.y" /* yacc.c:1646  */
      {
                assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
                (yyvsp[0])->opcode = Op_push_re;
                (yyval) = (yyvsp[0]);
          }
- #line 3180 "awkgram.c" /* yacc.c:1646  */
 -#line 3149 "awkgram.c" /* yacc.c:1646  */
++#line 3171 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 81:
 -#line 1280 "awkgram.y" /* yacc.c:1646  */
 +  case 82:
 +#line 1297 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3186 "awkgram.c" /* yacc.c:1646  */
 -#line 3155 "awkgram.c" /* yacc.c:1646  */
++#line 3177 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 82:
 -#line 1282 "awkgram.y" /* yacc.c:1646  */
 +  case 83:
 +#line 1299 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3192 "awkgram.c" /* yacc.c:1646  */
 -#line 3161 "awkgram.c" /* yacc.c:1646  */
++#line 3183 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 84:
 -#line 1292 "awkgram.y" /* yacc.c:1646  */
 +  case 85:
 +#line 1309 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = (yyvsp[-1]);
          }
- #line 3200 "awkgram.c" /* yacc.c:1646  */
 -#line 3169 "awkgram.c" /* yacc.c:1646  */
++#line 3191 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 85:
 -#line 1299 "awkgram.y" /* yacc.c:1646  */
 +  case 86:
 +#line 1316 "awkgram.y" /* yacc.c:1646  */
      {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
- #line 3210 "awkgram.c" /* yacc.c:1646  */
 -#line 3179 "awkgram.c" /* yacc.c:1646  */
++#line 3201 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 86:
 -#line 1304 "awkgram.y" /* yacc.c:1646  */
 +  case 87:
 +#line 1321 "awkgram.y" /* yacc.c:1646  */
      { in_print = false; in_parens = 0; }
- #line 3216 "awkgram.c" /* yacc.c:1646  */
 -#line 3185 "awkgram.c" /* yacc.c:1646  */
++#line 3207 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 87:
 -#line 1305 "awkgram.y" /* yacc.c:1646  */
 +  case 88:
 +#line 1322 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->redir_type == redirect_twoway
                        && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@@ -3224,63 -3193,63 +3215,63 @@@
                        yyerror(_("multistage two-way pipelines don't work"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
- #line 3228 "awkgram.c" /* yacc.c:1646  */
 -#line 3197 "awkgram.c" /* yacc.c:1646  */
++#line 3219 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 88:
 -#line 1316 "awkgram.y" /* yacc.c:1646  */
 +  case 89:
 +#line 1333 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
- #line 3236 "awkgram.c" /* yacc.c:1646  */
 -#line 3205 "awkgram.c" /* yacc.c:1646  */
++#line 3227 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 89:
 -#line 1321 "awkgram.y" /* yacc.c:1646  */
 +  case 90:
 +#line 1338 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
- #line 3244 "awkgram.c" /* yacc.c:1646  */
 -#line 3213 "awkgram.c" /* yacc.c:1646  */
++#line 3235 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 94:
 -#line 1338 "awkgram.y" /* yacc.c:1646  */
 +  case 95:
 +#line 1355 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3250 "awkgram.c" /* yacc.c:1646  */
 -#line 3219 "awkgram.c" /* yacc.c:1646  */
++#line 3241 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 95:
 -#line 1340 "awkgram.y" /* yacc.c:1646  */
 +  case 96:
 +#line 1357 "awkgram.y" /* yacc.c:1646  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3259 "awkgram.c" /* yacc.c:1646  */
 -#line 3228 "awkgram.c" /* yacc.c:1646  */
++#line 3250 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 96:
 -#line 1348 "awkgram.y" /* yacc.c:1646  */
 +  case 97:
 +#line 1365 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3265 "awkgram.c" /* yacc.c:1646  */
 -#line 3234 "awkgram.c" /* yacc.c:1646  */
++#line 3256 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 97:
 -#line 1350 "awkgram.y" /* yacc.c:1646  */
 +  case 98:
 +#line 1367 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3271 "awkgram.c" /* yacc.c:1646  */
 -#line 3240 "awkgram.c" /* yacc.c:1646  */
++#line 3262 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 98:
 -#line 1355 "awkgram.y" /* yacc.c:1646  */
 +  case 99:
 +#line 1372 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3280 "awkgram.c" /* yacc.c:1646  */
 -#line 3249 "awkgram.c" /* yacc.c:1646  */
++#line 3271 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 99:
 -#line 1360 "awkgram.y" /* yacc.c:1646  */
 +  case 100:
 +#line 1377 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
                        (yyvsp[0])->param_count =  
(yyvsp[-2])->lasti->param_count + 1;
@@@ -3289,74 -3258,74 +3280,74 @@@
                } else
                        (yyval) = NULL;
          }
- #line 3293 "awkgram.c" /* yacc.c:1646  */
 -#line 3262 "awkgram.c" /* yacc.c:1646  */
++#line 3284 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 100:
 -#line 1369 "awkgram.y" /* yacc.c:1646  */
 +  case 101:
 +#line 1386 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3299 "awkgram.c" /* yacc.c:1646  */
 -#line 3268 "awkgram.c" /* yacc.c:1646  */
++#line 3290 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 101:
 -#line 1371 "awkgram.y" /* yacc.c:1646  */
 +  case 102:
 +#line 1388 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3305 "awkgram.c" /* yacc.c:1646  */
 -#line 3274 "awkgram.c" /* yacc.c:1646  */
++#line 3296 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 102:
 -#line 1373 "awkgram.y" /* yacc.c:1646  */
 +  case 103:
 +#line 1390 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-2]); }
- #line 3311 "awkgram.c" /* yacc.c:1646  */
 -#line 3280 "awkgram.c" /* yacc.c:1646  */
++#line 3302 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 103:
 -#line 1379 "awkgram.y" /* yacc.c:1646  */
 +  case 104:
 +#line 1396 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3317 "awkgram.c" /* yacc.c:1646  */
 -#line 3286 "awkgram.c" /* yacc.c:1646  */
++#line 3308 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 104:
 -#line 1381 "awkgram.y" /* yacc.c:1646  */
 +  case 105:
 +#line 1398 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3323 "awkgram.c" /* yacc.c:1646  */
 -#line 3292 "awkgram.c" /* yacc.c:1646  */
++#line 3314 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 105:
 -#line 1386 "awkgram.y" /* yacc.c:1646  */
 +  case 106:
 +#line 1403 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3329 "awkgram.c" /* yacc.c:1646  */
 -#line 3298 "awkgram.c" /* yacc.c:1646  */
++#line 3320 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 106:
 -#line 1388 "awkgram.y" /* yacc.c:1646  */
 +  case 107:
 +#line 1405 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3335 "awkgram.c" /* yacc.c:1646  */
 -#line 3304 "awkgram.c" /* yacc.c:1646  */
++#line 3326 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 107:
 -#line 1393 "awkgram.y" /* yacc.c:1646  */
 +  case 108:
 +#line 1410 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3341 "awkgram.c" /* yacc.c:1646  */
 -#line 3310 "awkgram.c" /* yacc.c:1646  */
++#line 3332 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 108:
 -#line 1395 "awkgram.y" /* yacc.c:1646  */
 +  case 109:
 +#line 1412 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3350 "awkgram.c" /* yacc.c:1646  */
 -#line 3319 "awkgram.c" /* yacc.c:1646  */
++#line 3341 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 109:
 -#line 1400 "awkgram.y" /* yacc.c:1646  */
 +  case 110:
 +#line 1417 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3356 "awkgram.c" /* yacc.c:1646  */
 -#line 3325 "awkgram.c" /* yacc.c:1646  */
++#line 3347 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 110:
 -#line 1402 "awkgram.y" /* yacc.c:1646  */
 +  case 111:
 +#line 1419 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3364,62 -3333,62 +3355,62 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3368 "awkgram.c" /* yacc.c:1646  */
 -#line 3337 "awkgram.c" /* yacc.c:1646  */
++#line 3359 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 111:
 -#line 1410 "awkgram.y" /* yacc.c:1646  */
 +  case 112:
 +#line 1427 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3377 "awkgram.c" /* yacc.c:1646  */
 -#line 3346 "awkgram.c" /* yacc.c:1646  */
++#line 3368 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 112:
 -#line 1415 "awkgram.y" /* yacc.c:1646  */
 +  case 113:
 +#line 1432 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3386 "awkgram.c" /* yacc.c:1646  */
 -#line 3355 "awkgram.c" /* yacc.c:1646  */
++#line 3377 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 113:
 -#line 1423 "awkgram.y" /* yacc.c:1646  */
 +  case 114:
 +#line 1440 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3392 "awkgram.c" /* yacc.c:1646  */
 -#line 3361 "awkgram.c" /* yacc.c:1646  */
++#line 3383 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 114:
 -#line 1425 "awkgram.y" /* yacc.c:1646  */
 +  case 115:
 +#line 1442 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3398 "awkgram.c" /* yacc.c:1646  */
 -#line 3367 "awkgram.c" /* yacc.c:1646  */
++#line 3389 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 115:
 -#line 1430 "awkgram.y" /* yacc.c:1646  */
 +  case 116:
 +#line 1447 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3404 "awkgram.c" /* yacc.c:1646  */
 -#line 3373 "awkgram.c" /* yacc.c:1646  */
++#line 3395 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 116:
 -#line 1432 "awkgram.y" /* yacc.c:1646  */
 +  case 117:
 +#line 1449 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3413 "awkgram.c" /* yacc.c:1646  */
 -#line 3382 "awkgram.c" /* yacc.c:1646  */
++#line 3404 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 117:
 -#line 1437 "awkgram.y" /* yacc.c:1646  */
 +  case 118:
 +#line 1454 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3419 "awkgram.c" /* yacc.c:1646  */
 -#line 3388 "awkgram.c" /* yacc.c:1646  */
++#line 3410 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 118:
 -#line 1439 "awkgram.y" /* yacc.c:1646  */
 +  case 119:
 +#line 1456 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3427,72 -3396,72 +3418,72 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3431 "awkgram.c" /* yacc.c:1646  */
 -#line 3400 "awkgram.c" /* yacc.c:1646  */
++#line 3422 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 119:
 -#line 1447 "awkgram.y" /* yacc.c:1646  */
 +  case 120:
 +#line 1464 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3440 "awkgram.c" /* yacc.c:1646  */
 -#line 3409 "awkgram.c" /* yacc.c:1646  */
++#line 3431 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 120:
 -#line 1452 "awkgram.y" /* yacc.c:1646  */
 +  case 121:
 +#line 1469 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3449 "awkgram.c" /* yacc.c:1646  */
 -#line 3418 "awkgram.c" /* yacc.c:1646  */
++#line 3440 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 121:
 -#line 1459 "awkgram.y" /* yacc.c:1646  */
 +  case 122:
 +#line 1476 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3455 "awkgram.c" /* yacc.c:1646  */
 -#line 3424 "awkgram.c" /* yacc.c:1646  */
++#line 3446 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 122:
 -#line 1460 "awkgram.y" /* yacc.c:1646  */
 +  case 123:
 +#line 1477 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = list_create((yyvsp[0])); }
- #line 3461 "awkgram.c" /* yacc.c:1646  */
 -#line 3430 "awkgram.c" /* yacc.c:1646  */
++#line 3452 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 123:
 -#line 1466 "awkgram.y" /* yacc.c:1646  */
 +  case 124:
 +#line 1483 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of assignment"));
                (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
- #line 3472 "awkgram.c" /* yacc.c:1646  */
 -#line 3441 "awkgram.c" /* yacc.c:1646  */
++#line 3463 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 124:
 -#line 1473 "awkgram.y" /* yacc.c:1646  */
 +  case 125:
 +#line 1490 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3480 "awkgram.c" /* yacc.c:1646  */
 -#line 3449 "awkgram.c" /* yacc.c:1646  */
++#line 3471 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 125:
 -#line 1477 "awkgram.y" /* yacc.c:1646  */
 +  case 126:
 +#line 1494 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3486 "awkgram.c" /* yacc.c:1646  */
 -#line 3455 "awkgram.c" /* yacc.c:1646  */
++#line 3477 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 126:
 -#line 1479 "awkgram.y" /* yacc.c:1646  */
 +  case 127:
 +#line 1496 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3492 "awkgram.c" /* yacc.c:1646  */
 -#line 3461 "awkgram.c" /* yacc.c:1646  */
++#line 3483 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 127:
 -#line 1481 "awkgram.y" /* yacc.c:1646  */
 +  case 128:
 +#line 1498 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3505,11 -3474,11 +3496,11 @@@
                bcfree((yyvsp[0]));
                (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
          }
- #line 3509 "awkgram.c" /* yacc.c:1646  */
 -#line 3478 "awkgram.c" /* yacc.c:1646  */
++#line 3500 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 128:
 -#line 1494 "awkgram.y" /* yacc.c:1646  */
 +  case 129:
 +#line 1511 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3526,11 -3495,11 +3517,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
- #line 3530 "awkgram.c" /* yacc.c:1646  */
 -#line 3499 "awkgram.c" /* yacc.c:1646  */
++#line 3521 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 129:
 -#line 1511 "awkgram.y" /* yacc.c:1646  */
 +  case 130:
 +#line 1528 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3540,91 -3509,91 +3531,91 @@@
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3544 "awkgram.c" /* yacc.c:1646  */
 -#line 3513 "awkgram.c" /* yacc.c:1646  */
++#line 3535 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 130:
 -#line 1521 "awkgram.y" /* yacc.c:1646  */
 +  case 131:
 +#line 1538 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of comparison"));
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3555 "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 3530 "awkgram.c" /* yacc.c:1646  */
++#line 3546 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 132:
 -#line 1530 "awkgram.y" /* yacc.c:1646  */
 -    { (yyval) = (yyvsp[0]); }
 -#line 3536 "awkgram.c" /* yacc.c:1646  */
 +#line 1545 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
- #line 3561 "awkgram.c" /* yacc.c:1646  */
++#line 3552 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 133:
 -#line 1535 "awkgram.y" /* yacc.c:1646  */
 +#line 1547 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3567 "awkgram.c" /* yacc.c:1646  */
 -#line 3542 "awkgram.c" /* yacc.c:1646  */
++#line 3558 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 134:
 -#line 1537 "awkgram.y" /* yacc.c:1646  */
 +#line 1552 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3573 "awkgram.c" /* yacc.c:1646  */
 -#line 3548 "awkgram.c" /* yacc.c:1646  */
++#line 3564 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 135:
 -#line 1539 "awkgram.y" /* yacc.c:1646  */
 +#line 1554 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = (yyvsp[0]); }
- #line 3579 "awkgram.c" /* yacc.c:1646  */
++#line 3570 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 136:
 +#line 1556 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
- #line 3588 "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 3563 "awkgram.c" /* yacc.c:1646  */
++#line 3579 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 137:
 -#line 1549 "awkgram.y" /* yacc.c:1646  */
 +#line 1564 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3594 "awkgram.c" /* yacc.c:1646  */
 -#line 3569 "awkgram.c" /* yacc.c:1646  */
++#line 3585 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 138:
 -#line 1554 "awkgram.y" /* yacc.c:1646  */
 +#line 1566 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3600 "awkgram.c" /* yacc.c:1646  */
 -#line 3575 "awkgram.c" /* yacc.c:1646  */
++#line 3591 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 139:
 -#line 1556 "awkgram.y" /* yacc.c:1646  */
 +#line 1571 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3606 "awkgram.c" /* yacc.c:1646  */
 -#line 3581 "awkgram.c" /* yacc.c:1646  */
++#line 3597 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 140:
 -#line 1561 "awkgram.y" /* yacc.c:1646  */
 +#line 1573 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3612 "awkgram.c" /* yacc.c:1646  */
 -#line 3587 "awkgram.c" /* yacc.c:1646  */
++#line 3603 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 141:
 -#line 1563 "awkgram.y" /* yacc.c:1646  */
 +#line 1578 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3618 "awkgram.c" /* yacc.c:1646  */
 -#line 3593 "awkgram.c" /* yacc.c:1646  */
++#line 3609 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 142:
 -#line 1565 "awkgram.y" /* yacc.c:1646  */
 +#line 1580 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = (yyvsp[0]); }
- #line 3624 "awkgram.c" /* yacc.c:1646  */
++#line 3615 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 143:
 +#line 1582 "awkgram.y" /* yacc.c:1646  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3677,47 -3646,47 +3668,47 @@@
                                max_args = count;
                }
          }
- #line 3681 "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 3656 "awkgram.c" /* yacc.c:1646  */
++#line 3672 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 145:
 -#line 1625 "awkgram.y" /* yacc.c:1646  */
 +#line 1640 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3687 "awkgram.c" /* yacc.c:1646  */
 -#line 3662 "awkgram.c" /* yacc.c:1646  */
++#line 3678 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 146:
 -#line 1627 "awkgram.y" /* yacc.c:1646  */
 +#line 1642 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3693 "awkgram.c" /* yacc.c:1646  */
 -#line 3668 "awkgram.c" /* yacc.c:1646  */
++#line 3684 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 147:
 -#line 1629 "awkgram.y" /* yacc.c:1646  */
 +#line 1644 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3699 "awkgram.c" /* yacc.c:1646  */
 -#line 3674 "awkgram.c" /* yacc.c:1646  */
++#line 3690 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 148:
 -#line 1631 "awkgram.y" /* yacc.c:1646  */
 +#line 1646 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3705 "awkgram.c" /* yacc.c:1646  */
 -#line 3680 "awkgram.c" /* yacc.c:1646  */
++#line 3696 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 149:
 -#line 1633 "awkgram.y" /* yacc.c:1646  */
 +#line 1648 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3711 "awkgram.c" /* yacc.c:1646  */
 -#line 3686 "awkgram.c" /* yacc.c:1646  */
++#line 3702 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 150:
 -#line 1635 "awkgram.y" /* yacc.c:1646  */
 +#line 1650 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3717 "awkgram.c" /* yacc.c:1646  */
++#line 3708 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 151:
 +#line 1652 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@@ -3731,29 -3700,29 +3722,29 @@@
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
- #line 3735 "awkgram.c" /* yacc.c:1646  */
 -#line 3704 "awkgram.c" /* yacc.c:1646  */
++#line 3726 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 151:
 -#line 1649 "awkgram.y" /* yacc.c:1646  */
 +  case 152:
 +#line 1666 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3744 "awkgram.c" /* yacc.c:1646  */
 -#line 3713 "awkgram.c" /* yacc.c:1646  */
++#line 3735 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 152:
 -#line 1654 "awkgram.y" /* yacc.c:1646  */
 +  case 153:
 +#line 1671 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3753 "awkgram.c" /* yacc.c:1646  */
 -#line 3722 "awkgram.c" /* yacc.c:1646  */
++#line 3744 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 153:
 -#line 1659 "awkgram.y" /* yacc.c:1646  */
 +  case 154:
 +#line 1676 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old) {
                    warning_ln((yyvsp[-1])->source_line,
@@@ -3773,64 -3742,64 +3764,64 @@@
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
- #line 3777 "awkgram.c" /* yacc.c:1646  */
 -#line 3746 "awkgram.c" /* yacc.c:1646  */
++#line 3768 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 154:
 -#line 1684 "awkgram.y" /* yacc.c:1646  */
 +  case 155:
 +#line 1701 "awkgram.y" /* yacc.c:1646  */
      {
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
- #line 3786 "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 3761 "awkgram.c" /* yacc.c:1646  */
++#line 3777 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 156:
 -#line 1692 "awkgram.y" /* yacc.c:1646  */
 +#line 1707 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3792 "awkgram.c" /* yacc.c:1646  */
 -#line 3767 "awkgram.c" /* yacc.c:1646  */
++#line 3783 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 157:
 -#line 1694 "awkgram.y" /* yacc.c:1646  */
 +#line 1709 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3798 "awkgram.c" /* yacc.c:1646  */
 -#line 3773 "awkgram.c" /* yacc.c:1646  */
++#line 3789 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 158:
 -#line 1696 "awkgram.y" /* yacc.c:1646  */
 +#line 1711 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3804 "awkgram.c" /* yacc.c:1646  */
 -#line 3779 "awkgram.c" /* yacc.c:1646  */
++#line 3795 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 159:
 -#line 1698 "awkgram.y" /* yacc.c:1646  */
 +#line 1713 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3810 "awkgram.c" /* yacc.c:1646  */
 -#line 3785 "awkgram.c" /* yacc.c:1646  */
++#line 3801 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 160:
 -#line 1700 "awkgram.y" /* yacc.c:1646  */
 +#line 1715 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3816 "awkgram.c" /* yacc.c:1646  */
 -#line 3791 "awkgram.c" /* yacc.c:1646  */
++#line 3807 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 161:
 -#line 1705 "awkgram.y" /* yacc.c:1646  */
 +#line 1717 "awkgram.y" /* yacc.c:1646  */
 +    { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3822 "awkgram.c" /* yacc.c:1646  */
++#line 3813 "awkgram.c" /* yacc.c:1646  */
 +    break;
 +
 +  case 162:
 +#line 1722 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3830 "awkgram.c" /* yacc.c:1646  */
 -#line 3799 "awkgram.c" /* yacc.c:1646  */
++#line 3821 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 162:
 -#line 1709 "awkgram.y" /* yacc.c:1646  */
 +  case 163:
 +#line 1726 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->opcode == Op_match_rec) {
                        (yyvsp[0])->opcode = Op_nomatch;
@@@ -3862,43 -3831,33 +3853,33 @@@
                        }
                }
           }
- #line 3866 "awkgram.c" /* yacc.c:1646  */
 -#line 3835 "awkgram.c" /* yacc.c:1646  */
++#line 3857 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 163:
 -#line 1741 "awkgram.y" /* yacc.c:1646  */
 +  case 164:
 +#line 1758 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_append((yyvsp[-1]), bcalloc(Op_parens, 
1, sourceline));
                else
                        (yyval) = (yyvsp[-1]);
          }
- #line 3877 "awkgram.c" /* yacc.c:1646  */
 -#line 3846 "awkgram.c" /* yacc.c:1646  */
++#line 3868 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 164:
 -#line 1748 "awkgram.y" /* yacc.c:1646  */
 +  case 165:
 +#line 1765 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3887 "awkgram.c" /* yacc.c:1646  */
 -#line 3856 "awkgram.c" /* yacc.c:1646  */
++#line 3878 "awkgram.c" /* yacc.c:1646  */
      break;
  
 -  case 165:
 -#line 1754 "awkgram.y" /* yacc.c:1646  */
 +  case 166:
 +#line 1771 "awkgram.y" /* yacc.c:1646  */
      {
-               (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
-               if ((yyval) == NULL)
-                       YYABORT;
-         }
- #line 3897 "awkgram.c" /* yacc.c:1646  */
-     break;
- 
-   case 167:
- #line 1777 "awkgram.y" /* yacc.c:1646  */
-     {
                static bool warned = false;
  
                if (do_lint && ! warned) {
@@@ -3910,45 -3869,45 +3891,45 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3914 "awkgram.c" /* yacc.c:1646  */
 -#line 3873 "awkgram.c" /* yacc.c:1646  */
++#line 3895 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 170:
- #line 1792 "awkgram.y" /* yacc.c:1646  */
 -  case 168:
 -#line 1769 "awkgram.y" /* yacc.c:1646  */
++  case 169:
++#line 1786 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3923 "awkgram.c" /* yacc.c:1646  */
 -#line 3882 "awkgram.c" /* yacc.c:1646  */
++#line 3904 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 171:
- #line 1797 "awkgram.y" /* yacc.c:1646  */
 -  case 169:
 -#line 1774 "awkgram.y" /* yacc.c:1646  */
++  case 170:
++#line 1791 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3932 "awkgram.c" /* yacc.c:1646  */
 -#line 3891 "awkgram.c" /* yacc.c:1646  */
++#line 3913 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 172:
- #line 1802 "awkgram.y" /* yacc.c:1646  */
 -  case 170:
 -#line 1779 "awkgram.y" /* yacc.c:1646  */
++  case 171:
++#line 1796 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3940 "awkgram.c" /* yacc.c:1646  */
 -#line 3899 "awkgram.c" /* yacc.c:1646  */
++#line 3921 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 173:
- #line 1806 "awkgram.y" /* yacc.c:1646  */
 -  case 171:
 -#line 1783 "awkgram.y" /* yacc.c:1646  */
++  case 172:
++#line 1800 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3948 "awkgram.c" /* yacc.c:1646  */
 -#line 3907 "awkgram.c" /* yacc.c:1646  */
++#line 3929 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 174:
- #line 1810 "awkgram.y" /* yacc.c:1646  */
 -  case 172:
 -#line 1787 "awkgram.y" /* yacc.c:1646  */
++  case 173:
++#line 1804 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3963,11 -3922,11 +3944,11 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3967 "awkgram.c" /* yacc.c:1646  */
 -#line 3926 "awkgram.c" /* yacc.c:1646  */
++#line 3948 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 175:
- #line 1825 "awkgram.y" /* yacc.c:1646  */
 -  case 173:
 -#line 1802 "awkgram.y" /* yacc.c:1646  */
++  case 174:
++#line 1819 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@@ -3985,20 -3944,20 +3966,20 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3989 "awkgram.c" /* yacc.c:1646  */
 -#line 3948 "awkgram.c" /* yacc.c:1646  */
++#line 3970 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 176:
- #line 1846 "awkgram.y" /* yacc.c:1646  */
 -  case 174:
 -#line 1823 "awkgram.y" /* yacc.c:1646  */
++  case 175:
++#line 1840 "awkgram.y" /* yacc.c:1646  */
      {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
- #line 3998 "awkgram.c" /* yacc.c:1646  */
 -#line 3957 "awkgram.c" /* yacc.c:1646  */
++#line 3979 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 177:
- #line 1851 "awkgram.y" /* yacc.c:1646  */
 -  case 175:
 -#line 1828 "awkgram.y" /* yacc.c:1646  */
++  case 176:
++#line 1845 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -4032,11 -3991,11 +4013,11 @@@
                (yyval) = list_prepend((yyvsp[0]), t);
                at_seen = false;
          }
- #line 4036 "awkgram.c" /* yacc.c:1646  */
 -#line 3995 "awkgram.c" /* yacc.c:1646  */
++#line 4017 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 178:
- #line 1888 "awkgram.y" /* yacc.c:1646  */
 -  case 176:
 -#line 1865 "awkgram.y" /* yacc.c:1646  */
++  case 177:
++#line 1882 "awkgram.y" /* yacc.c:1646  */
      {
                NODE *n;
  
@@@ -4061,49 -4020,49 +4042,49 @@@
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
- #line 4065 "awkgram.c" /* yacc.c:1646  */
 -#line 4024 "awkgram.c" /* yacc.c:1646  */
++#line 4046 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 179:
- #line 1916 "awkgram.y" /* yacc.c:1646  */
 -  case 177:
 -#line 1893 "awkgram.y" /* yacc.c:1646  */
++  case 178:
++#line 1910 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4071 "awkgram.c" /* yacc.c:1646  */
 -#line 4030 "awkgram.c" /* yacc.c:1646  */
++#line 4052 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 180:
- #line 1918 "awkgram.y" /* yacc.c:1646  */
 -  case 178:
 -#line 1895 "awkgram.y" /* yacc.c:1646  */
++  case 179:
++#line 1912 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4077 "awkgram.c" /* yacc.c:1646  */
 -#line 4036 "awkgram.c" /* yacc.c:1646  */
++#line 4058 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 181:
- #line 1923 "awkgram.y" /* yacc.c:1646  */
 -  case 179:
 -#line 1900 "awkgram.y" /* yacc.c:1646  */
++  case 180:
++#line 1917 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4083 "awkgram.c" /* yacc.c:1646  */
 -#line 4042 "awkgram.c" /* yacc.c:1646  */
++#line 4064 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 182:
- #line 1925 "awkgram.y" /* yacc.c:1646  */
 -  case 180:
 -#line 1902 "awkgram.y" /* yacc.c:1646  */
++  case 181:
++#line 1919 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4089 "awkgram.c" /* yacc.c:1646  */
 -#line 4048 "awkgram.c" /* yacc.c:1646  */
++#line 4070 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 183:
- #line 1930 "awkgram.y" /* yacc.c:1646  */
 -  case 181:
 -#line 1907 "awkgram.y" /* yacc.c:1646  */
++  case 182:
++#line 1924 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4095 "awkgram.c" /* yacc.c:1646  */
 -#line 4054 "awkgram.c" /* yacc.c:1646  */
++#line 4076 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 184:
- #line 1932 "awkgram.y" /* yacc.c:1646  */
 -  case 182:
 -#line 1909 "awkgram.y" /* yacc.c:1646  */
++  case 183:
++#line 1926 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4103 "awkgram.c" /* yacc.c:1646  */
 -#line 4062 "awkgram.c" /* yacc.c:1646  */
++#line 4084 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 185:
- #line 1939 "awkgram.y" /* yacc.c:1646  */
 -  case 183:
 -#line 1916 "awkgram.y" /* yacc.c:1646  */
++  case 184:
++#line 1933 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->lasti;
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -4117,11 -4076,11 +4098,11 @@@
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
- #line 4121 "awkgram.c" /* yacc.c:1646  */
 -#line 4080 "awkgram.c" /* yacc.c:1646  */
++#line 4102 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 186:
- #line 1956 "awkgram.y" /* yacc.c:1646  */
 -  case 184:
 -#line 1933 "awkgram.y" /* yacc.c:1646  */
++  case 185:
++#line 1950 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@@ -4135,31 -4094,31 +4116,31 @@@
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
- #line 4139 "awkgram.c" /* yacc.c:1646  */
 -#line 4098 "awkgram.c" /* yacc.c:1646  */
++#line 4120 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 187:
- #line 1973 "awkgram.y" /* yacc.c:1646  */
 -  case 185:
 -#line 1950 "awkgram.y" /* yacc.c:1646  */
++  case 186:
++#line 1967 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 4145 "awkgram.c" /* yacc.c:1646  */
 -#line 4104 "awkgram.c" /* yacc.c:1646  */
++#line 4126 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 188:
- #line 1975 "awkgram.y" /* yacc.c:1646  */
 -  case 186:
 -#line 1952 "awkgram.y" /* yacc.c:1646  */
++  case 187:
++#line 1969 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 4153 "awkgram.c" /* yacc.c:1646  */
 -#line 4112 "awkgram.c" /* yacc.c:1646  */
++#line 4134 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 189:
- #line 1982 "awkgram.y" /* yacc.c:1646  */
 -  case 187:
 -#line 1959 "awkgram.y" /* yacc.c:1646  */
++  case 188:
++#line 1976 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 4159 "awkgram.c" /* yacc.c:1646  */
 -#line 4118 "awkgram.c" /* yacc.c:1646  */
++#line 4140 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 190:
- #line 1987 "awkgram.y" /* yacc.c:1646  */
 -  case 188:
 -#line 1964 "awkgram.y" /* yacc.c:1646  */
++  case 189:
++#line 1981 "awkgram.y" /* yacc.c:1646  */
      {
                char *var_name = (yyvsp[0])->lextok;
  
@@@ -4167,22 -4126,22 +4148,22 @@@
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
- #line 4171 "awkgram.c" /* yacc.c:1646  */
 -#line 4130 "awkgram.c" /* yacc.c:1646  */
++#line 4152 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 191:
- #line 1995 "awkgram.y" /* yacc.c:1646  */
 -  case 189:
 -#line 1972 "awkgram.y" /* yacc.c:1646  */
++  case 190:
++#line 1989 "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 4182 "awkgram.c" /* yacc.c:1646  */
 -#line 4141 "awkgram.c" /* yacc.c:1646  */
++#line 4163 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 192:
- #line 2005 "awkgram.y" /* yacc.c:1646  */
 -  case 190:
 -#line 1982 "awkgram.y" /* yacc.c:1646  */
++  case 191:
++#line 1999 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@@ -4194,73 -4153,73 +4175,73 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 4198 "awkgram.c" /* yacc.c:1646  */
 -#line 4157 "awkgram.c" /* yacc.c:1646  */
++#line 4179 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 193:
- #line 2017 "awkgram.y" /* yacc.c:1646  */
 -  case 191:
 -#line 1994 "awkgram.y" /* yacc.c:1646  */
++  case 192:
++#line 2011 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 4208 "awkgram.c" /* yacc.c:1646  */
 -#line 4167 "awkgram.c" /* yacc.c:1646  */
++#line 4189 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 194:
- #line 2026 "awkgram.y" /* yacc.c:1646  */
 -  case 192:
 -#line 2003 "awkgram.y" /* yacc.c:1646  */
++  case 193:
++#line 2020 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
          }
- #line 4216 "awkgram.c" /* yacc.c:1646  */
 -#line 4175 "awkgram.c" /* yacc.c:1646  */
++#line 4197 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 195:
- #line 2030 "awkgram.y" /* yacc.c:1646  */
 -  case 193:
 -#line 2007 "awkgram.y" /* yacc.c:1646  */
++  case 194:
++#line 2024 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
- #line 4224 "awkgram.c" /* yacc.c:1646  */
 -#line 4183 "awkgram.c" /* yacc.c:1646  */
++#line 4205 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 196:
- #line 2033 "awkgram.y" /* yacc.c:1646  */
 -  case 194:
 -#line 2010 "awkgram.y" /* yacc.c:1646  */
++  case 195:
++#line 2027 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 4230 "awkgram.c" /* yacc.c:1646  */
 -#line 4189 "awkgram.c" /* yacc.c:1646  */
++#line 4211 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 198:
- #line 2041 "awkgram.y" /* yacc.c:1646  */
 -  case 196:
 -#line 2018 "awkgram.y" /* yacc.c:1646  */
++  case 197:
++#line 2035 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4236 "awkgram.c" /* yacc.c:1646  */
 -#line 4195 "awkgram.c" /* yacc.c:1646  */
++#line 4217 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 199:
- #line 2045 "awkgram.y" /* yacc.c:1646  */
 -  case 197:
 -#line 2022 "awkgram.y" /* yacc.c:1646  */
++  case 198:
++#line 2039 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4242 "awkgram.c" /* yacc.c:1646  */
 -#line 4201 "awkgram.c" /* yacc.c:1646  */
++#line 4223 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 202:
- #line 2054 "awkgram.y" /* yacc.c:1646  */
 -  case 200:
 -#line 2031 "awkgram.y" /* yacc.c:1646  */
++  case 201:
++#line 2048 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4248 "awkgram.c" /* yacc.c:1646  */
 -#line 4207 "awkgram.c" /* yacc.c:1646  */
++#line 4229 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 203:
- #line 2058 "awkgram.y" /* yacc.c:1646  */
 -  case 201:
 -#line 2035 "awkgram.y" /* yacc.c:1646  */
++  case 202:
++#line 2052 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); yyerrok; }
- #line 4254 "awkgram.c" /* yacc.c:1646  */
 -#line 4213 "awkgram.c" /* yacc.c:1646  */
++#line 4235 "awkgram.c" /* yacc.c:1646  */
      break;
  
-   case 204:
- #line 2062 "awkgram.y" /* yacc.c:1646  */
 -  case 202:
 -#line 2039 "awkgram.y" /* yacc.c:1646  */
++  case 203:
++#line 2056 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 4260 "awkgram.c" /* yacc.c:1646  */
 -#line 4219 "awkgram.c" /* yacc.c:1646  */
++#line 4241 "awkgram.c" /* yacc.c:1646  */
      break;
  
  
- #line 4264 "awkgram.c" /* yacc.c:1646  */
 -#line 4223 "awkgram.c" /* yacc.c:1646  */
++#line 4245 "awkgram.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4488,7 -4447,7 +4469,7 @@@ yyreturn
  #endif
    return yyresult;
  }
- #line 2064 "awkgram.y" /* yacc.c:1906  */
 -#line 2041 "awkgram.y" /* yacc.c:1906  */
++#line 2058 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {

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

Summary of changes:
 ChangeLog |    6 +
 awkgram.c | 1249 ++++++++++++++++++++++++++++++-------------------------------
 awkgram.y |   16 +-
 3 files changed, 626 insertions(+), 645 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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