aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-12-22 18:32:21 +0200
committerArnold D. Robbins <arnold@skeeve.com>2016-12-22 18:32:21 +0200
commit6402c9480ffcd8610b1322a381f0c14a42d95083 (patch)
treebbf1f2c00923c562b1ff346b5a6b759d58920902 /awkgram.c
parent2af62b50e5b9574c0e169fb4d99c4912e56eef1f (diff)
parentaf31a6de1bd15d4d5f5520ebfcb1d24239b9a683 (diff)
downloadegawk-6402c9480ffcd8610b1322a381f0c14a42d95083.tar.gz
egawk-6402c9480ffcd8610b1322a381f0c14a42d95083.tar.bz2
egawk-6402c9480ffcd8610b1322a381f0c14a42d95083.zip
Merge branch 'master' into feature/fix-comments
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c670
1 files changed, 328 insertions, 342 deletions
diff --git a/awkgram.c b/awkgram.c
index 0554dc22..2f0f7283 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -673,24 +673,24 @@ static const yytype_uint16 yyrline[] =
0, 215, 215, 217, 222, 223, 227, 239, 244, 255,
262, 268, 277, 285, 287, 292, 300, 302, 308, 316,
326, 356, 370, 384, 392, 403, 415, 417, 419, 425,
- 433, 434, 438, 438, 484, 483, 517, 546, 548, 553,
- 563, 610, 615, 616, 620, 636, 638, 640, 647, 738,
- 780, 822, 935, 942, 949, 960, 970, 980, 990, 1002,
- 1019, 1018, 1043, 1055, 1055, 1154, 1154, 1188, 1219, 1228,
- 1229, 1235, 1236, 1243, 1248, 1260, 1274, 1276, 1284, 1291,
- 1293, 1301, 1310, 1312, 1321, 1322, 1330, 1335, 1335, 1346,
- 1350, 1358, 1359, 1362, 1364, 1369, 1370, 1379, 1380, 1385,
- 1390, 1399, 1401, 1403, 1410, 1411, 1417, 1418, 1423, 1425,
- 1430, 1432, 1440, 1445, 1454, 1455, 1460, 1462, 1467, 1469,
- 1477, 1482, 1490, 1491, 1496, 1503, 1507, 1509, 1511, 1524,
- 1541, 1551, 1558, 1560, 1565, 1567, 1569, 1577, 1579, 1584,
- 1586, 1591, 1593, 1595, 1651, 1653, 1655, 1657, 1659, 1661,
- 1663, 1665, 1679, 1684, 1689, 1714, 1720, 1722, 1724, 1726,
- 1728, 1730, 1735, 1739, 1771, 1773, 1779, 1785, 1798, 1799,
- 1800, 1805, 1810, 1814, 1818, 1833, 1854, 1859, 1896, 1925,
- 1926, 1932, 1933, 1938, 1940, 1947, 1964, 1981, 1983, 1990,
- 1995, 2003, 2013, 2025, 2034, 2038, 2042, 2046, 2050, 2054,
- 2057, 2059, 2063, 2067, 2071
+ 433, 434, 438, 438, 484, 483, 517, 532, 534, 539,
+ 549, 596, 601, 602, 606, 622, 624, 626, 633, 724,
+ 766, 808, 921, 928, 935, 946, 956, 966, 976, 988,
+ 1005, 1004, 1029, 1041, 1041, 1140, 1140, 1174, 1205, 1214,
+ 1215, 1221, 1222, 1229, 1234, 1246, 1260, 1262, 1270, 1277,
+ 1279, 1287, 1296, 1298, 1307, 1308, 1316, 1321, 1321, 1332,
+ 1336, 1344, 1345, 1348, 1350, 1355, 1356, 1365, 1366, 1371,
+ 1376, 1385, 1387, 1389, 1396, 1397, 1403, 1404, 1409, 1411,
+ 1416, 1418, 1426, 1431, 1440, 1441, 1446, 1448, 1453, 1455,
+ 1463, 1468, 1476, 1477, 1482, 1489, 1493, 1495, 1497, 1510,
+ 1527, 1537, 1544, 1546, 1551, 1553, 1555, 1563, 1565, 1570,
+ 1572, 1577, 1579, 1581, 1637, 1639, 1641, 1643, 1645, 1647,
+ 1649, 1651, 1665, 1670, 1675, 1700, 1706, 1708, 1710, 1712,
+ 1714, 1716, 1721, 1725, 1757, 1759, 1765, 1771, 1784, 1785,
+ 1786, 1791, 1796, 1800, 1804, 1819, 1840, 1845, 1882, 1911,
+ 1912, 1918, 1919, 1924, 1926, 1933, 1950, 1967, 1969, 1976,
+ 1981, 1989, 1999, 2011, 2020, 2024, 2028, 2032, 2036, 2040,
+ 2043, 2045, 2049, 2053, 2057
};
#endif
@@ -2281,7 +2281,6 @@ yyreduce:
case 36:
#line 518 "awkgram.y" /* yacc.c:1646 */
{
- NODE *n, *exp, *n2;
char *re;
size_t len;
@@ -2289,34 +2288,21 @@ yyreduce:
(yyvsp[0])->lextok = NULL;
len = strlen(re);
- exp = make_str_node(re, len, ALREADY_MALLOCED);
- n = make_regnode(Node_regex, exp);
- if (n == NULL) {
- unref(exp);
- YYABORT;
- }
-
- n2 = make_string(re, len);
- n2->typed_re = n;
- n2->numbr = 0;
- n2->flags |= NUMCUR|STRCUR|REGEX;
- n2->flags &= ~(STRING|NUMBER);
-
(yyval) = (yyvsp[0]);
(yyval)->opcode = Op_push_re;
- (yyval)->memory = n2;
+ (yyval)->memory = make_typed_regex(re, len);
}
-#line 2310 "awkgram.c" /* yacc.c:1646 */
+#line 2296 "awkgram.c" /* yacc.c:1646 */
break;
case 37:
-#line 547 "awkgram.y" /* yacc.c:1646 */
+#line 533 "awkgram.y" /* yacc.c:1646 */
{ bcfree((yyvsp[0])); }
-#line 2316 "awkgram.c" /* yacc.c:1646 */
+#line 2302 "awkgram.c" /* yacc.c:1646 */
break;
case 39:
-#line 553 "awkgram.y" /* yacc.c:1646 */
+#line 539 "awkgram.y" /* yacc.c:1646 */
{
if (prior_comment != NULL) {
(yyval) = list_create(prior_comment);
@@ -2327,11 +2313,11 @@ yyreduce:
} else
(yyval) = NULL;
}
-#line 2331 "awkgram.c" /* yacc.c:1646 */
+#line 2317 "awkgram.c" /* yacc.c:1646 */
break;
case 40:
-#line 564 "awkgram.y" /* yacc.c:1646 */
+#line 550 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0]) == NULL) {
if (prior_comment != NULL) {
@@ -2378,17 +2364,17 @@ yyreduce:
}
yyerrok;
}
-#line 2382 "awkgram.c" /* yacc.c:1646 */
+#line 2368 "awkgram.c" /* yacc.c:1646 */
break;
case 41:
-#line 611 "awkgram.y" /* yacc.c:1646 */
+#line 597 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2388 "awkgram.c" /* yacc.c:1646 */
+#line 2374 "awkgram.c" /* yacc.c:1646 */
break;
case 44:
-#line 621 "awkgram.y" /* yacc.c:1646 */
+#line 607 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
@@ -2401,34 +2387,34 @@ yyreduce:
$1 is NULL */
(yyval) = ip;
}
-#line 2405 "awkgram.c" /* yacc.c:1646 */
+#line 2391 "awkgram.c" /* yacc.c:1646 */
break;
case 45:
-#line 637 "awkgram.y" /* yacc.c:1646 */
+#line 623 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2411 "awkgram.c" /* yacc.c:1646 */
+#line 2397 "awkgram.c" /* yacc.c:1646 */
break;
case 46:
-#line 639 "awkgram.y" /* yacc.c:1646 */
+#line 625 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 2417 "awkgram.c" /* yacc.c:1646 */
+#line 2403 "awkgram.c" /* yacc.c:1646 */
break;
case 47:
-#line 641 "awkgram.y" /* yacc.c:1646 */
+#line 627 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
(yyval) = (yyvsp[0]);
}
-#line 2428 "awkgram.c" /* yacc.c:1646 */
+#line 2414 "awkgram.c" /* yacc.c:1646 */
break;
case 48:
-#line 648 "awkgram.y" /* yacc.c:1646 */
+#line 634 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
INSTRUCTION *ip, *nextc, *tbreak;
@@ -2519,11 +2505,11 @@ yyreduce:
break_allowed--;
fix_break_continue(ip, tbreak, NULL);
}
-#line 2523 "awkgram.c" /* yacc.c:1646 */
+#line 2509 "awkgram.c" /* yacc.c:1646 */
break;
case 49:
-#line 739 "awkgram.y" /* yacc.c:1646 */
+#line 725 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2565,11 +2551,11 @@ yyreduce:
continue_allowed--;
fix_break_continue(ip, tbreak, tcont);
}
-#line 2569 "awkgram.c" /* yacc.c:1646 */
+#line 2555 "awkgram.c" /* yacc.c:1646 */
break;
case 50:
-#line 781 "awkgram.y" /* yacc.c:1646 */
+#line 767 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2611,11 +2597,11 @@ yyreduce:
} /* else
$1 and $4 are NULLs */
}
-#line 2615 "awkgram.c" /* yacc.c:1646 */
+#line 2601 "awkgram.c" /* yacc.c:1646 */
break;
case 51:
-#line 823 "awkgram.y" /* yacc.c:1646 */
+#line 809 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
char *var_name = (yyvsp[-5])->lextok;
@@ -2728,33 +2714,33 @@ regular_loop:
break_allowed--;
continue_allowed--;
}
-#line 2732 "awkgram.c" /* yacc.c:1646 */
+#line 2718 "awkgram.c" /* yacc.c:1646 */
break;
case 52:
-#line 936 "awkgram.y" /* yacc.c:1646 */
+#line 922 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
-#line 2743 "awkgram.c" /* yacc.c:1646 */
+#line 2729 "awkgram.c" /* yacc.c:1646 */
break;
case 53:
-#line 943 "awkgram.y" /* yacc.c:1646 */
+#line 929 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION *) NULL, (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
-#line 2754 "awkgram.c" /* yacc.c:1646 */
+#line 2740 "awkgram.c" /* yacc.c:1646 */
break;
case 54:
-#line 950 "awkgram.y" /* yacc.c:1646 */
+#line 936 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
@@ -2762,11 +2748,11 @@ regular_loop:
(yyval) = (yyvsp[0]);
(yyval) = add_pending_comment((yyval));
}
-#line 2766 "awkgram.c" /* yacc.c:1646 */
+#line 2752 "awkgram.c" /* yacc.c:1646 */
break;
case 55:
-#line 961 "awkgram.y" /* yacc.c:1646 */
+#line 947 "awkgram.y" /* yacc.c:1646 */
{
if (! break_allowed)
error_ln((yyvsp[-1])->source_line,
@@ -2776,11 +2762,11 @@ regular_loop:
(yyval) = add_pending_comment((yyval));
}
-#line 2780 "awkgram.c" /* yacc.c:1646 */
+#line 2766 "awkgram.c" /* yacc.c:1646 */
break;
case 56:
-#line 971 "awkgram.y" /* yacc.c:1646 */
+#line 957 "awkgram.y" /* yacc.c:1646 */
{
if (! continue_allowed)
error_ln((yyvsp[-1])->source_line,
@@ -2790,11 +2776,11 @@ regular_loop:
(yyval) = add_pending_comment((yyval));
}
-#line 2794 "awkgram.c" /* yacc.c:1646 */
+#line 2780 "awkgram.c" /* yacc.c:1646 */
break;
case 57:
-#line 981 "awkgram.y" /* yacc.c:1646 */
+#line 967 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule && rule != Rule)
@@ -2804,11 +2790,11 @@ regular_loop:
(yyval) = list_create((yyvsp[-1]));
(yyval) = add_pending_comment((yyval));
}
-#line 2808 "awkgram.c" /* yacc.c:1646 */
+#line 2794 "awkgram.c" /* yacc.c:1646 */
break;
case 58:
-#line 991 "awkgram.y" /* yacc.c:1646 */
+#line 977 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule == BEGIN || rule == END || rule == ENDFILE)
@@ -2820,11 +2806,11 @@ regular_loop:
(yyval) = list_create((yyvsp[-1]));
(yyval) = add_pending_comment((yyval));
}
-#line 2824 "awkgram.c" /* yacc.c:1646 */
+#line 2810 "awkgram.c" /* yacc.c:1646 */
break;
case 59:
-#line 1003 "awkgram.y" /* yacc.c:1646 */
+#line 989 "awkgram.y" /* yacc.c:1646 */
{
/* Initialize the two possible jump targets, the actual target
* is resolved at run-time.
@@ -2840,20 +2826,20 @@ regular_loop:
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
(yyval) = add_pending_comment((yyval));
}
-#line 2844 "awkgram.c" /* yacc.c:1646 */
+#line 2830 "awkgram.c" /* yacc.c:1646 */
break;
case 60:
-#line 1019 "awkgram.y" /* yacc.c:1646 */
+#line 1005 "awkgram.y" /* yacc.c:1646 */
{
if (! in_function)
yyerror(_("`return' used outside function context"));
}
-#line 2853 "awkgram.c" /* yacc.c:1646 */
+#line 2839 "awkgram.c" /* yacc.c:1646 */
break;
case 61:
-#line 1022 "awkgram.y" /* yacc.c:1646 */
+#line 1008 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL) {
(yyval) = list_create((yyvsp[-3]));
@@ -2875,17 +2861,17 @@ regular_loop:
}
(yyval) = add_pending_comment((yyval));
}
-#line 2879 "awkgram.c" /* yacc.c:1646 */
+#line 2865 "awkgram.c" /* yacc.c:1646 */
break;
case 63:
-#line 1055 "awkgram.y" /* yacc.c:1646 */
+#line 1041 "awkgram.y" /* yacc.c:1646 */
{ in_print = true; in_parens = 0; }
-#line 2885 "awkgram.c" /* yacc.c:1646 */
+#line 2871 "awkgram.c" /* yacc.c:1646 */
break;
case 64:
-#line 1056 "awkgram.y" /* yacc.c:1646 */
+#line 1042 "awkgram.y" /* yacc.c:1646 */
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2983,17 +2969,17 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 2987 "awkgram.c" /* yacc.c:1646 */
+#line 2973 "awkgram.c" /* yacc.c:1646 */
break;
case 65:
-#line 1154 "awkgram.y" /* yacc.c:1646 */
+#line 1140 "awkgram.y" /* yacc.c:1646 */
{ sub_counter = 0; }
-#line 2993 "awkgram.c" /* yacc.c:1646 */
+#line 2979 "awkgram.c" /* yacc.c:1646 */
break;
case 66:
-#line 1155 "awkgram.y" /* yacc.c:1646 */
+#line 1141 "awkgram.y" /* yacc.c:1646 */
{
char *arr = (yyvsp[-2])->lextok;
@@ -3027,11 +3013,11 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 3031 "awkgram.c" /* yacc.c:1646 */
+#line 3017 "awkgram.c" /* yacc.c:1646 */
break;
case 67:
-#line 1193 "awkgram.y" /* yacc.c:1646 */
+#line 1179 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
char *arr = (yyvsp[-1])->lextok;
@@ -3058,55 +3044,55 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 3062 "awkgram.c" /* yacc.c:1646 */
+#line 3048 "awkgram.c" /* yacc.c:1646 */
break;
case 68:
-#line 1220 "awkgram.y" /* yacc.c:1646 */
+#line 1206 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = optimize_assignment((yyvsp[0]));
(yyval) = add_pending_comment((yyval));
}
-#line 3071 "awkgram.c" /* yacc.c:1646 */
+#line 3057 "awkgram.c" /* yacc.c:1646 */
break;
case 69:
-#line 1228 "awkgram.y" /* yacc.c:1646 */
+#line 1214 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3077 "awkgram.c" /* yacc.c:1646 */
+#line 3063 "awkgram.c" /* yacc.c:1646 */
break;
case 70:
-#line 1230 "awkgram.y" /* yacc.c:1646 */
+#line 1216 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3083 "awkgram.c" /* yacc.c:1646 */
+#line 3069 "awkgram.c" /* yacc.c:1646 */
break;
case 71:
-#line 1235 "awkgram.y" /* yacc.c:1646 */
+#line 1221 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3089 "awkgram.c" /* yacc.c:1646 */
+#line 3075 "awkgram.c" /* yacc.c:1646 */
break;
case 72:
-#line 1237 "awkgram.y" /* yacc.c:1646 */
+#line 1223 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL)
(yyval) = list_create((yyvsp[0]));
else
(yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
}
-#line 3100 "awkgram.c" /* yacc.c:1646 */
+#line 3086 "awkgram.c" /* yacc.c:1646 */
break;
case 73:
-#line 1244 "awkgram.y" /* yacc.c:1646 */
+#line 1230 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3106 "awkgram.c" /* yacc.c:1646 */
+#line 3092 "awkgram.c" /* yacc.c:1646 */
break;
case 74:
-#line 1249 "awkgram.y" /* yacc.c:1646 */
+#line 1235 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3118,11 +3104,11 @@ regular_print:
bcfree((yyvsp[-2]));
(yyval) = (yyvsp[-4]);
}
-#line 3122 "awkgram.c" /* yacc.c:1646 */
+#line 3108 "awkgram.c" /* yacc.c:1646 */
break;
case 75:
-#line 1261 "awkgram.y" /* yacc.c:1646 */
+#line 1247 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3133,17 +3119,17 @@ regular_print:
(yyvsp[-3])->case_stmt = casestmt;
(yyval) = (yyvsp[-3]);
}
-#line 3137 "awkgram.c" /* yacc.c:1646 */
+#line 3123 "awkgram.c" /* yacc.c:1646 */
break;
case 76:
-#line 1275 "awkgram.y" /* yacc.c:1646 */
+#line 1261 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3143 "awkgram.c" /* yacc.c:1646 */
+#line 3129 "awkgram.c" /* yacc.c:1646 */
break;
case 77:
-#line 1277 "awkgram.y" /* yacc.c:1646 */
+#line 1263 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->memory;
(void) force_number(n);
@@ -3151,28 +3137,28 @@ regular_print:
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3155 "awkgram.c" /* yacc.c:1646 */
+#line 3141 "awkgram.c" /* yacc.c:1646 */
break;
case 78:
-#line 1285 "awkgram.y" /* yacc.c:1646 */
+#line 1271 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->lasti->memory;
bcfree((yyvsp[-1]));
add_sign_to_num(n, '+');
(yyval) = (yyvsp[0]);
}
-#line 3166 "awkgram.c" /* yacc.c:1646 */
+#line 3152 "awkgram.c" /* yacc.c:1646 */
break;
case 79:
-#line 1292 "awkgram.y" /* yacc.c:1646 */
+#line 1278 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3172 "awkgram.c" /* yacc.c:1646 */
+#line 3158 "awkgram.c" /* yacc.c:1646 */
break;
case 80:
-#line 1294 "awkgram.y" /* yacc.c:1646 */
+#line 1280 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->memory->type == Node_regex)
(yyvsp[0])->opcode = Op_push_re;
@@ -3180,57 +3166,57 @@ regular_print:
(yyvsp[0])->opcode = Op_push;
(yyval) = (yyvsp[0]);
}
-#line 3184 "awkgram.c" /* yacc.c:1646 */
+#line 3170 "awkgram.c" /* yacc.c:1646 */
break;
case 81:
-#line 1302 "awkgram.y" /* yacc.c:1646 */
+#line 1288 "awkgram.y" /* yacc.c:1646 */
{
assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
(yyvsp[0])->opcode = Op_push_re;
(yyval) = (yyvsp[0]);
}
-#line 3194 "awkgram.c" /* yacc.c:1646 */
+#line 3180 "awkgram.c" /* yacc.c:1646 */
break;
case 82:
-#line 1311 "awkgram.y" /* yacc.c:1646 */
+#line 1297 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3200 "awkgram.c" /* yacc.c:1646 */
+#line 3186 "awkgram.c" /* yacc.c:1646 */
break;
case 83:
-#line 1313 "awkgram.y" /* yacc.c:1646 */
+#line 1299 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3206 "awkgram.c" /* yacc.c:1646 */
+#line 3192 "awkgram.c" /* yacc.c:1646 */
break;
case 85:
-#line 1323 "awkgram.y" /* yacc.c:1646 */
+#line 1309 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[-1]);
}
-#line 3214 "awkgram.c" /* yacc.c:1646 */
+#line 3200 "awkgram.c" /* yacc.c:1646 */
break;
case 86:
-#line 1330 "awkgram.y" /* yacc.c:1646 */
+#line 1316 "awkgram.y" /* yacc.c:1646 */
{
in_print = false;
in_parens = 0;
(yyval) = NULL;
}
-#line 3224 "awkgram.c" /* yacc.c:1646 */
+#line 3210 "awkgram.c" /* yacc.c:1646 */
break;
case 87:
-#line 1335 "awkgram.y" /* yacc.c:1646 */
+#line 1321 "awkgram.y" /* yacc.c:1646 */
{ in_print = false; in_parens = 0; }
-#line 3230 "awkgram.c" /* yacc.c:1646 */
+#line 3216 "awkgram.c" /* yacc.c:1646 */
break;
case 88:
-#line 1336 "awkgram.y" /* yacc.c:1646 */
+#line 1322 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->redir_type == redirect_twoway
&& (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@ -3238,63 +3224,63 @@ regular_print:
yyerror(_("multistage two-way pipelines don't work"));
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
}
-#line 3242 "awkgram.c" /* yacc.c:1646 */
+#line 3228 "awkgram.c" /* yacc.c:1646 */
break;
case 89:
-#line 1347 "awkgram.y" /* yacc.c:1646 */
+#line 1333 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
}
-#line 3250 "awkgram.c" /* yacc.c:1646 */
+#line 3236 "awkgram.c" /* yacc.c:1646 */
break;
case 90:
-#line 1352 "awkgram.y" /* yacc.c:1646 */
+#line 1338 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
}
-#line 3258 "awkgram.c" /* yacc.c:1646 */
+#line 3244 "awkgram.c" /* yacc.c:1646 */
break;
case 95:
-#line 1369 "awkgram.y" /* yacc.c:1646 */
+#line 1355 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3264 "awkgram.c" /* yacc.c:1646 */
+#line 3250 "awkgram.c" /* yacc.c:1646 */
break;
case 96:
-#line 1371 "awkgram.y" /* yacc.c:1646 */
+#line 1357 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3273 "awkgram.c" /* yacc.c:1646 */
+#line 3259 "awkgram.c" /* yacc.c:1646 */
break;
case 97:
-#line 1379 "awkgram.y" /* yacc.c:1646 */
+#line 1365 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3279 "awkgram.c" /* yacc.c:1646 */
+#line 3265 "awkgram.c" /* yacc.c:1646 */
break;
case 98:
-#line 1381 "awkgram.y" /* yacc.c:1646 */
+#line 1367 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3285 "awkgram.c" /* yacc.c:1646 */
+#line 3271 "awkgram.c" /* yacc.c:1646 */
break;
case 99:
-#line 1386 "awkgram.y" /* yacc.c:1646 */
+#line 1372 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = 0;
(yyval) = list_create((yyvsp[0]));
}
-#line 3294 "awkgram.c" /* yacc.c:1646 */
+#line 3280 "awkgram.c" /* yacc.c:1646 */
break;
case 100:
-#line 1391 "awkgram.y" /* yacc.c:1646 */
+#line 1377 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
(yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
@@ -3303,74 +3289,74 @@ regular_print:
} else
(yyval) = NULL;
}
-#line 3307 "awkgram.c" /* yacc.c:1646 */
+#line 3293 "awkgram.c" /* yacc.c:1646 */
break;
case 101:
-#line 1400 "awkgram.y" /* yacc.c:1646 */
+#line 1386 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3313 "awkgram.c" /* yacc.c:1646 */
+#line 3299 "awkgram.c" /* yacc.c:1646 */
break;
case 102:
-#line 1402 "awkgram.y" /* yacc.c:1646 */
+#line 1388 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3319 "awkgram.c" /* yacc.c:1646 */
+#line 3305 "awkgram.c" /* yacc.c:1646 */
break;
case 103:
-#line 1404 "awkgram.y" /* yacc.c:1646 */
+#line 1390 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-2]); }
-#line 3325 "awkgram.c" /* yacc.c:1646 */
+#line 3311 "awkgram.c" /* yacc.c:1646 */
break;
case 104:
-#line 1410 "awkgram.y" /* yacc.c:1646 */
+#line 1396 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3331 "awkgram.c" /* yacc.c:1646 */
+#line 3317 "awkgram.c" /* yacc.c:1646 */
break;
case 105:
-#line 1412 "awkgram.y" /* yacc.c:1646 */
+#line 1398 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3337 "awkgram.c" /* yacc.c:1646 */
+#line 3323 "awkgram.c" /* yacc.c:1646 */
break;
case 106:
-#line 1417 "awkgram.y" /* yacc.c:1646 */
+#line 1403 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3343 "awkgram.c" /* yacc.c:1646 */
+#line 3329 "awkgram.c" /* yacc.c:1646 */
break;
case 107:
-#line 1419 "awkgram.y" /* yacc.c:1646 */
+#line 1405 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3349 "awkgram.c" /* yacc.c:1646 */
+#line 3335 "awkgram.c" /* yacc.c:1646 */
break;
case 108:
-#line 1424 "awkgram.y" /* yacc.c:1646 */
+#line 1410 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3355 "awkgram.c" /* yacc.c:1646 */
+#line 3341 "awkgram.c" /* yacc.c:1646 */
break;
case 109:
-#line 1426 "awkgram.y" /* yacc.c:1646 */
+#line 1412 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3364 "awkgram.c" /* yacc.c:1646 */
+#line 3350 "awkgram.c" /* yacc.c:1646 */
break;
case 110:
-#line 1431 "awkgram.y" /* yacc.c:1646 */
+#line 1417 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3370 "awkgram.c" /* yacc.c:1646 */
+#line 3356 "awkgram.c" /* yacc.c:1646 */
break;
case 111:
-#line 1433 "awkgram.y" /* yacc.c:1646 */
+#line 1419 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3378,62 +3364,62 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3382 "awkgram.c" /* yacc.c:1646 */
+#line 3368 "awkgram.c" /* yacc.c:1646 */
break;
case 112:
-#line 1441 "awkgram.y" /* yacc.c:1646 */
+#line 1427 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3391 "awkgram.c" /* yacc.c:1646 */
+#line 3377 "awkgram.c" /* yacc.c:1646 */
break;
case 113:
-#line 1446 "awkgram.y" /* yacc.c:1646 */
+#line 1432 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3400 "awkgram.c" /* yacc.c:1646 */
+#line 3386 "awkgram.c" /* yacc.c:1646 */
break;
case 114:
-#line 1454 "awkgram.y" /* yacc.c:1646 */
+#line 1440 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3406 "awkgram.c" /* yacc.c:1646 */
+#line 3392 "awkgram.c" /* yacc.c:1646 */
break;
case 115:
-#line 1456 "awkgram.y" /* yacc.c:1646 */
+#line 1442 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3412 "awkgram.c" /* yacc.c:1646 */
+#line 3398 "awkgram.c" /* yacc.c:1646 */
break;
case 116:
-#line 1461 "awkgram.y" /* yacc.c:1646 */
+#line 1447 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3418 "awkgram.c" /* yacc.c:1646 */
+#line 3404 "awkgram.c" /* yacc.c:1646 */
break;
case 117:
-#line 1463 "awkgram.y" /* yacc.c:1646 */
+#line 1449 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3427 "awkgram.c" /* yacc.c:1646 */
+#line 3413 "awkgram.c" /* yacc.c:1646 */
break;
case 118:
-#line 1468 "awkgram.y" /* yacc.c:1646 */
+#line 1454 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3433 "awkgram.c" /* yacc.c:1646 */
+#line 3419 "awkgram.c" /* yacc.c:1646 */
break;
case 119:
-#line 1470 "awkgram.y" /* yacc.c:1646 */
+#line 1456 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3441,72 +3427,72 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3445 "awkgram.c" /* yacc.c:1646 */
+#line 3431 "awkgram.c" /* yacc.c:1646 */
break;
case 120:
-#line 1478 "awkgram.y" /* yacc.c:1646 */
+#line 1464 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3454 "awkgram.c" /* yacc.c:1646 */
+#line 3440 "awkgram.c" /* yacc.c:1646 */
break;
case 121:
-#line 1483 "awkgram.y" /* yacc.c:1646 */
+#line 1469 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3463 "awkgram.c" /* yacc.c:1646 */
+#line 3449 "awkgram.c" /* yacc.c:1646 */
break;
case 122:
-#line 1490 "awkgram.y" /* yacc.c:1646 */
+#line 1476 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3469 "awkgram.c" /* yacc.c:1646 */
+#line 3455 "awkgram.c" /* yacc.c:1646 */
break;
case 123:
-#line 1491 "awkgram.y" /* yacc.c:1646 */
+#line 1477 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = list_create((yyvsp[0])); }
-#line 3475 "awkgram.c" /* yacc.c:1646 */
+#line 3461 "awkgram.c" /* yacc.c:1646 */
break;
case 124:
-#line 1497 "awkgram.y" /* yacc.c:1646 */
+#line 1483 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[-1])->source_line,
_("regular expression on right of assignment"));
(yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
}
-#line 3486 "awkgram.c" /* yacc.c:1646 */
+#line 3472 "awkgram.c" /* yacc.c:1646 */
break;
case 125:
-#line 1504 "awkgram.y" /* yacc.c:1646 */
+#line 1490 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), (yyvsp[-1]));
}
-#line 3494 "awkgram.c" /* yacc.c:1646 */
+#line 3480 "awkgram.c" /* yacc.c:1646 */
break;
case 126:
-#line 1508 "awkgram.y" /* yacc.c:1646 */
+#line 1494 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3500 "awkgram.c" /* yacc.c:1646 */
+#line 3486 "awkgram.c" /* yacc.c:1646 */
break;
case 127:
-#line 1510 "awkgram.y" /* yacc.c:1646 */
+#line 1496 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3506 "awkgram.c" /* yacc.c:1646 */
+#line 3492 "awkgram.c" /* yacc.c:1646 */
break;
case 128:
-#line 1512 "awkgram.y" /* yacc.c:1646 */
+#line 1498 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3519,11 +3505,11 @@ regular_print:
bcfree((yyvsp[0]));
(yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
}
-#line 3523 "awkgram.c" /* yacc.c:1646 */
+#line 3509 "awkgram.c" /* yacc.c:1646 */
break;
case 129:
-#line 1525 "awkgram.y" /* yacc.c:1646 */
+#line 1511 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3540,11 +3526,11 @@ regular_print:
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3544 "awkgram.c" /* yacc.c:1646 */
+#line 3530 "awkgram.c" /* yacc.c:1646 */
break;
case 130:
-#line 1542 "awkgram.y" /* yacc.c:1646 */
+#line 1528 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old)
warning_ln((yyvsp[-1])->source_line,
@@ -3554,91 +3540,91 @@ regular_print:
(yyvsp[-1])->expr_count = 1;
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3558 "awkgram.c" /* yacc.c:1646 */
+#line 3544 "awkgram.c" /* yacc.c:1646 */
break;
case 131:
-#line 1552 "awkgram.y" /* yacc.c:1646 */
+#line 1538 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[-1])->source_line,
_("regular expression on right of comparison"));
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3569 "awkgram.c" /* yacc.c:1646 */
+#line 3555 "awkgram.c" /* yacc.c:1646 */
break;
case 132:
-#line 1559 "awkgram.y" /* yacc.c:1646 */
+#line 1545 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
-#line 3575 "awkgram.c" /* yacc.c:1646 */
+#line 3561 "awkgram.c" /* yacc.c:1646 */
break;
case 133:
-#line 1561 "awkgram.y" /* yacc.c:1646 */
+#line 1547 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3581 "awkgram.c" /* yacc.c:1646 */
+#line 3567 "awkgram.c" /* yacc.c:1646 */
break;
case 134:
-#line 1566 "awkgram.y" /* yacc.c:1646 */
+#line 1552 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3587 "awkgram.c" /* yacc.c:1646 */
+#line 3573 "awkgram.c" /* yacc.c:1646 */
break;
case 135:
-#line 1568 "awkgram.y" /* yacc.c:1646 */
+#line 1554 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3593 "awkgram.c" /* yacc.c:1646 */
+#line 3579 "awkgram.c" /* yacc.c:1646 */
break;
case 136:
-#line 1570 "awkgram.y" /* yacc.c:1646 */
+#line 1556 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[0]);
}
-#line 3602 "awkgram.c" /* yacc.c:1646 */
+#line 3588 "awkgram.c" /* yacc.c:1646 */
break;
case 137:
-#line 1578 "awkgram.y" /* yacc.c:1646 */
+#line 1564 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3608 "awkgram.c" /* yacc.c:1646 */
+#line 3594 "awkgram.c" /* yacc.c:1646 */
break;
case 138:
-#line 1580 "awkgram.y" /* yacc.c:1646 */
+#line 1566 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3614 "awkgram.c" /* yacc.c:1646 */
+#line 3600 "awkgram.c" /* yacc.c:1646 */
break;
case 139:
-#line 1585 "awkgram.y" /* yacc.c:1646 */
+#line 1571 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3620 "awkgram.c" /* yacc.c:1646 */
+#line 3606 "awkgram.c" /* yacc.c:1646 */
break;
case 140:
-#line 1587 "awkgram.y" /* yacc.c:1646 */
+#line 1573 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3626 "awkgram.c" /* yacc.c:1646 */
+#line 3612 "awkgram.c" /* yacc.c:1646 */
break;
case 141:
-#line 1592 "awkgram.y" /* yacc.c:1646 */
+#line 1578 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3632 "awkgram.c" /* yacc.c:1646 */
+#line 3618 "awkgram.c" /* yacc.c:1646 */
break;
case 142:
-#line 1594 "awkgram.y" /* yacc.c:1646 */
+#line 1580 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3638 "awkgram.c" /* yacc.c:1646 */
+#line 3624 "awkgram.c" /* yacc.c:1646 */
break;
case 143:
-#line 1596 "awkgram.y" /* yacc.c:1646 */
+#line 1582 "awkgram.y" /* yacc.c:1646 */
{
int count = 2;
bool is_simple_var = false;
@@ -3691,47 +3677,47 @@ regular_print:
max_args = count;
}
}
-#line 3695 "awkgram.c" /* yacc.c:1646 */
+#line 3681 "awkgram.c" /* yacc.c:1646 */
break;
case 145:
-#line 1654 "awkgram.y" /* yacc.c:1646 */
+#line 1640 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3701 "awkgram.c" /* yacc.c:1646 */
+#line 3687 "awkgram.c" /* yacc.c:1646 */
break;
case 146:
-#line 1656 "awkgram.y" /* yacc.c:1646 */
+#line 1642 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3707 "awkgram.c" /* yacc.c:1646 */
+#line 3693 "awkgram.c" /* yacc.c:1646 */
break;
case 147:
-#line 1658 "awkgram.y" /* yacc.c:1646 */
+#line 1644 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3713 "awkgram.c" /* yacc.c:1646 */
+#line 3699 "awkgram.c" /* yacc.c:1646 */
break;
case 148:
-#line 1660 "awkgram.y" /* yacc.c:1646 */
+#line 1646 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3719 "awkgram.c" /* yacc.c:1646 */
+#line 3705 "awkgram.c" /* yacc.c:1646 */
break;
case 149:
-#line 1662 "awkgram.y" /* yacc.c:1646 */
+#line 1648 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3725 "awkgram.c" /* yacc.c:1646 */
+#line 3711 "awkgram.c" /* yacc.c:1646 */
break;
case 150:
-#line 1664 "awkgram.y" /* yacc.c:1646 */
+#line 1650 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3731 "awkgram.c" /* yacc.c:1646 */
+#line 3717 "awkgram.c" /* yacc.c:1646 */
break;
case 151:
-#line 1666 "awkgram.y" /* yacc.c:1646 */
+#line 1652 "awkgram.y" /* yacc.c:1646 */
{
/*
* In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@ -3745,29 +3731,29 @@ regular_print:
_("non-redirected `getline' undefined inside END action"));
(yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input);
}
-#line 3749 "awkgram.c" /* yacc.c:1646 */
+#line 3735 "awkgram.c" /* yacc.c:1646 */
break;
case 152:
-#line 1680 "awkgram.y" /* yacc.c:1646 */
+#line 1666 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3758 "awkgram.c" /* yacc.c:1646 */
+#line 3744 "awkgram.c" /* yacc.c:1646 */
break;
case 153:
-#line 1685 "awkgram.y" /* yacc.c:1646 */
+#line 1671 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3767 "awkgram.c" /* yacc.c:1646 */
+#line 3753 "awkgram.c" /* yacc.c:1646 */
break;
case 154:
-#line 1690 "awkgram.y" /* yacc.c:1646 */
+#line 1676 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old) {
warning_ln((yyvsp[-1])->source_line,
@@ -3787,64 +3773,64 @@ regular_print:
(yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3791 "awkgram.c" /* yacc.c:1646 */
+#line 3777 "awkgram.c" /* yacc.c:1646 */
break;
case 155:
-#line 1715 "awkgram.y" /* yacc.c:1646 */
+#line 1701 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
bcfree((yyvsp[-2]));
}
-#line 3800 "awkgram.c" /* yacc.c:1646 */
+#line 3786 "awkgram.c" /* yacc.c:1646 */
break;
case 156:
-#line 1721 "awkgram.y" /* yacc.c:1646 */
+#line 1707 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3806 "awkgram.c" /* yacc.c:1646 */
+#line 3792 "awkgram.c" /* yacc.c:1646 */
break;
case 157:
-#line 1723 "awkgram.y" /* yacc.c:1646 */
+#line 1709 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3812 "awkgram.c" /* yacc.c:1646 */
+#line 3798 "awkgram.c" /* yacc.c:1646 */
break;
case 158:
-#line 1725 "awkgram.y" /* yacc.c:1646 */
+#line 1711 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3818 "awkgram.c" /* yacc.c:1646 */
+#line 3804 "awkgram.c" /* yacc.c:1646 */
break;
case 159:
-#line 1727 "awkgram.y" /* yacc.c:1646 */
+#line 1713 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3824 "awkgram.c" /* yacc.c:1646 */
+#line 3810 "awkgram.c" /* yacc.c:1646 */
break;
case 160:
-#line 1729 "awkgram.y" /* yacc.c:1646 */
+#line 1715 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3830 "awkgram.c" /* yacc.c:1646 */
+#line 3816 "awkgram.c" /* yacc.c:1646 */
break;
case 161:
-#line 1731 "awkgram.y" /* yacc.c:1646 */
+#line 1717 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3836 "awkgram.c" /* yacc.c:1646 */
+#line 3822 "awkgram.c" /* yacc.c:1646 */
break;
case 162:
-#line 1736 "awkgram.y" /* yacc.c:1646 */
+#line 1722 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3844 "awkgram.c" /* yacc.c:1646 */
+#line 3830 "awkgram.c" /* yacc.c:1646 */
break;
case 163:
-#line 1740 "awkgram.y" /* yacc.c:1646 */
+#line 1726 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->opcode == Op_match_rec) {
(yyvsp[0])->opcode = Op_nomatch;
@@ -3876,37 +3862,37 @@ regular_print:
}
}
}
-#line 3880 "awkgram.c" /* yacc.c:1646 */
+#line 3866 "awkgram.c" /* yacc.c:1646 */
break;
case 164:
-#line 1772 "awkgram.y" /* yacc.c:1646 */
+#line 1758 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3886 "awkgram.c" /* yacc.c:1646 */
+#line 3872 "awkgram.c" /* yacc.c:1646 */
break;
case 165:
-#line 1774 "awkgram.y" /* yacc.c:1646 */
+#line 1760 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3896 "awkgram.c" /* yacc.c:1646 */
+#line 3882 "awkgram.c" /* yacc.c:1646 */
break;
case 166:
-#line 1780 "awkgram.y" /* yacc.c:1646 */
+#line 1766 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3906 "awkgram.c" /* yacc.c:1646 */
+#line 3892 "awkgram.c" /* yacc.c:1646 */
break;
case 167:
-#line 1786 "awkgram.y" /* yacc.c:1646 */
+#line 1772 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
@@ -3919,45 +3905,45 @@ regular_print:
if ((yyval) == NULL)
YYABORT;
}
-#line 3923 "awkgram.c" /* yacc.c:1646 */
+#line 3909 "awkgram.c" /* yacc.c:1646 */
break;
case 170:
-#line 1801 "awkgram.y" /* yacc.c:1646 */
+#line 1787 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3932 "awkgram.c" /* yacc.c:1646 */
+#line 3918 "awkgram.c" /* yacc.c:1646 */
break;
case 171:
-#line 1806 "awkgram.y" /* yacc.c:1646 */
+#line 1792 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3941 "awkgram.c" /* yacc.c:1646 */
+#line 3927 "awkgram.c" /* yacc.c:1646 */
break;
case 172:
-#line 1811 "awkgram.y" /* yacc.c:1646 */
+#line 1797 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3949 "awkgram.c" /* yacc.c:1646 */
+#line 3935 "awkgram.c" /* yacc.c:1646 */
break;
case 173:
-#line 1815 "awkgram.y" /* yacc.c:1646 */
+#line 1801 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3957 "awkgram.c" /* yacc.c:1646 */
+#line 3943 "awkgram.c" /* yacc.c:1646 */
break;
case 174:
-#line 1819 "awkgram.y" /* yacc.c:1646 */
+#line 1805 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3972,11 +3958,11 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3976 "awkgram.c" /* yacc.c:1646 */
+#line 3962 "awkgram.c" /* yacc.c:1646 */
break;
case 175:
-#line 1834 "awkgram.y" /* yacc.c:1646 */
+#line 1820 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3994,20 +3980,20 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3998 "awkgram.c" /* yacc.c:1646 */
+#line 3984 "awkgram.c" /* yacc.c:1646 */
break;
case 176:
-#line 1855 "awkgram.y" /* yacc.c:1646 */
+#line 1841 "awkgram.y" /* yacc.c:1646 */
{
func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[0]);
}
-#line 4007 "awkgram.c" /* yacc.c:1646 */
+#line 3993 "awkgram.c" /* yacc.c:1646 */
break;
case 177:
-#line 1860 "awkgram.y" /* yacc.c:1646 */
+#line 1846 "awkgram.y" /* yacc.c:1646 */
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -4041,11 +4027,11 @@ regular_print:
(yyval) = list_prepend((yyvsp[0]), t);
at_seen = false;
}
-#line 4045 "awkgram.c" /* yacc.c:1646 */
+#line 4031 "awkgram.c" /* yacc.c:1646 */
break;
case 178:
-#line 1897 "awkgram.y" /* yacc.c:1646 */
+#line 1883 "awkgram.y" /* yacc.c:1646 */
{
NODE *n;
@@ -4070,49 +4056,49 @@ regular_print:
(yyval) = list_append(t, (yyvsp[-3]));
}
}
-#line 4074 "awkgram.c" /* yacc.c:1646 */
+#line 4060 "awkgram.c" /* yacc.c:1646 */
break;
case 179:
-#line 1925 "awkgram.y" /* yacc.c:1646 */
+#line 1911 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4080 "awkgram.c" /* yacc.c:1646 */
+#line 4066 "awkgram.c" /* yacc.c:1646 */
break;
case 180:
-#line 1927 "awkgram.y" /* yacc.c:1646 */
+#line 1913 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4086 "awkgram.c" /* yacc.c:1646 */
+#line 4072 "awkgram.c" /* yacc.c:1646 */
break;
case 181:
-#line 1932 "awkgram.y" /* yacc.c:1646 */
+#line 1918 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4092 "awkgram.c" /* yacc.c:1646 */
+#line 4078 "awkgram.c" /* yacc.c:1646 */
break;
case 182:
-#line 1934 "awkgram.y" /* yacc.c:1646 */
+#line 1920 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4098 "awkgram.c" /* yacc.c:1646 */
+#line 4084 "awkgram.c" /* yacc.c:1646 */
break;
case 183:
-#line 1939 "awkgram.y" /* yacc.c:1646 */
+#line 1925 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4104 "awkgram.c" /* yacc.c:1646 */
+#line 4090 "awkgram.c" /* yacc.c:1646 */
break;
case 184:
-#line 1941 "awkgram.y" /* yacc.c:1646 */
+#line 1927 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4112 "awkgram.c" /* yacc.c:1646 */
+#line 4098 "awkgram.c" /* yacc.c:1646 */
break;
case 185:
-#line 1948 "awkgram.y" /* yacc.c:1646 */
+#line 1934 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -4126,11 +4112,11 @@ regular_print:
sub_counter++; /* count # of dimensions */
(yyval) = (yyvsp[0]);
}
-#line 4130 "awkgram.c" /* yacc.c:1646 */
+#line 4116 "awkgram.c" /* yacc.c:1646 */
break;
case 186:
-#line 1965 "awkgram.y" /* yacc.c:1646 */
+#line 1951 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *t = (yyvsp[-1]);
if ((yyvsp[-1]) == NULL) {
@@ -4144,31 +4130,31 @@ regular_print:
(yyvsp[0])->sub_count = count_expressions(&t, false);
(yyval) = list_append(t, (yyvsp[0]));
}
-#line 4148 "awkgram.c" /* yacc.c:1646 */
+#line 4134 "awkgram.c" /* yacc.c:1646 */
break;
case 187:
-#line 1982 "awkgram.y" /* yacc.c:1646 */
+#line 1968 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4154 "awkgram.c" /* yacc.c:1646 */
+#line 4140 "awkgram.c" /* yacc.c:1646 */
break;
case 188:
-#line 1984 "awkgram.y" /* yacc.c:1646 */
+#line 1970 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4162 "awkgram.c" /* yacc.c:1646 */
+#line 4148 "awkgram.c" /* yacc.c:1646 */
break;
case 189:
-#line 1991 "awkgram.y" /* yacc.c:1646 */
+#line 1977 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4168 "awkgram.c" /* yacc.c:1646 */
+#line 4154 "awkgram.c" /* yacc.c:1646 */
break;
case 190:
-#line 1996 "awkgram.y" /* yacc.c:1646 */
+#line 1982 "awkgram.y" /* yacc.c:1646 */
{
char *var_name = (yyvsp[0])->lextok;
@@ -4176,22 +4162,22 @@ regular_print:
(yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new);
(yyval) = list_create((yyvsp[0]));
}
-#line 4180 "awkgram.c" /* yacc.c:1646 */
+#line 4166 "awkgram.c" /* yacc.c:1646 */
break;
case 191:
-#line 2004 "awkgram.y" /* yacc.c:1646 */
+#line 1990 "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 4191 "awkgram.c" /* yacc.c:1646 */
+#line 4177 "awkgram.c" /* yacc.c:1646 */
break;
case 192:
-#line 2014 "awkgram.y" /* yacc.c:1646 */
+#line 2000 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->nexti;
if (ip->opcode == Op_push
@@ -4203,73 +4189,73 @@ regular_print:
} else
(yyval) = (yyvsp[0]);
}
-#line 4207 "awkgram.c" /* yacc.c:1646 */
+#line 4193 "awkgram.c" /* yacc.c:1646 */
break;
case 193:
-#line 2026 "awkgram.y" /* yacc.c:1646 */
+#line 2012 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
if ((yyvsp[0]) != NULL)
mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 4217 "awkgram.c" /* yacc.c:1646 */
+#line 4203 "awkgram.c" /* yacc.c:1646 */
break;
case 194:
-#line 2035 "awkgram.y" /* yacc.c:1646 */
+#line 2021 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
}
-#line 4225 "awkgram.c" /* yacc.c:1646 */
+#line 4211 "awkgram.c" /* yacc.c:1646 */
break;
case 195:
-#line 2039 "awkgram.y" /* yacc.c:1646 */
+#line 2025 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
}
-#line 4233 "awkgram.c" /* yacc.c:1646 */
+#line 4219 "awkgram.c" /* yacc.c:1646 */
break;
case 196:
-#line 2042 "awkgram.y" /* yacc.c:1646 */
+#line 2028 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4239 "awkgram.c" /* yacc.c:1646 */
+#line 4225 "awkgram.c" /* yacc.c:1646 */
break;
case 198:
-#line 2050 "awkgram.y" /* yacc.c:1646 */
+#line 2036 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4245 "awkgram.c" /* yacc.c:1646 */
+#line 4231 "awkgram.c" /* yacc.c:1646 */
break;
case 199:
-#line 2054 "awkgram.y" /* yacc.c:1646 */
+#line 2040 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4251 "awkgram.c" /* yacc.c:1646 */
+#line 4237 "awkgram.c" /* yacc.c:1646 */
break;
case 202:
-#line 2063 "awkgram.y" /* yacc.c:1646 */
+#line 2049 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4257 "awkgram.c" /* yacc.c:1646 */
+#line 4243 "awkgram.c" /* yacc.c:1646 */
break;
case 203:
-#line 2067 "awkgram.y" /* yacc.c:1646 */
+#line 2053 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); yyerrok; }
-#line 4263 "awkgram.c" /* yacc.c:1646 */
+#line 4249 "awkgram.c" /* yacc.c:1646 */
break;
case 204:
-#line 2071 "awkgram.y" /* yacc.c:1646 */
+#line 2057 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4269 "awkgram.c" /* yacc.c:1646 */
+#line 4255 "awkgram.c" /* yacc.c:1646 */
break;
-#line 4273 "awkgram.c" /* yacc.c:1646 */
+#line 4259 "awkgram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4497,7 +4483,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 2073 "awkgram.y" /* yacc.c:1906 */
+#line 2059 "awkgram.y" /* yacc.c:1906 */
struct token {