aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c1981
1 files changed, 1007 insertions, 974 deletions
diff --git a/awkgram.c b/awkgram.c
index b4f71d40..d3481c8e 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -129,6 +129,11 @@ static void check_comment(void);
static bool at_seen = false;
static bool want_source = false;
static bool want_regexp = false; /* lexical scanning kludge */
+static enum {
+ FUNC_HEADER,
+ FUNC_BODY,
+ DONT_CHECK
+} want_param_names = DONT_CHECK; /* ditto */
static char *in_function; /* parsing kludge */
static int rule = 0;
@@ -202,7 +207,7 @@ extern double fmod(double x, double y);
#define YYSTYPE INSTRUCTION *
-#line 206 "awkgram.c" /* yacc.c:339 */
+#line 211 "awkgram.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
@@ -358,7 +363,7 @@ int yyparse (void);
/* Copy the second part of user declarations. */
-#line 362 "awkgram.c" /* yacc.c:358 */
+#line 367 "awkgram.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -600,16 +605,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1220
+#define YYLAST 1236
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 76
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 69
+#define YYNNTS 70
/* YYNRULES -- Number of rules. */
-#define YYNRULES 202
+#define YYNRULES 203
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 349
+#define YYNSTATES 350
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -660,27 +665,27 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 205, 205, 207, 212, 213, 217, 229, 234, 245,
- 251, 257, 266, 274, 276, 281, 289, 291, 297, 305,
- 315, 345, 359, 373, 381, 392, 404, 406, 408, 414,
- 422, 423, 427, 462, 461, 495, 522, 524, 529, 535,
- 563, 568, 569, 573, 575, 577, 584, 674, 716, 758,
- 871, 878, 885, 895, 904, 913, 922, 933, 949, 948,
- 972, 984, 984, 1082, 1082, 1115, 1145, 1151, 1152, 1158,
- 1159, 1166, 1171, 1183, 1197, 1199, 1207, 1212, 1214, 1222,
- 1231, 1233, 1242, 1243, 1251, 1256, 1256, 1267, 1271, 1279,
- 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, 1425, 1427, 1429, 1442, 1459, 1469,
- 1476, 1478, 1483, 1485, 1487, 1495, 1497, 1502, 1504, 1509,
- 1511, 1513, 1563, 1565, 1567, 1569, 1571, 1573, 1575, 1577,
- 1591, 1596, 1601, 1626, 1632, 1634, 1636, 1638, 1640, 1642,
- 1647, 1651, 1683, 1685, 1691, 1697, 1710, 1711, 1712, 1717,
- 1722, 1726, 1730, 1745, 1758, 1763, 1800, 1829, 1830, 1836,
- 1837, 1842, 1844, 1851, 1868, 1885, 1887, 1894, 1899, 1907,
- 1917, 1929, 1938, 1942, 1946, 1950, 1954, 1958, 1961, 1963,
- 1967, 1971, 1975
+ 0, 210, 210, 212, 217, 218, 222, 234, 239, 250,
+ 257, 263, 272, 280, 282, 287, 295, 297, 303, 311,
+ 321, 351, 365, 379, 387, 398, 410, 412, 414, 420,
+ 428, 429, 433, 433, 469, 468, 502, 529, 531, 536,
+ 542, 570, 575, 576, 580, 582, 584, 591, 681, 723,
+ 765, 878, 885, 892, 902, 911, 920, 929, 940, 956,
+ 955, 979, 991, 991, 1089, 1089, 1122, 1152, 1158, 1159,
+ 1165, 1166, 1173, 1178, 1190, 1204, 1206, 1214, 1219, 1221,
+ 1229, 1238, 1240, 1249, 1250, 1258, 1263, 1263, 1274, 1278,
+ 1286, 1287, 1290, 1292, 1297, 1298, 1307, 1308, 1313, 1318,
+ 1324, 1326, 1328, 1335, 1336, 1342, 1343, 1348, 1350, 1355,
+ 1357, 1365, 1370, 1379, 1380, 1385, 1387, 1392, 1394, 1402,
+ 1407, 1415, 1416, 1421, 1428, 1432, 1434, 1436, 1449, 1466,
+ 1476, 1483, 1485, 1490, 1492, 1494, 1502, 1504, 1509, 1511,
+ 1516, 1518, 1520, 1570, 1572, 1574, 1576, 1578, 1580, 1582,
+ 1584, 1598, 1603, 1608, 1633, 1639, 1641, 1643, 1645, 1647,
+ 1649, 1654, 1658, 1690, 1692, 1698, 1704, 1717, 1718, 1719,
+ 1724, 1729, 1733, 1737, 1752, 1765, 1770, 1807, 1836, 1837,
+ 1843, 1844, 1849, 1851, 1858, 1875, 1892, 1894, 1901, 1906,
+ 1914, 1924, 1936, 1945, 1949, 1953, 1957, 1961, 1965, 1968,
+ 1970, 1974, 1978, 1982
};
#endif
@@ -703,10 +708,10 @@ static const char *const yytname[] =
"'!'", "UNARY", "'^'", "'$'", "'('", "')'", "'@'", "'['", "']'", "'{'",
"'}'", "';'", "$accept", "program", "rule", "source", "library",
"pattern", "action", "func_name", "lex_builtin", "function_prologue",
- "regexp", "$@1", "hard_regexp", "a_slash", "statements",
- "statement_term", "statement", "non_compound_stmt", "$@2", "simple_stmt",
- "$@3", "$@4", "opt_simple_stmt", "case_statements", "case_statement",
- "case_value", "print", "print_expression_list", "output_redir", "$@5",
+ "$@1", "regexp", "$@2", "hard_regexp", "a_slash", "statements",
+ "statement_term", "statement", "non_compound_stmt", "$@3", "simple_stmt",
+ "$@4", "$@5", "opt_simple_stmt", "case_statements", "case_statement",
+ "case_value", "print", "print_expression_list", "output_redir", "$@6",
"if_statement", "nls", "opt_nls", "input_redir", "opt_param_list",
"param_list", "opt_exp", "opt_expression_list", "expression_list",
"opt_fcall_expression_list", "fcall_expression_list", "fcall_exp", "exp",
@@ -735,55 +740,55 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-#define YYPACT_NINF -274
+#define YYPACT_NINF -275
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-274)))
+ (!!((Yystate) == (-275)))
-#define YYTABLE_NINF -114
+#define YYTABLE_NINF -115
#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-114)))
+ (!!((Yytable_value) == (-115)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- -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
+ -275, 376, -275, -275, -12, -9, -275, -275, -275, -275,
+ 171, -275, -275, 44, 44, 44, 5, 40, -275, -275,
+ -275, 1139, 1139, -275, 1139, 1166, 869, 27, -275, -18,
+ 2, -275, -275, 89, 884, 1065, 192, 214, -275, -275,
+ -275, -275, 248, 795, 869, -275, 10, -275, -275, -275,
+ -275, -275, 116, 82, -275, 115, -275, -275, -275, 795,
+ 795, 166, 107, 104, 107, 107, 1139, 117, -275, -275,
+ 15, 349, 23, 45, -275, 125, -275, -275, -275, 89,
+ -275, 125, -275, 178, -275, -275, 1092, 172, 1139, 1139,
+ 1139, 125, -275, -275, -275, 1139, 146, 192, 1139, 1139,
+ 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
+ -275, 181, -275, -275, 173, 1139, -275, -275, -275, 128,
+ 73, -275, 1107, 14, 1107, -275, -275, -275, -275, 1139,
+ -275, 128, 128, 349, -275, -275, -275, 1139, 125, -275,
+ 152, 916, -275, -275, 16, 92, -275, 20, 92, 89,
+ -275, 599, -275, -275, -275, 148, -275, 124, 22, 1048,
+ 1139, 199, 44, 265, 265, 107, 107, 107, 107, 265,
+ 265, 107, 107, 107, 107, -275, -275, 1107, -275, 1092,
+ 842, -275, 43, 192, -275, -275, 1107, -275, 172, -275,
+ 1107, -275, -275, -275, -275, -275, 133, -275, 41, 144,
+ 145, 125, 147, 92, 92, -275, -275, 92, 1139, 92,
+ 125, -275, -275, 92, -275, -275, 1107, -275, 151, 125,
+ 1139, 1107, -275, -275, -275, -275, -275, -275, 128, 76,
+ -275, 1139, 1139, -275, 224, 1139, 1139, 715, 949, -275,
+ -275, -275, 92, 1107, -275, -275, -275, 646, 599, 125,
+ -275, -275, 1107, 125, -275, 49, 349, 92, -9, 160,
+ 349, 349, 206, 113, -275, 151, -275, 869, 225, -275,
+ 169, -275, -275, -275, -275, -275, 125, -275, -275, 11,
+ -275, -275, -275, 125, 125, 179, 172, 125, 15, -275,
+ -275, 715, -275, -275, 2, 715, 1139, 128, 762, 152,
+ 1139, 219, -275, -275, 349, 125, 275, 125, 1065, 125,
+ 112, 125, 715, 125, 997, 715, -275, 261, 205, -275,
+ 191, -275, -275, 997, 128, -275, -275, -275, 271, 272,
+ -275, -275, 205, -275, 125, -275, 128, 125, -275, -275,
+ 125, -275, 125, 715, -275, 449, 715, -275, 524, -275
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -791,65 +796,65 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 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, 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,
+ 2, 0, 1, 6, 0, 189, 171, 172, 21, 22,
+ 0, 23, 24, 178, 0, 0, 0, 166, 5, 90,
+ 38, 0, 0, 37, 0, 0, 0, 0, 3, 0,
+ 0, 161, 34, 4, 19, 132, 140, 141, 143, 167,
+ 175, 191, 168, 0, 0, 186, 0, 190, 27, 26,
+ 30, 31, 0, 0, 28, 94, 179, 169, 170, 0,
+ 0, 0, 174, 168, 173, 162, 0, 195, 168, 109,
+ 0, 107, 0, 0, 176, 92, 201, 7, 8, 42,
+ 39, 92, 9, 0, 91, 136, 0, 0, 0, 0,
+ 0, 92, 137, 139, 138, 0, 0, 142, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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
+ 134, 133, 151, 152, 0, 0, 117, 36, 122, 0,
+ 0, 115, 121, 0, 107, 188, 187, 29, 32, 0,
+ 150, 0, 0, 0, 193, 194, 192, 110, 92, 198,
+ 0, 0, 163, 14, 0, 0, 17, 0, 0, 93,
+ 196, 0, 43, 35, 127, 128, 129, 125, 126, 0,
+ 0, 130, 178, 148, 149, 145, 146, 147, 144, 159,
+ 160, 156, 157, 158, 155, 124, 135, 123, 177, 118,
+ 0, 185, 0, 95, 164, 165, 111, 203, 0, 112,
+ 108, 13, 10, 16, 11, 41, 0, 59, 0, 0,
+ 0, 92, 0, 0, 0, 81, 82, 0, 103, 0,
+ 92, 40, 53, 0, 62, 46, 67, 39, 199, 92,
+ 0, 20, 154, 119, 120, 116, 100, 98, 0, 0,
+ 153, 0, 103, 64, 0, 0, 0, 0, 68, 54,
+ 55, 56, 0, 104, 57, 197, 61, 0, 0, 92,
+ 200, 44, 131, 92, 101, 0, 0, 0, 180, 0,
+ 0, 0, 0, 189, 69, 0, 58, 0, 85, 83,
+ 0, 45, 25, 33, 102, 99, 92, 60, 65, 0,
+ 182, 184, 66, 92, 92, 0, 0, 92, 0, 86,
+ 63, 0, 181, 183, 0, 0, 0, 0, 0, 84,
+ 0, 88, 70, 48, 0, 92, 0, 92, 87, 92,
+ 0, 92, 0, 92, 68, 0, 72, 0, 0, 71,
+ 0, 49, 50, 68, 0, 89, 75, 78, 0, 0,
+ 79, 80, 0, 202, 92, 47, 0, 92, 77, 76,
+ 92, 39, 92, 0, 39, 0, 0, 52, 0, 51
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -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
+ -275, -275, -275, -275, -275, -275, 252, -275, -275, -275,
+ -275, -33, -275, -80, -275, -213, 100, -144, -275, -275,
+ -231, -275, -275, -274, -275, -275, -275, -275, -275, -275,
+ -275, -275, 7, 62, -275, -275, -275, 54, -275, -43,
+ 1, -275, -23, -1, -275, -275, -275, -13, 17, -275,
+ 263, -275, 8, 127, -275, -275, 21, -36, -275, -275,
+ -78, -2, -275, -27, -230, -65, -275, -15, -38, -94
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 28, 145, 148, 29, 77, 53, 54, 30,
- 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
+ 182, 31, 83, 118, 32, 151, 78, 211, 212, 232,
+ 213, 247, 258, 265, 310, 319, 332, 214, 268, 290,
+ 300, 215, 149, 150, 130, 228, 229, 242, 269, 70,
+ 119, 120, 121, 216, 115, 94, 95, 35, 36, 37,
+ 38, 39, 40, 55, 278, 279, 280, 45, 46, 47,
+ 41, 42, 136, 217, 218, 142, 249, 219, 334, 141
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -857,256 +862,258 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 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, -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,
+ 34, 123, 80, 80, 248, 140, 154, 264, 33, 156,
+ 126, 56, 57, 58, 81, 137, 137, 191, 271, 63,
+ 63, 193, 63, 68, 143, 71, 180, 125, 292, 144,
+ 4, 175, 85, 63, 19, 74, 79, 86, 62, 64,
+ 324, 65, 122, 124, 226, 233, 146, 227, 5, 336,
+ 274, 147, 97, 275, 178, 75, 43, 76, 122, 122,
+ 131, 132, 44, 87, 88, 133, 184, 185, -12, 74,
+ 138, 138, -15, 59, 179, 75, 72, 254, 73, 92,
+ 93, 44, 44, 264, 139, 155, 181, 157, 158, 159,
+ 335, -12, 264, 262, 161, -15, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 60, 234,
+ 230, 25, -96, 316, 177, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 63, 345, 138,
+ 81, 348, 138, 81, 85, 255, 186, 317, 318, 86,
+ 190, 84, -114, 152, 19, -97, 183, 301, 112, 113,
+ 128, 303, 79, 160, 286, 79, 223, 225, 85, 221,
+ 56, 134, 135, 253, 19, 87, 127, 76, 322, 4,
+ 137, 325, 129, 103, 48, 49, 5, 19, 122, 122,
+ -106, 92, 93, 153, 44, 162, -92, 176, 81, 81,
+ 117, 276, 81, 188, 81, 283, 284, 139, 81, 347,
+ 187, 231, 349, 250, 270, 92, 93, 243, 297, -115,
+ 79, 79, 235, 236, 79, 238, 79, 50, 51, 252,
+ 79, -106, 281, 299, 288, 138, 76, 81, 259, 282,
+ 256, 243, 305, 285, 260, 261, 289, 331, -106, 311,
+ 309, 52, 81, 281, -106, 192, 124, 296, 194, 79,
+ 287, 98, 99, 100, 101, 102, -115, -115, 103, 337,
+ 333, 110, 111, 237, 79, 210, 71, 302, 326, 327,
+ 117, 342, 245, 104, 105, 106, 107, 108, 338, 339,
+ 109, 251, 82, 307, 330, 85, 257, 308, 67, 222,
+ 86, 313, 112, 113, 340, 304, 0, 306, 63, 0,
+ 293, 114, 0, 239, 240, 0, 63, 241, 0, 244,
+ 0, 272, 0, 246, 20, 273, 87, 88, 89, 0,
+ 328, 329, 0, 23, 0, 97, 100, 101, 102, 90,
+ 0, 103, 92, 93, 0, 0, 0, 0, 291, 0,
+ 0, 0, 266, 0, 0, 294, 295, 0, 0, 298,
+ 76, 0, 0, 0, 0, 0, 0, 277, 0, 85,
+ 0, 0, 0, 0, 86, 0, 0, 312, 0, 314,
+ 0, 315, 320, 321, 0, 323, 2, 3, 0, 4,
+ 5, 0, 0, 6, 7, 0, 0, 0, 0, 0,
+ 87, 88, 89, 0, 8, 9, 341, 0, 0, 343,
+ 0, 0, 344, 90, 346, 0, 92, 93, 0, 0,
+ 0, 0, 10, 11, 12, 13, 0, 0, 139, 0,
+ 14, 15, 16, 17, 18, 0, 0, 0, 19, 20,
+ 0, 0, 0, 0, 0, 21, 22, 0, 23, 0,
+ 24, 0, 0, 25, 26, 0, 27, 0, 0, -18,
+ 195, -18, 4, 5, 0, 0, 6, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 196,
+ 0, 197, 198, 199, -74, -74, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 0, 0, 0, 13, 209,
+ 0, 0, 0, 14, 15, 16, 17, 0, 0, 0,
+ 0, -74, 20, 0, 0, 0, 0, 0, 21, 22,
+ 0, 23, 0, 24, 0, 0, 25, 26, 0, 61,
+ 0, 0, 75, -74, 76, 195, 0, 4, 5, 0,
+ 0, 6, 7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 196, 0, 197, 198, 199, -73,
+ -73, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 0, 0, 0, 13, 209, 0, 0, 0, 14, 15,
+ 16, 17, 0, 0, 0, 0, -73, 20, 0, 0,
+ 0, 0, 0, 21, 22, 0, 23, 0, 24, 0,
+ 0, 25, 26, 0, 61, 0, 0, 75, -73, 76,
+ 195, 0, 4, 5, 0, 0, 6, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 196,
+ 0, 197, 198, 199, 0, 0, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 0, 0, 0, 13, 209,
+ 0, 0, 0, 14, 15, 16, 17, 69, 0, 4,
+ 5, 0, 20, 6, 7, 0, 0, -105, 21, 22,
+ 0, 23, 0, 24, 0, 0, 25, 26, 0, 61,
+ 0, 0, 75, 210, 76, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
+ 14, 15, 16, 17, 0, 0, 0, 0, -105, 20,
+ 0, 0, 0, 0, 0, 21, 22, 0, 23, 0,
+ 24, 0, 0, 25, 267, -105, 61, 0, 4, 5,
+ 0, -105, 6, 7, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 196, 0, 197, 198, 199,
+ 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 0, 0, 0, 13, 209, 0, 0, 0, 14,
+ 15, 16, 17, 0, 0, 4, 5, 0, 20, 6,
+ 7, 0, 0, 0, 21, 22, 0, 23, 0, 24,
+ 0, 0, 25, 26, 0, 61, 0, 0, 75, 0,
+ 76, 0, 0, 0, 0, 0, 116, 0, 4, 5,
+ 0, 13, 6, 7, 117, 0, 14, 15, 16, 17,
+ 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
+ 0, 21, 22, 0, 23, 0, 24, 0, 0, 25,
+ 26, 0, 61, 0, 13, 0, 0, 76, 0, 14,
+ 15, 16, 17, 224, 0, 4, 5, 0, 20, 6,
+ 7, 117, 0, 0, 21, 22, 0, 23, 0, 24,
+ 0, 0, 25, 26, -113, 61, 0, 0, 0, 0,
+ 69, 0, 4, 5, 0, 0, 6, 7, 0, 0,
+ 0, 13, 0, 0, 0, 0, 14, 15, 16, 17,
+ 0, 0, 0, 0, 85, 20, 0, 0, 0, 86,
+ 0, 21, 22, 0, 23, 0, 24, 0, 13, 25,
+ 26, 0, 61, 14, 15, 16, 17, 189, 0, 4,
+ 5, 0, 20, 6, 7, 87, 88, 89, 21, 22,
+ 0, 23, 0, 24, 0, 0, 25, 26, 90, 61,
+ 91, 92, 93, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 263, 0, 13, 6, 7, 0, 0,
+ 14, 15, 16, 17, 0, 0, 0, 0, 0, 20,
+ 0, 0, 198, 0, 0, 21, 22, 0, 23, 0,
+ 24, 205, 206, 25, 26, 0, 61, 0, 13, 0,
+ 0, 0, 0, 14, 15, 16, 17, 0, 0, 0,
+ 4, 5, 20, 0, 6, 7, 0, 0, 21, 22,
+ 0, 23, 0, 24, 0, 0, 25, 26, 0, 61,
+ 198, 0, 0, 0, 0, 0, 0, 0, 0, 205,
+ 206, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 0, 14, 15, 16, 17, 0, 0, 0, 0, 0,
+ 20, 0, 0, 0, 0, 0, 21, 22, 85, 23,
+ 0, 24, 0, 86, 25, 26, 0, 61, 4, 5,
+ 0, 0, 6, 7, 0, 0, 0, 96, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 88, 89, 0, 0, 0, 4, 5, 0, 0, 6,
+ 7, 117, 90, 220, 13, 92, 93, 0, 0, 14,
+ 15, 16, 17, 0, 0, 0, 0, 85, 20, 0,
+ 0, 0, 86, 0, 21, 22, 0, 23, 0, 24,
+ 0, 13, 25, 26, 0, 61, 14, 15, 16, 17,
+ 0, 0, 4, 5, 0, 20, 6, 7, 87, 88,
+ 89, 21, 22, 0, 23, 0, 24, 0, 0, 25,
+ 26, 90, 61, 0, 92, 93, 0, 0, 0, 4,
+ 5, 0, 0, 6, 7, 0, 0, 0, 13, 0,
+ 0, 0, 0, 14, 15, 16, 17, 0, 0, 0,
+ 0, 0, 20, 0, 0, 0, 0, 0, 21, 22,
0, 23, 0, 24, 0, 0, 25, 26, 0, 61,
- 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, 0, 23, 0, 24, 0, 0, 25, 66, 0,
- 61
+ 24, 0, 0, 25, 66, 0, 61
};
static const yytype_int16 yycheck[] =
{
- 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, 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, 44, 29, 30, 217, 70, 86, 238, 1, 87,
+ 46, 13, 14, 15, 29, 1, 1, 1, 248, 21,
+ 22, 1, 24, 25, 1, 26, 120, 17, 17, 6,
+ 3, 111, 10, 35, 52, 27, 29, 15, 21, 22,
+ 314, 24, 43, 44, 1, 4, 1, 4, 4, 323,
+ 1, 6, 35, 4, 119, 73, 68, 75, 59, 60,
+ 59, 60, 71, 41, 42, 66, 131, 132, 52, 61,
+ 56, 56, 52, 68, 1, 73, 49, 1, 51, 57,
+ 58, 71, 71, 314, 69, 86, 72, 88, 89, 90,
+ 320, 75, 323, 237, 95, 75, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 68, 68,
+ 188, 67, 69, 1, 115, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 129, 341, 56,
+ 145, 344, 56, 148, 10, 229, 137, 25, 26, 15,
+ 141, 52, 69, 81, 52, 69, 129, 291, 44, 45,
+ 68, 295, 145, 91, 41, 148, 179, 180, 10, 160,
+ 162, 44, 45, 228, 52, 41, 50, 75, 312, 3,
+ 1, 315, 57, 66, 3, 4, 4, 52, 179, 180,
+ 11, 57, 58, 5, 71, 39, 74, 14, 203, 204,
+ 9, 256, 207, 41, 209, 260, 261, 69, 213, 343,
+ 138, 68, 346, 218, 247, 57, 58, 208, 286, 10,
+ 203, 204, 68, 68, 207, 68, 209, 46, 47, 220,
+ 213, 52, 258, 288, 267, 56, 75, 242, 4, 69,
+ 231, 232, 297, 27, 235, 236, 11, 317, 69, 304,
+ 21, 70, 257, 279, 75, 145, 247, 68, 148, 242,
+ 265, 59, 60, 61, 62, 63, 57, 58, 66, 324,
+ 55, 13, 14, 201, 257, 74, 267, 294, 7, 8,
+ 9, 336, 210, 59, 60, 61, 62, 63, 7, 7,
+ 66, 219, 30, 298, 317, 10, 232, 300, 25, 162,
+ 15, 306, 44, 45, 332, 296, -1, 298, 300, -1,
+ 279, 53, -1, 203, 204, -1, 308, 207, -1, 209,
+ -1, 249, -1, 213, 53, 253, 41, 42, 43, -1,
+ 59, 60, -1, 62, -1, 308, 61, 62, 63, 54,
+ -1, 66, 57, 58, -1, -1, -1, -1, 276, -1,
+ -1, -1, 242, -1, -1, 283, 284, -1, -1, 287,
+ 75, -1, -1, -1, -1, -1, -1, 257, -1, 10,
+ -1, -1, -1, -1, 15, -1, -1, 305, -1, 307,
+ -1, 309, 310, 311, -1, 313, 0, 1, -1, 3,
+ 4, -1, -1, 7, 8, -1, -1, -1, -1, -1,
+ 41, 42, 43, -1, 18, 19, 334, -1, -1, 337,
+ -1, -1, 340, 54, 342, -1, 57, 58, -1, -1,
+ -1, -1, 36, 37, 38, 39, -1, -1, 69, -1,
+ 44, 45, 46, 47, 48, -1, -1, -1, 52, 53,
+ -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
+ 64, -1, -1, 67, 68, -1, 70, -1, -1, 73,
+ 1, 75, 3, 4, -1, -1, 7, 8, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ -1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
+ -1, -1, -1, 44, 45, 46, 47, -1, -1, -1,
+ -1, 52, 53, -1, -1, -1, -1, -1, 59, 60,
+ -1, 62, -1, 64, -1, -1, 67, 68, -1, 70,
+ -1, -1, 73, 74, 75, 1, -1, 3, 4, -1,
+ -1, 7, 8, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 20, -1, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ -1, -1, -1, 39, 40, -1, -1, -1, 44, 45,
+ 46, 47, -1, -1, -1, -1, 52, 53, -1, -1,
+ -1, -1, -1, 59, 60, -1, 62, -1, 64, -1,
+ -1, 67, 68, -1, 70, -1, -1, 73, 74, 75,
+ 1, -1, 3, 4, -1, -1, 7, 8, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
-1, 22, 23, 24, -1, -1, 27, 28, 29, 30,
31, 32, 33, 34, 35, -1, -1, -1, 39, 40,
- -1, -1, -1, 44, 45, 46, 47, -1, -1, 3,
- 4, -1, 53, 7, 8, -1, -1, -1, 59, 60,
+ -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,
- -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, -1, 62, -1, 64, -1, -1, 67, 68, -1,
- 70
+ 64, -1, -1, 67, 68, -1, 70
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1116,38 +1123,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, 86, 89, 107, 118, 122, 123, 124, 125, 126,
- 127, 135, 136, 68, 71, 132, 133, 134, 3, 4,
- 46, 47, 70, 83, 84, 128, 136, 136, 136, 68,
- 68, 70, 123, 136, 123, 123, 68, 125, 136, 1,
- 114, 118, 49, 51, 127, 73, 75, 82, 91, 107,
- 138, 142, 82, 87, 52, 10, 15, 41, 42, 43,
- 54, 56, 57, 58, 120, 121, 12, 123, 59, 60,
+ 85, 87, 90, 108, 119, 123, 124, 125, 126, 127,
+ 128, 136, 137, 68, 71, 133, 134, 135, 3, 4,
+ 46, 47, 70, 83, 84, 129, 137, 137, 137, 68,
+ 68, 70, 124, 137, 124, 124, 68, 126, 137, 1,
+ 115, 119, 49, 51, 128, 73, 75, 82, 92, 108,
+ 139, 143, 82, 88, 52, 10, 15, 41, 42, 43,
+ 54, 56, 57, 58, 121, 122, 12, 124, 59, 60,
61, 62, 63, 66, 59, 60, 61, 62, 63, 66,
- 13, 14, 44, 45, 53, 119, 1, 9, 88, 115,
- 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, 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
+ 13, 14, 44, 45, 53, 120, 1, 9, 89, 116,
+ 117, 118, 119, 115, 119, 17, 133, 50, 68, 57,
+ 110, 116, 116, 119, 44, 45, 138, 1, 56, 69,
+ 141, 145, 141, 1, 6, 79, 1, 6, 80, 108,
+ 109, 91, 109, 5, 89, 119, 136, 119, 119, 119,
+ 109, 119, 39, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 89, 14, 119, 141, 1,
+ 145, 72, 86, 124, 141, 141, 119, 109, 41, 1,
+ 119, 1, 92, 1, 92, 1, 20, 22, 23, 24,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 40,
+ 74, 93, 94, 96, 103, 107, 119, 139, 140, 143,
+ 55, 119, 129, 118, 1, 118, 1, 4, 111, 112,
+ 136, 68, 95, 4, 68, 68, 68, 109, 68, 92,
+ 92, 92, 113, 119, 92, 109, 92, 97, 91, 142,
+ 143, 109, 119, 141, 1, 145, 119, 113, 98, 4,
+ 119, 119, 93, 4, 96, 99, 92, 68, 104, 114,
+ 115, 140, 109, 109, 1, 4, 141, 92, 130, 131,
+ 132, 133, 69, 141, 141, 27, 41, 143, 115, 11,
+ 105, 109, 17, 132, 109, 109, 68, 136, 109, 141,
+ 106, 93, 139, 93, 119, 141, 119, 143, 123, 21,
+ 100, 141, 109, 143, 109, 109, 1, 25, 26, 101,
+ 109, 109, 93, 109, 99, 93, 7, 8, 59, 60,
+ 87, 89, 102, 55, 144, 140, 99, 141, 7, 7,
+ 144, 109, 141, 109, 109, 91, 109, 93, 91, 93
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1156,24 +1163,24 @@ static const yytype_uint8 yyr1[] =
0, 76, 77, 77, 77, 77, 77, 78, 78, 78,
78, 78, 79, 79, 79, 80, 80, 80, 81, 81,
81, 81, 81, 81, 81, 82, 83, 83, 83, 83,
- 84, 84, 85, 87, 86, 88, 89, 89, 90, 90,
- 90, 91, 91, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 93, 93, 93, 93, 93, 94, 93,
- 93, 96, 95, 97, 95, 95, 95, 98, 98, 99,
- 99, 99, 100, 100, 101, 101, 101, 101, 101, 101,
- 102, 102, 103, 103, 104, 105, 104, 106, 106, 107,
- 107, 108, 108, 109, 109, 110, 110, 111, 111, 111,
- 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, 118, 119, 119, 119, 120, 120, 121, 121, 122,
- 122, 122, 123, 123, 123, 123, 123, 123, 123, 123,
+ 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,
- 125, 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
+ 124, 124, 124, 124, 125, 125, 125, 125, 125, 125,
+ 125, 126, 126, 126, 126, 126, 126, 126, 126, 126,
+ 126, 126, 126, 126, 126, 127, 127, 128, 129, 129,
+ 130, 130, 131, 131, 132, 133, 134, 134, 135, 136,
+ 136, 137, 137, 138, 138, 138, 139, 140, 141, 142,
+ 142, 143, 144, 145
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1182,24 +1189,24 @@ static const yytype_uint8 yyr2[] =
0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
4, 4, 1, 2, 1, 1, 2, 1, 0, 1,
4, 1, 1, 1, 1, 5, 1, 1, 1, 2,
- 1, 1, 6, 0, 3, 1, 1, 1, 0, 2,
- 2, 1, 2, 2, 3, 1, 9, 6, 8, 8,
- 12, 11, 1, 2, 2, 2, 2, 3, 0, 4,
- 2, 0, 4, 0, 4, 4, 1, 0, 1, 0,
- 2, 2, 5, 4, 1, 2, 2, 1, 1, 1,
- 1, 1, 1, 3, 0, 0, 3, 6, 9, 1,
- 2, 0, 1, 0, 2, 0, 1, 1, 3, 1,
- 2, 3, 0, 1, 0, 1, 1, 3, 1, 2,
- 3, 3, 0, 1, 1, 3, 1, 2, 3, 3,
- 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
- 5, 1, 1, 1, 2, 1, 1, 1, 1, 1,
- 1, 2, 1, 3, 3, 3, 3, 3, 3, 3,
- 2, 2, 5, 4, 3, 3, 3, 3, 3, 3,
- 1, 2, 3, 4, 4, 1, 1, 1, 2, 2,
- 1, 1, 2, 2, 1, 2, 4, 0, 1, 0,
- 2, 1, 2, 1, 3, 1, 2, 2, 1, 2,
- 1, 3, 1, 1, 0, 2, 2, 1, 0, 1,
- 1, 1, 2
+ 1, 1, 0, 7, 0, 3, 1, 1, 1, 0,
+ 2, 2, 1, 2, 2, 3, 1, 9, 6, 8,
+ 8, 12, 11, 1, 2, 2, 2, 2, 3, 0,
+ 4, 2, 0, 4, 0, 4, 4, 1, 0, 1,
+ 0, 2, 2, 5, 4, 1, 2, 2, 1, 1,
+ 1, 1, 1, 1, 3, 0, 0, 3, 6, 9,
+ 1, 2, 0, 1, 0, 2, 0, 1, 1, 3,
+ 1, 2, 3, 0, 1, 0, 1, 1, 3, 1,
+ 2, 3, 3, 0, 1, 1, 3, 1, 2, 3,
+ 3, 1, 1, 3, 3, 3, 3, 3, 3, 3,
+ 3, 5, 1, 1, 1, 2, 1, 1, 1, 1,
+ 1, 1, 2, 1, 3, 3, 3, 3, 3, 3,
+ 3, 2, 2, 5, 4, 3, 3, 3, 3, 3,
+ 3, 1, 2, 3, 4, 4, 1, 1, 1, 2,
+ 2, 1, 1, 2, 2, 1, 2, 4, 0, 1,
+ 0, 2, 1, 2, 1, 3, 1, 2, 2, 1,
+ 2, 1, 3, 1, 1, 0, 2, 2, 1, 0,
+ 1, 1, 1, 2
};
@@ -1876,24 +1883,24 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 208 "awkgram.y" /* yacc.c:1646 */
+#line 213 "awkgram.y" /* yacc.c:1646 */
{
rule = 0;
yyerrok;
}
-#line 1885 "awkgram.c" /* yacc.c:1646 */
+#line 1892 "awkgram.c" /* yacc.c:1646 */
break;
case 5:
-#line 214 "awkgram.y" /* yacc.c:1646 */
+#line 219 "awkgram.y" /* yacc.c:1646 */
{
next_sourcefile();
}
-#line 1893 "awkgram.c" /* yacc.c:1646 */
+#line 1900 "awkgram.c" /* yacc.c:1646 */
break;
case 6:
-#line 218 "awkgram.y" /* yacc.c:1646 */
+#line 223 "awkgram.y" /* yacc.c:1646 */
{
rule = 0;
/*
@@ -1902,20 +1909,20 @@ yyreduce:
*/
/* yyerrok; */
}
-#line 1906 "awkgram.c" /* yacc.c:1646 */
+#line 1913 "awkgram.c" /* yacc.c:1646 */
break;
case 7:
-#line 230 "awkgram.y" /* yacc.c:1646 */
+#line 235 "awkgram.y" /* yacc.c:1646 */
{
(void) append_rule((yyvsp[-1]), (yyvsp[0]));
first_rule = false;
}
-#line 1915 "awkgram.c" /* yacc.c:1646 */
+#line 1922 "awkgram.c" /* yacc.c:1646 */
break;
case 8:
-#line 235 "awkgram.y" /* yacc.c:1646 */
+#line 240 "awkgram.y" /* yacc.c:1646 */
{
if (rule != Rule) {
msg(_("%s blocks must have an action part"), ruletab[rule]);
@@ -1926,41 +1933,42 @@ yyreduce:
} else /* pattern rule with non-empty pattern */
(void) append_rule((yyvsp[-1]), NULL);
}
-#line 1930 "awkgram.c" /* yacc.c:1646 */
+#line 1937 "awkgram.c" /* yacc.c:1646 */
break;
case 9:
-#line 246 "awkgram.y" /* yacc.c:1646 */
+#line 251 "awkgram.y" /* yacc.c:1646 */
{
in_function = NULL;
(void) mk_function((yyvsp[-1]), (yyvsp[0]));
+ want_param_names = DONT_CHECK;
yyerrok;
}
-#line 1940 "awkgram.c" /* yacc.c:1646 */
+#line 1948 "awkgram.c" /* yacc.c:1646 */
break;
case 10:
-#line 252 "awkgram.y" /* yacc.c:1646 */
+#line 258 "awkgram.y" /* yacc.c:1646 */
{
want_source = false;
at_seen = false;
yyerrok;
}
-#line 1950 "awkgram.c" /* yacc.c:1646 */
+#line 1958 "awkgram.c" /* yacc.c:1646 */
break;
case 11:
-#line 258 "awkgram.y" /* yacc.c:1646 */
+#line 264 "awkgram.y" /* yacc.c:1646 */
{
want_source = false;
at_seen = false;
yyerrok;
}
-#line 1960 "awkgram.c" /* yacc.c:1646 */
+#line 1968 "awkgram.c" /* yacc.c:1646 */
break;
case 12:
-#line 267 "awkgram.y" /* yacc.c:1646 */
+#line 273 "awkgram.y" /* yacc.c:1646 */
{
if (include_source((yyvsp[0])) < 0)
YYABORT;
@@ -1968,23 +1976,23 @@ yyreduce:
bcfree((yyvsp[0]));
(yyval) = NULL;
}
-#line 1972 "awkgram.c" /* yacc.c:1646 */
+#line 1980 "awkgram.c" /* yacc.c:1646 */
break;
case 13:
-#line 275 "awkgram.y" /* yacc.c:1646 */
+#line 281 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 1978 "awkgram.c" /* yacc.c:1646 */
+#line 1986 "awkgram.c" /* yacc.c:1646 */
break;
case 14:
-#line 277 "awkgram.y" /* yacc.c:1646 */
+#line 283 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 1984 "awkgram.c" /* yacc.c:1646 */
+#line 1992 "awkgram.c" /* yacc.c:1646 */
break;
case 15:
-#line 282 "awkgram.y" /* yacc.c:1646 */
+#line 288 "awkgram.y" /* yacc.c:1646 */
{
if (load_library((yyvsp[0])) < 0)
YYABORT;
@@ -1992,23 +2000,23 @@ yyreduce:
bcfree((yyvsp[0]));
(yyval) = NULL;
}
-#line 1996 "awkgram.c" /* yacc.c:1646 */
+#line 2004 "awkgram.c" /* yacc.c:1646 */
break;
case 16:
-#line 290 "awkgram.y" /* yacc.c:1646 */
+#line 296 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2002 "awkgram.c" /* yacc.c:1646 */
+#line 2010 "awkgram.c" /* yacc.c:1646 */
break;
case 17:
-#line 292 "awkgram.y" /* yacc.c:1646 */
+#line 298 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2008 "awkgram.c" /* yacc.c:1646 */
+#line 2016 "awkgram.c" /* yacc.c:1646 */
break;
case 18:
-#line 297 "awkgram.y" /* yacc.c:1646 */
+#line 303 "awkgram.y" /* yacc.c:1646 */
{
rule = Rule;
if (comment != NULL) {
@@ -2017,11 +2025,11 @@ yyreduce:
} else
(yyval) = NULL;
}
-#line 2021 "awkgram.c" /* yacc.c:1646 */
+#line 2029 "awkgram.c" /* yacc.c:1646 */
break;
case 19:
-#line 306 "awkgram.y" /* yacc.c:1646 */
+#line 312 "awkgram.y" /* yacc.c:1646 */
{
rule = Rule;
if (comment != NULL) {
@@ -2030,11 +2038,11 @@ yyreduce:
} else
(yyval) = (yyvsp[0]);
}
-#line 2034 "awkgram.c" /* yacc.c:1646 */
+#line 2042 "awkgram.c" /* yacc.c:1646 */
break;
case 20:
-#line 316 "awkgram.y" /* yacc.c:1646 */
+#line 322 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *tp;
@@ -2064,11 +2072,11 @@ yyreduce:
(yyval) = list_append(list_merge((yyvsp[-3]), (yyvsp[0])), tp);
rule = Rule;
}
-#line 2068 "awkgram.c" /* yacc.c:1646 */
+#line 2076 "awkgram.c" /* yacc.c:1646 */
break;
case 21:
-#line 346 "awkgram.y" /* yacc.c:1646 */
+#line 352 "awkgram.y" /* yacc.c:1646 */
{
static int begin_seen = 0;
@@ -2082,11 +2090,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2086 "awkgram.c" /* yacc.c:1646 */
+#line 2094 "awkgram.c" /* yacc.c:1646 */
break;
case 22:
-#line 360 "awkgram.y" /* yacc.c:1646 */
+#line 366 "awkgram.y" /* yacc.c:1646 */
{
static int end_seen = 0;
@@ -2100,11 +2108,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2104 "awkgram.c" /* yacc.c:1646 */
+#line 2112 "awkgram.c" /* yacc.c:1646 */
break;
case 23:
-#line 374 "awkgram.y" /* yacc.c:1646 */
+#line 380 "awkgram.y" /* yacc.c:1646 */
{
func_first = false;
(yyvsp[0])->in_rule = rule = BEGINFILE;
@@ -2112,11 +2120,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2116 "awkgram.c" /* yacc.c:1646 */
+#line 2124 "awkgram.c" /* yacc.c:1646 */
break;
case 24:
-#line 382 "awkgram.y" /* yacc.c:1646 */
+#line 388 "awkgram.y" /* yacc.c:1646 */
{
func_first = false;
(yyvsp[0])->in_rule = rule = ENDFILE;
@@ -2124,11 +2132,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2128 "awkgram.c" /* yacc.c:1646 */
+#line 2136 "awkgram.c" /* yacc.c:1646 */
break;
case 25:
-#line 393 "awkgram.y" /* yacc.c:1646 */
+#line 399 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
if ((yyvsp[-3]) == NULL)
@@ -2137,42 +2145,48 @@ yyreduce:
ip = (yyvsp[-3]);
(yyval) = ip;
}
-#line 2141 "awkgram.c" /* yacc.c:1646 */
+#line 2149 "awkgram.c" /* yacc.c:1646 */
break;
case 26:
-#line 405 "awkgram.y" /* yacc.c:1646 */
+#line 411 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2147 "awkgram.c" /* yacc.c:1646 */
+#line 2155 "awkgram.c" /* yacc.c:1646 */
break;
case 27:
-#line 407 "awkgram.y" /* yacc.c:1646 */
+#line 413 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2153 "awkgram.c" /* yacc.c:1646 */
+#line 2161 "awkgram.c" /* yacc.c:1646 */
break;
case 28:
-#line 409 "awkgram.y" /* yacc.c:1646 */
+#line 415 "awkgram.y" /* yacc.c:1646 */
{
yyerror(_("`%s' is a built-in function, it cannot be redefined"),
tokstart);
YYABORT;
}
-#line 2163 "awkgram.c" /* yacc.c:1646 */
+#line 2171 "awkgram.c" /* yacc.c:1646 */
break;
case 29:
-#line 415 "awkgram.y" /* yacc.c:1646 */
+#line 421 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[0]);
at_seen = false;
}
-#line 2172 "awkgram.c" /* yacc.c:1646 */
+#line 2180 "awkgram.c" /* yacc.c:1646 */
break;
case 32:
-#line 428 "awkgram.y" /* yacc.c:1646 */
+#line 433 "awkgram.y" /* yacc.c:1646 */
+ { want_param_names = FUNC_HEADER; }
+#line 2186 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 33:
+#line 434 "awkgram.y" /* yacc.c:1646 */
{
/*
* treat any comments between BOF and the first function
@@ -2190,26 +2204,27 @@ yyreduce:
comment = NULL;
}
func_first = false;
- (yyvsp[-5])->source_file = source;
- if (install_function((yyvsp[-4])->lextok, (yyvsp[-5]), (yyvsp[-2])) < 0)
+ (yyvsp[-6])->source_file = source;
+ if (install_function((yyvsp[-5])->lextok, (yyvsp[-6]), (yyvsp[-2])) < 0)
YYABORT;
- in_function = (yyvsp[-4])->lextok;
- (yyvsp[-4])->lextok = NULL;
- bcfree((yyvsp[-4]));
- /* $4 already free'd in install_function */
- (yyval) = (yyvsp[-5]);
+ in_function = (yyvsp[-5])->lextok;
+ (yyvsp[-5])->lextok = NULL;
+ bcfree((yyvsp[-5]));
+ /* $5 already free'd in install_function */
+ (yyval) = (yyvsp[-6]);
+ want_param_names = FUNC_BODY;
}
-#line 2203 "awkgram.c" /* yacc.c:1646 */
+#line 2218 "awkgram.c" /* yacc.c:1646 */
break;
- case 33:
-#line 462 "awkgram.y" /* yacc.c:1646 */
+ case 34:
+#line 469 "awkgram.y" /* yacc.c:1646 */
{ want_regexp = true; }
-#line 2209 "awkgram.c" /* yacc.c:1646 */
+#line 2224 "awkgram.c" /* yacc.c:1646 */
break;
- case 34:
-#line 464 "awkgram.y" /* yacc.c:1646 */
+ case 35:
+#line 471 "awkgram.y" /* yacc.c:1646 */
{
NODE *n, *exp;
char *re;
@@ -2238,11 +2253,11 @@ yyreduce:
(yyval)->opcode = Op_match_rec;
(yyval)->memory = n;
}
-#line 2242 "awkgram.c" /* yacc.c:1646 */
+#line 2257 "awkgram.c" /* yacc.c:1646 */
break;
- case 35:
-#line 496 "awkgram.y" /* yacc.c:1646 */
+ case 36:
+#line 503 "awkgram.y" /* yacc.c:1646 */
{
NODE *n, *exp;
char *re;
@@ -2267,28 +2282,28 @@ yyreduce:
#endif
(yyval)->memory = n;
}
-#line 2271 "awkgram.c" /* yacc.c:1646 */
+#line 2286 "awkgram.c" /* yacc.c:1646 */
break;
- case 36:
-#line 523 "awkgram.y" /* yacc.c:1646 */
+ case 37:
+#line 530 "awkgram.y" /* yacc.c:1646 */
{ bcfree((yyvsp[0])); }
-#line 2277 "awkgram.c" /* yacc.c:1646 */
+#line 2292 "awkgram.c" /* yacc.c:1646 */
break;
- case 38:
-#line 529 "awkgram.y" /* yacc.c:1646 */
+ case 39:
+#line 536 "awkgram.y" /* yacc.c:1646 */
{
if (comment != NULL) {
(yyval) = list_create(comment);
comment = NULL;
} else (yyval) = NULL;
}
-#line 2288 "awkgram.c" /* yacc.c:1646 */
+#line 2303 "awkgram.c" /* yacc.c:1646 */
break;
- case 39:
-#line 536 "awkgram.y" /* yacc.c:1646 */
+ case 40:
+#line 543 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0]) == NULL) {
if (comment == NULL)
@@ -2316,40 +2331,40 @@ yyreduce:
}
yyerrok;
}
-#line 2320 "awkgram.c" /* yacc.c:1646 */
+#line 2335 "awkgram.c" /* yacc.c:1646 */
break;
- case 40:
-#line 564 "awkgram.y" /* yacc.c:1646 */
+ case 41:
+#line 571 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2326 "awkgram.c" /* yacc.c:1646 */
+#line 2341 "awkgram.c" /* yacc.c:1646 */
break;
- case 43:
-#line 574 "awkgram.y" /* yacc.c:1646 */
+ case 44:
+#line 581 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2332 "awkgram.c" /* yacc.c:1646 */
+#line 2347 "awkgram.c" /* yacc.c:1646 */
break;
- case 44:
-#line 576 "awkgram.y" /* yacc.c:1646 */
+ case 45:
+#line 583 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 2338 "awkgram.c" /* yacc.c:1646 */
+#line 2353 "awkgram.c" /* yacc.c:1646 */
break;
- case 45:
-#line 578 "awkgram.y" /* yacc.c:1646 */
+ case 46:
+#line 585 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
(yyval) = (yyvsp[0]);
}
-#line 2349 "awkgram.c" /* yacc.c:1646 */
+#line 2364 "awkgram.c" /* yacc.c:1646 */
break;
- case 46:
-#line 585 "awkgram.y" /* yacc.c:1646 */
+ case 47:
+#line 592 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
INSTRUCTION *ip, *nextc, *tbreak;
@@ -2439,11 +2454,11 @@ yyreduce:
break_allowed--;
fix_break_continue(ip, tbreak, NULL);
}
-#line 2443 "awkgram.c" /* yacc.c:1646 */
+#line 2458 "awkgram.c" /* yacc.c:1646 */
break;
- case 47:
-#line 675 "awkgram.y" /* yacc.c:1646 */
+ case 48:
+#line 682 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2485,11 +2500,11 @@ yyreduce:
continue_allowed--;
fix_break_continue(ip, tbreak, tcont);
}
-#line 2489 "awkgram.c" /* yacc.c:1646 */
+#line 2504 "awkgram.c" /* yacc.c:1646 */
break;
- case 48:
-#line 717 "awkgram.y" /* yacc.c:1646 */
+ case 49:
+#line 724 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2531,11 +2546,11 @@ yyreduce:
} /* else
$1 and $4 are NULLs */
}
-#line 2535 "awkgram.c" /* yacc.c:1646 */
+#line 2550 "awkgram.c" /* yacc.c:1646 */
break;
- case 49:
-#line 759 "awkgram.y" /* yacc.c:1646 */
+ case 50:
+#line 766 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
char *var_name = (yyvsp[-5])->lextok;
@@ -2648,44 +2663,44 @@ regular_loop:
break_allowed--;
continue_allowed--;
}
-#line 2652 "awkgram.c" /* yacc.c:1646 */
+#line 2667 "awkgram.c" /* yacc.c:1646 */
break;
- case 50:
-#line 872 "awkgram.y" /* yacc.c:1646 */
+ case 51:
+#line 879 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
-#line 2663 "awkgram.c" /* yacc.c:1646 */
+#line 2678 "awkgram.c" /* yacc.c:1646 */
break;
- case 51:
-#line 879 "awkgram.y" /* yacc.c:1646 */
+ case 52:
+#line 886 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION *) NULL, (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
-#line 2674 "awkgram.c" /* yacc.c:1646 */
+#line 2689 "awkgram.c" /* yacc.c:1646 */
break;
- case 52:
-#line 886 "awkgram.y" /* yacc.c:1646 */
+ case 53:
+#line 893 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
(yyval) = (yyvsp[0]);
}
-#line 2685 "awkgram.c" /* yacc.c:1646 */
+#line 2700 "awkgram.c" /* yacc.c:1646 */
break;
- case 53:
-#line 896 "awkgram.y" /* yacc.c:1646 */
+ case 54:
+#line 903 "awkgram.y" /* yacc.c:1646 */
{
if (! break_allowed)
error_ln((yyvsp[-1])->source_line,
@@ -2694,11 +2709,11 @@ regular_loop:
(yyval) = list_create((yyvsp[-1]));
}
-#line 2698 "awkgram.c" /* yacc.c:1646 */
+#line 2713 "awkgram.c" /* yacc.c:1646 */
break;
- case 54:
-#line 905 "awkgram.y" /* yacc.c:1646 */
+ case 55:
+#line 912 "awkgram.y" /* yacc.c:1646 */
{
if (! continue_allowed)
error_ln((yyvsp[-1])->source_line,
@@ -2707,11 +2722,11 @@ regular_loop:
(yyval) = list_create((yyvsp[-1]));
}
-#line 2711 "awkgram.c" /* yacc.c:1646 */
+#line 2726 "awkgram.c" /* yacc.c:1646 */
break;
- case 55:
-#line 914 "awkgram.y" /* yacc.c:1646 */
+ case 56:
+#line 921 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule && rule != Rule)
@@ -2720,11 +2735,11 @@ regular_loop:
(yyvsp[-1])->target_jmp = ip_rec;
(yyval) = list_create((yyvsp[-1]));
}
-#line 2724 "awkgram.c" /* yacc.c:1646 */
+#line 2739 "awkgram.c" /* yacc.c:1646 */
break;
- case 56:
-#line 923 "awkgram.y" /* yacc.c:1646 */
+ case 57:
+#line 930 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule == BEGIN || rule == END || rule == ENDFILE)
@@ -2735,11 +2750,11 @@ regular_loop:
(yyvsp[-1])->target_endfile = ip_endfile;
(yyval) = list_create((yyvsp[-1]));
}
-#line 2739 "awkgram.c" /* yacc.c:1646 */
+#line 2754 "awkgram.c" /* yacc.c:1646 */
break;
- case 57:
-#line 934 "awkgram.y" /* yacc.c:1646 */
+ case 58:
+#line 941 "awkgram.y" /* yacc.c:1646 */
{
/* Initialize the two possible jump targets, the actual target
* is resolved at run-time.
@@ -2754,20 +2769,20 @@ regular_loop:
} else
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
}
-#line 2758 "awkgram.c" /* yacc.c:1646 */
+#line 2773 "awkgram.c" /* yacc.c:1646 */
break;
- case 58:
-#line 949 "awkgram.y" /* yacc.c:1646 */
+ case 59:
+#line 956 "awkgram.y" /* yacc.c:1646 */
{
if (! in_function)
yyerror(_("`return' used outside function context"));
}
-#line 2767 "awkgram.c" /* yacc.c:1646 */
+#line 2782 "awkgram.c" /* yacc.c:1646 */
break;
- case 59:
-#line 952 "awkgram.y" /* yacc.c:1646 */
+ case 60:
+#line 959 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL) {
(yyval) = list_create((yyvsp[-3]));
@@ -2788,17 +2803,17 @@ regular_loop:
(yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
}
}
-#line 2792 "awkgram.c" /* yacc.c:1646 */
+#line 2807 "awkgram.c" /* yacc.c:1646 */
break;
- case 61:
-#line 984 "awkgram.y" /* yacc.c:1646 */
+ case 62:
+#line 991 "awkgram.y" /* yacc.c:1646 */
{ in_print = true; in_parens = 0; }
-#line 2798 "awkgram.c" /* yacc.c:1646 */
+#line 2813 "awkgram.c" /* yacc.c:1646 */
break;
- case 62:
-#line 985 "awkgram.y" /* yacc.c:1646 */
+ case 63:
+#line 992 "awkgram.y" /* yacc.c:1646 */
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2895,17 +2910,17 @@ regular_print:
}
}
}
-#line 2899 "awkgram.c" /* yacc.c:1646 */
+#line 2914 "awkgram.c" /* yacc.c:1646 */
break;
- case 63:
-#line 1082 "awkgram.y" /* yacc.c:1646 */
+ case 64:
+#line 1089 "awkgram.y" /* yacc.c:1646 */
{ sub_counter = 0; }
-#line 2905 "awkgram.c" /* yacc.c:1646 */
+#line 2920 "awkgram.c" /* yacc.c:1646 */
break;
- case 64:
-#line 1083 "awkgram.y" /* yacc.c:1646 */
+ case 65:
+#line 1090 "awkgram.y" /* yacc.c:1646 */
{
char *arr = (yyvsp[-2])->lextok;
@@ -2938,11 +2953,11 @@ regular_print:
(yyval) = list_append(list_append((yyvsp[0]), (yyvsp[-2])), (yyvsp[-3]));
}
}
-#line 2942 "awkgram.c" /* yacc.c:1646 */
+#line 2957 "awkgram.c" /* yacc.c:1646 */
break;
- case 65:
-#line 1120 "awkgram.y" /* yacc.c:1646 */
+ case 66:
+#line 1127 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
char *arr = (yyvsp[-1])->lextok;
@@ -2968,52 +2983,52 @@ regular_print:
fatal(_("`delete' is not allowed with FUNCTAB"));
}
}
-#line 2972 "awkgram.c" /* yacc.c:1646 */
+#line 2987 "awkgram.c" /* yacc.c:1646 */
break;
- case 66:
-#line 1146 "awkgram.y" /* yacc.c:1646 */
+ case 67:
+#line 1153 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = optimize_assignment((yyvsp[0])); }
-#line 2978 "awkgram.c" /* yacc.c:1646 */
+#line 2993 "awkgram.c" /* yacc.c:1646 */
break;
- case 67:
-#line 1151 "awkgram.y" /* yacc.c:1646 */
+ case 68:
+#line 1158 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2984 "awkgram.c" /* yacc.c:1646 */
+#line 2999 "awkgram.c" /* yacc.c:1646 */
break;
- case 68:
-#line 1153 "awkgram.y" /* yacc.c:1646 */
+ case 69:
+#line 1160 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2990 "awkgram.c" /* yacc.c:1646 */
+#line 3005 "awkgram.c" /* yacc.c:1646 */
break;
- case 69:
-#line 1158 "awkgram.y" /* yacc.c:1646 */
+ case 70:
+#line 1165 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2996 "awkgram.c" /* yacc.c:1646 */
+#line 3011 "awkgram.c" /* yacc.c:1646 */
break;
- case 70:
-#line 1160 "awkgram.y" /* yacc.c:1646 */
+ case 71:
+#line 1167 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL)
(yyval) = list_create((yyvsp[0]));
else
(yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
}
-#line 3007 "awkgram.c" /* yacc.c:1646 */
+#line 3022 "awkgram.c" /* yacc.c:1646 */
break;
- case 71:
-#line 1167 "awkgram.y" /* yacc.c:1646 */
+ case 72:
+#line 1174 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3013 "awkgram.c" /* yacc.c:1646 */
+#line 3028 "awkgram.c" /* yacc.c:1646 */
break;
- case 72:
-#line 1172 "awkgram.y" /* yacc.c:1646 */
+ case 73:
+#line 1179 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3025,11 +3040,11 @@ regular_print:
bcfree((yyvsp[-2]));
(yyval) = (yyvsp[-4]);
}
-#line 3029 "awkgram.c" /* yacc.c:1646 */
+#line 3044 "awkgram.c" /* yacc.c:1646 */
break;
- case 73:
-#line 1184 "awkgram.y" /* yacc.c:1646 */
+ case 74:
+#line 1191 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3040,17 +3055,17 @@ regular_print:
(yyvsp[-3])->case_stmt = casestmt;
(yyval) = (yyvsp[-3]);
}
-#line 3044 "awkgram.c" /* yacc.c:1646 */
+#line 3059 "awkgram.c" /* yacc.c:1646 */
break;
- case 74:
-#line 1198 "awkgram.y" /* yacc.c:1646 */
+ case 75:
+#line 1205 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3050 "awkgram.c" /* yacc.c:1646 */
+#line 3065 "awkgram.c" /* yacc.c:1646 */
break;
- case 75:
-#line 1200 "awkgram.y" /* yacc.c:1646 */
+ case 76:
+#line 1207 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->memory;
(void) force_number(n);
@@ -3058,26 +3073,26 @@ regular_print:
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3062 "awkgram.c" /* yacc.c:1646 */
+#line 3077 "awkgram.c" /* yacc.c:1646 */
break;
- case 76:
-#line 1208 "awkgram.y" /* yacc.c:1646 */
+ case 77:
+#line 1215 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3071 "awkgram.c" /* yacc.c:1646 */
+#line 3086 "awkgram.c" /* yacc.c:1646 */
break;
- case 77:
-#line 1213 "awkgram.y" /* yacc.c:1646 */
+ case 78:
+#line 1220 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3077 "awkgram.c" /* yacc.c:1646 */
+#line 3092 "awkgram.c" /* yacc.c:1646 */
break;
- case 78:
-#line 1215 "awkgram.y" /* yacc.c:1646 */
+ case 79:
+#line 1222 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->memory->type == Node_regex)
(yyvsp[0])->opcode = Op_push_re;
@@ -3085,57 +3100,57 @@ regular_print:
(yyvsp[0])->opcode = Op_push;
(yyval) = (yyvsp[0]);
}
-#line 3089 "awkgram.c" /* yacc.c:1646 */
+#line 3104 "awkgram.c" /* yacc.c:1646 */
break;
- case 79:
-#line 1223 "awkgram.y" /* yacc.c:1646 */
+ case 80:
+#line 1230 "awkgram.y" /* yacc.c:1646 */
{
assert((yyvsp[0])->memory->type == Node_hardregex);
(yyvsp[0])->opcode = Op_push_re;
(yyval) = (yyvsp[0]);
}
-#line 3099 "awkgram.c" /* yacc.c:1646 */
+#line 3114 "awkgram.c" /* yacc.c:1646 */
break;
- case 80:
-#line 1232 "awkgram.y" /* yacc.c:1646 */
+ case 81:
+#line 1239 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3105 "awkgram.c" /* yacc.c:1646 */
+#line 3120 "awkgram.c" /* yacc.c:1646 */
break;
- case 81:
-#line 1234 "awkgram.y" /* yacc.c:1646 */
+ case 82:
+#line 1241 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3111 "awkgram.c" /* yacc.c:1646 */
+#line 3126 "awkgram.c" /* yacc.c:1646 */
break;
- case 83:
-#line 1244 "awkgram.y" /* yacc.c:1646 */
+ case 84:
+#line 1251 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[-1]);
}
-#line 3119 "awkgram.c" /* yacc.c:1646 */
+#line 3134 "awkgram.c" /* yacc.c:1646 */
break;
- case 84:
-#line 1251 "awkgram.y" /* yacc.c:1646 */
+ case 85:
+#line 1258 "awkgram.y" /* yacc.c:1646 */
{
in_print = false;
in_parens = 0;
(yyval) = NULL;
}
-#line 3129 "awkgram.c" /* yacc.c:1646 */
+#line 3144 "awkgram.c" /* yacc.c:1646 */
break;
- case 85:
-#line 1256 "awkgram.y" /* yacc.c:1646 */
+ case 86:
+#line 1263 "awkgram.y" /* yacc.c:1646 */
{ in_print = false; in_parens = 0; }
-#line 3135 "awkgram.c" /* yacc.c:1646 */
+#line 3150 "awkgram.c" /* yacc.c:1646 */
break;
- case 86:
-#line 1257 "awkgram.y" /* yacc.c:1646 */
+ case 87:
+#line 1264 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->redir_type == redirect_twoway
&& (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@ -3143,136 +3158,136 @@ regular_print:
yyerror(_("multistage two-way pipelines don't work"));
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
}
-#line 3147 "awkgram.c" /* yacc.c:1646 */
+#line 3162 "awkgram.c" /* yacc.c:1646 */
break;
- case 87:
-#line 1268 "awkgram.y" /* yacc.c:1646 */
+ case 88:
+#line 1275 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
}
-#line 3155 "awkgram.c" /* yacc.c:1646 */
+#line 3170 "awkgram.c" /* yacc.c:1646 */
break;
- case 88:
-#line 1273 "awkgram.y" /* yacc.c:1646 */
+ case 89:
+#line 1280 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
}
-#line 3163 "awkgram.c" /* yacc.c:1646 */
+#line 3178 "awkgram.c" /* yacc.c:1646 */
break;
- case 93:
-#line 1290 "awkgram.y" /* yacc.c:1646 */
+ case 94:
+#line 1297 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3169 "awkgram.c" /* yacc.c:1646 */
+#line 3184 "awkgram.c" /* yacc.c:1646 */
break;
- case 94:
-#line 1292 "awkgram.y" /* yacc.c:1646 */
+ case 95:
+#line 1299 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3178 "awkgram.c" /* yacc.c:1646 */
+#line 3193 "awkgram.c" /* yacc.c:1646 */
break;
- case 95:
-#line 1300 "awkgram.y" /* yacc.c:1646 */
+ case 96:
+#line 1307 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3184 "awkgram.c" /* yacc.c:1646 */
+#line 3199 "awkgram.c" /* yacc.c:1646 */
break;
- case 96:
-#line 1302 "awkgram.y" /* yacc.c:1646 */
+ case 97:
+#line 1309 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3190 "awkgram.c" /* yacc.c:1646 */
+#line 3205 "awkgram.c" /* yacc.c:1646 */
break;
- case 97:
-#line 1307 "awkgram.y" /* yacc.c:1646 */
+ case 98:
+#line 1314 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = 0;
(yyval) = list_create((yyvsp[0]));
}
-#line 3199 "awkgram.c" /* yacc.c:1646 */
+#line 3214 "awkgram.c" /* yacc.c:1646 */
break;
- case 98:
-#line 1312 "awkgram.y" /* yacc.c:1646 */
+ case 99:
+#line 1319 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
(yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3209 "awkgram.c" /* yacc.c:1646 */
+#line 3224 "awkgram.c" /* yacc.c:1646 */
break;
- case 99:
-#line 1318 "awkgram.y" /* yacc.c:1646 */
+ case 100:
+#line 1325 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3215 "awkgram.c" /* yacc.c:1646 */
+#line 3230 "awkgram.c" /* yacc.c:1646 */
break;
- case 100:
-#line 1320 "awkgram.y" /* yacc.c:1646 */
+ case 101:
+#line 1327 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3221 "awkgram.c" /* yacc.c:1646 */
+#line 3236 "awkgram.c" /* yacc.c:1646 */
break;
- case 101:
-#line 1322 "awkgram.y" /* yacc.c:1646 */
+ case 102:
+#line 1329 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-2]); }
-#line 3227 "awkgram.c" /* yacc.c:1646 */
+#line 3242 "awkgram.c" /* yacc.c:1646 */
break;
- case 102:
-#line 1328 "awkgram.y" /* yacc.c:1646 */
+ case 103:
+#line 1335 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3233 "awkgram.c" /* yacc.c:1646 */
+#line 3248 "awkgram.c" /* yacc.c:1646 */
break;
- case 103:
-#line 1330 "awkgram.y" /* yacc.c:1646 */
+ case 104:
+#line 1337 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3239 "awkgram.c" /* yacc.c:1646 */
+#line 3254 "awkgram.c" /* yacc.c:1646 */
break;
- case 104:
-#line 1335 "awkgram.y" /* yacc.c:1646 */
+ case 105:
+#line 1342 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3245 "awkgram.c" /* yacc.c:1646 */
+#line 3260 "awkgram.c" /* yacc.c:1646 */
break;
- case 105:
-#line 1337 "awkgram.y" /* yacc.c:1646 */
+ case 106:
+#line 1344 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3251 "awkgram.c" /* yacc.c:1646 */
+#line 3266 "awkgram.c" /* yacc.c:1646 */
break;
- case 106:
-#line 1342 "awkgram.y" /* yacc.c:1646 */
+ case 107:
+#line 1349 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3257 "awkgram.c" /* yacc.c:1646 */
+#line 3272 "awkgram.c" /* yacc.c:1646 */
break;
- case 107:
-#line 1344 "awkgram.y" /* yacc.c:1646 */
+ case 108:
+#line 1351 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3266 "awkgram.c" /* yacc.c:1646 */
+#line 3281 "awkgram.c" /* yacc.c:1646 */
break;
- case 108:
-#line 1349 "awkgram.y" /* yacc.c:1646 */
+ case 109:
+#line 1356 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3272 "awkgram.c" /* yacc.c:1646 */
+#line 3287 "awkgram.c" /* yacc.c:1646 */
break;
- case 109:
-#line 1351 "awkgram.y" /* yacc.c:1646 */
+ case 110:
+#line 1358 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3280,62 +3295,62 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3284 "awkgram.c" /* yacc.c:1646 */
+#line 3299 "awkgram.c" /* yacc.c:1646 */
break;
- case 110:
-#line 1359 "awkgram.y" /* yacc.c:1646 */
+ case 111:
+#line 1366 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3293 "awkgram.c" /* yacc.c:1646 */
+#line 3308 "awkgram.c" /* yacc.c:1646 */
break;
- case 111:
-#line 1364 "awkgram.y" /* yacc.c:1646 */
+ case 112:
+#line 1371 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3302 "awkgram.c" /* yacc.c:1646 */
+#line 3317 "awkgram.c" /* yacc.c:1646 */
break;
- case 112:
-#line 1372 "awkgram.y" /* yacc.c:1646 */
+ case 113:
+#line 1379 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3308 "awkgram.c" /* yacc.c:1646 */
+#line 3323 "awkgram.c" /* yacc.c:1646 */
break;
- case 113:
-#line 1374 "awkgram.y" /* yacc.c:1646 */
+ case 114:
+#line 1381 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3314 "awkgram.c" /* yacc.c:1646 */
+#line 3329 "awkgram.c" /* yacc.c:1646 */
break;
- case 114:
-#line 1379 "awkgram.y" /* yacc.c:1646 */
+ case 115:
+#line 1386 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3320 "awkgram.c" /* yacc.c:1646 */
+#line 3335 "awkgram.c" /* yacc.c:1646 */
break;
- case 115:
-#line 1381 "awkgram.y" /* yacc.c:1646 */
+ case 116:
+#line 1388 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3329 "awkgram.c" /* yacc.c:1646 */
+#line 3344 "awkgram.c" /* yacc.c:1646 */
break;
- case 116:
-#line 1386 "awkgram.y" /* yacc.c:1646 */
+ case 117:
+#line 1393 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3335 "awkgram.c" /* yacc.c:1646 */
+#line 3350 "awkgram.c" /* yacc.c:1646 */
break;
- case 117:
-#line 1388 "awkgram.y" /* yacc.c:1646 */
+ case 118:
+#line 1395 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3343,72 +3358,72 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3347 "awkgram.c" /* yacc.c:1646 */
+#line 3362 "awkgram.c" /* yacc.c:1646 */
break;
- case 118:
-#line 1396 "awkgram.y" /* yacc.c:1646 */
+ case 119:
+#line 1403 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3356 "awkgram.c" /* yacc.c:1646 */
+#line 3371 "awkgram.c" /* yacc.c:1646 */
break;
- case 119:
-#line 1401 "awkgram.y" /* yacc.c:1646 */
+ case 120:
+#line 1408 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3365 "awkgram.c" /* yacc.c:1646 */
+#line 3380 "awkgram.c" /* yacc.c:1646 */
break;
- case 120:
-#line 1408 "awkgram.y" /* yacc.c:1646 */
+ case 121:
+#line 1415 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3371 "awkgram.c" /* yacc.c:1646 */
+#line 3386 "awkgram.c" /* yacc.c:1646 */
break;
- case 121:
-#line 1409 "awkgram.y" /* yacc.c:1646 */
+ case 122:
+#line 1416 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = list_create((yyvsp[0])); }
-#line 3377 "awkgram.c" /* yacc.c:1646 */
+#line 3392 "awkgram.c" /* yacc.c:1646 */
break;
- case 122:
-#line 1415 "awkgram.y" /* yacc.c:1646 */
+ case 123:
+#line 1422 "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 3388 "awkgram.c" /* yacc.c:1646 */
+#line 3403 "awkgram.c" /* yacc.c:1646 */
break;
- case 123:
-#line 1422 "awkgram.y" /* yacc.c:1646 */
+ case 124:
+#line 1429 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), (yyvsp[-1]));
}
-#line 3396 "awkgram.c" /* yacc.c:1646 */
+#line 3411 "awkgram.c" /* yacc.c:1646 */
break;
- case 124:
-#line 1426 "awkgram.y" /* yacc.c:1646 */
+ case 125:
+#line 1433 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3402 "awkgram.c" /* yacc.c:1646 */
+#line 3417 "awkgram.c" /* yacc.c:1646 */
break;
- case 125:
-#line 1428 "awkgram.y" /* yacc.c:1646 */
+ case 126:
+#line 1435 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3408 "awkgram.c" /* yacc.c:1646 */
+#line 3423 "awkgram.c" /* yacc.c:1646 */
break;
- case 126:
-#line 1430 "awkgram.y" /* yacc.c:1646 */
+ case 127:
+#line 1437 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3421,11 +3436,11 @@ regular_print:
bcfree((yyvsp[0]));
(yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
}
-#line 3425 "awkgram.c" /* yacc.c:1646 */
+#line 3440 "awkgram.c" /* yacc.c:1646 */
break;
- case 127:
-#line 1443 "awkgram.y" /* yacc.c:1646 */
+ case 128:
+#line 1450 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3442,11 +3457,11 @@ regular_print:
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3446 "awkgram.c" /* yacc.c:1646 */
+#line 3461 "awkgram.c" /* yacc.c:1646 */
break;
- case 128:
-#line 1460 "awkgram.y" /* yacc.c:1646 */
+ case 129:
+#line 1467 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old)
warning_ln((yyvsp[-1])->source_line,
@@ -3456,91 +3471,91 @@ regular_print:
(yyvsp[-1])->expr_count = 1;
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3460 "awkgram.c" /* yacc.c:1646 */
+#line 3475 "awkgram.c" /* yacc.c:1646 */
break;
- case 129:
-#line 1470 "awkgram.y" /* yacc.c:1646 */
+ case 130:
+#line 1477 "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 3471 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 130:
-#line 1477 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
-#line 3477 "awkgram.c" /* yacc.c:1646 */
+#line 3486 "awkgram.c" /* yacc.c:1646 */
break;
case 131:
-#line 1479 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = (yyvsp[0]); }
-#line 3483 "awkgram.c" /* yacc.c:1646 */
+#line 1484 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
+#line 3492 "awkgram.c" /* yacc.c:1646 */
break;
case 132:
-#line 1484 "awkgram.y" /* yacc.c:1646 */
+#line 1486 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3489 "awkgram.c" /* yacc.c:1646 */
+#line 3498 "awkgram.c" /* yacc.c:1646 */
break;
case 133:
-#line 1486 "awkgram.y" /* yacc.c:1646 */
+#line 1491 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3495 "awkgram.c" /* yacc.c:1646 */
+#line 3504 "awkgram.c" /* yacc.c:1646 */
break;
case 134:
-#line 1488 "awkgram.y" /* yacc.c:1646 */
+#line 1493 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3510 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 135:
+#line 1495 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[0]);
}
-#line 3504 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 135:
-#line 1496 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = (yyvsp[0]); }
-#line 3510 "awkgram.c" /* yacc.c:1646 */
+#line 3519 "awkgram.c" /* yacc.c:1646 */
break;
case 136:
-#line 1498 "awkgram.y" /* yacc.c:1646 */
+#line 1503 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3516 "awkgram.c" /* yacc.c:1646 */
+#line 3525 "awkgram.c" /* yacc.c:1646 */
break;
case 137:
-#line 1503 "awkgram.y" /* yacc.c:1646 */
+#line 1505 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3522 "awkgram.c" /* yacc.c:1646 */
+#line 3531 "awkgram.c" /* yacc.c:1646 */
break;
case 138:
-#line 1505 "awkgram.y" /* yacc.c:1646 */
+#line 1510 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3528 "awkgram.c" /* yacc.c:1646 */
+#line 3537 "awkgram.c" /* yacc.c:1646 */
break;
case 139:
-#line 1510 "awkgram.y" /* yacc.c:1646 */
+#line 1512 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3534 "awkgram.c" /* yacc.c:1646 */
+#line 3543 "awkgram.c" /* yacc.c:1646 */
break;
case 140:
-#line 1512 "awkgram.y" /* yacc.c:1646 */
+#line 1517 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3540 "awkgram.c" /* yacc.c:1646 */
+#line 3549 "awkgram.c" /* yacc.c:1646 */
break;
case 141:
-#line 1514 "awkgram.y" /* yacc.c:1646 */
+#line 1519 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3555 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 142:
+#line 1521 "awkgram.y" /* yacc.c:1646 */
{
int count = 2;
bool is_simple_var = false;
@@ -3569,7 +3584,7 @@ regular_print:
n1 = force_string(n1);
n2 = force_string(n2);
nlen = n1->stlen + n2->stlen;
- erealloc(n1->stptr, char *, nlen + 2, "constant fold");
+ erealloc(n1->stptr, char *, nlen + 1, "constant fold");
memcpy(n1->stptr + n1->stlen, n2->stptr, n2->stlen);
n1->stlen = nlen;
n1->stptr[nlen] = '\0';
@@ -3587,47 +3602,47 @@ regular_print:
max_args = count;
}
}
-#line 3591 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 143:
-#line 1566 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3597 "awkgram.c" /* yacc.c:1646 */
+#line 3606 "awkgram.c" /* yacc.c:1646 */
break;
case 144:
-#line 1568 "awkgram.y" /* yacc.c:1646 */
+#line 1573 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3603 "awkgram.c" /* yacc.c:1646 */
+#line 3612 "awkgram.c" /* yacc.c:1646 */
break;
case 145:
-#line 1570 "awkgram.y" /* yacc.c:1646 */
+#line 1575 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3609 "awkgram.c" /* yacc.c:1646 */
+#line 3618 "awkgram.c" /* yacc.c:1646 */
break;
case 146:
-#line 1572 "awkgram.y" /* yacc.c:1646 */
+#line 1577 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3615 "awkgram.c" /* yacc.c:1646 */
+#line 3624 "awkgram.c" /* yacc.c:1646 */
break;
case 147:
-#line 1574 "awkgram.y" /* yacc.c:1646 */
+#line 1579 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3621 "awkgram.c" /* yacc.c:1646 */
+#line 3630 "awkgram.c" /* yacc.c:1646 */
break;
case 148:
-#line 1576 "awkgram.y" /* yacc.c:1646 */
+#line 1581 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3627 "awkgram.c" /* yacc.c:1646 */
+#line 3636 "awkgram.c" /* yacc.c:1646 */
break;
case 149:
-#line 1578 "awkgram.y" /* yacc.c:1646 */
+#line 1583 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3642 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 150:
+#line 1585 "awkgram.y" /* yacc.c:1646 */
{
/*
* In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@ -3641,29 +3656,29 @@ regular_print:
_("non-redirected `getline' undefined inside END action"));
(yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input);
}
-#line 3645 "awkgram.c" /* yacc.c:1646 */
+#line 3660 "awkgram.c" /* yacc.c:1646 */
break;
- case 150:
-#line 1592 "awkgram.y" /* yacc.c:1646 */
+ case 151:
+#line 1599 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3654 "awkgram.c" /* yacc.c:1646 */
+#line 3669 "awkgram.c" /* yacc.c:1646 */
break;
- case 151:
-#line 1597 "awkgram.y" /* yacc.c:1646 */
+ case 152:
+#line 1604 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3663 "awkgram.c" /* yacc.c:1646 */
+#line 3678 "awkgram.c" /* yacc.c:1646 */
break;
- case 152:
-#line 1602 "awkgram.y" /* yacc.c:1646 */
+ case 153:
+#line 1609 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old) {
warning_ln((yyvsp[-1])->source_line,
@@ -3683,64 +3698,64 @@ regular_print:
(yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3687 "awkgram.c" /* yacc.c:1646 */
+#line 3702 "awkgram.c" /* yacc.c:1646 */
break;
- case 153:
-#line 1627 "awkgram.y" /* yacc.c:1646 */
+ case 154:
+#line 1634 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
bcfree((yyvsp[-2]));
}
-#line 3696 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 154:
-#line 1633 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3702 "awkgram.c" /* yacc.c:1646 */
+#line 3711 "awkgram.c" /* yacc.c:1646 */
break;
case 155:
-#line 1635 "awkgram.y" /* yacc.c:1646 */
+#line 1640 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3708 "awkgram.c" /* yacc.c:1646 */
+#line 3717 "awkgram.c" /* yacc.c:1646 */
break;
case 156:
-#line 1637 "awkgram.y" /* yacc.c:1646 */
+#line 1642 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3714 "awkgram.c" /* yacc.c:1646 */
+#line 3723 "awkgram.c" /* yacc.c:1646 */
break;
case 157:
-#line 1639 "awkgram.y" /* yacc.c:1646 */
+#line 1644 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3720 "awkgram.c" /* yacc.c:1646 */
+#line 3729 "awkgram.c" /* yacc.c:1646 */
break;
case 158:
-#line 1641 "awkgram.y" /* yacc.c:1646 */
+#line 1646 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3726 "awkgram.c" /* yacc.c:1646 */
+#line 3735 "awkgram.c" /* yacc.c:1646 */
break;
case 159:
-#line 1643 "awkgram.y" /* yacc.c:1646 */
+#line 1648 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3732 "awkgram.c" /* yacc.c:1646 */
+#line 3741 "awkgram.c" /* yacc.c:1646 */
break;
case 160:
-#line 1648 "awkgram.y" /* yacc.c:1646 */
+#line 1650 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3747 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 161:
+#line 1655 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3740 "awkgram.c" /* yacc.c:1646 */
+#line 3755 "awkgram.c" /* yacc.c:1646 */
break;
- case 161:
-#line 1652 "awkgram.y" /* yacc.c:1646 */
+ case 162:
+#line 1659 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->opcode == Op_match_rec) {
(yyvsp[0])->opcode = Op_nomatch;
@@ -3772,37 +3787,37 @@ regular_print:
}
}
}
-#line 3776 "awkgram.c" /* yacc.c:1646 */
+#line 3791 "awkgram.c" /* yacc.c:1646 */
break;
- case 162:
-#line 1684 "awkgram.y" /* yacc.c:1646 */
+ case 163:
+#line 1691 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3782 "awkgram.c" /* yacc.c:1646 */
+#line 3797 "awkgram.c" /* yacc.c:1646 */
break;
- case 163:
-#line 1686 "awkgram.y" /* yacc.c:1646 */
+ case 164:
+#line 1693 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3792 "awkgram.c" /* yacc.c:1646 */
+#line 3807 "awkgram.c" /* yacc.c:1646 */
break;
- case 164:
-#line 1692 "awkgram.y" /* yacc.c:1646 */
+ case 165:
+#line 1699 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3802 "awkgram.c" /* yacc.c:1646 */
+#line 3817 "awkgram.c" /* yacc.c:1646 */
break;
- case 165:
-#line 1698 "awkgram.y" /* yacc.c:1646 */
+ case 166:
+#line 1705 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
@@ -3815,45 +3830,45 @@ regular_print:
if ((yyval) == NULL)
YYABORT;
}
-#line 3819 "awkgram.c" /* yacc.c:1646 */
+#line 3834 "awkgram.c" /* yacc.c:1646 */
break;
- case 168:
-#line 1713 "awkgram.y" /* yacc.c:1646 */
+ case 169:
+#line 1720 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3828 "awkgram.c" /* yacc.c:1646 */
+#line 3843 "awkgram.c" /* yacc.c:1646 */
break;
- case 169:
-#line 1718 "awkgram.y" /* yacc.c:1646 */
+ case 170:
+#line 1725 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3837 "awkgram.c" /* yacc.c:1646 */
+#line 3852 "awkgram.c" /* yacc.c:1646 */
break;
- case 170:
-#line 1723 "awkgram.y" /* yacc.c:1646 */
+ case 171:
+#line 1730 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3845 "awkgram.c" /* yacc.c:1646 */
+#line 3860 "awkgram.c" /* yacc.c:1646 */
break;
- case 171:
-#line 1727 "awkgram.y" /* yacc.c:1646 */
+ case 172:
+#line 1734 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3853 "awkgram.c" /* yacc.c:1646 */
+#line 3868 "awkgram.c" /* yacc.c:1646 */
break;
- case 172:
-#line 1731 "awkgram.y" /* yacc.c:1646 */
+ case 173:
+#line 1738 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) == 0
@@ -3868,11 +3883,11 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3872 "awkgram.c" /* yacc.c:1646 */
+#line 3887 "awkgram.c" /* yacc.c:1646 */
break;
- case 173:
-#line 1746 "awkgram.y" /* yacc.c:1646 */
+ case 174:
+#line 1753 "awkgram.y" /* yacc.c:1646 */
{
/*
* was: $$ = $2
@@ -3882,20 +3897,20 @@ regular_print:
(yyvsp[-1])->memory = make_number(0.0);
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
-#line 3886 "awkgram.c" /* yacc.c:1646 */
+#line 3901 "awkgram.c" /* yacc.c:1646 */
break;
- case 174:
-#line 1759 "awkgram.y" /* yacc.c:1646 */
+ case 175:
+#line 1766 "awkgram.y" /* yacc.c:1646 */
{
func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[0]);
}
-#line 3895 "awkgram.c" /* yacc.c:1646 */
+#line 3910 "awkgram.c" /* yacc.c:1646 */
break;
- case 175:
-#line 1764 "awkgram.y" /* yacc.c:1646 */
+ case 176:
+#line 1771 "awkgram.y" /* yacc.c:1646 */
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -3929,11 +3944,11 @@ regular_print:
(yyval) = list_prepend((yyvsp[0]), t);
at_seen = false;
}
-#line 3933 "awkgram.c" /* yacc.c:1646 */
+#line 3948 "awkgram.c" /* yacc.c:1646 */
break;
- case 176:
-#line 1801 "awkgram.y" /* yacc.c:1646 */
+ case 177:
+#line 1808 "awkgram.y" /* yacc.c:1646 */
{
NODE *n;
@@ -3958,49 +3973,49 @@ regular_print:
(yyval) = list_append(t, (yyvsp[-3]));
}
}
-#line 3962 "awkgram.c" /* yacc.c:1646 */
+#line 3977 "awkgram.c" /* yacc.c:1646 */
break;
- case 177:
-#line 1829 "awkgram.y" /* yacc.c:1646 */
+ case 178:
+#line 1836 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3968 "awkgram.c" /* yacc.c:1646 */
+#line 3983 "awkgram.c" /* yacc.c:1646 */
break;
- case 178:
-#line 1831 "awkgram.y" /* yacc.c:1646 */
+ case 179:
+#line 1838 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3974 "awkgram.c" /* yacc.c:1646 */
+#line 3989 "awkgram.c" /* yacc.c:1646 */
break;
- case 179:
-#line 1836 "awkgram.y" /* yacc.c:1646 */
+ case 180:
+#line 1843 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3980 "awkgram.c" /* yacc.c:1646 */
+#line 3995 "awkgram.c" /* yacc.c:1646 */
break;
- case 180:
-#line 1838 "awkgram.y" /* yacc.c:1646 */
+ case 181:
+#line 1845 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3986 "awkgram.c" /* yacc.c:1646 */
+#line 4001 "awkgram.c" /* yacc.c:1646 */
break;
- case 181:
-#line 1843 "awkgram.y" /* yacc.c:1646 */
+ case 182:
+#line 1850 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3992 "awkgram.c" /* yacc.c:1646 */
+#line 4007 "awkgram.c" /* yacc.c:1646 */
break;
- case 182:
-#line 1845 "awkgram.y" /* yacc.c:1646 */
+ case 183:
+#line 1852 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4000 "awkgram.c" /* yacc.c:1646 */
+#line 4015 "awkgram.c" /* yacc.c:1646 */
break;
- case 183:
-#line 1852 "awkgram.y" /* yacc.c:1646 */
+ case 184:
+#line 1859 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -4014,11 +4029,11 @@ regular_print:
sub_counter++; /* count # of dimensions */
(yyval) = (yyvsp[0]);
}
-#line 4018 "awkgram.c" /* yacc.c:1646 */
+#line 4033 "awkgram.c" /* yacc.c:1646 */
break;
- case 184:
-#line 1869 "awkgram.y" /* yacc.c:1646 */
+ case 185:
+#line 1876 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *t = (yyvsp[-1]);
if ((yyvsp[-1]) == NULL) {
@@ -4032,31 +4047,31 @@ regular_print:
(yyvsp[0])->sub_count = count_expressions(&t, false);
(yyval) = list_append(t, (yyvsp[0]));
}
-#line 4036 "awkgram.c" /* yacc.c:1646 */
+#line 4051 "awkgram.c" /* yacc.c:1646 */
break;
- case 185:
-#line 1886 "awkgram.y" /* yacc.c:1646 */
+ case 186:
+#line 1893 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4042 "awkgram.c" /* yacc.c:1646 */
+#line 4057 "awkgram.c" /* yacc.c:1646 */
break;
- case 186:
-#line 1888 "awkgram.y" /* yacc.c:1646 */
+ case 187:
+#line 1895 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4050 "awkgram.c" /* yacc.c:1646 */
+#line 4065 "awkgram.c" /* yacc.c:1646 */
break;
- case 187:
-#line 1895 "awkgram.y" /* yacc.c:1646 */
+ case 188:
+#line 1902 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4056 "awkgram.c" /* yacc.c:1646 */
+#line 4071 "awkgram.c" /* yacc.c:1646 */
break;
- case 188:
-#line 1900 "awkgram.y" /* yacc.c:1646 */
+ case 189:
+#line 1907 "awkgram.y" /* yacc.c:1646 */
{
char *var_name = (yyvsp[0])->lextok;
@@ -4064,22 +4079,22 @@ regular_print:
(yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new);
(yyval) = list_create((yyvsp[0]));
}
-#line 4068 "awkgram.c" /* yacc.c:1646 */
+#line 4083 "awkgram.c" /* yacc.c:1646 */
break;
- case 189:
-#line 1908 "awkgram.y" /* yacc.c:1646 */
+ case 190:
+#line 1915 "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 4079 "awkgram.c" /* yacc.c:1646 */
+#line 4094 "awkgram.c" /* yacc.c:1646 */
break;
- case 190:
-#line 1918 "awkgram.y" /* yacc.c:1646 */
+ case 191:
+#line 1925 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->nexti;
if (ip->opcode == Op_push
@@ -4091,73 +4106,73 @@ regular_print:
} else
(yyval) = (yyvsp[0]);
}
-#line 4095 "awkgram.c" /* yacc.c:1646 */
+#line 4110 "awkgram.c" /* yacc.c:1646 */
break;
- case 191:
-#line 1930 "awkgram.y" /* yacc.c:1646 */
+ case 192:
+#line 1937 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
if ((yyvsp[0]) != NULL)
mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 4105 "awkgram.c" /* yacc.c:1646 */
+#line 4120 "awkgram.c" /* yacc.c:1646 */
break;
- case 192:
-#line 1939 "awkgram.y" /* yacc.c:1646 */
+ case 193:
+#line 1946 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
}
-#line 4113 "awkgram.c" /* yacc.c:1646 */
+#line 4128 "awkgram.c" /* yacc.c:1646 */
break;
- case 193:
-#line 1943 "awkgram.y" /* yacc.c:1646 */
+ case 194:
+#line 1950 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
}
-#line 4121 "awkgram.c" /* yacc.c:1646 */
+#line 4136 "awkgram.c" /* yacc.c:1646 */
break;
- case 194:
-#line 1946 "awkgram.y" /* yacc.c:1646 */
+ case 195:
+#line 1953 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4127 "awkgram.c" /* yacc.c:1646 */
+#line 4142 "awkgram.c" /* yacc.c:1646 */
break;
- case 196:
-#line 1954 "awkgram.y" /* yacc.c:1646 */
+ case 197:
+#line 1961 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4133 "awkgram.c" /* yacc.c:1646 */
+#line 4148 "awkgram.c" /* yacc.c:1646 */
break;
- case 197:
-#line 1958 "awkgram.y" /* yacc.c:1646 */
+ case 198:
+#line 1965 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4139 "awkgram.c" /* yacc.c:1646 */
+#line 4154 "awkgram.c" /* yacc.c:1646 */
break;
- case 200:
-#line 1967 "awkgram.y" /* yacc.c:1646 */
+ case 201:
+#line 1974 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4145 "awkgram.c" /* yacc.c:1646 */
+#line 4160 "awkgram.c" /* yacc.c:1646 */
break;
- case 201:
-#line 1971 "awkgram.y" /* yacc.c:1646 */
+ case 202:
+#line 1978 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); yyerrok; }
-#line 4151 "awkgram.c" /* yacc.c:1646 */
+#line 4166 "awkgram.c" /* yacc.c:1646 */
break;
- case 202:
-#line 1975 "awkgram.y" /* yacc.c:1646 */
+ case 203:
+#line 1982 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4157 "awkgram.c" /* yacc.c:1646 */
+#line 4172 "awkgram.c" /* yacc.c:1646 */
break;
-#line 4161 "awkgram.c" /* yacc.c:1646 */
+#line 4176 "awkgram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4385,7 +4400,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 1977 "awkgram.y" /* yacc.c:1906 */
+#line 1984 "awkgram.y" /* yacc.c:1906 */
struct token {
@@ -4687,7 +4702,6 @@ yyerror(const char *m, ...)
char *buf;
int count;
static char end_of_file_line[] = "(END OF FILE)";
- char save;
print_included_from();
@@ -4715,24 +4729,15 @@ yyerror(const char *m, ...)
bp = thisline + strlen(thisline);
}
- /*
- * Saving and restoring *bp keeps valgrind happy,
- * since the guts of glibc uses strlen, even though
- * we're passing an explict precision. Sigh.
- *
- * 8/2003: We may not need this anymore.
- */
- save = *bp;
- *bp = '\0';
-
msg("%.*s", (int) (bp - thisline), thisline);
- *bp = save;
va_start(args, m);
if (mesg == NULL)
mesg = m;
- count = (bp - thisline) + strlen(mesg) + 2 + 1;
+ count = strlen(mesg) + 1;
+ if (lexptr != NULL)
+ count += (lexeme - thisline) + 2;
emalloc(buf, char *, count, "yyerror");
bp = buf;
@@ -5730,21 +5735,24 @@ yylex(void)
collect_regexp:
if (want_regexp) {
int in_brack = 0; /* count brackets, [[:alnum:]] allowed */
+ int b_index = -1;
+ int cur_index = 0;
+
/*
- * Counting brackets is non-trivial. [[] is ok,
- * and so is [\]], with a point being that /[/]/ as a regexp
- * constant has to work.
+ * Here is what's ok with brackets:
*
- * Do not count [ or ] if either one is preceded by a \.
- * A `[' should be counted if
- * a) it is the first one so far (in_brack == 0)
- * b) it is the `[' in `[:'
- * A ']' should be counted if not preceded by a \, since
- * it is either closing `:]' or just a plain list.
- * According to POSIX, []] is how you put a ] into a set.
- * Try to handle that too.
+ * [[] [^[] []] [^]] [.../...]
+ * [...\[...] [...\]...] [...\/...]
+ *
+ * (Remember that all of the above are inside /.../)
*
- * The code for \ handles \[ and \].
+ * The code for \ handles \[, \] and \/.
+ *
+ * Otherwise, track the first open [ position, and if
+ * an embedded [ or ] occurs, allow it to pass through
+ * if it's right after the first [ or after [^.
+ *
+ * Whew!
*/
want_regexp = false;
@@ -5754,17 +5762,21 @@ collect_regexp:
if (gawk_mb_cur_max == 1 || nextc_is_1stbyte) switch (c) {
case '[':
- /* one day check for `.' and `=' too */
- if (nextc(false) == ':' || in_brack == 0)
- in_brack++;
- pushback();
- break;
case ']':
- if (tok[-1] == '['
- || (tok[-2] == '[' && tok[-1] == '^'))
- /* do nothing */;
- else
+ cur_index = tok - tokstart;
+ if (in_brack > 0
+ && (cur_index == b_index + 1
+ || (cur_index == b_index + 2 && tok[-1] == '^')))
+ ; /* do nothing */
+ else if (c == '[') {
+ in_brack++;
+ if (in_brack == 1)
+ b_index = tok - tokstart;
+ } else {
in_brack--;
+ if (in_brack == 0)
+ b_index = -1;
+ }
break;
case '\\':
if ((c = nextc(false)) == END_FILE) {
@@ -6414,6 +6426,27 @@ retry:
&& lasttok != '@')
goto out;
+ /* allow parameter names to shadow the names of gawk extension built-ins */
+ if ((tokentab[mid].flags & GAWKX) != 0) {
+ switch (want_param_names) {
+ case FUNC_HEADER:
+ /* in header, defining parameter names */
+ goto out;
+ case FUNC_BODY:
+ /* in body, name must be in symbol table for it to be a parameter */
+ if (lookup(tokstart) != NULL)
+ goto out;
+ /* else
+ fall through */
+ case DONT_CHECK:
+ /* regular code */
+ break;
+ default:
+ cant_happen();
+ break;
+ }
+ }
+
if (do_lint) {
if ((tokentab[mid].flags & GAWKX) != 0 && (warntab[mid] & GAWKX) == 0) {
lintwarn(_("`%s' is a gawk extension"),