658
658
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
659
659
static const yytype_uint16 yyrline[] =
661
0, 205, 205, 207, 212, 213, 219, 231, 235, 246,
662
252, 257, 265, 273, 275, 280, 288, 290, 296, 304,
663
314, 340, 353, 366, 373, 383, 395, 397, 399, 405,
664
410, 411, 415, 450, 449, 483, 485, 490, 496, 524,
665
529, 530, 534, 536, 538, 545, 635, 677, 719, 832,
666
839, 846, 856, 865, 874, 883, 894, 910, 909, 933,
667
945, 945, 1043, 1043, 1076, 1106, 1112, 1113, 1119, 1120,
668
1127, 1132, 1144, 1158, 1160, 1168, 1173, 1175, 1183, 1185,
669
1194, 1195, 1203, 1208, 1208, 1219, 1223, 1231, 1232, 1235,
670
1237, 1242, 1243, 1252, 1253, 1258, 1263, 1269, 1271, 1273,
671
1280, 1281, 1287, 1288, 1293, 1295, 1300, 1302, 1310, 1315,
672
1324, 1331, 1333, 1335, 1351, 1361, 1368, 1370, 1375, 1377,
673
1379, 1387, 1389, 1394, 1396, 1401, 1403, 1405, 1455, 1457,
674
1459, 1461, 1463, 1465, 1467, 1469, 1483, 1488, 1493, 1518,
675
1524, 1526, 1528, 1530, 1532, 1534, 1539, 1543, 1575, 1577,
676
1583, 1589, 1602, 1603, 1604, 1609, 1614, 1618, 1622, 1637,
677
1650, 1655, 1691, 1709, 1710, 1716, 1717, 1722, 1724, 1731,
678
1748, 1765, 1767, 1774, 1779, 1787, 1797, 1809, 1818, 1822,
679
1826, 1830, 1834, 1838, 1841, 1843, 1847, 1851, 1855
661
0, 205, 205, 207, 212, 213, 217, 229, 234, 245,
662
251, 257, 266, 274, 276, 281, 289, 291, 297, 305,
663
315, 345, 359, 373, 381, 392, 404, 406, 408, 414,
664
422, 423, 427, 462, 461, 495, 497, 502, 508, 536,
665
541, 542, 546, 548, 550, 557, 647, 689, 731, 844,
666
851, 858, 868, 877, 886, 895, 906, 922, 921, 945,
667
957, 957, 1055, 1055, 1088, 1118, 1124, 1125, 1131, 1132,
668
1139, 1144, 1156, 1170, 1172, 1180, 1185, 1187, 1195, 1197,
669
1206, 1207, 1215, 1220, 1220, 1231, 1235, 1243, 1244, 1247,
670
1249, 1254, 1255, 1264, 1265, 1270, 1275, 1281, 1283, 1285,
671
1292, 1293, 1299, 1300, 1305, 1307, 1312, 1314, 1322, 1327,
672
1336, 1343, 1345, 1347, 1363, 1373, 1380, 1382, 1387, 1389,
673
1391, 1399, 1401, 1406, 1408, 1413, 1415, 1417, 1467, 1469,
674
1471, 1473, 1475, 1477, 1479, 1481, 1495, 1500, 1505, 1530,
675
1536, 1538, 1540, 1542, 1544, 1546, 1551, 1555, 1587, 1589,
676
1595, 1601, 1614, 1615, 1616, 1621, 1626, 1630, 1634, 1649,
677
1662, 1667, 1704, 1733, 1734, 1740, 1741, 1746, 1748, 1755,
678
1772, 1789, 1791, 1798, 1803, 1811, 1821, 1833, 1842, 1846,
679
1850, 1854, 1858, 1862, 1865, 1867, 1871, 1875, 1879
2990
3002
bcfree((yyvsp[-1]));
2991
3003
(yyval) = (yyvsp[0]);
2993
#line 2994 "awkgram.c" /* yacc.c:1646 */
3005
#line 3006 "awkgram.c" /* yacc.c:1646 */
2997
#line 1169 "awkgram.y" /* yacc.c:1646 */
3009
#line 1181 "awkgram.y" /* yacc.c:1646 */
2999
3011
bcfree((yyvsp[-1]));
3000
3012
(yyval) = (yyvsp[0]);
3002
#line 3003 "awkgram.c" /* yacc.c:1646 */
3014
#line 3015 "awkgram.c" /* yacc.c:1646 */
3006
#line 1174 "awkgram.y" /* yacc.c:1646 */
3018
#line 1186 "awkgram.y" /* yacc.c:1646 */
3007
3019
{ (yyval) = (yyvsp[0]); }
3008
#line 3009 "awkgram.c" /* yacc.c:1646 */
3020
#line 3021 "awkgram.c" /* yacc.c:1646 */
3012
#line 1176 "awkgram.y" /* yacc.c:1646 */
3024
#line 1188 "awkgram.y" /* yacc.c:1646 */
3014
3026
(yyvsp[0])->opcode = Op_push_re;
3015
3027
(yyval) = (yyvsp[0]);
3017
#line 3018 "awkgram.c" /* yacc.c:1646 */
3029
#line 3030 "awkgram.c" /* yacc.c:1646 */
3021
#line 1184 "awkgram.y" /* yacc.c:1646 */
3033
#line 1196 "awkgram.y" /* yacc.c:1646 */
3022
3034
{ (yyval) = (yyvsp[0]); }
3023
#line 3024 "awkgram.c" /* yacc.c:1646 */
3035
#line 3036 "awkgram.c" /* yacc.c:1646 */
3027
#line 1186 "awkgram.y" /* yacc.c:1646 */
3039
#line 1198 "awkgram.y" /* yacc.c:1646 */
3028
3040
{ (yyval) = (yyvsp[0]); }
3029
#line 3030 "awkgram.c" /* yacc.c:1646 */
3041
#line 3042 "awkgram.c" /* yacc.c:1646 */
3033
#line 1196 "awkgram.y" /* yacc.c:1646 */
3045
#line 1208 "awkgram.y" /* yacc.c:1646 */
3035
3047
(yyval) = (yyvsp[-1]);
3037
#line 3038 "awkgram.c" /* yacc.c:1646 */
3049
#line 3050 "awkgram.c" /* yacc.c:1646 */
3041
#line 1203 "awkgram.y" /* yacc.c:1646 */
3053
#line 1215 "awkgram.y" /* yacc.c:1646 */
3043
3055
in_print = false;
3045
3057
(yyval) = NULL;
3047
#line 3048 "awkgram.c" /* yacc.c:1646 */
3059
#line 3060 "awkgram.c" /* yacc.c:1646 */
3051
#line 1208 "awkgram.y" /* yacc.c:1646 */
3063
#line 1220 "awkgram.y" /* yacc.c:1646 */
3052
3064
{ in_print = false; in_parens = 0; }
3053
#line 3054 "awkgram.c" /* yacc.c:1646 */
3065
#line 3066 "awkgram.c" /* yacc.c:1646 */
3057
#line 1209 "awkgram.y" /* yacc.c:1646 */
3069
#line 1221 "awkgram.y" /* yacc.c:1646 */
3059
3071
if ((yyvsp[-2])->redir_type == redirect_twoway
3060
3072
&& (yyvsp[0])->lasti->opcode == Op_K_getline_redir
3062
3074
yyerror(_("multistage two-way pipelines don't work"));
3063
3075
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
3065
#line 3066 "awkgram.c" /* yacc.c:1646 */
3077
#line 3078 "awkgram.c" /* yacc.c:1646 */
3069
#line 1220 "awkgram.y" /* yacc.c:1646 */
3081
#line 1232 "awkgram.y" /* yacc.c:1646 */
3071
3083
(yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
3073
#line 3074 "awkgram.c" /* yacc.c:1646 */
3085
#line 3086 "awkgram.c" /* yacc.c:1646 */
3077
#line 1225 "awkgram.y" /* yacc.c:1646 */
3089
#line 1237 "awkgram.y" /* yacc.c:1646 */
3079
3091
(yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
3081
#line 3082 "awkgram.c" /* yacc.c:1646 */
3093
#line 3094 "awkgram.c" /* yacc.c:1646 */
3085
#line 1242 "awkgram.y" /* yacc.c:1646 */
3097
#line 1254 "awkgram.y" /* yacc.c:1646 */
3086
3098
{ (yyval) = NULL; }
3087
#line 3088 "awkgram.c" /* yacc.c:1646 */
3099
#line 3100 "awkgram.c" /* yacc.c:1646 */
3091
#line 1244 "awkgram.y" /* yacc.c:1646 */
3103
#line 1256 "awkgram.y" /* yacc.c:1646 */
3093
3105
bcfree((yyvsp[-1]));
3094
3106
(yyval) = (yyvsp[0]);
3096
#line 3097 "awkgram.c" /* yacc.c:1646 */
3108
#line 3109 "awkgram.c" /* yacc.c:1646 */
3100
#line 1252 "awkgram.y" /* yacc.c:1646 */
3112
#line 1264 "awkgram.y" /* yacc.c:1646 */
3101
3113
{ (yyval) = NULL; }
3102
#line 3103 "awkgram.c" /* yacc.c:1646 */
3114
#line 3115 "awkgram.c" /* yacc.c:1646 */
3106
#line 1254 "awkgram.y" /* yacc.c:1646 */
3118
#line 1266 "awkgram.y" /* yacc.c:1646 */
3107
3119
{ (yyval) = (yyvsp[0]); }
3108
#line 3109 "awkgram.c" /* yacc.c:1646 */
3120
#line 3121 "awkgram.c" /* yacc.c:1646 */
3112
#line 1259 "awkgram.y" /* yacc.c:1646 */
3124
#line 1271 "awkgram.y" /* yacc.c:1646 */
3114
3126
(yyvsp[0])->param_count = 0;
3115
3127
(yyval) = list_create((yyvsp[0]));
3117
#line 3118 "awkgram.c" /* yacc.c:1646 */
3129
#line 3130 "awkgram.c" /* yacc.c:1646 */
3121
#line 1264 "awkgram.y" /* yacc.c:1646 */
3133
#line 1276 "awkgram.y" /* yacc.c:1646 */
3123
3135
(yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
3124
3136
(yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
3127
#line 3128 "awkgram.c" /* yacc.c:1646 */
3139
#line 3140 "awkgram.c" /* yacc.c:1646 */
3131
#line 1270 "awkgram.y" /* yacc.c:1646 */
3143
#line 1282 "awkgram.y" /* yacc.c:1646 */
3132
3144
{ (yyval) = NULL; }
3133
#line 3134 "awkgram.c" /* yacc.c:1646 */
3145
#line 3146 "awkgram.c" /* yacc.c:1646 */
3137
#line 1272 "awkgram.y" /* yacc.c:1646 */
3149
#line 1284 "awkgram.y" /* yacc.c:1646 */
3138
3150
{ (yyval) = (yyvsp[-1]); }
3139
#line 3140 "awkgram.c" /* yacc.c:1646 */
3151
#line 3152 "awkgram.c" /* yacc.c:1646 */
3143
#line 1274 "awkgram.y" /* yacc.c:1646 */
3155
#line 1286 "awkgram.y" /* yacc.c:1646 */
3144
3156
{ (yyval) = (yyvsp[-2]); }
3145
#line 3146 "awkgram.c" /* yacc.c:1646 */
3157
#line 3158 "awkgram.c" /* yacc.c:1646 */
3149
#line 1280 "awkgram.y" /* yacc.c:1646 */
3161
#line 1292 "awkgram.y" /* yacc.c:1646 */
3150
3162
{ (yyval) = NULL; }
3151
#line 3152 "awkgram.c" /* yacc.c:1646 */
3163
#line 3164 "awkgram.c" /* yacc.c:1646 */
3155
#line 1282 "awkgram.y" /* yacc.c:1646 */
3167
#line 1294 "awkgram.y" /* yacc.c:1646 */
3156
3168
{ (yyval) = (yyvsp[0]); }
3157
#line 3158 "awkgram.c" /* yacc.c:1646 */
3169
#line 3170 "awkgram.c" /* yacc.c:1646 */
3161
#line 1287 "awkgram.y" /* yacc.c:1646 */
3173
#line 1299 "awkgram.y" /* yacc.c:1646 */
3162
3174
{ (yyval) = NULL; }
3163
#line 3164 "awkgram.c" /* yacc.c:1646 */
3175
#line 3176 "awkgram.c" /* yacc.c:1646 */
3167
#line 1289 "awkgram.y" /* yacc.c:1646 */
3179
#line 1301 "awkgram.y" /* yacc.c:1646 */
3168
3180
{ (yyval) = (yyvsp[0]); }
3169
#line 3170 "awkgram.c" /* yacc.c:1646 */
3181
#line 3182 "awkgram.c" /* yacc.c:1646 */
3173
#line 1294 "awkgram.y" /* yacc.c:1646 */
3185
#line 1306 "awkgram.y" /* yacc.c:1646 */
3174
3186
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
3175
#line 3176 "awkgram.c" /* yacc.c:1646 */
3187
#line 3188 "awkgram.c" /* yacc.c:1646 */
3179
#line 1296 "awkgram.y" /* yacc.c:1646 */
3191
#line 1308 "awkgram.y" /* yacc.c:1646 */
3181
3193
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
3184
#line 3185 "awkgram.c" /* yacc.c:1646 */
3196
#line 3197 "awkgram.c" /* yacc.c:1646 */
3188
#line 1301 "awkgram.y" /* yacc.c:1646 */
3200
#line 1313 "awkgram.y" /* yacc.c:1646 */
3189
3201
{ (yyval) = NULL; }
3190
#line 3191 "awkgram.c" /* yacc.c:1646 */
3202
#line 3203 "awkgram.c" /* yacc.c:1646 */
3194
#line 1303 "awkgram.y" /* yacc.c:1646 */
3206
#line 1315 "awkgram.y" /* yacc.c:1646 */
3197
3209
* Returning the expression list instead of NULL lets
3200
3212
(yyval) = (yyvsp[-1]);
3202
#line 3203 "awkgram.c" /* yacc.c:1646 */
3214
#line 3215 "awkgram.c" /* yacc.c:1646 */
3206
#line 1311 "awkgram.y" /* yacc.c:1646 */
3218
#line 1323 "awkgram.y" /* yacc.c:1646 */
3209
3221
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
3211
#line 3212 "awkgram.c" /* yacc.c:1646 */
3223
#line 3224 "awkgram.c" /* yacc.c:1646 */
3215
#line 1316 "awkgram.y" /* yacc.c:1646 */
3227
#line 1328 "awkgram.y" /* yacc.c:1646 */
3218
3230
(yyval) = (yyvsp[-2]);
3220
#line 3221 "awkgram.c" /* yacc.c:1646 */
3232
#line 3233 "awkgram.c" /* yacc.c:1646 */
3224
#line 1325 "awkgram.y" /* yacc.c:1646 */
3236
#line 1337 "awkgram.y" /* yacc.c:1646 */
3226
3238
if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
3227
3239
lintwarn_ln((yyvsp[-1])->source_line,
3228
3240
_("regular expression on right of assignment"));
3229
3241
(yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
3231
#line 3232 "awkgram.c" /* yacc.c:1646 */
3243
#line 3244 "awkgram.c" /* yacc.c:1646 */
3235
#line 1332 "awkgram.y" /* yacc.c:1646 */
3247
#line 1344 "awkgram.y" /* yacc.c:1646 */
3236
3248
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3237
#line 3238 "awkgram.c" /* yacc.c:1646 */
3249
#line 3250 "awkgram.c" /* yacc.c:1646 */
3241
#line 1334 "awkgram.y" /* yacc.c:1646 */
3253
#line 1346 "awkgram.y" /* yacc.c:1646 */
3242
3254
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3243
#line 3244 "awkgram.c" /* yacc.c:1646 */
3255
#line 3256 "awkgram.c" /* yacc.c:1646 */
3247
#line 1336 "awkgram.y" /* yacc.c:1646 */
3259
#line 1348 "awkgram.y" /* yacc.c:1646 */
3249
3261
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
3250
3262
warning_ln((yyvsp[-1])->source_line,
3274
3286
(yyvsp[-1])->expr_count = 1;
3275
3287
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
3277
#line 3278 "awkgram.c" /* yacc.c:1646 */
3289
#line 3290 "awkgram.c" /* yacc.c:1646 */
3281
#line 1362 "awkgram.y" /* yacc.c:1646 */
3293
#line 1374 "awkgram.y" /* yacc.c:1646 */
3283
3295
if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
3284
3296
lintwarn_ln((yyvsp[-1])->source_line,
3285
3297
_("regular expression on right of comparison"));
3286
3298
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
3288
#line 3289 "awkgram.c" /* yacc.c:1646 */
3300
#line 3301 "awkgram.c" /* yacc.c:1646 */
3292
#line 1369 "awkgram.y" /* yacc.c:1646 */
3304
#line 1381 "awkgram.y" /* yacc.c:1646 */
3293
3305
{ (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
3294
#line 3295 "awkgram.c" /* yacc.c:1646 */
3306
#line 3307 "awkgram.c" /* yacc.c:1646 */
3298
#line 1371 "awkgram.y" /* yacc.c:1646 */
3310
#line 1383 "awkgram.y" /* yacc.c:1646 */
3299
3311
{ (yyval) = (yyvsp[0]); }
3300
#line 3301 "awkgram.c" /* yacc.c:1646 */
3312
#line 3313 "awkgram.c" /* yacc.c:1646 */
3304
#line 1376 "awkgram.y" /* yacc.c:1646 */
3316
#line 1388 "awkgram.y" /* yacc.c:1646 */
3305
3317
{ (yyval) = (yyvsp[0]); }
3306
#line 3307 "awkgram.c" /* yacc.c:1646 */
3318
#line 3319 "awkgram.c" /* yacc.c:1646 */
3310
#line 1378 "awkgram.y" /* yacc.c:1646 */
3322
#line 1390 "awkgram.y" /* yacc.c:1646 */
3311
3323
{ (yyval) = (yyvsp[0]); }
3312
#line 3313 "awkgram.c" /* yacc.c:1646 */
3324
#line 3325 "awkgram.c" /* yacc.c:1646 */
3316
#line 1380 "awkgram.y" /* yacc.c:1646 */
3328
#line 1392 "awkgram.y" /* yacc.c:1646 */
3318
3330
(yyvsp[0])->opcode = Op_assign_quotient;
3319
3331
(yyval) = (yyvsp[0]);
3321
#line 3322 "awkgram.c" /* yacc.c:1646 */
3333
#line 3334 "awkgram.c" /* yacc.c:1646 */
3325
#line 1388 "awkgram.y" /* yacc.c:1646 */
3337
#line 1400 "awkgram.y" /* yacc.c:1646 */
3326
3338
{ (yyval) = (yyvsp[0]); }
3327
#line 3328 "awkgram.c" /* yacc.c:1646 */
3339
#line 3340 "awkgram.c" /* yacc.c:1646 */
3331
#line 1390 "awkgram.y" /* yacc.c:1646 */
3343
#line 1402 "awkgram.y" /* yacc.c:1646 */
3332
3344
{ (yyval) = (yyvsp[0]); }
3333
#line 3334 "awkgram.c" /* yacc.c:1646 */
3345
#line 3346 "awkgram.c" /* yacc.c:1646 */
3337
#line 1395 "awkgram.y" /* yacc.c:1646 */
3349
#line 1407 "awkgram.y" /* yacc.c:1646 */
3338
3350
{ (yyval) = (yyvsp[0]); }
3339
#line 3340 "awkgram.c" /* yacc.c:1646 */
3351
#line 3352 "awkgram.c" /* yacc.c:1646 */
3343
#line 1397 "awkgram.y" /* yacc.c:1646 */
3355
#line 1409 "awkgram.y" /* yacc.c:1646 */
3344
3356
{ (yyval) = (yyvsp[0]); }
3345
#line 3346 "awkgram.c" /* yacc.c:1646 */
3357
#line 3358 "awkgram.c" /* yacc.c:1646 */
3349
#line 1402 "awkgram.y" /* yacc.c:1646 */
3361
#line 1414 "awkgram.y" /* yacc.c:1646 */
3350
3362
{ (yyval) = (yyvsp[0]); }
3351
#line 3352 "awkgram.c" /* yacc.c:1646 */
3363
#line 3364 "awkgram.c" /* yacc.c:1646 */
3355
#line 1404 "awkgram.y" /* yacc.c:1646 */
3367
#line 1416 "awkgram.y" /* yacc.c:1646 */
3356
3368
{ (yyval) = (yyvsp[0]); }
3357
#line 3358 "awkgram.c" /* yacc.c:1646 */
3369
#line 3370 "awkgram.c" /* yacc.c:1646 */
3361
#line 1406 "awkgram.y" /* yacc.c:1646 */
3373
#line 1418 "awkgram.y" /* yacc.c:1646 */
3364
3376
bool is_simple_var = false;
3405
3417
max_args = count;
3408
#line 3409 "awkgram.c" /* yacc.c:1646 */
3420
#line 3421 "awkgram.c" /* yacc.c:1646 */
3412
#line 1458 "awkgram.y" /* yacc.c:1646 */
3424
#line 1470 "awkgram.y" /* yacc.c:1646 */
3413
3425
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3414
#line 3415 "awkgram.c" /* yacc.c:1646 */
3426
#line 3427 "awkgram.c" /* yacc.c:1646 */
3418
#line 1460 "awkgram.y" /* yacc.c:1646 */
3430
#line 1472 "awkgram.y" /* yacc.c:1646 */
3419
3431
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3420
#line 3421 "awkgram.c" /* yacc.c:1646 */
3432
#line 3433 "awkgram.c" /* yacc.c:1646 */
3424
#line 1462 "awkgram.y" /* yacc.c:1646 */
3436
#line 1474 "awkgram.y" /* yacc.c:1646 */
3425
3437
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3426
#line 3427 "awkgram.c" /* yacc.c:1646 */
3438
#line 3439 "awkgram.c" /* yacc.c:1646 */
3430
#line 1464 "awkgram.y" /* yacc.c:1646 */
3442
#line 1476 "awkgram.y" /* yacc.c:1646 */
3431
3443
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3432
#line 3433 "awkgram.c" /* yacc.c:1646 */
3444
#line 3445 "awkgram.c" /* yacc.c:1646 */
3436
#line 1466 "awkgram.y" /* yacc.c:1646 */
3448
#line 1478 "awkgram.y" /* yacc.c:1646 */
3437
3449
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3438
#line 3439 "awkgram.c" /* yacc.c:1646 */
3450
#line 3451 "awkgram.c" /* yacc.c:1646 */
3442
#line 1468 "awkgram.y" /* yacc.c:1646 */
3454
#line 1480 "awkgram.y" /* yacc.c:1646 */
3443
3455
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3444
#line 3445 "awkgram.c" /* yacc.c:1646 */
3456
#line 3457 "awkgram.c" /* yacc.c:1646 */
3448
#line 1470 "awkgram.y" /* yacc.c:1646 */
3460
#line 1482 "awkgram.y" /* yacc.c:1646 */
3451
3463
* In BEGINFILE/ENDFILE, allow `getline [var] < file'
3501
3513
(yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
3504
#line 3505 "awkgram.c" /* yacc.c:1646 */
3516
#line 3517 "awkgram.c" /* yacc.c:1646 */
3508
#line 1519 "awkgram.y" /* yacc.c:1646 */
3520
#line 1531 "awkgram.y" /* yacc.c:1646 */
3510
3522
(yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
3511
3523
bcfree((yyvsp[-2]));
3513
#line 3514 "awkgram.c" /* yacc.c:1646 */
3525
#line 3526 "awkgram.c" /* yacc.c:1646 */
3517
#line 1525 "awkgram.y" /* yacc.c:1646 */
3529
#line 1537 "awkgram.y" /* yacc.c:1646 */
3518
3530
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3519
#line 3520 "awkgram.c" /* yacc.c:1646 */
3531
#line 3532 "awkgram.c" /* yacc.c:1646 */
3523
#line 1527 "awkgram.y" /* yacc.c:1646 */
3535
#line 1539 "awkgram.y" /* yacc.c:1646 */
3524
3536
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3525
#line 3526 "awkgram.c" /* yacc.c:1646 */
3537
#line 3538 "awkgram.c" /* yacc.c:1646 */
3529
#line 1529 "awkgram.y" /* yacc.c:1646 */
3541
#line 1541 "awkgram.y" /* yacc.c:1646 */
3530
3542
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3531
#line 3532 "awkgram.c" /* yacc.c:1646 */
3543
#line 3544 "awkgram.c" /* yacc.c:1646 */
3535
#line 1531 "awkgram.y" /* yacc.c:1646 */
3547
#line 1543 "awkgram.y" /* yacc.c:1646 */
3536
3548
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3537
#line 3538 "awkgram.c" /* yacc.c:1646 */
3549
#line 3550 "awkgram.c" /* yacc.c:1646 */
3541
#line 1533 "awkgram.y" /* yacc.c:1646 */
3553
#line 1545 "awkgram.y" /* yacc.c:1646 */
3542
3554
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3543
#line 3544 "awkgram.c" /* yacc.c:1646 */
3555
#line 3556 "awkgram.c" /* yacc.c:1646 */
3547
#line 1535 "awkgram.y" /* yacc.c:1646 */
3559
#line 1547 "awkgram.y" /* yacc.c:1646 */
3548
3560
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
3549
#line 3550 "awkgram.c" /* yacc.c:1646 */
3561
#line 3562 "awkgram.c" /* yacc.c:1646 */
3553
#line 1540 "awkgram.y" /* yacc.c:1646 */
3565
#line 1552 "awkgram.y" /* yacc.c:1646 */
3555
3567
(yyval) = list_create((yyvsp[0]));
3557
#line 3558 "awkgram.c" /* yacc.c:1646 */
3569
#line 3570 "awkgram.c" /* yacc.c:1646 */
3561
#line 1544 "awkgram.y" /* yacc.c:1646 */
3573
#line 1556 "awkgram.y" /* yacc.c:1646 */
3563
3575
if ((yyvsp[0])->opcode == Op_match_rec) {
3564
3576
(yyvsp[0])->opcode = Op_nomatch;
3898
3922
(yyval) = (yyvsp[0]);
3900
#line 3901 "awkgram.c" /* yacc.c:1646 */
3924
#line 3925 "awkgram.c" /* yacc.c:1646 */
3904
#line 1810 "awkgram.y" /* yacc.c:1646 */
3928
#line 1834 "awkgram.y" /* yacc.c:1646 */
3906
3930
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
3907
3931
if ((yyvsp[0]) != NULL)
3908
3932
mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
3910
#line 3911 "awkgram.c" /* yacc.c:1646 */
3934
#line 3935 "awkgram.c" /* yacc.c:1646 */
3914
#line 1819 "awkgram.y" /* yacc.c:1646 */
3938
#line 1843 "awkgram.y" /* yacc.c:1646 */
3916
3940
(yyvsp[0])->opcode = Op_postincrement;
3918
#line 3919 "awkgram.c" /* yacc.c:1646 */
3942
#line 3943 "awkgram.c" /* yacc.c:1646 */
3922
#line 1823 "awkgram.y" /* yacc.c:1646 */
3946
#line 1847 "awkgram.y" /* yacc.c:1646 */
3924
3948
(yyvsp[0])->opcode = Op_postdecrement;
3926
#line 3927 "awkgram.c" /* yacc.c:1646 */
3950
#line 3951 "awkgram.c" /* yacc.c:1646 */
3930
#line 1826 "awkgram.y" /* yacc.c:1646 */
3954
#line 1850 "awkgram.y" /* yacc.c:1646 */
3931
3955
{ (yyval) = NULL; }
3932
#line 3933 "awkgram.c" /* yacc.c:1646 */
3956
#line 3957 "awkgram.c" /* yacc.c:1646 */
3936
#line 1834 "awkgram.y" /* yacc.c:1646 */
3960
#line 1858 "awkgram.y" /* yacc.c:1646 */
3938
#line 3939 "awkgram.c" /* yacc.c:1646 */
3962
#line 3963 "awkgram.c" /* yacc.c:1646 */
3942
#line 1838 "awkgram.y" /* yacc.c:1646 */
3966
#line 1862 "awkgram.y" /* yacc.c:1646 */
3944
#line 3945 "awkgram.c" /* yacc.c:1646 */
3968
#line 3969 "awkgram.c" /* yacc.c:1646 */
3948
#line 1847 "awkgram.y" /* yacc.c:1646 */
3972
#line 1871 "awkgram.y" /* yacc.c:1646 */
3950
#line 3951 "awkgram.c" /* yacc.c:1646 */
3974
#line 3975 "awkgram.c" /* yacc.c:1646 */
3954
#line 1851 "awkgram.y" /* yacc.c:1646 */
3978
#line 1875 "awkgram.y" /* yacc.c:1646 */
3955
3979
{ (yyval) = (yyvsp[0]); yyerrok; }
3956
#line 3957 "awkgram.c" /* yacc.c:1646 */
3980
#line 3981 "awkgram.c" /* yacc.c:1646 */
3960
#line 1855 "awkgram.y" /* yacc.c:1646 */
3984
#line 1879 "awkgram.y" /* yacc.c:1646 */
3962
#line 3963 "awkgram.c" /* yacc.c:1646 */
3986
#line 3987 "awkgram.c" /* yacc.c:1646 */
3966
#line 3967 "awkgram.c" /* yacc.c:1646 */
3990
#line 3991 "awkgram.c" /* yacc.c:1646 */
3967
3991
default: break;
3969
3993
/* User semantic actions sometimes alter yychar, and that requires