diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-03-19 18:48:42 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-03-19 18:48:42 +0200 |
commit | eb53fb0398911202d4361b869eefa6c1449ebec8 (patch) | |
tree | 0b92d294f67ff10b0d5924487946052543764efb /awkgram.c | |
parent | b062ba39d52c7e9dee06ac73030aba248ee81168 (diff) | |
download | egawk-eb53fb0398911202d4361b869eefa6c1449ebec8.tar.gz egawk-eb53fb0398911202d4361b869eefa6c1449ebec8.tar.bz2 egawk-eb53fb0398911202d4361b869eefa6c1449ebec8.zip |
Further progress with @/.../.
Diffstat (limited to 'awkgram.c')
-rw-r--r-- | awkgram.c | 1389 |
1 files changed, 706 insertions, 683 deletions
@@ -600,16 +600,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1219 +#define YYLAST 1220 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 76 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 69 /* YYNRULES -- Number of rules. */ -#define YYNRULES 201 +#define YYNRULES 202 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 348 +#define YYNSTATES 349 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -672,15 +672,15 @@ static const yytype_uint16 yyrline[] = 1280, 1283, 1285, 1290, 1291, 1300, 1301, 1306, 1311, 1317, 1319, 1321, 1328, 1329, 1335, 1336, 1341, 1343, 1348, 1350, 1358, 1363, 1372, 1373, 1378, 1380, 1385, 1387, 1395, 1400, - 1408, 1409, 1414, 1421, 1426, 1428, 1430, 1446, 1456, 1463, - 1465, 1470, 1472, 1474, 1482, 1484, 1489, 1491, 1496, 1498, - 1500, 1550, 1552, 1554, 1556, 1558, 1560, 1562, 1564, 1578, - 1583, 1588, 1613, 1619, 1621, 1623, 1625, 1627, 1629, 1634, - 1638, 1670, 1672, 1678, 1684, 1697, 1698, 1699, 1704, 1709, - 1713, 1717, 1732, 1745, 1750, 1787, 1816, 1817, 1823, 1824, - 1829, 1831, 1838, 1855, 1872, 1874, 1881, 1886, 1894, 1904, - 1916, 1925, 1929, 1933, 1937, 1941, 1945, 1948, 1950, 1954, - 1958, 1962 + 1408, 1409, 1414, 1421, 1425, 1427, 1429, 1444, 1461, 1471, + 1478, 1480, 1485, 1487, 1489, 1497, 1499, 1504, 1506, 1511, + 1513, 1515, 1565, 1567, 1569, 1571, 1573, 1575, 1577, 1579, + 1593, 1598, 1603, 1628, 1634, 1636, 1638, 1640, 1642, 1644, + 1649, 1653, 1685, 1687, 1693, 1699, 1712, 1713, 1714, 1719, + 1724, 1728, 1732, 1747, 1760, 1765, 1802, 1831, 1832, 1838, + 1839, 1844, 1846, 1853, 1870, 1887, 1889, 1896, 1901, 1909, + 1919, 1931, 1940, 1944, 1948, 1952, 1956, 1960, 1963, 1965, + 1969, 1973, 1977 }; #endif @@ -735,10 +735,10 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -276 +#define YYPACT_NINF -274 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-276))) + (!!((Yystate) == (-274))) #define YYTABLE_NINF -114 @@ -749,41 +749,41 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -276, 359, -276, -276, -32, -23, -276, -276, -276, -276, - 171, -276, -276, 25, 25, 25, -8, 61, -276, -276, - -276, 1122, 1122, -276, 1122, 1149, 852, 152, -276, -24, - -7, -276, -276, 87, 284, 1048, 310, 354, -276, -276, - -276, -276, 212, 778, 852, -276, 1, -276, -276, -276, - -276, -276, 19, 75, -276, 88, -276, -276, -276, 778, - 778, 146, 94, 12, 94, 94, 1122, 66, -276, -276, - 7, 229, 34, 67, -276, 102, -276, -276, -276, 87, - -276, 102, -276, 157, -276, -276, 1122, 159, 1122, 1122, - 1122, 102, -276, -276, -276, 1122, 125, 310, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - -276, 156, -276, -276, 158, 1122, -276, -276, -276, 101, - 92, -276, 867, 6, 867, -276, -276, -276, 43, 1122, - -276, 101, 101, 229, -276, -276, -276, 1122, 102, -276, - 130, 899, -276, -276, 9, -21, -276, 15, -21, 87, - -276, 582, -276, -276, 22, -276, 219, 333, 1031, 1122, - 166, 25, 248, 248, 94, 94, 94, 94, 248, 248, - 94, 94, 94, 94, -276, -276, 867, -276, 1075, 825, - -276, -276, -276, 101, 112, 310, -276, -276, 867, -276, - 159, -276, 867, -276, -276, -276, -276, -276, 105, -276, - 13, 111, 114, 102, 115, -21, -21, -276, -276, -21, - 1122, -21, 102, -276, -276, -21, -276, -276, 867, -276, - 113, 102, 1122, 867, -276, -276, -276, -276, 102, -276, - 49, -276, 1122, 1122, -276, 176, 1122, 1122, 698, 932, - -276, -276, -276, -21, 867, -276, -276, -276, 629, 582, - 102, -276, -276, 867, -276, -276, -276, 229, -21, -23, - 117, 229, 229, 162, 4, -276, 113, -276, 852, 181, - -276, 186, -276, -276, 102, -276, -276, 38, -276, -276, - -276, 102, 102, 127, 159, 102, 7, -276, -276, 698, - -276, -276, -7, 698, 1122, 101, 745, 130, 1122, 177, - -276, -276, 229, 102, 259, 102, 1048, 102, 141, 102, - 698, 102, 980, 698, -276, 271, 144, -276, 132, -276, - -276, 980, 101, -276, -276, -276, 197, 223, -276, -276, - 144, -276, 102, -276, 101, 102, -276, -276, 102, -276, - 102, 698, -276, 432, 698, -276, 507, -276 + -274, 360, -274, -274, -17, -23, -274, -274, -274, -274, + 128, -274, -274, 14, 14, 14, -11, 8, -274, -274, + -274, 1123, 1123, -274, 1123, 1150, 853, 151, -274, -20, + -10, -274, -274, 20, 868, 1049, 252, 276, -274, -274, + -274, -274, 264, 779, 853, -274, 9, -274, -274, -274, + -274, -274, 28, 45, -274, 10, -274, -274, -274, 779, + 779, 134, 75, 104, 75, 75, 1123, 127, -274, -274, + 15, 333, 44, 63, -274, 106, -274, -274, -274, 20, + -274, 106, -274, 157, -274, -274, 1076, 152, 1123, 1123, + 1123, 106, -274, -274, -274, 1123, 145, 252, 1123, 1123, + 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, + -274, 164, -274, -274, 172, 1123, -274, -274, -274, 97, + 73, -274, 1091, 36, 1091, -274, -274, -274, 26, 1123, + -274, 97, 97, 333, -274, -274, -274, 1123, 106, -274, + 146, 900, -274, -274, 16, -21, -274, 34, -21, 20, + -274, 583, -274, -274, -274, 173, -274, 209, 374, 1032, + 1123, 215, 14, 102, 102, 75, 75, 75, 75, 102, + 102, 75, 75, 75, 75, -274, -274, 1091, -274, 1076, + 826, -274, -274, -274, 97, 111, 252, -274, -274, 1091, + -274, 152, -274, 1091, -274, -274, -274, -274, -274, 120, + -274, 42, 126, 131, 106, 135, -21, -21, -274, -274, + -21, 1123, -21, 106, -274, -274, -21, -274, -274, 1091, + -274, 115, 106, 1123, 1091, -274, -274, -274, -274, 106, + -274, 43, -274, 1123, 1123, -274, 203, 1123, 1123, 699, + 933, -274, -274, -274, -21, 1091, -274, -274, -274, 630, + 583, 106, -274, -274, 1091, -274, -274, -274, 333, -21, + -23, 147, 333, 333, 199, -5, -274, 115, -274, 853, + 216, -274, 4, -274, -274, 106, -274, -274, 122, -274, + -274, -274, 106, 106, 167, 152, 106, 15, -274, -274, + 699, -274, -274, -10, 699, 1123, 97, 746, 146, 1123, + 218, -274, -274, 333, 106, 246, 106, 1049, 106, 144, + 106, 699, 106, 981, 699, -274, 272, 185, -274, 168, + -274, -274, 981, 97, -274, -274, -274, 236, 238, -274, + -274, 185, -274, 106, -274, 97, 106, -274, -274, 106, + -274, 106, 699, -274, 433, 699, -274, 508, -274 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -791,65 +791,65 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 2, 0, 1, 6, 0, 187, 169, 170, 21, 22, - 0, 23, 24, 176, 0, 0, 0, 164, 5, 89, + 2, 0, 1, 6, 0, 188, 170, 171, 21, 22, + 0, 23, 24, 177, 0, 0, 0, 165, 5, 89, 37, 0, 0, 36, 0, 0, 0, 0, 3, 0, - 0, 159, 33, 4, 19, 130, 138, 139, 141, 165, - 173, 189, 166, 0, 0, 184, 0, 188, 27, 26, - 30, 31, 0, 0, 28, 93, 177, 167, 168, 0, - 0, 0, 172, 166, 171, 160, 0, 193, 166, 108, - 0, 106, 0, 0, 174, 91, 199, 7, 8, 41, - 38, 91, 9, 0, 90, 134, 0, 0, 0, 0, - 0, 91, 135, 137, 136, 0, 0, 140, 0, 0, + 0, 160, 33, 4, 19, 131, 139, 140, 142, 166, + 174, 190, 167, 0, 0, 185, 0, 189, 27, 26, + 30, 31, 0, 0, 28, 93, 178, 168, 169, 0, + 0, 0, 173, 167, 172, 161, 0, 194, 167, 108, + 0, 106, 0, 0, 175, 91, 200, 7, 8, 41, + 38, 91, 9, 0, 90, 135, 0, 0, 0, 0, + 0, 91, 136, 138, 137, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 131, 149, 150, 0, 0, 116, 35, 121, 0, - 0, 114, 120, 0, 106, 186, 185, 29, 0, 0, - 148, 0, 0, 0, 191, 192, 190, 109, 91, 196, - 0, 0, 161, 14, 0, 0, 17, 0, 0, 92, - 194, 0, 42, 34, 126, 127, 124, 125, 0, 0, - 128, 176, 146, 147, 143, 144, 145, 142, 157, 158, - 154, 155, 156, 153, 123, 133, 122, 175, 117, 0, - 183, 99, 97, 0, 0, 94, 162, 163, 110, 201, - 0, 111, 107, 13, 10, 16, 11, 40, 0, 58, - 0, 0, 0, 91, 0, 0, 0, 80, 81, 0, - 102, 0, 91, 39, 52, 0, 61, 45, 66, 38, - 197, 91, 0, 20, 152, 118, 119, 115, 91, 100, - 0, 151, 0, 102, 63, 0, 0, 0, 0, 67, - 53, 54, 55, 0, 103, 56, 195, 60, 0, 0, - 91, 198, 43, 129, 32, 101, 98, 0, 0, 178, - 0, 0, 0, 0, 187, 68, 0, 57, 0, 84, - 82, 0, 44, 25, 91, 59, 64, 0, 180, 182, - 65, 91, 91, 0, 0, 91, 0, 85, 62, 0, - 179, 181, 0, 0, 0, 0, 0, 83, 0, 87, - 69, 47, 0, 91, 0, 91, 86, 91, 0, 91, - 0, 91, 67, 0, 71, 0, 0, 70, 0, 48, - 49, 67, 0, 88, 74, 77, 0, 0, 78, 79, - 0, 200, 91, 46, 0, 91, 76, 75, 91, 38, - 91, 0, 38, 0, 0, 51, 0, 50 + 133, 132, 150, 151, 0, 0, 116, 35, 121, 0, + 0, 114, 120, 0, 106, 187, 186, 29, 0, 0, + 149, 0, 0, 0, 192, 193, 191, 109, 91, 197, + 0, 0, 162, 14, 0, 0, 17, 0, 0, 92, + 195, 0, 42, 34, 126, 127, 128, 124, 125, 0, + 0, 129, 177, 147, 148, 144, 145, 146, 143, 158, + 159, 155, 156, 157, 154, 123, 134, 122, 176, 117, + 0, 184, 99, 97, 0, 0, 94, 163, 164, 110, + 202, 0, 111, 107, 13, 10, 16, 11, 40, 0, + 58, 0, 0, 0, 91, 0, 0, 0, 80, 81, + 0, 102, 0, 91, 39, 52, 0, 61, 45, 66, + 38, 198, 91, 0, 20, 153, 118, 119, 115, 91, + 100, 0, 152, 0, 102, 63, 0, 0, 0, 0, + 67, 53, 54, 55, 0, 103, 56, 196, 60, 0, + 0, 91, 199, 43, 130, 32, 101, 98, 0, 0, + 179, 0, 0, 0, 0, 188, 68, 0, 57, 0, + 84, 82, 0, 44, 25, 91, 59, 64, 0, 181, + 183, 65, 91, 91, 0, 0, 91, 0, 85, 62, + 0, 180, 182, 0, 0, 0, 0, 0, 83, 0, + 87, 69, 47, 0, 91, 0, 91, 86, 91, 0, + 91, 0, 91, 67, 0, 71, 0, 0, 70, 0, + 48, 49, 67, 0, 88, 74, 77, 0, 0, 78, + 79, 0, 201, 91, 46, 0, 91, 76, 75, 91, + 38, 91, 0, 38, 0, 0, 51, 0, 50 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -276, -276, -276, -276, -276, -276, 215, -276, -276, -276, - -66, -276, -96, -276, -195, -74, -5, -276, -276, -235, - -276, -276, -275, -276, -276, -276, -276, -276, -276, -276, - -276, 5, 47, -276, -276, -276, 21, -276, -41, 97, - -276, -27, -1, -276, -276, -276, -46, 17, -276, 233, - -276, 3, 121, -276, -276, -11, -37, -276, -276, -82, - -2, -276, -28, -223, -49, -276, -15, -68, -93 + -274, -274, -274, -274, -274, -274, 223, -274, -274, -274, + -70, -274, -82, -274, -196, -55, -19, -274, -274, -179, + -274, -274, -273, -274, -274, -274, -274, -274, -274, -274, + -274, 5, 47, -274, -274, -274, 21, -274, -41, 117, + -274, 2, -1, -274, -274, -274, -42, 17, -274, 233, + -274, 1, 100, -274, -274, -8, -37, -274, -274, -80, + -2, -274, -28, -242, -49, -274, -15, -72, -110 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 1, 28, 145, 148, 29, 77, 53, 54, 30, - 31, 83, 118, 32, 151, 78, 213, 214, 233, 215, - 248, 259, 266, 308, 317, 330, 216, 269, 288, 298, - 217, 149, 150, 130, 183, 184, 243, 270, 70, 119, - 120, 121, 218, 115, 94, 95, 35, 36, 37, 38, - 39, 40, 55, 276, 277, 278, 45, 46, 47, 41, - 42, 136, 219, 220, 142, 250, 221, 332, 141 + 31, 83, 118, 32, 151, 78, 214, 215, 234, 216, + 249, 260, 267, 309, 318, 331, 217, 270, 289, 299, + 218, 149, 150, 130, 184, 185, 244, 271, 70, 119, + 120, 121, 219, 115, 94, 95, 35, 36, 37, 38, + 39, 40, 55, 277, 278, 279, 45, 46, 47, 41, + 42, 136, 220, 221, 142, 251, 222, 333, 141 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -857,254 +857,256 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 34, 80, 80, 123, 265, 155, 33, 137, 137, 126, - 193, 56, 57, 58, 81, 174, 195, 234, 125, 63, - 63, 140, 63, 68, 249, 71, 272, 179, 19, 5, - 74, 19, 85, 63, 79, 143, 43, 322, 62, 64, - 144, 65, 122, 124, 181, 284, 334, 182, 44, 75, - 255, 76, 97, 256, 76, 290, 112, 113, 122, 122, - 59, -12, 138, 138, 74, 133, 75, -15, 146, 127, - 177, 194, 44, 147, 196, 44, 139, 265, 180, 92, - 93, 235, 186, 187, -12, 154, 265, 156, 157, 158, - -15, 230, 25, 178, 160, 333, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 231, 44, - 134, 135, -95, 229, 176, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 63, 152, 60, - 81, 240, 241, 81, 228, 242, 188, 245, 159, 84, - 192, 247, 314, 128, 343, 129, 185, 346, 138, 4, - 79, 225, 227, 79, 19, 4, 131, 132, 223, 56, - 103, -113, 153, 5, 161, 117, 315, 316, 138, 267, - 139, 190, 175, 232, 48, 49, -114, 122, 122, 236, - 260, -96, 237, 239, 275, 189, 280, 137, 76, 283, - 81, 81, 287, 19, 81, 294, 81, -105, 307, 331, - 81, 72, 295, 73, 336, 251, 212, 271, 274, 244, - 79, 79, 281, 282, 79, -91, 79, 50, 51, 329, - 79, 253, 279, -114, -114, 110, 111, 286, 81, 85, - 337, 257, 244, 263, 86, 261, 262, 297, -105, 85, - 279, 52, 138, 81, 86, 82, 303, 124, 79, 328, - 238, 285, 306, 309, 258, -105, 112, 113, 67, 246, - 87, -105, 338, 79, 300, 114, 291, 71, 252, 85, - 87, 88, 89, 335, 86, 254, 92, 93, 324, 325, - 117, 305, 224, 90, 299, 340, 92, 93, 301, 311, - 0, 0, 0, 302, 85, 304, 63, 273, 139, 86, - 87, 88, 89, 0, 63, 320, 0, 0, 323, 100, - 101, 102, 0, 90, 103, 0, 92, 93, 0, 0, - 0, 289, 0, 97, 20, 87, 88, 89, 292, 293, - 326, 327, 296, 23, 76, 0, 345, 0, 90, 347, - 91, 92, 93, 85, 0, 0, 0, 0, 86, 0, - 310, 0, 312, 0, 313, 318, 319, 0, 321, 2, - 3, 0, 4, 5, 0, 0, 6, 7, 0, 98, - 99, 100, 101, 102, 87, 88, 103, 8, 9, 339, - 0, 0, 341, 0, 0, 342, 0, 344, 0, 0, - 92, 93, 0, 0, 0, 10, 11, 12, 13, 0, - 0, 0, 0, 14, 15, 16, 17, 18, 0, 0, - 0, 19, 20, 104, 105, 106, 107, 108, 21, 22, - 109, 23, 0, 24, 0, 0, 25, 26, 0, 27, - 0, 0, -18, 197, -18, 4, 5, 0, 0, 6, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 198, 0, 199, 200, 201, -73, -73, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 0, 0, - 0, 13, 211, 0, 0, 0, 14, 15, 16, 17, - 0, 0, 0, 0, -73, 20, 0, 0, 0, 0, - 0, 21, 22, 0, 23, 0, 24, 0, 0, 25, - 26, 0, 61, 0, 0, 75, -73, 76, 197, 0, - 4, 5, 0, 0, 6, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 0, 199, - 200, 201, -72, -72, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 0, 0, 0, 13, 211, 0, 0, - 0, 14, 15, 16, 17, 0, 0, 0, 0, -72, - 20, 0, 0, 0, 0, 0, 21, 22, 0, 23, - 0, 24, 0, 0, 25, 26, 0, 61, 0, 0, - 75, -72, 76, 197, 0, 4, 5, 0, 0, 6, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 198, 0, 199, 200, 201, 0, 0, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 0, 0, - 0, 13, 211, 0, 0, 0, 14, 15, 16, 17, - 69, 0, 4, 5, 0, 20, 6, 7, 0, 0, - -104, 21, 22, 0, 23, 0, 24, 0, 0, 25, - 26, 0, 61, 0, 0, 75, 212, 76, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, - 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, - 0, -104, 20, 0, 0, 0, 0, 0, 21, 22, - 0, 23, 0, 24, 0, 0, 25, 268, -104, 61, - 0, 4, 5, 0, -104, 6, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, - 199, 200, 201, 0, 0, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 0, 0, 0, 13, 211, 0, - 0, 0, 14, 15, 16, 17, 0, 0, 4, 5, - 0, 20, 6, 7, 0, 0, 0, 21, 22, 0, + 34, 80, 80, 123, 154, 137, 33, 156, 273, 126, + 180, 56, 57, 58, 81, -105, 137, 194, 5, 63, + 63, 140, 63, 68, 250, 71, 125, 182, 74, 175, + 183, 19, 19, 63, 79, 196, 285, 137, 62, 64, + 323, 65, 122, 124, 256, 143, 235, 257, 44, 335, + 144, 43, 97, 75, 76, 76, -105, 59, 122, 122, + 138, 266, 74, 75, 146, 133, 44, 129, -12, 147, + 178, 138, 84, -105, 179, 231, 60, 334, 127, -105, + 44, 25, 187, 188, 139, 155, -15, 157, 158, 159, + 195, -12, 138, 197, 161, -95, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 181, -15, + 236, 232, 230, 128, 177, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 63, 152, 138, + 81, 48, 49, 81, 266, 229, 189, 4, 160, 291, + 193, 103, -113, 266, 344, 315, 186, 347, 112, 113, + 79, 241, 242, 79, 4, 243, 5, 246, 19, 224, + 56, 248, 153, 100, 101, 102, 139, 138, 103, 316, + 317, 134, 135, 117, 50, 51, 131, 132, 122, 122, + -96, 226, 228, 85, 162, 190, 176, 191, 233, 268, + 76, 81, 81, 44, 237, 81, 19, 81, 52, 238, + 72, 81, 73, 240, 276, 296, 252, 261, 272, 275, + 245, 79, 79, 282, 283, 79, 281, 79, -91, 85, + 264, 79, 254, 280, 86, -114, 284, 288, 287, 81, + 92, 93, 258, 245, 330, 295, 262, 263, 298, 308, + 332, 280, 213, 337, 81, 338, 329, 304, 124, 79, + 87, 239, 286, 82, 310, 259, 85, 307, 67, 339, + 247, 86, 225, 0, 79, 301, 92, 93, 71, 253, + 292, 300, -114, -114, 336, 302, 255, 110, 111, 325, + 326, 117, 306, 0, 0, 0, 341, 87, 88, 89, + 312, 0, 321, 0, 303, 324, 305, 63, 274, 0, + 90, 0, 0, 92, 93, 63, 0, 0, 112, 113, + 0, 98, 99, 100, 101, 102, 0, 114, 103, 0, + 0, 76, 290, 346, 97, 20, 348, 0, 0, 293, + 294, 327, 328, 297, 23, 104, 105, 106, 107, 108, + 0, 0, 109, 85, 0, 0, 0, 0, 86, 0, + 0, 311, 0, 313, 0, 314, 319, 320, 0, 322, + 2, 3, 0, 4, 5, 0, 0, 6, 7, 0, + 0, 0, 0, 0, 87, 88, 89, 0, 8, 9, + 340, 0, 0, 342, 85, 0, 343, 90, 345, 86, + 92, 93, 0, 0, 0, 0, 10, 11, 12, 13, + 0, 0, 139, 0, 14, 15, 16, 17, 18, 0, + 0, 0, 19, 20, 0, 87, 88, 0, 0, 21, + 22, 0, 23, 0, 24, 0, 0, 25, 26, 0, + 27, 92, 93, -18, 198, -18, 4, 5, 0, 0, + 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 199, 0, 200, 201, 202, -73, -73, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 0, + 0, 0, 13, 212, 0, 0, 0, 14, 15, 16, + 17, 0, 0, 0, 0, -73, 20, 0, 0, 0, + 0, 0, 21, 22, 0, 23, 0, 24, 0, 0, + 25, 26, 0, 61, 0, 0, 75, -73, 76, 198, + 0, 4, 5, 0, 0, 6, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, + 200, 201, 202, -72, -72, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 0, 0, 0, 13, 212, 0, + 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, + -72, 20, 0, 0, 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, 226, 0, 4, 5, - 0, 20, 6, 7, 117, 0, 0, 21, 22, 0, - 23, 0, 24, 0, 0, 25, 26, -112, 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, - 191, 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, 264, 0, 13, 6, - 7, 0, 0, 14, 15, 16, 17, 0, 0, 0, - 0, 0, 20, 0, 0, 200, 0, 0, 21, 22, - 0, 23, 0, 24, 207, 208, 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, 200, 0, 0, 0, 0, 0, 0, - 0, 0, 207, 208, 0, 0, 0, 0, 0, 13, + 0, 75, -72, 76, 198, 0, 4, 5, 0, 0, + 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 199, 0, 200, 201, 202, 0, 0, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 0, + 0, 0, 13, 212, 0, 0, 0, 14, 15, 16, + 17, 69, 0, 4, 5, 0, 20, 6, 7, 0, + 0, -104, 21, 22, 0, 23, 0, 24, 0, 0, + 25, 26, 0, 61, 0, 0, 75, 213, 76, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, + 0, 0, -104, 20, 0, 0, 0, 0, 0, 21, + 22, 0, 23, 0, 24, 0, 0, 25, 269, -104, + 61, 0, 4, 5, 0, -104, 6, 7, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, + 0, 200, 201, 202, 0, 0, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 0, 0, 0, 13, 212, + 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, 227, 0, 4, + 5, 0, 20, 6, 7, 117, 0, 0, 21, 22, + 0, 23, 0, 24, 0, 0, 25, 26, -112, 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, 192, 0, 4, 5, 0, 20, 6, 7, 87, + 88, 89, 21, 22, 0, 23, 0, 24, 0, 0, + 25, 26, 90, 61, 91, 92, 93, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4, 265, 0, 13, + 6, 7, 0, 0, 14, 15, 16, 17, 0, 0, + 0, 0, 0, 20, 0, 0, 201, 0, 0, 21, + 22, 0, 23, 0, 24, 208, 209, 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, 201, 0, 0, 0, 0, 0, + 0, 0, 0, 208, 209, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, + 21, 22, 85, 23, 0, 24, 0, 86, 25, 26, + 0, 61, 4, 5, 0, 0, 6, 7, 0, 0, + 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 88, 89, 0, 0, 0, 4, + 5, 0, 0, 6, 7, 117, 90, 223, 13, 92, + 93, 0, 0, 14, 15, 16, 17, 0, 0, 0, + 0, 85, 20, 0, 0, 0, 86, 0, 21, 22, + 0, 23, 0, 24, 0, 13, 25, 26, 0, 61, + 14, 15, 16, 17, 0, 0, 4, 5, 0, 20, + 6, 7, 87, 88, 89, 21, 22, 0, 23, 0, + 24, 0, 0, 25, 26, 90, 61, 0, 92, 93, + 0, 0, 0, 4, 5, 0, 0, 6, 7, 0, + 0, 0, 13, 0, 0, 0, 0, 14, 15, 16, + 17, 0, 0, 0, 0, 0, 20, 0, 0, 0, + 0, 0, 21, 22, 0, 23, 0, 24, 0, 0, + 25, 26, 0, 61, 14, 15, 16, 17, 0, 0, 0, 0, 0, 20, 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, 222, 13, 92, 93, - 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, - 0, 20, 0, 0, 0, 0, 0, 21, 22, 0, - 23, 0, 24, 0, 13, 25, 26, 0, 61, 14, - 15, 16, 17, 0, 0, 4, 5, 0, 20, 6, - 7, 0, 0, 0, 21, 22, 0, 23, 0, 24, - 0, 0, 25, 26, 0, 61, 0, 0, 0, 0, - 0, 0, 4, 5, 0, 0, 6, 7, 0, 0, - 0, 13, 0, 0, 0, 0, 14, 15, 16, 17, - 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, - 0, 21, 22, 0, 23, 0, 24, 0, 0, 25, - 26, 0, 61, 14, 15, 16, 17, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 0, 0, 21, 22, - 0, 23, 0, 24, 0, 0, 25, 66, 0, 61 + 22, 0, 23, 0, 24, 0, 0, 25, 66, 0, + 61 }; static const yytype_int16 yycheck[] = { - 1, 29, 30, 44, 239, 87, 1, 1, 1, 46, - 1, 13, 14, 15, 29, 111, 1, 4, 17, 21, - 22, 70, 24, 25, 219, 26, 249, 120, 52, 4, - 27, 52, 10, 35, 29, 1, 68, 312, 21, 22, - 6, 24, 43, 44, 1, 41, 321, 4, 71, 73, - 1, 75, 35, 4, 75, 17, 44, 45, 59, 60, - 68, 52, 56, 56, 61, 66, 73, 52, 1, 50, - 119, 145, 71, 6, 148, 71, 69, 312, 72, 57, - 58, 68, 131, 132, 75, 86, 321, 88, 89, 90, - 75, 184, 67, 1, 95, 318, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 190, 71, - 44, 45, 69, 1, 115, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 129, 81, 68, - 145, 205, 206, 148, 183, 209, 137, 211, 91, 52, - 141, 215, 1, 68, 339, 57, 129, 342, 56, 3, - 145, 178, 179, 148, 52, 3, 59, 60, 159, 161, - 66, 69, 5, 4, 39, 9, 25, 26, 56, 243, - 69, 41, 14, 68, 3, 4, 10, 178, 179, 68, - 4, 69, 68, 68, 258, 138, 69, 1, 75, 27, - 205, 206, 11, 52, 209, 68, 211, 11, 21, 55, - 215, 49, 284, 51, 7, 220, 74, 248, 257, 210, - 205, 206, 261, 262, 209, 74, 211, 46, 47, 315, - 215, 222, 259, 57, 58, 13, 14, 268, 243, 10, - 7, 232, 233, 238, 15, 236, 237, 286, 52, 10, - 277, 70, 56, 258, 15, 30, 295, 248, 243, 315, - 203, 266, 298, 302, 233, 69, 44, 45, 25, 212, - 41, 75, 330, 258, 292, 53, 277, 268, 221, 10, - 41, 42, 43, 322, 15, 228, 57, 58, 7, 8, - 9, 296, 161, 54, 289, 334, 57, 58, 293, 304, - -1, -1, -1, 294, 10, 296, 298, 250, 69, 15, - 41, 42, 43, -1, 306, 310, -1, -1, 313, 61, - 62, 63, -1, 54, 66, -1, 57, 58, -1, -1, - -1, 274, -1, 306, 53, 41, 42, 43, 281, 282, - 59, 60, 285, 62, 75, -1, 341, -1, 54, 344, - 56, 57, 58, 10, -1, -1, -1, -1, 15, -1, - 303, -1, 305, -1, 307, 308, 309, -1, 311, 0, - 1, -1, 3, 4, -1, -1, 7, 8, -1, 59, - 60, 61, 62, 63, 41, 42, 66, 18, 19, 332, - -1, -1, 335, -1, -1, 338, -1, 340, -1, -1, - 57, 58, -1, -1, -1, 36, 37, 38, 39, -1, - -1, -1, -1, 44, 45, 46, 47, 48, -1, -1, - -1, 52, 53, 59, 60, 61, 62, 63, 59, 60, - 66, 62, -1, 64, -1, -1, 67, 68, -1, 70, - -1, -1, 73, 1, 75, 3, 4, -1, -1, 7, - 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, - -1, 39, 40, -1, -1, -1, 44, 45, 46, 47, - -1, -1, -1, -1, 52, 53, -1, -1, -1, -1, - -1, 59, 60, -1, 62, -1, 64, -1, -1, 67, - 68, -1, 70, -1, -1, 73, 74, 75, 1, -1, - 3, 4, -1, -1, 7, 8, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 20, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, -1, -1, -1, 39, 40, -1, -1, - -1, 44, 45, 46, 47, -1, -1, -1, -1, 52, - 53, -1, -1, -1, -1, -1, 59, 60, -1, 62, - -1, 64, -1, -1, 67, 68, -1, 70, -1, -1, - 73, 74, 75, 1, -1, 3, 4, -1, -1, 7, - 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 20, -1, 22, 23, 24, -1, -1, 27, - 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, - -1, 39, 40, -1, -1, -1, 44, 45, 46, 47, - 1, -1, 3, 4, -1, 53, 7, 8, -1, -1, - 11, 59, 60, -1, 62, -1, 64, -1, -1, 67, - 68, -1, 70, -1, -1, 73, 74, 75, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, - -1, -1, -1, 44, 45, 46, 47, -1, -1, -1, - -1, 52, 53, -1, -1, -1, -1, -1, 59, 60, - -1, 62, -1, 64, -1, -1, 67, 68, 69, 70, - -1, 3, 4, -1, 75, 7, 8, -1, -1, -1, + 1, 29, 30, 44, 86, 1, 1, 87, 250, 46, + 120, 13, 14, 15, 29, 11, 1, 1, 4, 21, + 22, 70, 24, 25, 220, 26, 17, 1, 27, 111, + 4, 52, 52, 35, 29, 1, 41, 1, 21, 22, + 313, 24, 43, 44, 1, 1, 4, 4, 71, 322, + 6, 68, 35, 73, 75, 75, 52, 68, 59, 60, + 56, 240, 61, 73, 1, 66, 71, 57, 52, 6, + 119, 56, 52, 69, 1, 185, 68, 319, 50, 75, + 71, 67, 131, 132, 69, 86, 52, 88, 89, 90, + 145, 75, 56, 148, 95, 69, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 72, 75, + 68, 191, 1, 68, 115, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 129, 81, 56, + 145, 3, 4, 148, 313, 184, 137, 3, 91, 17, + 141, 66, 69, 322, 340, 1, 129, 343, 44, 45, + 145, 206, 207, 148, 3, 210, 4, 212, 52, 160, + 162, 216, 5, 61, 62, 63, 69, 56, 66, 25, + 26, 44, 45, 9, 46, 47, 59, 60, 179, 180, + 69, 179, 180, 10, 39, 138, 14, 41, 68, 244, + 75, 206, 207, 71, 68, 210, 52, 212, 70, 68, + 49, 216, 51, 68, 259, 285, 221, 4, 249, 258, + 211, 206, 207, 262, 263, 210, 69, 212, 74, 10, + 239, 216, 223, 260, 15, 10, 27, 11, 269, 244, + 57, 58, 233, 234, 316, 68, 237, 238, 287, 21, + 55, 278, 74, 7, 259, 7, 316, 296, 249, 244, + 41, 204, 267, 30, 303, 234, 10, 299, 25, 331, + 213, 15, 162, -1, 259, 293, 57, 58, 269, 222, + 278, 290, 57, 58, 323, 294, 229, 13, 14, 7, + 8, 9, 297, -1, -1, -1, 335, 41, 42, 43, + 305, -1, 311, -1, 295, 314, 297, 299, 251, -1, + 54, -1, -1, 57, 58, 307, -1, -1, 44, 45, + -1, 59, 60, 61, 62, 63, -1, 53, 66, -1, + -1, 75, 275, 342, 307, 53, 345, -1, -1, 282, + 283, 59, 60, 286, 62, 59, 60, 61, 62, 63, + -1, -1, 66, 10, -1, -1, -1, -1, 15, -1, + -1, 304, -1, 306, -1, 308, 309, 310, -1, 312, + 0, 1, -1, 3, 4, -1, -1, 7, 8, -1, + -1, -1, -1, -1, 41, 42, 43, -1, 18, 19, + 333, -1, -1, 336, 10, -1, 339, 54, 341, 15, + 57, 58, -1, -1, -1, -1, 36, 37, 38, 39, + -1, -1, 69, -1, 44, 45, 46, 47, 48, -1, + -1, -1, 52, 53, -1, 41, 42, -1, -1, 59, + 60, -1, 62, -1, 64, -1, -1, 67, 68, -1, + 70, 57, 58, 73, 1, 75, 3, 4, -1, -1, + 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 20, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, + -1, -1, 39, 40, -1, -1, -1, 44, 45, 46, + 47, -1, -1, -1, -1, 52, 53, -1, -1, -1, + -1, -1, 59, 60, -1, 62, -1, 64, -1, -1, + 67, 68, -1, 70, -1, -1, 73, 74, 75, 1, + -1, 3, 4, -1, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, -1, - 22, 23, 24, -1, -1, 27, 28, 29, 30, 31, + 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, -1, -1, -1, 59, 60, -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, -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, -1, 44, 45, 46, 47, -1, -1, -1, - -1, -1, 53, -1, -1, 23, -1, -1, 59, 60, - -1, 62, -1, 64, 32, 33, 67, 68, -1, 70, - -1, 39, -1, -1, -1, -1, 44, 45, 46, 47, - -1, -1, -1, 3, 4, 53, -1, 7, 8, -1, - -1, 59, 60, -1, 62, -1, 64, -1, -1, 67, - 68, -1, 70, 23, -1, -1, -1, -1, -1, -1, - -1, -1, 32, 33, -1, -1, -1, -1, -1, 39, + -1, 73, 74, 75, 1, -1, 3, 4, -1, -1, + 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 20, -1, 22, 23, 24, -1, -1, + 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, + -1, -1, 39, 40, -1, -1, -1, 44, 45, 46, + 47, 1, -1, 3, 4, -1, 53, 7, 8, -1, + -1, 11, 59, 60, -1, 62, -1, 64, -1, -1, + 67, 68, -1, 70, -1, -1, 73, 74, 75, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, 44, 45, 46, 47, -1, -1, + -1, -1, 52, 53, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, 64, -1, -1, 67, 68, 69, + 70, -1, 3, 4, -1, 75, 7, 8, -1, -1, + -1, -1, -1, -1, -1, -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, 56, 57, 58, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, 4, -1, 39, + 7, 8, -1, -1, 44, 45, 46, 47, -1, -1, + -1, -1, -1, 53, -1, -1, 23, -1, -1, 59, + 60, -1, 62, -1, 64, 32, 33, 67, 68, -1, + 70, -1, 39, -1, -1, -1, -1, 44, 45, 46, + 47, -1, -1, -1, 3, 4, 53, -1, 7, 8, + -1, -1, 59, 60, -1, 62, -1, 64, -1, -1, + 67, 68, -1, 70, 23, -1, -1, -1, -1, -1, + -1, -1, -1, 32, 33, -1, -1, -1, -1, -1, + 39, -1, -1, -1, -1, 44, 45, 46, 47, -1, + -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, + 59, 60, 10, 62, -1, 64, -1, 15, 67, 68, + -1, 70, 3, 4, -1, -1, 7, 8, -1, -1, + -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 41, 42, 43, -1, -1, -1, 3, + 4, -1, -1, 7, 8, 9, 54, 55, 39, 57, + 58, -1, -1, 44, 45, 46, 47, -1, -1, -1, + -1, 10, 53, -1, -1, -1, 15, -1, 59, 60, + -1, 62, -1, 64, -1, 39, 67, 68, -1, 70, + 44, 45, 46, 47, -1, -1, 3, 4, -1, 53, + 7, 8, 41, 42, 43, 59, 60, -1, 62, -1, + 64, -1, -1, 67, 68, 54, 70, -1, 57, 58, + -1, -1, -1, 3, 4, -1, -1, 7, 8, -1, + -1, -1, 39, -1, -1, -1, -1, 44, 45, 46, + 47, -1, -1, -1, -1, -1, 53, -1, -1, -1, + -1, -1, 59, 60, -1, 62, -1, 64, -1, -1, + 67, 68, -1, 70, 44, 45, 46, 47, -1, -1, -1, -1, -1, 53, -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, - -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, 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, -1, 53, -1, -1, -1, -1, - -1, 59, 60, -1, 62, -1, 64, -1, -1, 67, - 68, -1, 70, 44, 45, 46, 47, -1, -1, -1, - -1, -1, 53, -1, -1, -1, -1, -1, 59, 60, - -1, 62, -1, 64, -1, -1, 67, 68, -1, 70 + 60, -1, 62, -1, 64, -1, -1, 67, 68, -1, + 70 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1126,26 +1128,26 @@ static const yytype_uint8 yystos[] = 116, 117, 118, 114, 118, 17, 132, 50, 68, 57, 109, 115, 115, 118, 44, 45, 137, 1, 56, 69, 140, 144, 140, 1, 6, 79, 1, 6, 80, 107, - 108, 90, 108, 5, 118, 135, 118, 118, 118, 108, - 118, 39, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 88, 14, 118, 140, 1, 144, - 72, 1, 4, 110, 111, 123, 140, 140, 118, 108, - 41, 1, 118, 1, 91, 1, 91, 1, 20, 22, - 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 40, 74, 92, 93, 95, 102, 106, 118, 138, - 139, 142, 55, 118, 128, 117, 1, 117, 140, 1, - 144, 135, 68, 94, 4, 68, 68, 68, 108, 68, - 91, 91, 91, 112, 118, 91, 108, 91, 96, 90, - 141, 142, 108, 118, 108, 1, 4, 118, 112, 97, - 4, 118, 118, 92, 4, 95, 98, 91, 68, 103, - 113, 114, 139, 108, 140, 91, 129, 130, 131, 132, - 69, 140, 140, 27, 41, 142, 114, 11, 104, 108, - 17, 131, 108, 108, 68, 135, 108, 140, 105, 92, - 138, 92, 118, 140, 118, 142, 122, 21, 99, 140, - 108, 142, 108, 108, 1, 25, 26, 100, 108, 108, - 92, 108, 98, 92, 7, 8, 59, 60, 86, 88, - 101, 55, 143, 139, 98, 140, 7, 7, 143, 108, - 140, 108, 108, 90, 108, 92, 90, 92 + 108, 90, 108, 5, 88, 118, 135, 118, 118, 118, + 108, 118, 39, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 88, 14, 118, 140, 1, + 144, 72, 1, 4, 110, 111, 123, 140, 140, 118, + 108, 41, 1, 118, 1, 91, 1, 91, 1, 20, + 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 40, 74, 92, 93, 95, 102, 106, 118, + 138, 139, 142, 55, 118, 128, 117, 1, 117, 140, + 1, 144, 135, 68, 94, 4, 68, 68, 68, 108, + 68, 91, 91, 91, 112, 118, 91, 108, 91, 96, + 90, 141, 142, 108, 118, 108, 1, 4, 118, 112, + 97, 4, 118, 118, 92, 4, 95, 98, 91, 68, + 103, 113, 114, 139, 108, 140, 91, 129, 130, 131, + 132, 69, 140, 140, 27, 41, 142, 114, 11, 104, + 108, 17, 131, 108, 108, 68, 135, 108, 140, 105, + 92, 138, 92, 118, 140, 118, 142, 122, 21, 99, + 140, 108, 142, 108, 108, 1, 25, 26, 100, 108, + 108, 92, 108, 98, 92, 7, 8, 59, 60, 86, + 88, 101, 55, 143, 139, 98, 140, 7, 7, 143, + 108, 140, 108, 108, 90, 108, 92, 90, 92 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1164,14 +1166,14 @@ static const yytype_uint8 yyr1[] = 111, 111, 112, 112, 113, 113, 114, 114, 114, 114, 114, 114, 115, 115, 116, 116, 116, 116, 116, 116, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 119, 119, 119, 120, 120, 121, 121, 122, 122, - 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 124, 124, 124, 124, 124, 124, 124, 125, + 118, 118, 119, 119, 119, 120, 120, 121, 121, 122, + 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 126, 126, 127, 128, 128, 129, 129, - 130, 130, 131, 132, 133, 133, 134, 135, 135, 136, - 136, 137, 137, 137, 138, 139, 140, 141, 141, 142, - 143, 144 + 125, 125, 125, 125, 126, 126, 127, 128, 128, 129, + 129, 130, 130, 131, 132, 133, 133, 134, 135, 135, + 136, 136, 137, 137, 137, 138, 139, 140, 141, 141, + 142, 143, 144 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1189,15 +1191,15 @@ static const yytype_uint8 yyr2[] = 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, 5, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 2, 1, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 5, 4, 3, 3, 3, 3, 3, 3, 1, - 2, 3, 4, 4, 1, 1, 1, 2, 2, 1, - 1, 2, 2, 1, 2, 4, 0, 1, 0, 2, - 1, 2, 1, 3, 1, 2, 2, 1, 2, 1, - 3, 1, 1, 0, 2, 2, 1, 0, 1, 1, - 1, 2 + 1, 1, 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 }; @@ -1879,7 +1881,7 @@ yyreduce: rule = 0; yyerrok; } -#line 1883 "awkgram.c" /* yacc.c:1646 */ +#line 1885 "awkgram.c" /* yacc.c:1646 */ break; case 5: @@ -1887,7 +1889,7 @@ yyreduce: { next_sourcefile(); } -#line 1891 "awkgram.c" /* yacc.c:1646 */ +#line 1893 "awkgram.c" /* yacc.c:1646 */ break; case 6: @@ -1900,7 +1902,7 @@ yyreduce: */ /* yyerrok; */ } -#line 1904 "awkgram.c" /* yacc.c:1646 */ +#line 1906 "awkgram.c" /* yacc.c:1646 */ break; case 7: @@ -1909,7 +1911,7 @@ yyreduce: (void) append_rule((yyvsp[-1]), (yyvsp[0])); first_rule = false; } -#line 1913 "awkgram.c" /* yacc.c:1646 */ +#line 1915 "awkgram.c" /* yacc.c:1646 */ break; case 8: @@ -1924,7 +1926,7 @@ yyreduce: } else /* pattern rule with non-empty pattern */ (void) append_rule((yyvsp[-1]), NULL); } -#line 1928 "awkgram.c" /* yacc.c:1646 */ +#line 1930 "awkgram.c" /* yacc.c:1646 */ break; case 9: @@ -1934,7 +1936,7 @@ yyreduce: (void) mk_function((yyvsp[-1]), (yyvsp[0])); yyerrok; } -#line 1938 "awkgram.c" /* yacc.c:1646 */ +#line 1940 "awkgram.c" /* yacc.c:1646 */ break; case 10: @@ -1944,7 +1946,7 @@ yyreduce: at_seen = false; yyerrok; } -#line 1948 "awkgram.c" /* yacc.c:1646 */ +#line 1950 "awkgram.c" /* yacc.c:1646 */ break; case 11: @@ -1954,7 +1956,7 @@ yyreduce: at_seen = false; yyerrok; } -#line 1958 "awkgram.c" /* yacc.c:1646 */ +#line 1960 "awkgram.c" /* yacc.c:1646 */ break; case 12: @@ -1966,19 +1968,19 @@ yyreduce: bcfree((yyvsp[0])); (yyval) = NULL; } -#line 1970 "awkgram.c" /* yacc.c:1646 */ +#line 1972 "awkgram.c" /* yacc.c:1646 */ break; case 13: #line 275 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 1976 "awkgram.c" /* yacc.c:1646 */ +#line 1978 "awkgram.c" /* yacc.c:1646 */ break; case 14: #line 277 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 1982 "awkgram.c" /* yacc.c:1646 */ +#line 1984 "awkgram.c" /* yacc.c:1646 */ break; case 15: @@ -1990,19 +1992,19 @@ yyreduce: bcfree((yyvsp[0])); (yyval) = NULL; } -#line 1994 "awkgram.c" /* yacc.c:1646 */ +#line 1996 "awkgram.c" /* yacc.c:1646 */ break; case 16: #line 290 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 2000 "awkgram.c" /* yacc.c:1646 */ +#line 2002 "awkgram.c" /* yacc.c:1646 */ break; case 17: #line 292 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 2006 "awkgram.c" /* yacc.c:1646 */ +#line 2008 "awkgram.c" /* yacc.c:1646 */ break; case 18: @@ -2015,7 +2017,7 @@ yyreduce: } else (yyval) = NULL; } -#line 2019 "awkgram.c" /* yacc.c:1646 */ +#line 2021 "awkgram.c" /* yacc.c:1646 */ break; case 19: @@ -2028,7 +2030,7 @@ yyreduce: } else (yyval) = (yyvsp[0]); } -#line 2032 "awkgram.c" /* yacc.c:1646 */ +#line 2034 "awkgram.c" /* yacc.c:1646 */ break; case 20: @@ -2062,7 +2064,7 @@ yyreduce: (yyval) = list_append(list_merge((yyvsp[-3]), (yyvsp[0])), tp); rule = Rule; } -#line 2066 "awkgram.c" /* yacc.c:1646 */ +#line 2068 "awkgram.c" /* yacc.c:1646 */ break; case 21: @@ -2080,7 +2082,7 @@ yyreduce: check_comment(); (yyval) = (yyvsp[0]); } -#line 2084 "awkgram.c" /* yacc.c:1646 */ +#line 2086 "awkgram.c" /* yacc.c:1646 */ break; case 22: @@ -2098,7 +2100,7 @@ yyreduce: check_comment(); (yyval) = (yyvsp[0]); } -#line 2102 "awkgram.c" /* yacc.c:1646 */ +#line 2104 "awkgram.c" /* yacc.c:1646 */ break; case 23: @@ -2110,7 +2112,7 @@ yyreduce: check_comment(); (yyval) = (yyvsp[0]); } -#line 2114 "awkgram.c" /* yacc.c:1646 */ +#line 2116 "awkgram.c" /* yacc.c:1646 */ break; case 24: @@ -2122,7 +2124,7 @@ yyreduce: check_comment(); (yyval) = (yyvsp[0]); } -#line 2126 "awkgram.c" /* yacc.c:1646 */ +#line 2128 "awkgram.c" /* yacc.c:1646 */ break; case 25: @@ -2135,19 +2137,19 @@ yyreduce: ip = (yyvsp[-3]); (yyval) = ip; } -#line 2139 "awkgram.c" /* yacc.c:1646 */ +#line 2141 "awkgram.c" /* yacc.c:1646 */ break; case 26: #line 405 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 2145 "awkgram.c" /* yacc.c:1646 */ +#line 2147 "awkgram.c" /* yacc.c:1646 */ break; case 27: #line 407 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 2151 "awkgram.c" /* yacc.c:1646 */ +#line 2153 "awkgram.c" /* yacc.c:1646 */ break; case 28: @@ -2157,7 +2159,7 @@ yyreduce: tokstart); YYABORT; } -#line 2161 "awkgram.c" /* yacc.c:1646 */ +#line 2163 "awkgram.c" /* yacc.c:1646 */ break; case 29: @@ -2166,7 +2168,7 @@ yyreduce: (yyval) = (yyvsp[0]); at_seen = false; } -#line 2170 "awkgram.c" /* yacc.c:1646 */ +#line 2172 "awkgram.c" /* yacc.c:1646 */ break; case 32: @@ -2197,13 +2199,13 @@ yyreduce: /* $4 already free'd in install_function */ (yyval) = (yyvsp[-5]); } -#line 2201 "awkgram.c" /* yacc.c:1646 */ +#line 2203 "awkgram.c" /* yacc.c:1646 */ break; case 33: #line 462 "awkgram.y" /* yacc.c:1646 */ { want_regexp = true; } -#line 2207 "awkgram.c" /* yacc.c:1646 */ +#line 2209 "awkgram.c" /* yacc.c:1646 */ break; case 34: @@ -2236,7 +2238,7 @@ yyreduce: (yyval)->opcode = Op_match_rec; (yyval)->memory = n; } -#line 2240 "awkgram.c" /* yacc.c:1646 */ +#line 2242 "awkgram.c" /* yacc.c:1646 */ break; case 35: @@ -2265,13 +2267,13 @@ yyreduce: #endif (yyval)->memory = n; } -#line 2269 "awkgram.c" /* yacc.c:1646 */ +#line 2271 "awkgram.c" /* yacc.c:1646 */ break; case 36: #line 523 "awkgram.y" /* yacc.c:1646 */ { bcfree((yyvsp[0])); } -#line 2275 "awkgram.c" /* yacc.c:1646 */ +#line 2277 "awkgram.c" /* yacc.c:1646 */ break; case 38: @@ -2282,7 +2284,7 @@ yyreduce: comment = NULL; } else (yyval) = NULL; } -#line 2286 "awkgram.c" /* yacc.c:1646 */ +#line 2288 "awkgram.c" /* yacc.c:1646 */ break; case 39: @@ -2314,25 +2316,25 @@ yyreduce: } yyerrok; } -#line 2318 "awkgram.c" /* yacc.c:1646 */ +#line 2320 "awkgram.c" /* yacc.c:1646 */ break; case 40: #line 564 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 2324 "awkgram.c" /* yacc.c:1646 */ +#line 2326 "awkgram.c" /* yacc.c:1646 */ break; case 43: #line 574 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 2330 "awkgram.c" /* yacc.c:1646 */ +#line 2332 "awkgram.c" /* yacc.c:1646 */ break; case 44: #line 576 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[-1]); } -#line 2336 "awkgram.c" /* yacc.c:1646 */ +#line 2338 "awkgram.c" /* yacc.c:1646 */ break; case 45: @@ -2343,7 +2345,7 @@ yyreduce: else (yyval) = (yyvsp[0]); } -#line 2347 "awkgram.c" /* yacc.c:1646 */ +#line 2349 "awkgram.c" /* yacc.c:1646 */ break; case 46: @@ -2437,7 +2439,7 @@ yyreduce: break_allowed--; fix_break_continue(ip, tbreak, NULL); } -#line 2441 "awkgram.c" /* yacc.c:1646 */ +#line 2443 "awkgram.c" /* yacc.c:1646 */ break; case 47: @@ -2483,7 +2485,7 @@ yyreduce: continue_allowed--; fix_break_continue(ip, tbreak, tcont); } -#line 2487 "awkgram.c" /* yacc.c:1646 */ +#line 2489 "awkgram.c" /* yacc.c:1646 */ break; case 48: @@ -2529,7 +2531,7 @@ yyreduce: } /* else $1 and $4 are NULLs */ } -#line 2533 "awkgram.c" /* yacc.c:1646 */ +#line 2535 "awkgram.c" /* yacc.c:1646 */ break; case 49: @@ -2646,7 +2648,7 @@ regular_loop: break_allowed--; continue_allowed--; } -#line 2650 "awkgram.c" /* yacc.c:1646 */ +#line 2652 "awkgram.c" /* yacc.c:1646 */ break; case 50: @@ -2657,7 +2659,7 @@ regular_loop: break_allowed--; continue_allowed--; } -#line 2661 "awkgram.c" /* yacc.c:1646 */ +#line 2663 "awkgram.c" /* yacc.c:1646 */ break; case 51: @@ -2668,7 +2670,7 @@ regular_loop: break_allowed--; continue_allowed--; } -#line 2672 "awkgram.c" /* yacc.c:1646 */ +#line 2674 "awkgram.c" /* yacc.c:1646 */ break; case 52: @@ -2679,7 +2681,7 @@ regular_loop: else (yyval) = (yyvsp[0]); } -#line 2683 "awkgram.c" /* yacc.c:1646 */ +#line 2685 "awkgram.c" /* yacc.c:1646 */ break; case 53: @@ -2692,7 +2694,7 @@ regular_loop: (yyval) = list_create((yyvsp[-1])); } -#line 2696 "awkgram.c" /* yacc.c:1646 */ +#line 2698 "awkgram.c" /* yacc.c:1646 */ break; case 54: @@ -2705,7 +2707,7 @@ regular_loop: (yyval) = list_create((yyvsp[-1])); } -#line 2709 "awkgram.c" /* yacc.c:1646 */ +#line 2711 "awkgram.c" /* yacc.c:1646 */ break; case 55: @@ -2718,7 +2720,7 @@ regular_loop: (yyvsp[-1])->target_jmp = ip_rec; (yyval) = list_create((yyvsp[-1])); } -#line 2722 "awkgram.c" /* yacc.c:1646 */ +#line 2724 "awkgram.c" /* yacc.c:1646 */ break; case 56: @@ -2733,7 +2735,7 @@ regular_loop: (yyvsp[-1])->target_endfile = ip_endfile; (yyval) = list_create((yyvsp[-1])); } -#line 2737 "awkgram.c" /* yacc.c:1646 */ +#line 2739 "awkgram.c" /* yacc.c:1646 */ break; case 57: @@ -2752,7 +2754,7 @@ regular_loop: } else (yyval) = list_append((yyvsp[-1]), (yyvsp[-2])); } -#line 2756 "awkgram.c" /* yacc.c:1646 */ +#line 2758 "awkgram.c" /* yacc.c:1646 */ break; case 58: @@ -2761,7 +2763,7 @@ regular_loop: if (! in_function) yyerror(_("`return' used outside function context")); } -#line 2765 "awkgram.c" /* yacc.c:1646 */ +#line 2767 "awkgram.c" /* yacc.c:1646 */ break; case 59: @@ -2786,13 +2788,13 @@ regular_loop: (yyval) = list_append((yyvsp[-1]), (yyvsp[-3])); } } -#line 2790 "awkgram.c" /* yacc.c:1646 */ +#line 2792 "awkgram.c" /* yacc.c:1646 */ break; case 61: #line 984 "awkgram.y" /* yacc.c:1646 */ { in_print = true; in_parens = 0; } -#line 2796 "awkgram.c" /* yacc.c:1646 */ +#line 2798 "awkgram.c" /* yacc.c:1646 */ break; case 62: @@ -2893,13 +2895,13 @@ regular_print: } } } -#line 2897 "awkgram.c" /* yacc.c:1646 */ +#line 2899 "awkgram.c" /* yacc.c:1646 */ break; case 63: #line 1082 "awkgram.y" /* yacc.c:1646 */ { sub_counter = 0; } -#line 2903 "awkgram.c" /* yacc.c:1646 */ +#line 2905 "awkgram.c" /* yacc.c:1646 */ break; case 64: @@ -2936,7 +2938,7 @@ regular_print: (yyval) = list_append(list_append((yyvsp[0]), (yyvsp[-2])), (yyvsp[-3])); } } -#line 2940 "awkgram.c" /* yacc.c:1646 */ +#line 2942 "awkgram.c" /* yacc.c:1646 */ break; case 65: @@ -2966,31 +2968,31 @@ regular_print: fatal(_("`delete' is not allowed with FUNCTAB")); } } -#line 2970 "awkgram.c" /* yacc.c:1646 */ +#line 2972 "awkgram.c" /* yacc.c:1646 */ break; case 66: #line 1146 "awkgram.y" /* yacc.c:1646 */ { (yyval) = optimize_assignment((yyvsp[0])); } -#line 2976 "awkgram.c" /* yacc.c:1646 */ +#line 2978 "awkgram.c" /* yacc.c:1646 */ break; case 67: #line 1151 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 2982 "awkgram.c" /* yacc.c:1646 */ +#line 2984 "awkgram.c" /* yacc.c:1646 */ break; case 68: #line 1153 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 2988 "awkgram.c" /* yacc.c:1646 */ +#line 2990 "awkgram.c" /* yacc.c:1646 */ break; case 69: #line 1158 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 2994 "awkgram.c" /* yacc.c:1646 */ +#line 2996 "awkgram.c" /* yacc.c:1646 */ break; case 70: @@ -3001,13 +3003,13 @@ regular_print: else (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0])); } -#line 3005 "awkgram.c" /* yacc.c:1646 */ +#line 3007 "awkgram.c" /* yacc.c:1646 */ break; case 71: #line 1167 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3011 "awkgram.c" /* yacc.c:1646 */ +#line 3013 "awkgram.c" /* yacc.c:1646 */ break; case 72: @@ -3023,7 +3025,7 @@ regular_print: bcfree((yyvsp[-2])); (yyval) = (yyvsp[-4]); } -#line 3027 "awkgram.c" /* yacc.c:1646 */ +#line 3029 "awkgram.c" /* yacc.c:1646 */ break; case 73: @@ -3038,13 +3040,13 @@ regular_print: (yyvsp[-3])->case_stmt = casestmt; (yyval) = (yyvsp[-3]); } -#line 3042 "awkgram.c" /* yacc.c:1646 */ +#line 3044 "awkgram.c" /* yacc.c:1646 */ break; case 74: #line 1198 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3048 "awkgram.c" /* yacc.c:1646 */ +#line 3050 "awkgram.c" /* yacc.c:1646 */ break; case 75: @@ -3056,7 +3058,7 @@ regular_print: bcfree((yyvsp[-1])); (yyval) = (yyvsp[0]); } -#line 3060 "awkgram.c" /* yacc.c:1646 */ +#line 3062 "awkgram.c" /* yacc.c:1646 */ break; case 76: @@ -3065,13 +3067,13 @@ regular_print: bcfree((yyvsp[-1])); (yyval) = (yyvsp[0]); } -#line 3069 "awkgram.c" /* yacc.c:1646 */ +#line 3071 "awkgram.c" /* yacc.c:1646 */ break; case 77: #line 1213 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3075 "awkgram.c" /* yacc.c:1646 */ +#line 3077 "awkgram.c" /* yacc.c:1646 */ break; case 78: @@ -3083,7 +3085,7 @@ regular_print: (yyvsp[0])->opcode = Op_push; (yyval) = (yyvsp[0]); } -#line 3087 "awkgram.c" /* yacc.c:1646 */ +#line 3089 "awkgram.c" /* yacc.c:1646 */ break; case 79: @@ -3093,19 +3095,19 @@ regular_print: (yyvsp[0])->opcode = Op_push_re; (yyval) = (yyvsp[0]); } -#line 3097 "awkgram.c" /* yacc.c:1646 */ +#line 3099 "awkgram.c" /* yacc.c:1646 */ break; case 80: #line 1232 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3103 "awkgram.c" /* yacc.c:1646 */ +#line 3105 "awkgram.c" /* yacc.c:1646 */ break; case 81: #line 1234 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3109 "awkgram.c" /* yacc.c:1646 */ +#line 3111 "awkgram.c" /* yacc.c:1646 */ break; case 83: @@ -3113,7 +3115,7 @@ regular_print: { (yyval) = (yyvsp[-1]); } -#line 3117 "awkgram.c" /* yacc.c:1646 */ +#line 3119 "awkgram.c" /* yacc.c:1646 */ break; case 84: @@ -3123,13 +3125,13 @@ regular_print: in_parens = 0; (yyval) = NULL; } -#line 3127 "awkgram.c" /* yacc.c:1646 */ +#line 3129 "awkgram.c" /* yacc.c:1646 */ break; case 85: #line 1256 "awkgram.y" /* yacc.c:1646 */ { in_print = false; in_parens = 0; } -#line 3133 "awkgram.c" /* yacc.c:1646 */ +#line 3135 "awkgram.c" /* yacc.c:1646 */ break; case 86: @@ -3141,7 +3143,7 @@ regular_print: yyerror(_("multistage two-way pipelines don't work")); (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2])); } -#line 3145 "awkgram.c" /* yacc.c:1646 */ +#line 3147 "awkgram.c" /* yacc.c:1646 */ break; case 87: @@ -3149,7 +3151,7 @@ regular_print: { (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL); } -#line 3153 "awkgram.c" /* yacc.c:1646 */ +#line 3155 "awkgram.c" /* yacc.c:1646 */ break; case 88: @@ -3157,13 +3159,13 @@ regular_print: { (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0])); } -#line 3161 "awkgram.c" /* yacc.c:1646 */ +#line 3163 "awkgram.c" /* yacc.c:1646 */ break; case 93: #line 1290 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3167 "awkgram.c" /* yacc.c:1646 */ +#line 3169 "awkgram.c" /* yacc.c:1646 */ break; case 94: @@ -3172,19 +3174,19 @@ regular_print: bcfree((yyvsp[-1])); (yyval) = (yyvsp[0]); } -#line 3176 "awkgram.c" /* yacc.c:1646 */ +#line 3178 "awkgram.c" /* yacc.c:1646 */ break; case 95: #line 1300 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3182 "awkgram.c" /* yacc.c:1646 */ +#line 3184 "awkgram.c" /* yacc.c:1646 */ break; case 96: #line 1302 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3188 "awkgram.c" /* yacc.c:1646 */ +#line 3190 "awkgram.c" /* yacc.c:1646 */ break; case 97: @@ -3193,7 +3195,7 @@ regular_print: (yyvsp[0])->param_count = 0; (yyval) = list_create((yyvsp[0])); } -#line 3197 "awkgram.c" /* yacc.c:1646 */ +#line 3199 "awkgram.c" /* yacc.c:1646 */ break; case 98: @@ -3203,55 +3205,55 @@ regular_print: (yyval) = list_append((yyvsp[-2]), (yyvsp[0])); yyerrok; } -#line 3207 "awkgram.c" /* yacc.c:1646 */ +#line 3209 "awkgram.c" /* yacc.c:1646 */ break; case 99: #line 1318 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3213 "awkgram.c" /* yacc.c:1646 */ +#line 3215 "awkgram.c" /* yacc.c:1646 */ break; case 100: #line 1320 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[-1]); } -#line 3219 "awkgram.c" /* yacc.c:1646 */ +#line 3221 "awkgram.c" /* yacc.c:1646 */ break; case 101: #line 1322 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[-2]); } -#line 3225 "awkgram.c" /* yacc.c:1646 */ +#line 3227 "awkgram.c" /* yacc.c:1646 */ break; case 102: #line 1328 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3231 "awkgram.c" /* yacc.c:1646 */ +#line 3233 "awkgram.c" /* yacc.c:1646 */ break; case 103: #line 1330 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3237 "awkgram.c" /* yacc.c:1646 */ +#line 3239 "awkgram.c" /* yacc.c:1646 */ break; case 104: #line 1335 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3243 "awkgram.c" /* yacc.c:1646 */ +#line 3245 "awkgram.c" /* yacc.c:1646 */ break; case 105: #line 1337 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3249 "awkgram.c" /* yacc.c:1646 */ +#line 3251 "awkgram.c" /* yacc.c:1646 */ break; case 106: #line 1342 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_expression_list(NULL, (yyvsp[0])); } -#line 3255 "awkgram.c" /* yacc.c:1646 */ +#line 3257 "awkgram.c" /* yacc.c:1646 */ break; case 107: @@ -3260,13 +3262,13 @@ regular_print: (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0])); yyerrok; } -#line 3264 "awkgram.c" /* yacc.c:1646 */ +#line 3266 "awkgram.c" /* yacc.c:1646 */ break; case 108: #line 1349 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3270 "awkgram.c" /* yacc.c:1646 */ +#line 3272 "awkgram.c" /* yacc.c:1646 */ break; case 109: @@ -3278,7 +3280,7 @@ regular_print: */ (yyval) = (yyvsp[-1]); } -#line 3282 "awkgram.c" /* yacc.c:1646 */ +#line 3284 "awkgram.c" /* yacc.c:1646 */ break; case 110: @@ -3287,7 +3289,7 @@ regular_print: /* Ditto */ (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0])); } -#line 3291 "awkgram.c" /* yacc.c:1646 */ +#line 3293 "awkgram.c" /* yacc.c:1646 */ break; case 111: @@ -3296,25 +3298,25 @@ regular_print: /* Ditto */ (yyval) = (yyvsp[-2]); } -#line 3300 "awkgram.c" /* yacc.c:1646 */ +#line 3302 "awkgram.c" /* yacc.c:1646 */ break; case 112: #line 1372 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3306 "awkgram.c" /* yacc.c:1646 */ +#line 3308 "awkgram.c" /* yacc.c:1646 */ break; case 113: #line 1374 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3312 "awkgram.c" /* yacc.c:1646 */ +#line 3314 "awkgram.c" /* yacc.c:1646 */ break; case 114: #line 1379 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_expression_list(NULL, (yyvsp[0])); } -#line 3318 "awkgram.c" /* yacc.c:1646 */ +#line 3320 "awkgram.c" /* yacc.c:1646 */ break; case 115: @@ -3323,13 +3325,13 @@ regular_print: (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0])); yyerrok; } -#line 3327 "awkgram.c" /* yacc.c:1646 */ +#line 3329 "awkgram.c" /* yacc.c:1646 */ break; case 116: #line 1386 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3333 "awkgram.c" /* yacc.c:1646 */ +#line 3335 "awkgram.c" /* yacc.c:1646 */ break; case 117: @@ -3341,7 +3343,7 @@ regular_print: */ (yyval) = (yyvsp[-1]); } -#line 3345 "awkgram.c" /* yacc.c:1646 */ +#line 3347 "awkgram.c" /* yacc.c:1646 */ break; case 118: @@ -3350,7 +3352,7 @@ regular_print: /* Ditto */ (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0])); } -#line 3354 "awkgram.c" /* yacc.c:1646 */ +#line 3356 "awkgram.c" /* yacc.c:1646 */ break; case 119: @@ -3359,19 +3361,19 @@ regular_print: /* Ditto */ (yyval) = (yyvsp[-2]); } -#line 3363 "awkgram.c" /* yacc.c:1646 */ +#line 3365 "awkgram.c" /* yacc.c:1646 */ break; case 120: #line 1408 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3369 "awkgram.c" /* yacc.c:1646 */ +#line 3371 "awkgram.c" /* yacc.c:1646 */ break; case 121: #line 1409 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_create((yyvsp[0])); } -#line 3375 "awkgram.c" /* yacc.c:1646 */ +#line 3377 "awkgram.c" /* yacc.c:1646 */ break; case 122: @@ -3382,38 +3384,57 @@ regular_print: _("regular expression on right of assignment")); (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3386 "awkgram.c" /* yacc.c:1646 */ +#line 3388 "awkgram.c" /* yacc.c:1646 */ break; case 123: #line 1422 "awkgram.y" /* yacc.c:1646 */ { - stopme(0); (yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), (yyvsp[-1])); } -#line 3395 "awkgram.c" /* yacc.c:1646 */ +#line 3396 "awkgram.c" /* yacc.c:1646 */ break; case 124: -#line 1427 "awkgram.y" /* yacc.c:1646 */ +#line 1426 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3401 "awkgram.c" /* yacc.c:1646 */ +#line 3402 "awkgram.c" /* yacc.c:1646 */ break; case 125: -#line 1429 "awkgram.y" /* yacc.c:1646 */ +#line 1428 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3407 "awkgram.c" /* yacc.c:1646 */ +#line 3408 "awkgram.c" /* yacc.c:1646 */ break; case 126: -#line 1431 "awkgram.y" /* yacc.c:1646 */ +#line 1430 "awkgram.y" /* yacc.c:1646 */ + { + if ((yyvsp[-2])->lasti->opcode == Op_match_rec) + warning_ln((yyvsp[-1])->source_line, + _("regular expression on left of `~' or `!~' operator")); + + assert((yyvsp[0])->lasti == (yyvsp[0])->nexti + && (yyvsp[0])->nexti->opcode == Op_push_re + && (yyvsp[0])->nexti->memory->type == Node_hardregex); + /* RHS is @/.../ */ + (yyvsp[-1])->memory = (yyvsp[0])->nexti->memory; + bcfree((yyvsp[0])->nexti); /* Op_push_re */ + bcfree((yyvsp[0])); /* Op_list */ + (yyval) = list_append((yyvsp[-2]), (yyvsp[-1])); + } +#line 3427 "awkgram.c" /* yacc.c:1646 */ + break; + + case 127: +#line 1445 "awkgram.y" /* yacc.c:1646 */ { if ((yyvsp[-2])->lasti->opcode == Op_match_rec) warning_ln((yyvsp[-1])->source_line, _("regular expression on left of `~' or `!~' operator")); if ((yyvsp[0])->lasti == (yyvsp[0])->nexti && (yyvsp[0])->nexti->opcode == Op_match_rec) { + /* RHS is /.../ */ (yyvsp[-1])->memory = (yyvsp[0])->nexti->memory; bcfree((yyvsp[0])->nexti); /* Op_match_rec */ bcfree((yyvsp[0])); /* Op_list */ @@ -3423,11 +3444,11 @@ regular_print: (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1])); } } -#line 3427 "awkgram.c" /* yacc.c:1646 */ +#line 3448 "awkgram.c" /* yacc.c:1646 */ break; - case 127: -#line 1447 "awkgram.y" /* yacc.c:1646 */ + case 128: +#line 1462 "awkgram.y" /* yacc.c:1646 */ { if (do_lint_old) warning_ln((yyvsp[-1])->source_line, @@ -3437,91 +3458,91 @@ regular_print: (yyvsp[-1])->expr_count = 1; (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1])); } -#line 3441 "awkgram.c" /* yacc.c:1646 */ +#line 3462 "awkgram.c" /* yacc.c:1646 */ break; - case 128: -#line 1457 "awkgram.y" /* yacc.c:1646 */ + case 129: +#line 1472 "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 3452 "awkgram.c" /* yacc.c:1646 */ - break; - - case 129: -#line 1464 "awkgram.y" /* yacc.c:1646 */ - { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); } -#line 3458 "awkgram.c" /* yacc.c:1646 */ +#line 3473 "awkgram.c" /* yacc.c:1646 */ break; case 130: -#line 1466 "awkgram.y" /* yacc.c:1646 */ - { (yyval) = (yyvsp[0]); } -#line 3464 "awkgram.c" /* yacc.c:1646 */ +#line 1479 "awkgram.y" /* yacc.c:1646 */ + { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); } +#line 3479 "awkgram.c" /* yacc.c:1646 */ break; case 131: -#line 1471 "awkgram.y" /* yacc.c:1646 */ +#line 1481 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3470 "awkgram.c" /* yacc.c:1646 */ +#line 3485 "awkgram.c" /* yacc.c:1646 */ break; case 132: -#line 1473 "awkgram.y" /* yacc.c:1646 */ +#line 1486 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3476 "awkgram.c" /* yacc.c:1646 */ +#line 3491 "awkgram.c" /* yacc.c:1646 */ break; case 133: -#line 1475 "awkgram.y" /* yacc.c:1646 */ +#line 1488 "awkgram.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[0]); } +#line 3497 "awkgram.c" /* yacc.c:1646 */ + break; + + case 134: +#line 1490 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[0])->opcode = Op_assign_quotient; (yyval) = (yyvsp[0]); } -#line 3485 "awkgram.c" /* yacc.c:1646 */ - break; - - case 134: -#line 1483 "awkgram.y" /* yacc.c:1646 */ - { (yyval) = (yyvsp[0]); } -#line 3491 "awkgram.c" /* yacc.c:1646 */ +#line 3506 "awkgram.c" /* yacc.c:1646 */ break; case 135: -#line 1485 "awkgram.y" /* yacc.c:1646 */ +#line 1498 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3497 "awkgram.c" /* yacc.c:1646 */ +#line 3512 "awkgram.c" /* yacc.c:1646 */ break; case 136: -#line 1490 "awkgram.y" /* yacc.c:1646 */ +#line 1500 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3503 "awkgram.c" /* yacc.c:1646 */ +#line 3518 "awkgram.c" /* yacc.c:1646 */ break; case 137: -#line 1492 "awkgram.y" /* yacc.c:1646 */ +#line 1505 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3509 "awkgram.c" /* yacc.c:1646 */ +#line 3524 "awkgram.c" /* yacc.c:1646 */ break; case 138: -#line 1497 "awkgram.y" /* yacc.c:1646 */ +#line 1507 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3515 "awkgram.c" /* yacc.c:1646 */ +#line 3530 "awkgram.c" /* yacc.c:1646 */ break; case 139: -#line 1499 "awkgram.y" /* yacc.c:1646 */ +#line 1512 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3521 "awkgram.c" /* yacc.c:1646 */ +#line 3536 "awkgram.c" /* yacc.c:1646 */ break; case 140: -#line 1501 "awkgram.y" /* yacc.c:1646 */ +#line 1514 "awkgram.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[0]); } +#line 3542 "awkgram.c" /* yacc.c:1646 */ + break; + + case 141: +#line 1516 "awkgram.y" /* yacc.c:1646 */ { int count = 2; bool is_simple_var = false; @@ -3568,47 +3589,47 @@ regular_print: max_args = count; } } -#line 3572 "awkgram.c" /* yacc.c:1646 */ - break; - - case 142: -#line 1553 "awkgram.y" /* yacc.c:1646 */ - { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3578 "awkgram.c" /* yacc.c:1646 */ +#line 3593 "awkgram.c" /* yacc.c:1646 */ break; case 143: -#line 1555 "awkgram.y" /* yacc.c:1646 */ +#line 1568 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3584 "awkgram.c" /* yacc.c:1646 */ +#line 3599 "awkgram.c" /* yacc.c:1646 */ break; case 144: -#line 1557 "awkgram.y" /* yacc.c:1646 */ +#line 1570 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3590 "awkgram.c" /* yacc.c:1646 */ +#line 3605 "awkgram.c" /* yacc.c:1646 */ break; case 145: -#line 1559 "awkgram.y" /* yacc.c:1646 */ +#line 1572 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3596 "awkgram.c" /* yacc.c:1646 */ +#line 3611 "awkgram.c" /* yacc.c:1646 */ break; case 146: -#line 1561 "awkgram.y" /* yacc.c:1646 */ +#line 1574 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3602 "awkgram.c" /* yacc.c:1646 */ +#line 3617 "awkgram.c" /* yacc.c:1646 */ break; case 147: -#line 1563 "awkgram.y" /* yacc.c:1646 */ +#line 1576 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3608 "awkgram.c" /* yacc.c:1646 */ +#line 3623 "awkgram.c" /* yacc.c:1646 */ break; case 148: -#line 1565 "awkgram.y" /* yacc.c:1646 */ +#line 1578 "awkgram.y" /* yacc.c:1646 */ + { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } +#line 3629 "awkgram.c" /* yacc.c:1646 */ + break; + + case 149: +#line 1580 "awkgram.y" /* yacc.c:1646 */ { /* * In BEGINFILE/ENDFILE, allow `getline [var] < file' @@ -3622,29 +3643,29 @@ regular_print: _("non-redirected `getline' undefined inside END action")); (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input); } -#line 3626 "awkgram.c" /* yacc.c:1646 */ +#line 3647 "awkgram.c" /* yacc.c:1646 */ break; - case 149: -#line 1579 "awkgram.y" /* yacc.c:1646 */ + case 150: +#line 1594 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[0])->opcode = Op_postincrement; (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0])); } -#line 3635 "awkgram.c" /* yacc.c:1646 */ +#line 3656 "awkgram.c" /* yacc.c:1646 */ break; - case 150: -#line 1584 "awkgram.y" /* yacc.c:1646 */ + case 151: +#line 1599 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[0])->opcode = Op_postdecrement; (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0])); } -#line 3644 "awkgram.c" /* yacc.c:1646 */ +#line 3665 "awkgram.c" /* yacc.c:1646 */ break; - case 151: -#line 1589 "awkgram.y" /* yacc.c:1646 */ + case 152: +#line 1604 "awkgram.y" /* yacc.c:1646 */ { if (do_lint_old) { warning_ln((yyvsp[-1])->source_line, @@ -3664,64 +3685,64 @@ regular_print: (yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1])); } } -#line 3668 "awkgram.c" /* yacc.c:1646 */ +#line 3689 "awkgram.c" /* yacc.c:1646 */ break; - case 152: -#line 1614 "awkgram.y" /* yacc.c:1646 */ + case 153: +#line 1629 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type); bcfree((yyvsp[-2])); } -#line 3677 "awkgram.c" /* yacc.c:1646 */ - break; - - case 153: -#line 1620 "awkgram.y" /* yacc.c:1646 */ - { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3683 "awkgram.c" /* yacc.c:1646 */ +#line 3698 "awkgram.c" /* yacc.c:1646 */ break; case 154: -#line 1622 "awkgram.y" /* yacc.c:1646 */ +#line 1635 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3689 "awkgram.c" /* yacc.c:1646 */ +#line 3704 "awkgram.c" /* yacc.c:1646 */ break; case 155: -#line 1624 "awkgram.y" /* yacc.c:1646 */ +#line 1637 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3695 "awkgram.c" /* yacc.c:1646 */ +#line 3710 "awkgram.c" /* yacc.c:1646 */ break; case 156: -#line 1626 "awkgram.y" /* yacc.c:1646 */ +#line 1639 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3701 "awkgram.c" /* yacc.c:1646 */ +#line 3716 "awkgram.c" /* yacc.c:1646 */ break; case 157: -#line 1628 "awkgram.y" /* yacc.c:1646 */ +#line 1641 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3707 "awkgram.c" /* yacc.c:1646 */ +#line 3722 "awkgram.c" /* yacc.c:1646 */ break; case 158: -#line 1630 "awkgram.y" /* yacc.c:1646 */ +#line 1643 "awkgram.y" /* yacc.c:1646 */ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } -#line 3713 "awkgram.c" /* yacc.c:1646 */ +#line 3728 "awkgram.c" /* yacc.c:1646 */ break; case 159: -#line 1635 "awkgram.y" /* yacc.c:1646 */ +#line 1645 "awkgram.y" /* yacc.c:1646 */ + { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); } +#line 3734 "awkgram.c" /* yacc.c:1646 */ + break; + + case 160: +#line 1650 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_create((yyvsp[0])); } -#line 3721 "awkgram.c" /* yacc.c:1646 */ +#line 3742 "awkgram.c" /* yacc.c:1646 */ break; - case 160: -#line 1639 "awkgram.y" /* yacc.c:1646 */ + case 161: +#line 1654 "awkgram.y" /* yacc.c:1646 */ { if ((yyvsp[0])->opcode == Op_match_rec) { (yyvsp[0])->opcode = Op_nomatch; @@ -3753,37 +3774,37 @@ regular_print: } } } -#line 3757 "awkgram.c" /* yacc.c:1646 */ +#line 3778 "awkgram.c" /* yacc.c:1646 */ break; - case 161: -#line 1671 "awkgram.y" /* yacc.c:1646 */ + case 162: +#line 1686 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[-1]); } -#line 3763 "awkgram.c" /* yacc.c:1646 */ +#line 3784 "awkgram.c" /* yacc.c:1646 */ break; - case 162: -#line 1673 "awkgram.y" /* yacc.c:1646 */ + case 163: +#line 1688 "awkgram.y" /* yacc.c:1646 */ { (yyval) = snode((yyvsp[-1]), (yyvsp[-3])); if ((yyval) == NULL) YYABORT; } -#line 3773 "awkgram.c" /* yacc.c:1646 */ +#line 3794 "awkgram.c" /* yacc.c:1646 */ break; - case 163: -#line 1679 "awkgram.y" /* yacc.c:1646 */ + case 164: +#line 1694 "awkgram.y" /* yacc.c:1646 */ { (yyval) = snode((yyvsp[-1]), (yyvsp[-3])); if ((yyval) == NULL) YYABORT; } -#line 3783 "awkgram.c" /* yacc.c:1646 */ +#line 3804 "awkgram.c" /* yacc.c:1646 */ break; - case 164: -#line 1685 "awkgram.y" /* yacc.c:1646 */ + case 165: +#line 1700 "awkgram.y" /* yacc.c:1646 */ { static bool warned = false; @@ -3796,45 +3817,45 @@ regular_print: if ((yyval) == NULL) YYABORT; } -#line 3800 "awkgram.c" /* yacc.c:1646 */ +#line 3821 "awkgram.c" /* yacc.c:1646 */ break; - case 167: -#line 1700 "awkgram.y" /* yacc.c:1646 */ + case 168: +#line 1715 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[-1])->opcode = Op_preincrement; (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1])); } -#line 3809 "awkgram.c" /* yacc.c:1646 */ +#line 3830 "awkgram.c" /* yacc.c:1646 */ break; - case 168: -#line 1705 "awkgram.y" /* yacc.c:1646 */ + case 169: +#line 1720 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[-1])->opcode = Op_predecrement; (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1])); } -#line 3818 "awkgram.c" /* yacc.c:1646 */ +#line 3839 "awkgram.c" /* yacc.c:1646 */ break; - case 169: -#line 1710 "awkgram.y" /* yacc.c:1646 */ + case 170: +#line 1725 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_create((yyvsp[0])); } -#line 3826 "awkgram.c" /* yacc.c:1646 */ +#line 3847 "awkgram.c" /* yacc.c:1646 */ break; - case 170: -#line 1714 "awkgram.y" /* yacc.c:1646 */ + case 171: +#line 1729 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_create((yyvsp[0])); } -#line 3834 "awkgram.c" /* yacc.c:1646 */ +#line 3855 "awkgram.c" /* yacc.c:1646 */ break; - case 171: -#line 1718 "awkgram.y" /* yacc.c:1646 */ + case 172: +#line 1733 "awkgram.y" /* yacc.c:1646 */ { if ((yyvsp[0])->lasti->opcode == Op_push_i && ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) == 0 @@ -3849,11 +3870,11 @@ regular_print: (yyval) = list_append((yyvsp[0]), (yyvsp[-1])); } } -#line 3853 "awkgram.c" /* yacc.c:1646 */ +#line 3874 "awkgram.c" /* yacc.c:1646 */ break; - case 172: -#line 1733 "awkgram.y" /* yacc.c:1646 */ + case 173: +#line 1748 "awkgram.y" /* yacc.c:1646 */ { /* * was: $$ = $2 @@ -3863,20 +3884,20 @@ regular_print: (yyvsp[-1])->memory = make_number(0.0); (yyval) = list_append((yyvsp[0]), (yyvsp[-1])); } -#line 3867 "awkgram.c" /* yacc.c:1646 */ +#line 3888 "awkgram.c" /* yacc.c:1646 */ break; - case 173: -#line 1746 "awkgram.y" /* yacc.c:1646 */ + case 174: +#line 1761 "awkgram.y" /* yacc.c:1646 */ { func_use((yyvsp[0])->lasti->func_name, FUNC_USE); (yyval) = (yyvsp[0]); } -#line 3876 "awkgram.c" /* yacc.c:1646 */ +#line 3897 "awkgram.c" /* yacc.c:1646 */ break; - case 174: -#line 1751 "awkgram.y" /* yacc.c:1646 */ + case 175: +#line 1766 "awkgram.y" /* yacc.c:1646 */ { /* indirect function call */ INSTRUCTION *f, *t; @@ -3910,11 +3931,11 @@ regular_print: (yyval) = list_prepend((yyvsp[0]), t); at_seen = false; } -#line 3914 "awkgram.c" /* yacc.c:1646 */ +#line 3935 "awkgram.c" /* yacc.c:1646 */ break; - case 175: -#line 1788 "awkgram.y" /* yacc.c:1646 */ + case 176: +#line 1803 "awkgram.y" /* yacc.c:1646 */ { NODE *n; @@ -3939,49 +3960,49 @@ regular_print: (yyval) = list_append(t, (yyvsp[-3])); } } -#line 3943 "awkgram.c" /* yacc.c:1646 */ +#line 3964 "awkgram.c" /* yacc.c:1646 */ break; - case 176: -#line 1816 "awkgram.y" /* yacc.c:1646 */ + case 177: +#line 1831 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3949 "awkgram.c" /* yacc.c:1646 */ +#line 3970 "awkgram.c" /* yacc.c:1646 */ break; - case 177: -#line 1818 "awkgram.y" /* yacc.c:1646 */ + case 178: +#line 1833 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3955 "awkgram.c" /* yacc.c:1646 */ +#line 3976 "awkgram.c" /* yacc.c:1646 */ break; - case 178: -#line 1823 "awkgram.y" /* yacc.c:1646 */ + case 179: +#line 1838 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 3961 "awkgram.c" /* yacc.c:1646 */ +#line 3982 "awkgram.c" /* yacc.c:1646 */ break; - case 179: -#line 1825 "awkgram.y" /* yacc.c:1646 */ + case 180: +#line 1840 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[-1]); } -#line 3967 "awkgram.c" /* yacc.c:1646 */ +#line 3988 "awkgram.c" /* yacc.c:1646 */ break; - case 180: -#line 1830 "awkgram.y" /* yacc.c:1646 */ + case 181: +#line 1845 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 3973 "awkgram.c" /* yacc.c:1646 */ +#line 3994 "awkgram.c" /* yacc.c:1646 */ break; - case 181: -#line 1832 "awkgram.y" /* yacc.c:1646 */ + case 182: +#line 1847 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_merge((yyvsp[-1]), (yyvsp[0])); } -#line 3981 "awkgram.c" /* yacc.c:1646 */ +#line 4002 "awkgram.c" /* yacc.c:1646 */ break; - case 182: -#line 1839 "awkgram.y" /* yacc.c:1646 */ + case 183: +#line 1854 "awkgram.y" /* yacc.c:1646 */ { INSTRUCTION *ip = (yyvsp[0])->lasti; int count = ip->sub_count; /* # of SUBSEP-seperated expressions */ @@ -3995,11 +4016,11 @@ regular_print: sub_counter++; /* count # of dimensions */ (yyval) = (yyvsp[0]); } -#line 3999 "awkgram.c" /* yacc.c:1646 */ +#line 4020 "awkgram.c" /* yacc.c:1646 */ break; - case 183: -#line 1856 "awkgram.y" /* yacc.c:1646 */ + case 184: +#line 1871 "awkgram.y" /* yacc.c:1646 */ { INSTRUCTION *t = (yyvsp[-1]); if ((yyvsp[-1]) == NULL) { @@ -4013,31 +4034,31 @@ regular_print: (yyvsp[0])->sub_count = count_expressions(&t, false); (yyval) = list_append(t, (yyvsp[0])); } -#line 4017 "awkgram.c" /* yacc.c:1646 */ +#line 4038 "awkgram.c" /* yacc.c:1646 */ break; - case 184: -#line 1873 "awkgram.y" /* yacc.c:1646 */ + case 185: +#line 1888 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); } -#line 4023 "awkgram.c" /* yacc.c:1646 */ +#line 4044 "awkgram.c" /* yacc.c:1646 */ break; - case 185: -#line 1875 "awkgram.y" /* yacc.c:1646 */ + case 186: +#line 1890 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_merge((yyvsp[-1]), (yyvsp[0])); } -#line 4031 "awkgram.c" /* yacc.c:1646 */ +#line 4052 "awkgram.c" /* yacc.c:1646 */ break; - case 186: -#line 1882 "awkgram.y" /* yacc.c:1646 */ + case 187: +#line 1897 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[-1]); } -#line 4037 "awkgram.c" /* yacc.c:1646 */ +#line 4058 "awkgram.c" /* yacc.c:1646 */ break; - case 187: -#line 1887 "awkgram.y" /* yacc.c:1646 */ + case 188: +#line 1902 "awkgram.y" /* yacc.c:1646 */ { char *var_name = (yyvsp[0])->lextok; @@ -4045,22 +4066,22 @@ regular_print: (yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new); (yyval) = list_create((yyvsp[0])); } -#line 4049 "awkgram.c" /* yacc.c:1646 */ +#line 4070 "awkgram.c" /* yacc.c:1646 */ break; - case 188: -#line 1895 "awkgram.y" /* yacc.c:1646 */ + case 189: +#line 1910 "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 4060 "awkgram.c" /* yacc.c:1646 */ +#line 4081 "awkgram.c" /* yacc.c:1646 */ break; - case 189: -#line 1905 "awkgram.y" /* yacc.c:1646 */ + case 190: +#line 1920 "awkgram.y" /* yacc.c:1646 */ { INSTRUCTION *ip = (yyvsp[0])->nexti; if (ip->opcode == Op_push @@ -4072,73 +4093,73 @@ regular_print: } else (yyval) = (yyvsp[0]); } -#line 4076 "awkgram.c" /* yacc.c:1646 */ +#line 4097 "awkgram.c" /* yacc.c:1646 */ break; - case 190: -#line 1917 "awkgram.y" /* yacc.c:1646 */ + case 191: +#line 1932 "awkgram.y" /* yacc.c:1646 */ { (yyval) = list_append((yyvsp[-1]), (yyvsp[-2])); if ((yyvsp[0]) != NULL) mk_assignment((yyvsp[-1]), NULL, (yyvsp[0])); } -#line 4086 "awkgram.c" /* yacc.c:1646 */ +#line 4107 "awkgram.c" /* yacc.c:1646 */ break; - case 191: -#line 1926 "awkgram.y" /* yacc.c:1646 */ + case 192: +#line 1941 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[0])->opcode = Op_postincrement; } -#line 4094 "awkgram.c" /* yacc.c:1646 */ +#line 4115 "awkgram.c" /* yacc.c:1646 */ break; - case 192: -#line 1930 "awkgram.y" /* yacc.c:1646 */ + case 193: +#line 1945 "awkgram.y" /* yacc.c:1646 */ { (yyvsp[0])->opcode = Op_postdecrement; } -#line 4102 "awkgram.c" /* yacc.c:1646 */ +#line 4123 "awkgram.c" /* yacc.c:1646 */ break; - case 193: -#line 1933 "awkgram.y" /* yacc.c:1646 */ + case 194: +#line 1948 "awkgram.y" /* yacc.c:1646 */ { (yyval) = NULL; } -#line 4108 "awkgram.c" /* yacc.c:1646 */ +#line 4129 "awkgram.c" /* yacc.c:1646 */ break; - case 195: -#line 1941 "awkgram.y" /* yacc.c:1646 */ + case 196: +#line 1956 "awkgram.y" /* yacc.c:1646 */ { yyerrok; } -#line 4114 "awkgram.c" /* yacc.c:1646 */ +#line 4135 "awkgram.c" /* yacc.c:1646 */ break; - case 196: -#line 1945 "awkgram.y" /* yacc.c:1646 */ + case 197: +#line 1960 "awkgram.y" /* yacc.c:1646 */ { yyerrok; } -#line 4120 "awkgram.c" /* yacc.c:1646 */ +#line 4141 "awkgram.c" /* yacc.c:1646 */ break; - case 199: -#line 1954 "awkgram.y" /* yacc.c:1646 */ + case 200: +#line 1969 "awkgram.y" /* yacc.c:1646 */ { yyerrok; } -#line 4126 "awkgram.c" /* yacc.c:1646 */ +#line 4147 "awkgram.c" /* yacc.c:1646 */ break; - case 200: -#line 1958 "awkgram.y" /* yacc.c:1646 */ + case 201: +#line 1973 "awkgram.y" /* yacc.c:1646 */ { (yyval) = (yyvsp[0]); yyerrok; } -#line 4132 "awkgram.c" /* yacc.c:1646 */ +#line 4153 "awkgram.c" /* yacc.c:1646 */ break; - case 201: -#line 1962 "awkgram.y" /* yacc.c:1646 */ + case 202: +#line 1977 "awkgram.y" /* yacc.c:1646 */ { yyerrok; } -#line 4138 "awkgram.c" /* yacc.c:1646 */ +#line 4159 "awkgram.c" /* yacc.c:1646 */ break; -#line 4142 "awkgram.c" /* yacc.c:1646 */ +#line 4163 "awkgram.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -4366,7 +4387,7 @@ yyreturn: #endif return yyresult; } -#line 1964 "awkgram.y" /* yacc.c:1906 */ +#line 1979 "awkgram.y" /* yacc.c:1906 */ struct token { @@ -7249,6 +7270,8 @@ mk_rexp(INSTRUCTION *list) ip = list->nexti; if (ip == list->lasti && ip->opcode == Op_match_rec) ip->opcode = Op_push_re; + else if (ip == list->lasti && ip->opcode == Op_push_re) + ; /* do nothing --- @/.../ */ else { ip = instruction(Op_push_re); ip->memory = make_regnode(Node_dynregex, NULL); |