aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2013-07-02 20:45:46 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2013-07-02 20:45:46 -0400
commit9ee8aeb59ad3b3873d52f3c9a2ab80b28c4c2c20 (patch)
treeb51848f2af88f781a920b75ff6aca4efe815bdda /awkgram.c
parentf0391b8a4db649853ecc47a10b09d7c4b04330cf (diff)
downloadegawk-9ee8aeb59ad3b3873d52f3c9a2ab80b28c4c2c20.tar.gz
egawk-9ee8aeb59ad3b3873d52f3c9a2ab80b28c4c2c20.tar.bz2
egawk-9ee8aeb59ad3b3873d52f3c9a2ab80b28c4c2c20.zip
After the gawkapi get_file function opens a file, call the BEGINFILE block.
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c385
1 files changed, 193 insertions, 192 deletions
diff --git a/awkgram.c b/awkgram.c
index 947f4a30..c6d7aadb 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -186,6 +186,7 @@ static INSTRUCTION *ip_atexit = NULL;
static INSTRUCTION *ip_end;
static INSTRUCTION *ip_endfile;
static INSTRUCTION *ip_beginfile;
+INSTRUCTION *main_beginfile;
static inline INSTRUCTION *list_create(INSTRUCTION *x);
static inline INSTRUCTION *list_append(INSTRUCTION *l, INSTRUCTION *x);
@@ -199,7 +200,7 @@ extern double fmod(double x, double y);
#define is_identchar(c) (isalnum(c) || (c) == '_')
/* Line 371 of yacc.c */
-#line 203 "awkgram.c"
+#line 204 "awkgram.c"
# ifndef YY_NULL
# if defined __cplusplus && 201103L <= __cplusplus
@@ -368,7 +369,7 @@ int yyparse ();
/* Copy the second part of user declarations. */
/* Line 390 of yacc.c */
-#line 372 "awkgram.c"
+#line 373 "awkgram.c"
#ifdef short
# undef short
@@ -744,25 +745,25 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 200, 200, 202, 207, 208, 214, 226, 230, 241,
- 247, 252, 260, 268, 270, 275, 283, 285, 291, 292,
- 294, 320, 331, 342, 348, 357, 367, 369, 371, 377,
- 382, 383, 387, 406, 405, 439, 441, 446, 447, 460,
- 465, 466, 470, 472, 474, 481, 571, 613, 655, 768,
- 775, 782, 792, 801, 810, 819, 830, 846, 845, 869,
- 881, 881, 979, 979, 1012, 1042, 1048, 1049, 1055, 1056,
- 1063, 1068, 1080, 1094, 1096, 1104, 1109, 1111, 1119, 1121,
- 1130, 1131, 1139, 1144, 1144, 1155, 1159, 1167, 1168, 1171,
- 1173, 1178, 1179, 1188, 1189, 1194, 1199, 1205, 1207, 1209,
- 1216, 1217, 1223, 1224, 1229, 1231, 1236, 1238, 1246, 1251,
- 1260, 1267, 1269, 1271, 1287, 1297, 1304, 1306, 1311, 1313,
- 1315, 1323, 1325, 1330, 1332, 1337, 1339, 1341, 1391, 1393,
- 1395, 1397, 1399, 1401, 1403, 1405, 1428, 1433, 1438, 1463,
- 1469, 1471, 1473, 1475, 1477, 1479, 1484, 1488, 1520, 1522,
- 1528, 1534, 1547, 1548, 1549, 1554, 1559, 1563, 1567, 1582,
- 1595, 1600, 1636, 1654, 1655, 1661, 1662, 1667, 1669, 1676,
- 1693, 1710, 1712, 1719, 1724, 1732, 1742, 1754, 1763, 1767,
- 1771, 1775, 1779, 1783, 1786, 1788, 1792, 1796, 1800
+ 0, 201, 201, 203, 208, 209, 215, 227, 231, 242,
+ 248, 253, 261, 269, 271, 276, 284, 286, 292, 293,
+ 295, 321, 332, 343, 349, 358, 368, 370, 372, 378,
+ 383, 384, 388, 407, 406, 440, 442, 447, 448, 461,
+ 466, 467, 471, 473, 475, 482, 572, 614, 656, 769,
+ 776, 783, 793, 802, 811, 820, 831, 847, 846, 870,
+ 882, 882, 980, 980, 1013, 1043, 1049, 1050, 1056, 1057,
+ 1064, 1069, 1081, 1095, 1097, 1105, 1110, 1112, 1120, 1122,
+ 1131, 1132, 1140, 1145, 1145, 1156, 1160, 1168, 1169, 1172,
+ 1174, 1179, 1180, 1189, 1190, 1195, 1200, 1206, 1208, 1210,
+ 1217, 1218, 1224, 1225, 1230, 1232, 1237, 1239, 1247, 1252,
+ 1261, 1268, 1270, 1272, 1288, 1298, 1305, 1307, 1312, 1314,
+ 1316, 1324, 1326, 1331, 1333, 1338, 1340, 1342, 1392, 1394,
+ 1396, 1398, 1400, 1402, 1404, 1406, 1429, 1434, 1439, 1464,
+ 1470, 1472, 1474, 1476, 1478, 1480, 1485, 1489, 1521, 1523,
+ 1529, 1535, 1548, 1549, 1550, 1555, 1560, 1564, 1568, 1583,
+ 1596, 1601, 1637, 1655, 1656, 1662, 1663, 1668, 1670, 1677,
+ 1694, 1711, 1713, 1720, 1725, 1733, 1743, 1755, 1764, 1768,
+ 1772, 1776, 1780, 1784, 1787, 1789, 1793, 1797, 1801
};
#endif
@@ -2049,7 +2050,7 @@ yyreduce:
{
case 3:
/* Line 1787 of yacc.c */
-#line 203 "awkgram.y"
+#line 204 "awkgram.y"
{
rule = 0;
yyerrok;
@@ -2058,7 +2059,7 @@ yyreduce:
case 5:
/* Line 1787 of yacc.c */
-#line 209 "awkgram.y"
+#line 210 "awkgram.y"
{
next_sourcefile();
if (sourcefile == srcfiles)
@@ -2068,7 +2069,7 @@ yyreduce:
case 6:
/* Line 1787 of yacc.c */
-#line 215 "awkgram.y"
+#line 216 "awkgram.y"
{
rule = 0;
/*
@@ -2081,7 +2082,7 @@ yyreduce:
case 7:
/* Line 1787 of yacc.c */
-#line 227 "awkgram.y"
+#line 228 "awkgram.y"
{
(void) append_rule((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -2089,7 +2090,7 @@ yyreduce:
case 8:
/* Line 1787 of yacc.c */
-#line 231 "awkgram.y"
+#line 232 "awkgram.y"
{
if (rule != Rule) {
msg(_("%s blocks must have an action part"), ruletab[rule]);
@@ -2104,7 +2105,7 @@ yyreduce:
case 9:
/* Line 1787 of yacc.c */
-#line 242 "awkgram.y"
+#line 243 "awkgram.y"
{
in_function = NULL;
(void) mk_function((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
@@ -2114,7 +2115,7 @@ yyreduce:
case 10:
/* Line 1787 of yacc.c */
-#line 248 "awkgram.y"
+#line 249 "awkgram.y"
{
want_source = false;
yyerrok;
@@ -2123,7 +2124,7 @@ yyreduce:
case 11:
/* Line 1787 of yacc.c */
-#line 253 "awkgram.y"
+#line 254 "awkgram.y"
{
want_source = false;
yyerrok;
@@ -2132,7 +2133,7 @@ yyreduce:
case 12:
/* Line 1787 of yacc.c */
-#line 261 "awkgram.y"
+#line 262 "awkgram.y"
{
if (include_source((yyvsp[(1) - (1)])) < 0)
YYABORT;
@@ -2144,19 +2145,19 @@ yyreduce:
case 13:
/* Line 1787 of yacc.c */
-#line 269 "awkgram.y"
+#line 270 "awkgram.y"
{ (yyval) = NULL; }
break;
case 14:
/* Line 1787 of yacc.c */
-#line 271 "awkgram.y"
+#line 272 "awkgram.y"
{ (yyval) = NULL; }
break;
case 15:
/* Line 1787 of yacc.c */
-#line 276 "awkgram.y"
+#line 277 "awkgram.y"
{
if (load_library((yyvsp[(1) - (1)])) < 0)
YYABORT;
@@ -2168,31 +2169,31 @@ yyreduce:
case 16:
/* Line 1787 of yacc.c */
-#line 284 "awkgram.y"
+#line 285 "awkgram.y"
{ (yyval) = NULL; }
break;
case 17:
/* Line 1787 of yacc.c */
-#line 286 "awkgram.y"
+#line 287 "awkgram.y"
{ (yyval) = NULL; }
break;
case 18:
/* Line 1787 of yacc.c */
-#line 291 "awkgram.y"
+#line 292 "awkgram.y"
{ (yyval) = NULL; rule = Rule; }
break;
case 19:
/* Line 1787 of yacc.c */
-#line 293 "awkgram.y"
+#line 294 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); rule = Rule; }
break;
case 20:
/* Line 1787 of yacc.c */
-#line 295 "awkgram.y"
+#line 296 "awkgram.y"
{
INSTRUCTION *tp;
@@ -2222,7 +2223,7 @@ yyreduce:
case 21:
/* Line 1787 of yacc.c */
-#line 321 "awkgram.y"
+#line 322 "awkgram.y"
{
static int begin_seen = 0;
if (do_lint_old && ++begin_seen == 2)
@@ -2237,7 +2238,7 @@ yyreduce:
case 22:
/* Line 1787 of yacc.c */
-#line 332 "awkgram.y"
+#line 333 "awkgram.y"
{
static int end_seen = 0;
if (do_lint_old && ++end_seen == 2)
@@ -2252,7 +2253,7 @@ yyreduce:
case 23:
/* Line 1787 of yacc.c */
-#line 343 "awkgram.y"
+#line 344 "awkgram.y"
{
(yyvsp[(1) - (1)])->in_rule = rule = BEGINFILE;
(yyvsp[(1) - (1)])->source_file = source;
@@ -2262,7 +2263,7 @@ yyreduce:
case 24:
/* Line 1787 of yacc.c */
-#line 349 "awkgram.y"
+#line 350 "awkgram.y"
{
(yyvsp[(1) - (1)])->in_rule = rule = ENDFILE;
(yyvsp[(1) - (1)])->source_file = source;
@@ -2272,7 +2273,7 @@ yyreduce:
case 25:
/* Line 1787 of yacc.c */
-#line 358 "awkgram.y"
+#line 359 "awkgram.y"
{
if ((yyvsp[(2) - (5)]) == NULL)
(yyval) = list_create(instruction(Op_no_op));
@@ -2283,19 +2284,19 @@ yyreduce:
case 26:
/* Line 1787 of yacc.c */
-#line 368 "awkgram.y"
+#line 369 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 27:
/* Line 1787 of yacc.c */
-#line 370 "awkgram.y"
+#line 371 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 28:
/* Line 1787 of yacc.c */
-#line 372 "awkgram.y"
+#line 373 "awkgram.y"
{
yyerror(_("`%s' is a built-in function, it cannot be redefined"),
tokstart);
@@ -2305,13 +2306,13 @@ yyreduce:
case 29:
/* Line 1787 of yacc.c */
-#line 378 "awkgram.y"
+#line 379 "awkgram.y"
{ (yyval) = (yyvsp[(2) - (2)]); }
break;
case 32:
/* Line 1787 of yacc.c */
-#line 388 "awkgram.y"
+#line 389 "awkgram.y"
{
(yyvsp[(1) - (6)])->source_file = source;
if (install_function((yyvsp[(2) - (6)])->lextok, (yyvsp[(1) - (6)]), (yyvsp[(4) - (6)])) < 0)
@@ -2326,13 +2327,13 @@ yyreduce:
case 33:
/* Line 1787 of yacc.c */
-#line 406 "awkgram.y"
+#line 407 "awkgram.y"
{ want_regexp = true; }
break;
case 34:
/* Line 1787 of yacc.c */
-#line 408 "awkgram.y"
+#line 409 "awkgram.y"
{
NODE *n, *exp;
char *re;
@@ -2365,19 +2366,19 @@ yyreduce:
case 35:
/* Line 1787 of yacc.c */
-#line 440 "awkgram.y"
+#line 441 "awkgram.y"
{ bcfree((yyvsp[(1) - (1)])); }
break;
case 37:
/* Line 1787 of yacc.c */
-#line 446 "awkgram.y"
+#line 447 "awkgram.y"
{ (yyval) = NULL; }
break;
case 38:
/* Line 1787 of yacc.c */
-#line 448 "awkgram.y"
+#line 449 "awkgram.y"
{
if ((yyvsp[(2) - (2)]) == NULL)
(yyval) = (yyvsp[(1) - (2)]);
@@ -2394,25 +2395,25 @@ yyreduce:
case 39:
/* Line 1787 of yacc.c */
-#line 461 "awkgram.y"
+#line 462 "awkgram.y"
{ (yyval) = NULL; }
break;
case 42:
/* Line 1787 of yacc.c */
-#line 471 "awkgram.y"
+#line 472 "awkgram.y"
{ (yyval) = NULL; }
break;
case 43:
/* Line 1787 of yacc.c */
-#line 473 "awkgram.y"
+#line 474 "awkgram.y"
{ (yyval) = (yyvsp[(2) - (3)]); }
break;
case 44:
/* Line 1787 of yacc.c */
-#line 475 "awkgram.y"
+#line 476 "awkgram.y"
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_exec_count));
@@ -2423,7 +2424,7 @@ yyreduce:
case 45:
/* Line 1787 of yacc.c */
-#line 482 "awkgram.y"
+#line 483 "awkgram.y"
{
INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
INSTRUCTION *ip, *nextc, *tbreak;
@@ -2517,7 +2518,7 @@ yyreduce:
case 46:
/* Line 1787 of yacc.c */
-#line 572 "awkgram.y"
+#line 573 "awkgram.y"
{
/*
* -----------------
@@ -2563,7 +2564,7 @@ yyreduce:
case 47:
/* Line 1787 of yacc.c */
-#line 614 "awkgram.y"
+#line 615 "awkgram.y"
{
/*
* -----------------
@@ -2609,7 +2610,7 @@ yyreduce:
case 48:
/* Line 1787 of yacc.c */
-#line 656 "awkgram.y"
+#line 657 "awkgram.y"
{
INSTRUCTION *ip;
char *var_name = (yyvsp[(3) - (8)])->lextok;
@@ -2726,7 +2727,7 @@ regular_loop:
case 49:
/* Line 1787 of yacc.c */
-#line 769 "awkgram.y"
+#line 770 "awkgram.y"
{
(yyval) = mk_for_loop((yyvsp[(1) - (12)]), (yyvsp[(3) - (12)]), (yyvsp[(6) - (12)]), (yyvsp[(9) - (12)]), (yyvsp[(12) - (12)]));
@@ -2737,7 +2738,7 @@ regular_loop:
case 50:
/* Line 1787 of yacc.c */
-#line 776 "awkgram.y"
+#line 777 "awkgram.y"
{
(yyval) = mk_for_loop((yyvsp[(1) - (11)]), (yyvsp[(3) - (11)]), (INSTRUCTION *) NULL, (yyvsp[(8) - (11)]), (yyvsp[(11) - (11)]));
@@ -2748,7 +2749,7 @@ regular_loop:
case 51:
/* Line 1787 of yacc.c */
-#line 783 "awkgram.y"
+#line 784 "awkgram.y"
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_exec_count));
@@ -2759,7 +2760,7 @@ regular_loop:
case 52:
/* Line 1787 of yacc.c */
-#line 793 "awkgram.y"
+#line 794 "awkgram.y"
{
if (! break_allowed)
error_ln((yyvsp[(1) - (2)])->source_line,
@@ -2772,7 +2773,7 @@ regular_loop:
case 53:
/* Line 1787 of yacc.c */
-#line 802 "awkgram.y"
+#line 803 "awkgram.y"
{
if (! continue_allowed)
error_ln((yyvsp[(1) - (2)])->source_line,
@@ -2785,7 +2786,7 @@ regular_loop:
case 54:
/* Line 1787 of yacc.c */
-#line 811 "awkgram.y"
+#line 812 "awkgram.y"
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule && rule != Rule)
@@ -2798,7 +2799,7 @@ regular_loop:
case 55:
/* Line 1787 of yacc.c */
-#line 820 "awkgram.y"
+#line 821 "awkgram.y"
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule == BEGIN || rule == END || rule == ENDFILE)
@@ -2813,7 +2814,7 @@ regular_loop:
case 56:
/* Line 1787 of yacc.c */
-#line 831 "awkgram.y"
+#line 832 "awkgram.y"
{
/* Initialize the two possible jump targets, the actual target
* is resolved at run-time.
@@ -2832,7 +2833,7 @@ regular_loop:
case 57:
/* Line 1787 of yacc.c */
-#line 846 "awkgram.y"
+#line 847 "awkgram.y"
{
if (! in_function)
yyerror(_("`return' used outside function context"));
@@ -2841,7 +2842,7 @@ regular_loop:
case 58:
/* Line 1787 of yacc.c */
-#line 849 "awkgram.y"
+#line 850 "awkgram.y"
{
if ((yyvsp[(3) - (4)]) == NULL) {
(yyval) = list_create((yyvsp[(1) - (4)]));
@@ -2866,13 +2867,13 @@ regular_loop:
case 60:
/* Line 1787 of yacc.c */
-#line 881 "awkgram.y"
+#line 882 "awkgram.y"
{ in_print = true; in_parens = 0; }
break;
case 61:
/* Line 1787 of yacc.c */
-#line 882 "awkgram.y"
+#line 883 "awkgram.y"
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2973,13 +2974,13 @@ regular_print:
case 62:
/* Line 1787 of yacc.c */
-#line 979 "awkgram.y"
+#line 980 "awkgram.y"
{ sub_counter = 0; }
break;
case 63:
/* Line 1787 of yacc.c */
-#line 980 "awkgram.y"
+#line 981 "awkgram.y"
{
char *arr = (yyvsp[(2) - (4)])->lextok;
@@ -3016,7 +3017,7 @@ regular_print:
case 64:
/* Line 1787 of yacc.c */
-#line 1017 "awkgram.y"
+#line 1018 "awkgram.y"
{
static bool warned = false;
char *arr = (yyvsp[(3) - (4)])->lextok;
@@ -3046,31 +3047,31 @@ regular_print:
case 65:
/* Line 1787 of yacc.c */
-#line 1043 "awkgram.y"
+#line 1044 "awkgram.y"
{ (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
break;
case 66:
/* Line 1787 of yacc.c */
-#line 1048 "awkgram.y"
+#line 1049 "awkgram.y"
{ (yyval) = NULL; }
break;
case 67:
/* Line 1787 of yacc.c */
-#line 1050 "awkgram.y"
+#line 1051 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 68:
/* Line 1787 of yacc.c */
-#line 1055 "awkgram.y"
+#line 1056 "awkgram.y"
{ (yyval) = NULL; }
break;
case 69:
/* Line 1787 of yacc.c */
-#line 1057 "awkgram.y"
+#line 1058 "awkgram.y"
{
if ((yyvsp[(1) - (2)]) == NULL)
(yyval) = list_create((yyvsp[(2) - (2)]));
@@ -3081,13 +3082,13 @@ regular_print:
case 70:
/* Line 1787 of yacc.c */
-#line 1064 "awkgram.y"
+#line 1065 "awkgram.y"
{ (yyval) = NULL; }
break;
case 71:
/* Line 1787 of yacc.c */
-#line 1069 "awkgram.y"
+#line 1070 "awkgram.y"
{
INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
if ((yyvsp[(5) - (5)]) == NULL)
@@ -3103,7 +3104,7 @@ regular_print:
case 72:
/* Line 1787 of yacc.c */
-#line 1081 "awkgram.y"
+#line 1082 "awkgram.y"
{
INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
if ((yyvsp[(4) - (4)]) == NULL)
@@ -3118,13 +3119,13 @@ regular_print:
case 73:
/* Line 1787 of yacc.c */
-#line 1095 "awkgram.y"
+#line 1096 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 74:
/* Line 1787 of yacc.c */
-#line 1097 "awkgram.y"
+#line 1098 "awkgram.y"
{
NODE *n = (yyvsp[(2) - (2)])->memory;
(void) force_number(n);
@@ -3136,7 +3137,7 @@ regular_print:
case 75:
/* Line 1787 of yacc.c */
-#line 1105 "awkgram.y"
+#line 1106 "awkgram.y"
{
bcfree((yyvsp[(1) - (2)]));
(yyval) = (yyvsp[(2) - (2)]);
@@ -3145,13 +3146,13 @@ regular_print:
case 76:
/* Line 1787 of yacc.c */
-#line 1110 "awkgram.y"
+#line 1111 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 77:
/* Line 1787 of yacc.c */
-#line 1112 "awkgram.y"
+#line 1113 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_push_re;
(yyval) = (yyvsp[(1) - (1)]);
@@ -3160,19 +3161,19 @@ regular_print:
case 78:
/* Line 1787 of yacc.c */
-#line 1120 "awkgram.y"
+#line 1121 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 79:
/* Line 1787 of yacc.c */
-#line 1122 "awkgram.y"
+#line 1123 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 81:
/* Line 1787 of yacc.c */
-#line 1132 "awkgram.y"
+#line 1133 "awkgram.y"
{
(yyval) = (yyvsp[(2) - (3)]);
}
@@ -3180,7 +3181,7 @@ regular_print:
case 82:
/* Line 1787 of yacc.c */
-#line 1139 "awkgram.y"
+#line 1140 "awkgram.y"
{
in_print = false;
in_parens = 0;
@@ -3190,13 +3191,13 @@ regular_print:
case 83:
/* Line 1787 of yacc.c */
-#line 1144 "awkgram.y"
+#line 1145 "awkgram.y"
{ in_print = false; in_parens = 0; }
break;
case 84:
/* Line 1787 of yacc.c */
-#line 1145 "awkgram.y"
+#line 1146 "awkgram.y"
{
if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
&& (yyvsp[(3) - (3)])->lasti->opcode == Op_K_getline_redir
@@ -3208,7 +3209,7 @@ regular_print:
case 85:
/* Line 1787 of yacc.c */
-#line 1156 "awkgram.y"
+#line 1157 "awkgram.y"
{
(yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), (yyvsp[(6) - (6)]), NULL, NULL);
}
@@ -3216,7 +3217,7 @@ regular_print:
case 86:
/* Line 1787 of yacc.c */
-#line 1161 "awkgram.y"
+#line 1162 "awkgram.y"
{
(yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), (yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
}
@@ -3224,13 +3225,13 @@ regular_print:
case 91:
/* Line 1787 of yacc.c */
-#line 1178 "awkgram.y"
+#line 1179 "awkgram.y"
{ (yyval) = NULL; }
break;
case 92:
/* Line 1787 of yacc.c */
-#line 1180 "awkgram.y"
+#line 1181 "awkgram.y"
{
bcfree((yyvsp[(1) - (2)]));
(yyval) = (yyvsp[(2) - (2)]);
@@ -3239,19 +3240,19 @@ regular_print:
case 93:
/* Line 1787 of yacc.c */
-#line 1188 "awkgram.y"
+#line 1189 "awkgram.y"
{ (yyval) = NULL; }
break;
case 94:
/* Line 1787 of yacc.c */
-#line 1190 "awkgram.y"
+#line 1191 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]) ; }
break;
case 95:
/* Line 1787 of yacc.c */
-#line 1195 "awkgram.y"
+#line 1196 "awkgram.y"
{
(yyvsp[(1) - (1)])->param_count = 0;
(yyval) = list_create((yyvsp[(1) - (1)]));
@@ -3260,7 +3261,7 @@ regular_print:
case 96:
/* Line 1787 of yacc.c */
-#line 1200 "awkgram.y"
+#line 1201 "awkgram.y"
{
(yyvsp[(3) - (3)])->param_count = (yyvsp[(1) - (3)])->lasti->param_count + 1;
(yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
@@ -3270,55 +3271,55 @@ regular_print:
case 97:
/* Line 1787 of yacc.c */
-#line 1206 "awkgram.y"
+#line 1207 "awkgram.y"
{ (yyval) = NULL; }
break;
case 98:
/* Line 1787 of yacc.c */
-#line 1208 "awkgram.y"
+#line 1209 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 99:
/* Line 1787 of yacc.c */
-#line 1210 "awkgram.y"
+#line 1211 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (3)]); }
break;
case 100:
/* Line 1787 of yacc.c */
-#line 1216 "awkgram.y"
+#line 1217 "awkgram.y"
{ (yyval) = NULL; }
break;
case 101:
/* Line 1787 of yacc.c */
-#line 1218 "awkgram.y"
+#line 1219 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 102:
/* Line 1787 of yacc.c */
-#line 1223 "awkgram.y"
+#line 1224 "awkgram.y"
{ (yyval) = NULL; }
break;
case 103:
/* Line 1787 of yacc.c */
-#line 1225 "awkgram.y"
+#line 1226 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 104:
/* Line 1787 of yacc.c */
-#line 1230 "awkgram.y"
+#line 1231 "awkgram.y"
{ (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
break;
case 105:
/* Line 1787 of yacc.c */
-#line 1232 "awkgram.y"
+#line 1233 "awkgram.y"
{
(yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
yyerrok;
@@ -3327,13 +3328,13 @@ regular_print:
case 106:
/* Line 1787 of yacc.c */
-#line 1237 "awkgram.y"
+#line 1238 "awkgram.y"
{ (yyval) = NULL; }
break;
case 107:
/* Line 1787 of yacc.c */
-#line 1239 "awkgram.y"
+#line 1240 "awkgram.y"
{
/*
* Returning the expression list instead of NULL lets
@@ -3345,7 +3346,7 @@ regular_print:
case 108:
/* Line 1787 of yacc.c */
-#line 1247 "awkgram.y"
+#line 1248 "awkgram.y"
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
@@ -3354,7 +3355,7 @@ regular_print:
case 109:
/* Line 1787 of yacc.c */
-#line 1252 "awkgram.y"
+#line 1253 "awkgram.y"
{
/* Ditto */
(yyval) = (yyvsp[(1) - (3)]);
@@ -3363,7 +3364,7 @@ regular_print:
case 110:
/* Line 1787 of yacc.c */
-#line 1261 "awkgram.y"
+#line 1262 "awkgram.y"
{
if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@ -3374,19 +3375,19 @@ regular_print:
case 111:
/* Line 1787 of yacc.c */
-#line 1268 "awkgram.y"
+#line 1269 "awkgram.y"
{ (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 112:
/* Line 1787 of yacc.c */
-#line 1270 "awkgram.y"
+#line 1271 "awkgram.y"
{ (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 113:
/* Line 1787 of yacc.c */
-#line 1272 "awkgram.y"
+#line 1273 "awkgram.y"
{
if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[(2) - (3)])->source_line,
@@ -3406,7 +3407,7 @@ regular_print:
case 114:
/* Line 1787 of yacc.c */
-#line 1288 "awkgram.y"
+#line 1289 "awkgram.y"
{
if (do_lint_old)
warning_ln((yyvsp[(2) - (3)])->source_line,
@@ -3420,7 +3421,7 @@ regular_print:
case 115:
/* Line 1787 of yacc.c */
-#line 1298 "awkgram.y"
+#line 1299 "awkgram.y"
{
if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@ -3431,31 +3432,31 @@ regular_print:
case 116:
/* Line 1787 of yacc.c */
-#line 1305 "awkgram.y"
+#line 1306 "awkgram.y"
{ (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
break;
case 117:
/* Line 1787 of yacc.c */
-#line 1307 "awkgram.y"
+#line 1308 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 118:
/* Line 1787 of yacc.c */
-#line 1312 "awkgram.y"
+#line 1313 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 119:
/* Line 1787 of yacc.c */
-#line 1314 "awkgram.y"
+#line 1315 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 120:
/* Line 1787 of yacc.c */
-#line 1316 "awkgram.y"
+#line 1317 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[(2) - (2)]);
@@ -3464,43 +3465,43 @@ regular_print:
case 121:
/* Line 1787 of yacc.c */
-#line 1324 "awkgram.y"
+#line 1325 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 122:
/* Line 1787 of yacc.c */
-#line 1326 "awkgram.y"
+#line 1327 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 123:
/* Line 1787 of yacc.c */
-#line 1331 "awkgram.y"
+#line 1332 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 124:
/* Line 1787 of yacc.c */
-#line 1333 "awkgram.y"
+#line 1334 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 125:
/* Line 1787 of yacc.c */
-#line 1338 "awkgram.y"
+#line 1339 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 126:
/* Line 1787 of yacc.c */
-#line 1340 "awkgram.y"
+#line 1341 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 127:
/* Line 1787 of yacc.c */
-#line 1342 "awkgram.y"
+#line 1343 "awkgram.y"
{
int count = 2;
bool is_simple_var = false;
@@ -3551,43 +3552,43 @@ regular_print:
case 129:
/* Line 1787 of yacc.c */
-#line 1394 "awkgram.y"
+#line 1395 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 130:
/* Line 1787 of yacc.c */
-#line 1396 "awkgram.y"
+#line 1397 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 131:
/* Line 1787 of yacc.c */
-#line 1398 "awkgram.y"
+#line 1399 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 132:
/* Line 1787 of yacc.c */
-#line 1400 "awkgram.y"
+#line 1401 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 133:
/* Line 1787 of yacc.c */
-#line 1402 "awkgram.y"
+#line 1403 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 134:
/* Line 1787 of yacc.c */
-#line 1404 "awkgram.y"
+#line 1405 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 135:
/* Line 1787 of yacc.c */
-#line 1406 "awkgram.y"
+#line 1407 "awkgram.y"
{
/*
* In BEGINFILE/ENDFILE, allow `getline var < file'
@@ -3614,7 +3615,7 @@ regular_print:
case 136:
/* Line 1787 of yacc.c */
-#line 1429 "awkgram.y"
+#line 1430 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
@@ -3623,7 +3624,7 @@ regular_print:
case 137:
/* Line 1787 of yacc.c */
-#line 1434 "awkgram.y"
+#line 1435 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
@@ -3632,7 +3633,7 @@ regular_print:
case 138:
/* Line 1787 of yacc.c */
-#line 1439 "awkgram.y"
+#line 1440 "awkgram.y"
{
if (do_lint_old) {
warning_ln((yyvsp[(4) - (5)])->source_line,
@@ -3656,7 +3657,7 @@ regular_print:
case 139:
/* Line 1787 of yacc.c */
-#line 1464 "awkgram.y"
+#line 1465 "awkgram.y"
{
(yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
bcfree((yyvsp[(2) - (4)]));
@@ -3665,43 +3666,43 @@ regular_print:
case 140:
/* Line 1787 of yacc.c */
-#line 1470 "awkgram.y"
+#line 1471 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 141:
/* Line 1787 of yacc.c */
-#line 1472 "awkgram.y"
+#line 1473 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 142:
/* Line 1787 of yacc.c */
-#line 1474 "awkgram.y"
+#line 1475 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 143:
/* Line 1787 of yacc.c */
-#line 1476 "awkgram.y"
+#line 1477 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 144:
/* Line 1787 of yacc.c */
-#line 1478 "awkgram.y"
+#line 1479 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 145:
/* Line 1787 of yacc.c */
-#line 1480 "awkgram.y"
+#line 1481 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 146:
/* Line 1787 of yacc.c */
-#line 1485 "awkgram.y"
+#line 1486 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3709,7 +3710,7 @@ regular_print:
case 147:
/* Line 1787 of yacc.c */
-#line 1489 "awkgram.y"
+#line 1490 "awkgram.y"
{
if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
(yyvsp[(2) - (2)])->opcode = Op_nomatch;
@@ -3745,13 +3746,13 @@ regular_print:
case 148:
/* Line 1787 of yacc.c */
-#line 1521 "awkgram.y"
+#line 1522 "awkgram.y"
{ (yyval) = (yyvsp[(2) - (3)]); }
break;
case 149:
/* Line 1787 of yacc.c */
-#line 1523 "awkgram.y"
+#line 1524 "awkgram.y"
{
(yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
if ((yyval) == NULL)
@@ -3761,7 +3762,7 @@ regular_print:
case 150:
/* Line 1787 of yacc.c */
-#line 1529 "awkgram.y"
+#line 1530 "awkgram.y"
{
(yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
if ((yyval) == NULL)
@@ -3771,7 +3772,7 @@ regular_print:
case 151:
/* Line 1787 of yacc.c */
-#line 1535 "awkgram.y"
+#line 1536 "awkgram.y"
{
static bool warned = false;
@@ -3788,7 +3789,7 @@ regular_print:
case 154:
/* Line 1787 of yacc.c */
-#line 1550 "awkgram.y"
+#line 1551 "awkgram.y"
{
(yyvsp[(1) - (2)])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
@@ -3797,7 +3798,7 @@ regular_print:
case 155:
/* Line 1787 of yacc.c */
-#line 1555 "awkgram.y"
+#line 1556 "awkgram.y"
{
(yyvsp[(1) - (2)])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
@@ -3806,7 +3807,7 @@ regular_print:
case 156:
/* Line 1787 of yacc.c */
-#line 1560 "awkgram.y"
+#line 1561 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3814,7 +3815,7 @@ regular_print:
case 157:
/* Line 1787 of yacc.c */
-#line 1564 "awkgram.y"
+#line 1565 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3822,7 +3823,7 @@ regular_print:
case 158:
/* Line 1787 of yacc.c */
-#line 1568 "awkgram.y"
+#line 1569 "awkgram.y"
{
if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
&& ((yyvsp[(2) - (2)])->lasti->memory->flags & (STRCUR|STRING)) == 0
@@ -3841,7 +3842,7 @@ regular_print:
case 159:
/* Line 1787 of yacc.c */
-#line 1583 "awkgram.y"
+#line 1584 "awkgram.y"
{
/*
* was: $$ = $2
@@ -3855,7 +3856,7 @@ regular_print:
case 160:
/* Line 1787 of yacc.c */
-#line 1596 "awkgram.y"
+#line 1597 "awkgram.y"
{
func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[(1) - (1)]);
@@ -3864,7 +3865,7 @@ regular_print:
case 161:
/* Line 1787 of yacc.c */
-#line 1601 "awkgram.y"
+#line 1602 "awkgram.y"
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -3901,7 +3902,7 @@ regular_print:
case 162:
/* Line 1787 of yacc.c */
-#line 1637 "awkgram.y"
+#line 1638 "awkgram.y"
{
param_sanity((yyvsp[(3) - (4)]));
(yyvsp[(1) - (4)])->opcode = Op_func_call;
@@ -3919,37 +3920,37 @@ regular_print:
case 163:
/* Line 1787 of yacc.c */
-#line 1654 "awkgram.y"
+#line 1655 "awkgram.y"
{ (yyval) = NULL; }
break;
case 164:
/* Line 1787 of yacc.c */
-#line 1656 "awkgram.y"
+#line 1657 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 165:
/* Line 1787 of yacc.c */
-#line 1661 "awkgram.y"
+#line 1662 "awkgram.y"
{ (yyval) = NULL; }
break;
case 166:
/* Line 1787 of yacc.c */
-#line 1663 "awkgram.y"
+#line 1664 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 167:
/* Line 1787 of yacc.c */
-#line 1668 "awkgram.y"
+#line 1669 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 168:
/* Line 1787 of yacc.c */
-#line 1670 "awkgram.y"
+#line 1671 "awkgram.y"
{
(yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -3957,7 +3958,7 @@ regular_print:
case 169:
/* Line 1787 of yacc.c */
-#line 1677 "awkgram.y"
+#line 1678 "awkgram.y"
{
INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -3975,7 +3976,7 @@ regular_print:
case 170:
/* Line 1787 of yacc.c */
-#line 1694 "awkgram.y"
+#line 1695 "awkgram.y"
{
INSTRUCTION *t = (yyvsp[(2) - (3)]);
if ((yyvsp[(2) - (3)]) == NULL) {
@@ -3993,13 +3994,13 @@ regular_print:
case 171:
/* Line 1787 of yacc.c */
-#line 1711 "awkgram.y"
+#line 1712 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 172:
/* Line 1787 of yacc.c */
-#line 1713 "awkgram.y"
+#line 1714 "awkgram.y"
{
(yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -4007,13 +4008,13 @@ regular_print:
case 173:
/* Line 1787 of yacc.c */
-#line 1720 "awkgram.y"
+#line 1721 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 174:
/* Line 1787 of yacc.c */
-#line 1725 "awkgram.y"
+#line 1726 "awkgram.y"
{
char *var_name = (yyvsp[(1) - (1)])->lextok;
@@ -4025,7 +4026,7 @@ regular_print:
case 175:
/* Line 1787 of yacc.c */
-#line 1733 "awkgram.y"
+#line 1734 "awkgram.y"
{
char *arr = (yyvsp[(1) - (2)])->lextok;
(yyvsp[(1) - (2)])->memory = variable((yyvsp[(1) - (2)])->source_line, arr, Node_var_new);
@@ -4036,7 +4037,7 @@ regular_print:
case 176:
/* Line 1787 of yacc.c */
-#line 1743 "awkgram.y"
+#line 1744 "awkgram.y"
{
INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
if (ip->opcode == Op_push
@@ -4052,7 +4053,7 @@ regular_print:
case 177:
/* Line 1787 of yacc.c */
-#line 1755 "awkgram.y"
+#line 1756 "awkgram.y"
{
(yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
if ((yyvsp[(3) - (3)]) != NULL)
@@ -4062,7 +4063,7 @@ regular_print:
case 178:
/* Line 1787 of yacc.c */
-#line 1764 "awkgram.y"
+#line 1765 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_postincrement;
}
@@ -4070,7 +4071,7 @@ regular_print:
case 179:
/* Line 1787 of yacc.c */
-#line 1768 "awkgram.y"
+#line 1769 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_postdecrement;
}
@@ -4078,43 +4079,43 @@ regular_print:
case 180:
/* Line 1787 of yacc.c */
-#line 1771 "awkgram.y"
+#line 1772 "awkgram.y"
{ (yyval) = NULL; }
break;
case 182:
/* Line 1787 of yacc.c */
-#line 1779 "awkgram.y"
+#line 1780 "awkgram.y"
{ yyerrok; }
break;
case 183:
/* Line 1787 of yacc.c */
-#line 1783 "awkgram.y"
+#line 1784 "awkgram.y"
{ yyerrok; }
break;
case 186:
/* Line 1787 of yacc.c */
-#line 1792 "awkgram.y"
+#line 1793 "awkgram.y"
{ yyerrok; }
break;
case 187:
/* Line 1787 of yacc.c */
-#line 1796 "awkgram.y"
+#line 1797 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
break;
case 188:
/* Line 1787 of yacc.c */
-#line 1800 "awkgram.y"
+#line 1801 "awkgram.y"
{ yyerrok; }
break;
/* Line 1787 of yacc.c */
-#line 4118 "awkgram.c"
+#line 4119 "awkgram.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4346,7 +4347,7 @@ yyreturn:
/* Line 2050 of yacc.c */
-#line 1802 "awkgram.y"
+#line 1803 "awkgram.y"
struct token {
@@ -4819,7 +4820,7 @@ parse_program(INSTRUCTION **pcode)
ip_newfile = ip_rec = ip_atexit = ip_beginfile = ip_endfile = NULL;
else {
ip_endfile = instruction(Op_no_op);
- ip_beginfile = instruction(Op_no_op);
+ main_beginfile = ip_beginfile = instruction(Op_no_op);
ip_rec = instruction(Op_get_record); /* target for `next', also ip_newfile */
ip_newfile = bcalloc(Op_newfile, 2, 0); /* target for `nextfile' */
ip_newfile->target_jmp = ip_end;