summaryrefslogtreecommitdiffstats
path: root/y.tab.c.shipped
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-08-11 22:05:14 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-08-11 22:05:14 -0700
commitffc21e3b5ea6218fb3a13d25f73261f28aef0479 (patch)
tree78b51317052566797c4a8e4f61b425cdc66dcd59 /y.tab.c.shipped
parent14ef1bd3f5a544a197c5404ca8cde6f8fa216c42 (diff)
downloadtxr-ffc21e3b5ea6218fb3a13d25f73261f28aef0479.tar.gz
txr-ffc21e3b5ea6218fb3a13d25f73261f28aef0479.tar.bz2
txr-ffc21e3b5ea6218fb3a13d25f73261f28aef0479.zip
parser: @(mdo) must not be subject to expand-meta.
* parser.y (elem): When the elem is a list, if it starts with mdo, then we evaluate it immediately and substitute (do) as the semantic value. We no longer not allow mdo to precipitate into match_expand_elem, where expand_meta will be unleashed on it. Doing so causes the bug that expessions like @1, denoting the form (sys:var 1), are rewritten to (sys:expr 1), which op syntax. So two bugs are fixed: the incorrect treatment of meta-syntax, and the neglect to perform mdo in nested contexts. (check_parse_time_action): We need not handle mdo here any more; it will never make it into this function. Only actions done in the main clause list belong here, not parse time actions done at any nesting level. * tests/008/mdo.txr: New file. * y.tab.c.shipped: Updated.
Diffstat (limited to 'y.tab.c.shipped')
-rw-r--r--y.tab.c.shipped803
1 files changed, 401 insertions, 402 deletions
diff --git a/y.tab.c.shipped b/y.tab.c.shipped
index 57314f94..aee82674 100644
--- a/y.tab.c.shipped
+++ b/y.tab.c.shipped
@@ -840,43 +840,43 @@ static const yytype_uint16 yyrline[] =
361, 365, 366, 367, 370, 376, 388, 393, 394, 397,
398, 401, 404, 405, 406, 409, 432, 436, 449, 452,
457, 460, 463, 464, 467, 469, 474, 475, 483, 485,
- 488, 489, 492, 494, 496, 504, 507, 515, 518, 527,
- 530, 532, 534, 536, 537, 539, 540, 541, 542, 545,
- 551, 554, 555, 556, 559, 564, 568, 570, 572, 577,
- 585, 590, 595, 601, 606, 607, 610, 613, 619, 623,
- 625, 628, 640, 645, 647, 650, 653, 656, 661, 662,
- 665, 666, 667, 670, 676, 681, 685, 689, 698, 702,
- 709, 716, 719, 731, 734, 738, 749, 752, 755, 758,
- 759, 761, 764, 766, 769, 770, 771, 772, 775, 777,
- 779, 780, 782, 785, 788, 792, 795, 798, 806, 809,
- 815, 821, 828, 829, 830, 831, 832, 833, 837, 842,
- 845, 849, 852, 853, 855, 857, 860, 865, 874, 879,
- 882, 887, 892, 896, 905, 909, 920, 924, 928, 932,
- 937, 941, 957, 961, 963, 963, 967, 968, 969, 970,
- 972, 973, 979, 980, 986, 986, 991, 991, 996, 996,
- 999, 1000, 1002, 1004, 1008, 1010, 1013, 1017, 1026, 1028,
- 1032, 1039, 1050, 1051, 1053, 1056, 1060, 1064, 1065, 1071,
- 1072, 1073, 1074, 1078, 1083, 1087, 1092, 1096, 1100, 1101,
- 1102, 1106, 1107, 1108, 1111, 1114, 1115, 1118, 1120, 1125,
- 1128, 1128, 1132, 1132, 1136, 1136, 1139, 1139, 1142, 1145,
- 1147, 1151, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1166,
- 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176,
- 1177, 1178, 1180, 1180, 1184, 1184, 1188, 1188, 1192, 1192,
- 1195, 1198, 1199, 1201, 1202, 1204, 1205, 1206, 1207, 1208,
- 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
- 1219, 1220, 1222, 1222, 1226, 1226, 1230, 1230, 1234, 1237,
- 1243, 1247, 1253, 1254, 1257, 1258, 1259, 1259, 1262, 1265,
- 1266, 1269, 1270, 1271, 1274, 1277, 1282, 1286, 1292, 1295,
- 1296, 1297, 1298, 1301, 1302, 1303, 1306, 1307, 1308, 1309,
- 1310, 1317, 1318, 1320, 1321, 1322, 1323, 1324, 1325, 1326,
- 1327, 1331, 1332, 1335, 1336, 1337, 1340, 1342, 1343, 1344,
- 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1356,
- 1370, 1371, 1375, 1376, 1378, 1382, 1395, 1397, 1401, 1406,
- 1407, 1410, 1414, 1416, 1420, 1421, 1422, 1424, 1431, 1432,
- 1434, 1435, 1438, 1439, 1440, 1441, 1444, 1445, 1446, 1448,
- 1452, 1453, 1454, 1456, 1462, 1464, 1467, 1472, 1474, 1478,
- 1479, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494,
- 1495, 1497, 1499, 1501, 1503, 1505, 1507, 1509, 1514
+ 488, 489, 492, 494, 496, 507, 510, 518, 521, 530,
+ 533, 535, 537, 539, 540, 542, 543, 544, 545, 548,
+ 554, 557, 558, 559, 562, 567, 571, 573, 575, 580,
+ 588, 593, 598, 604, 609, 610, 613, 616, 622, 626,
+ 628, 631, 643, 648, 650, 653, 656, 659, 664, 665,
+ 668, 669, 670, 673, 679, 684, 688, 692, 701, 705,
+ 712, 719, 722, 734, 737, 741, 752, 755, 758, 761,
+ 762, 764, 767, 769, 772, 773, 774, 775, 778, 780,
+ 782, 783, 785, 788, 791, 795, 798, 801, 809, 812,
+ 818, 824, 831, 832, 833, 834, 835, 836, 840, 845,
+ 848, 852, 855, 856, 858, 860, 863, 868, 877, 882,
+ 885, 890, 895, 899, 908, 912, 923, 927, 931, 935,
+ 940, 944, 960, 964, 966, 966, 970, 971, 972, 973,
+ 975, 976, 982, 983, 989, 989, 994, 994, 999, 999,
+ 1002, 1003, 1005, 1007, 1011, 1013, 1016, 1020, 1029, 1031,
+ 1035, 1042, 1053, 1054, 1056, 1059, 1063, 1067, 1068, 1074,
+ 1075, 1076, 1077, 1081, 1086, 1090, 1095, 1099, 1103, 1104,
+ 1105, 1109, 1110, 1111, 1114, 1117, 1118, 1121, 1123, 1128,
+ 1131, 1131, 1135, 1135, 1139, 1139, 1142, 1142, 1145, 1148,
+ 1150, 1154, 1156, 1162, 1163, 1165, 1166, 1167, 1168, 1169,
+ 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179,
+ 1180, 1181, 1183, 1183, 1187, 1187, 1191, 1191, 1195, 1195,
+ 1198, 1201, 1202, 1204, 1205, 1207, 1208, 1209, 1210, 1211,
+ 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
+ 1222, 1223, 1225, 1225, 1229, 1229, 1233, 1233, 1237, 1240,
+ 1246, 1250, 1256, 1257, 1260, 1261, 1262, 1262, 1265, 1268,
+ 1269, 1272, 1273, 1274, 1277, 1280, 1285, 1289, 1295, 1298,
+ 1299, 1300, 1301, 1304, 1305, 1306, 1309, 1310, 1311, 1312,
+ 1313, 1320, 1321, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
+ 1330, 1334, 1335, 1338, 1339, 1340, 1343, 1345, 1346, 1347,
+ 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1359,
+ 1373, 1374, 1378, 1379, 1381, 1385, 1398, 1400, 1404, 1409,
+ 1410, 1413, 1417, 1419, 1423, 1424, 1425, 1427, 1434, 1435,
+ 1437, 1438, 1441, 1442, 1443, 1444, 1447, 1448, 1449, 1451,
+ 1455, 1456, 1457, 1459, 1465, 1467, 1470, 1475, 1477, 1481,
+ 1482, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497,
+ 1498, 1500, 1502, 1504, 1506, 1508, 1510, 1512, 1517
};
#endif
@@ -4033,6 +4033,9 @@ yyreduce:
(yyval.val) = rlc(cons(sym,
expand_forms(rest((yyvsp[(1) - (1)].val)), nil)),
(yyvsp[(1) - (1)].val));
+ else if (sym == mdo_s)
+ { eval_intrinsic(cons(progn_s, cdr((yyvsp[(1) - (1)].val))), nil);
+ (yyval.val) = cons(do_s, nil); }
else
{ (yyval.val) = match_expand_elem((yyvsp[(1) - (1)].val));
match_reg_elem((yyval.val)); } }
@@ -4041,7 +4044,7 @@ yyreduce:
case 105:
/* Line 1806 of yacc.c */
-#line 504 "parser.y"
+#line 507 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (5)].val));
(yyval.val) = list(coll_s, (yyvsp[(4) - (5)].val), nil, args, nao);
rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); }
@@ -4050,7 +4053,7 @@ yyreduce:
case 106:
/* Line 1806 of yacc.c */
-#line 509 "parser.y"
+#line 512 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (9)].val));
(yyval.val) = list(coll_s, (yyvsp[(4) - (9)].val), cons(cdr((yyvsp[(5) - (9)].val)),
cons((yyvsp[(6) - (9)].val), (yyvsp[(8) - (9)].val))),
@@ -4062,7 +4065,7 @@ yyreduce:
case 107:
/* Line 1806 of yacc.c */
-#line 515 "parser.y"
+#line 518 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (5)].val));
(yyval.val) = list(rep_s, (yyvsp[(4) - (5)].val), nil, args, nao);
rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); }
@@ -4071,7 +4074,7 @@ yyreduce:
case 108:
/* Line 1806 of yacc.c */
-#line 521 "parser.y"
+#line 524 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (9)].val));
(yyval.val) = list(rep_s, (yyvsp[(4) - (9)].val), cons(cdr((yyvsp[(5) - (9)].val)),
cons((yyvsp[(6) - (9)].val), (yyvsp[(8) - (9)].val))),
@@ -4083,7 +4086,7 @@ yyreduce:
case 109:
/* Line 1806 of yacc.c */
-#line 527 "parser.y"
+#line 530 "parser.y"
{ (yyval.val) = list(block_s, car((yyvsp[(2) - (5)].val)),
cons((yyvsp[(4) - (5)].val), nil), nao);
rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); }
@@ -4092,7 +4095,7 @@ yyreduce:
case 110:
/* Line 1806 of yacc.c */
-#line 530 "parser.y"
+#line 533 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("coll clause")); }
break;
@@ -4100,7 +4103,7 @@ yyreduce:
case 111:
/* Line 1806 of yacc.c */
-#line 532 "parser.y"
+#line 535 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("rep clause")); }
break;
@@ -4108,7 +4111,7 @@ yyreduce:
case 112:
/* Line 1806 of yacc.c */
-#line 534 "parser.y"
+#line 537 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("rep clause")); }
break;
@@ -4116,42 +4119,42 @@ yyreduce:
case 113:
/* Line 1806 of yacc.c */
-#line 536 "parser.y"
+#line 539 "parser.y"
{ (yyval.val) = rl(list(all_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 114:
/* Line 1806 of yacc.c */
-#line 538 "parser.y"
+#line 541 "parser.y"
{ (yyval.val) = rl(list(some_s, t, (yyvsp[(4) - (4)].val), (yyvsp[(2) - (4)].val), nao), num((yyvsp[(1) - (4)].lineno))); }
break;
case 115:
/* Line 1806 of yacc.c */
-#line 539 "parser.y"
+#line 542 "parser.y"
{ (yyval.val) = rl(list(none_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 116:
/* Line 1806 of yacc.c */
-#line 540 "parser.y"
+#line 543 "parser.y"
{ (yyval.val) = rl(list(maybe_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 117:
/* Line 1806 of yacc.c */
-#line 541 "parser.y"
+#line 544 "parser.y"
{ (yyval.val) = rl(list(cases_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 118:
/* Line 1806 of yacc.c */
-#line 543 "parser.y"
+#line 546 "parser.y"
{ (yyval.val) = list(choose_s, t, (yyvsp[(4) - (4)].val), (yyvsp[(2) - (4)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); }
break;
@@ -4159,7 +4162,7 @@ yyreduce:
case 119:
/* Line 1806 of yacc.c */
-#line 546 "parser.y"
+#line 549 "parser.y"
{ (yyval.val) = list(define_s, t, (yyvsp[(4) - (5)].val), (yyvsp[(2) - (5)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (5)].lineno)));
match_reg_params(second((yyvsp[(2) - (5)].val))); }
@@ -4168,35 +4171,35 @@ yyreduce:
case 120:
/* Line 1806 of yacc.c */
-#line 551 "parser.y"
+#line 554 "parser.y"
{ (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); }
break;
case 121:
/* Line 1806 of yacc.c */
-#line 554 "parser.y"
+#line 557 "parser.y"
{ (yyval.val) = nil; }
break;
case 122:
/* Line 1806 of yacc.c */
-#line 555 "parser.y"
+#line 558 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 123:
/* Line 1806 of yacc.c */
-#line 556 "parser.y"
+#line 559 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 124:
/* Line 1806 of yacc.c */
-#line 561 "parser.y"
+#line 564 "parser.y"
{ (yyval.val) = list(define_s, (yyvsp[(2) - (7)].val), (yyvsp[(5) - (7)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (7)].lineno)));
match_reg_params(second((yyvsp[(2) - (7)].val))); }
@@ -4205,7 +4208,7 @@ yyreduce:
case 125:
/* Line 1806 of yacc.c */
-#line 566 "parser.y"
+#line 569 "parser.y"
{ (yyval.val) = list(define_s, nil, (yyvsp[(4) - (6)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); }
break;
@@ -4213,7 +4216,7 @@ yyreduce:
case 126:
/* Line 1806 of yacc.c */
-#line 568 "parser.y"
+#line 571 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("define directive")); }
break;
@@ -4221,14 +4224,14 @@ yyreduce:
case 127:
/* Line 1806 of yacc.c */
-#line 571 "parser.y"
+#line 574 "parser.y"
{ (yyval.val) = nil; yybadtok(yychar, lit("define")); }
break;
case 128:
/* Line 1806 of yacc.c */
-#line 573 "parser.y"
+#line 576 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("define")); }
break;
@@ -4236,7 +4239,7 @@ yyreduce:
case 129:
/* Line 1806 of yacc.c */
-#line 580 "parser.y"
+#line 583 "parser.y"
{ (yyval.val) = list(try_s,
flatten(mapcar(func_n1(second),
(yyvsp[(4) - (6)].val))),
@@ -4247,7 +4250,7 @@ yyreduce:
case 130:
/* Line 1806 of yacc.c */
-#line 586 "parser.y"
+#line 589 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("try clause")); }
break;
@@ -4255,7 +4258,7 @@ yyreduce:
case 131:
/* Line 1806 of yacc.c */
-#line 592 "parser.y"
+#line 595 "parser.y"
{ (yyval.val) = cons(list(catch_s, cons(t, nil),
(yyvsp[(4) - (5)].val), nao), (yyvsp[(5) - (5)].val));
rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); }
@@ -4264,7 +4267,7 @@ yyreduce:
case 132:
/* Line 1806 of yacc.c */
-#line 597 "parser.y"
+#line 600 "parser.y"
{ (yyval.val) = cons(list(catch_s, (yyvsp[(2) - (6)].val), (yyvsp[(5) - (6)].val), nao),
(yyvsp[(6) - (6)].val));
process_catch_exprs((yyvsp[(2) - (6)].val));
@@ -4274,7 +4277,7 @@ yyreduce:
case 133:
/* Line 1806 of yacc.c */
-#line 602 "parser.y"
+#line 605 "parser.y"
{ (yyval.val) = cons(list(finally_s, nil,
(yyvsp[(3) - (3)].val), nao),
nil);
@@ -4284,14 +4287,14 @@ yyreduce:
case 134:
/* Line 1806 of yacc.c */
-#line 606 "parser.y"
+#line 609 "parser.y"
{ (yyval.val) = nil; }
break;
case 135:
/* Line 1806 of yacc.c */
-#line 608 "parser.y"
+#line 611 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("catch clause")); }
break;
@@ -4299,7 +4302,7 @@ yyreduce:
case 136:
/* Line 1806 of yacc.c */
-#line 611 "parser.y"
+#line 614 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("catch clause")); }
break;
@@ -4307,7 +4310,7 @@ yyreduce:
case 137:
/* Line 1806 of yacc.c */
-#line 614 "parser.y"
+#line 617 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("finally clause")); }
break;
@@ -4315,7 +4318,7 @@ yyreduce:
case 138:
/* Line 1806 of yacc.c */
-#line 621 "parser.y"
+#line 624 "parser.y"
{ (yyval.val) = nil;
yyerr("obsolete output syntax: trailing material"); }
break;
@@ -4323,21 +4326,21 @@ yyreduce:
case 139:
/* Line 1806 of yacc.c */
-#line 624 "parser.y"
+#line 627 "parser.y"
{ (yyval.val) = rl(list(output_s, nao), num((yyvsp[(1) - (5)].lineno))); }
break;
case 140:
/* Line 1806 of yacc.c */
-#line 627 "parser.y"
+#line 630 "parser.y"
{ (yyval.val) = rl(list(output_s, (yyvsp[(4) - (6)].val), nao), num((yyvsp[(1) - (6)].lineno))); }
break;
case 141:
/* Line 1806 of yacc.c */
-#line 630 "parser.y"
+#line 633 "parser.y"
{ cons_bind (dest, rest, (yyvsp[(2) - (7)].val));
val dest_ex = expand_form_ver(dest, 166);
val args = if3(dest_ex == dest,
@@ -4353,7 +4356,7 @@ yyreduce:
case 142:
/* Line 1806 of yacc.c */
-#line 642 "parser.y"
+#line 645 "parser.y"
{ (yyval.val) = nil;
yyerr("invalid combination of old and "
"new syntax in output directive"); }
@@ -4362,7 +4365,7 @@ yyreduce:
case 143:
/* Line 1806 of yacc.c */
-#line 645 "parser.y"
+#line 648 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output directive")); }
break;
@@ -4370,7 +4373,7 @@ yyreduce:
case 144:
/* Line 1806 of yacc.c */
-#line 648 "parser.y"
+#line 651 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4378,7 +4381,7 @@ yyreduce:
case 145:
/* Line 1806 of yacc.c */
-#line 651 "parser.y"
+#line 654 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4386,7 +4389,7 @@ yyreduce:
case 146:
/* Line 1806 of yacc.c */
-#line 654 "parser.y"
+#line 657 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4394,7 +4397,7 @@ yyreduce:
case 147:
/* Line 1806 of yacc.c */
-#line 657 "parser.y"
+#line 660 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4402,42 +4405,42 @@ yyreduce:
case 148:
/* Line 1806 of yacc.c */
-#line 661 "parser.y"
+#line 664 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 149:
/* Line 1806 of yacc.c */
-#line 662 "parser.y"
+#line 665 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 150:
/* Line 1806 of yacc.c */
-#line 665 "parser.y"
+#line 668 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 151:
/* Line 1806 of yacc.c */
-#line 666 "parser.y"
+#line 669 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 152:
/* Line 1806 of yacc.c */
-#line 667 "parser.y"
+#line 670 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 153:
/* Line 1806 of yacc.c */
-#line 673 "parser.y"
+#line 676 "parser.y"
{ (yyval.val) = repeat_rep_helper(repeat_s,
(yyvsp[(2) - (8)].val), (yyvsp[(5) - (8)].val), (yyvsp[(6) - (8)].val));
rl((yyval.val), num((yyvsp[(1) - (8)].lineno))); }
@@ -4446,7 +4449,7 @@ yyreduce:
case 154:
/* Line 1806 of yacc.c */
-#line 677 "parser.y"
+#line 680 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("repeat clause")); }
break;
@@ -4454,7 +4457,7 @@ yyreduce:
case 155:
/* Line 1806 of yacc.c */
-#line 683 "parser.y"
+#line 686 "parser.y"
{ (yyval.val) = cons(cons(single_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val));
rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); }
break;
@@ -4462,7 +4465,7 @@ yyreduce:
case 156:
/* Line 1806 of yacc.c */
-#line 687 "parser.y"
+#line 690 "parser.y"
{ (yyval.val) = cons(cons(first_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val));
rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); }
break;
@@ -4470,7 +4473,7 @@ yyreduce:
case 157:
/* Line 1806 of yacc.c */
-#line 691 "parser.y"
+#line 694 "parser.y"
{ if ((yyvsp[(2) - (6)].val))
yyerrorf(scnr,
lit("last: in output, "
@@ -4483,7 +4486,7 @@ yyreduce:
case 158:
/* Line 1806 of yacc.c */
-#line 700 "parser.y"
+#line 703 "parser.y"
{ (yyval.val) = cons(cons(empty_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val));
rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); }
break;
@@ -4491,7 +4494,7 @@ yyreduce:
case 159:
/* Line 1806 of yacc.c */
-#line 705 "parser.y"
+#line 708 "parser.y"
{ (yyval.val) = cons(cons(mod_s,
cons(expand_forms_ver((yyvsp[(2) - (6)].val), 166),
(yyvsp[(5) - (6)].val))), (yyvsp[(6) - (6)].val));
@@ -4501,7 +4504,7 @@ yyreduce:
case 160:
/* Line 1806 of yacc.c */
-#line 712 "parser.y"
+#line 715 "parser.y"
{ (yyval.val) = cons(cons(modlast_s,
cons(expand_forms_ver((yyvsp[(2) - (6)].val), 166),
(yyvsp[(5) - (6)].val))), (yyvsp[(6) - (6)].val));
@@ -4511,14 +4514,14 @@ yyreduce:
case 161:
/* Line 1806 of yacc.c */
-#line 716 "parser.y"
+#line 719 "parser.y"
{ (yyval.val) = nil; }
break;
case 162:
/* Line 1806 of yacc.c */
-#line 723 "parser.y"
+#line 726 "parser.y"
{ val expr = expand((yyvsp[(2) - (9)].val), nil);
val ifs = (yyvsp[(5) - (9)].val);
val branch = cons(cons(expr, ifs), nil);
@@ -4532,7 +4535,7 @@ yyreduce:
case 163:
/* Line 1806 of yacc.c */
-#line 732 "parser.y"
+#line 735 "parser.y"
{ (yyval.val) = nil;
yyerr("if requires expression"); }
break;
@@ -4540,14 +4543,14 @@ yyreduce:
case 164:
/* Line 1806 of yacc.c */
-#line 735 "parser.y"
+#line 738 "parser.y"
{ (yyval.val) = nil; yybadtok(yychar, lit("if clause")); }
break;
case 165:
/* Line 1806 of yacc.c */
-#line 741 "parser.y"
+#line 744 "parser.y"
{ val expr = expand(car((yyvsp[(2) - (6)].val)), nil);
val elifs = (yyvsp[(5) - (6)].val);
val branch = cons(cons(expr, elifs), nil);
@@ -4561,49 +4564,49 @@ yyreduce:
case 166:
/* Line 1806 of yacc.c */
-#line 749 "parser.y"
+#line 752 "parser.y"
{ (yyval.val) = nil; }
break;
case 167:
/* Line 1806 of yacc.c */
-#line 754 "parser.y"
+#line 757 "parser.y"
{ (yyval.val) = cons(cons(t, (yyvsp[(3) - (3)].val)), nil); }
break;
case 168:
/* Line 1806 of yacc.c */
-#line 755 "parser.y"
+#line 758 "parser.y"
{ (yyval.val) = nil; }
break;
case 169:
/* Line 1806 of yacc.c */
-#line 758 "parser.y"
+#line 761 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 170:
/* Line 1806 of yacc.c */
-#line 759 "parser.y"
+#line 762 "parser.y"
{ (yyval.val) = nil; }
break;
case 171:
/* Line 1806 of yacc.c */
-#line 761 "parser.y"
+#line 764 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (2)].val); }
break;
case 172:
/* Line 1806 of yacc.c */
-#line 764 "parser.y"
+#line 767 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4611,42 +4614,42 @@ yyreduce:
case 173:
/* Line 1806 of yacc.c */
-#line 766 "parser.y"
+#line 769 "parser.y"
{ (yyval.val) = nil; }
break;
case 174:
/* Line 1806 of yacc.c */
-#line 769 "parser.y"
+#line 772 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 175:
/* Line 1806 of yacc.c */
-#line 770 "parser.y"
+#line 773 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 176:
/* Line 1806 of yacc.c */
-#line 771 "parser.y"
+#line 774 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 177:
/* Line 1806 of yacc.c */
-#line 772 "parser.y"
+#line 775 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 178:
/* Line 1806 of yacc.c */
-#line 775 "parser.y"
+#line 778 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4654,7 +4657,7 @@ yyreduce:
case 179:
/* Line 1806 of yacc.c */
-#line 777 "parser.y"
+#line 780 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4662,14 +4665,14 @@ yyreduce:
case 180:
/* Line 1806 of yacc.c */
-#line 779 "parser.y"
+#line 782 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 181:
/* Line 1806 of yacc.c */
-#line 780 "parser.y"
+#line 783 "parser.y"
{ (yyval.val) = rlc(list(expr_s,
expand((yyvsp[(1) - (1)].val), nil), nao), (yyvsp[(1) - (1)].val)); }
break;
@@ -4677,14 +4680,14 @@ yyreduce:
case 182:
/* Line 1806 of yacc.c */
-#line 782 "parser.y"
+#line 785 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 183:
/* Line 1806 of yacc.c */
-#line 786 "parser.y"
+#line 789 "parser.y"
{ (yyval.val) = repeat_rep_helper(rep_s, (yyvsp[(2) - (6)].val), (yyvsp[(4) - (6)].val), (yyvsp[(5) - (6)].val));
rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); }
break;
@@ -4692,7 +4695,7 @@ yyreduce:
case 184:
/* Line 1806 of yacc.c */
-#line 788 "parser.y"
+#line 791 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("rep clause")); }
break;
@@ -4700,7 +4703,7 @@ yyreduce:
case 185:
/* Line 1806 of yacc.c */
-#line 793 "parser.y"
+#line 796 "parser.y"
{ (yyval.val) = cons(cons(single_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val));
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -4708,7 +4711,7 @@ yyreduce:
case 186:
/* Line 1806 of yacc.c */
-#line 796 "parser.y"
+#line 799 "parser.y"
{ (yyval.val) = cons(cons(first_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val));
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -4716,7 +4719,7 @@ yyreduce:
case 187:
/* Line 1806 of yacc.c */
-#line 799 "parser.y"
+#line 802 "parser.y"
{ if ((yyvsp[(2) - (5)].val))
yyerrorf(scnr,
lit("last: in output, "
@@ -4729,7 +4732,7 @@ yyreduce:
case 188:
/* Line 1806 of yacc.c */
-#line 807 "parser.y"
+#line 810 "parser.y"
{ (yyval.val) = cons(cons(empty_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val));
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -4737,7 +4740,7 @@ yyreduce:
case 189:
/* Line 1806 of yacc.c */
-#line 811 "parser.y"
+#line 814 "parser.y"
{ (yyval.val) = cons(cons(mod_s,
cons(expand_forms_ver((yyvsp[(2) - (5)].val), 166),
(yyvsp[(4) - (5)].val))), (yyvsp[(5) - (5)].val));
@@ -4747,7 +4750,7 @@ yyreduce:
case 190:
/* Line 1806 of yacc.c */
-#line 817 "parser.y"
+#line 820 "parser.y"
{ (yyval.val) = cons(cons(modlast_s,
cons(expand_forms_ver((yyvsp[(2) - (5)].val), 166),
(yyvsp[(4) - (5)].val))), (yyvsp[(5) - (5)].val));
@@ -4757,49 +4760,49 @@ yyreduce:
case 191:
/* Line 1806 of yacc.c */
-#line 821 "parser.y"
+#line 824 "parser.y"
{ (yyval.val) = nil; }
break;
case 192:
/* Line 1806 of yacc.c */
-#line 828 "parser.y"
+#line 831 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(1) - (1)].lexeme), nil), nao); }
break;
case 193:
/* Line 1806 of yacc.c */
-#line 829 "parser.y"
+#line 832 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (3)].lexeme), nil), nao); }
break;
case 194:
/* Line 1806 of yacc.c */
-#line 830 "parser.y"
+#line 833 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (4)].lexeme), nil), (yyvsp[(3) - (4)].val), nao); }
break;
case 195:
/* Line 1806 of yacc.c */
-#line 831 "parser.y"
+#line 834 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (2)].lexeme), nil), (yyvsp[(1) - (2)].val), nao); }
break;
case 196:
/* Line 1806 of yacc.c */
-#line 832 "parser.y"
+#line 835 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(3) - (4)].lexeme), nil), (yyvsp[(1) - (4)].val), nao); }
break;
case 197:
/* Line 1806 of yacc.c */
-#line 833 "parser.y"
+#line 836 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(3) - (5)].lexeme));
yyerr("longest match "
@@ -4809,7 +4812,7 @@ yyreduce:
case 198:
/* Line 1806 of yacc.c */
-#line 837 "parser.y"
+#line 840 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(3) - (5)].lexeme));
yyerr("longest match "
@@ -4820,7 +4823,7 @@ yyreduce:
case 199:
/* Line 1806 of yacc.c */
-#line 842 "parser.y"
+#line 845 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(1) - (2)].lexeme));
yybadtok(yychar, lit("variable spec")); }
@@ -4829,7 +4832,7 @@ yyreduce:
case 200:
/* Line 1806 of yacc.c */
-#line 845 "parser.y"
+#line 848 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("variable spec")); }
break;
@@ -4837,21 +4840,21 @@ yyreduce:
case 201:
/* Line 1806 of yacc.c */
-#line 849 "parser.y"
+#line 852 "parser.y"
{ (yyval.val) = list(t, nao); }
break;
case 202:
/* Line 1806 of yacc.c */
-#line 852 "parser.y"
+#line 855 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 203:
/* Line 1806 of yacc.c */
-#line 853 "parser.y"
+#line 856 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
@@ -4859,7 +4862,7 @@ yyreduce:
case 204:
/* Line 1806 of yacc.c */
-#line 855 "parser.y"
+#line 858 "parser.y"
{ (yyval.val) = rlc(cons(expand_meta((yyvsp[(1) - (1)].val), nil),
nil), (yyvsp[(1) - (1)].val)); }
break;
@@ -4867,14 +4870,14 @@ yyreduce:
case 205:
/* Line 1806 of yacc.c */
-#line 857 "parser.y"
+#line 860 "parser.y"
{ (yyval.val) = cons(symhlpr((yyvsp[(1) - (1)].lexeme), nil), nil); }
break;
case 206:
/* Line 1806 of yacc.c */
-#line 860 "parser.y"
+#line 863 "parser.y"
{ val expr = symhlpr((yyvsp[(1) - (1)].lexeme), nil);
if (!opt_compat || opt_compat > 128)
expr = expand(expr, nil);
@@ -4885,7 +4888,7 @@ yyreduce:
case 207:
/* Line 1806 of yacc.c */
-#line 866 "parser.y"
+#line 869 "parser.y"
{ if (opt_compat && opt_compat <= 128)
{ (yyval.val) = list(var_s,
expand_meta((yyvsp[(2) - (4)].val), nil),
@@ -4899,7 +4902,7 @@ yyreduce:
case 208:
/* Line 1806 of yacc.c */
-#line 874 "parser.y"
+#line 877 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(1) - (2)].lexeme));
yybadtok(yychar, lit("variable spec")); }
@@ -4908,7 +4911,7 @@ yyreduce:
case 209:
/* Line 1806 of yacc.c */
-#line 880 "parser.y"
+#line 883 "parser.y"
{ (yyval.val) = list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), nao);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4916,7 +4919,7 @@ yyreduce:
case 210:
/* Line 1806 of yacc.c */
-#line 882 "parser.y"
+#line 885 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("variable spec")); }
break;
@@ -4924,7 +4927,7 @@ yyreduce:
case 211:
/* Line 1806 of yacc.c */
-#line 887 "parser.y"
+#line 890 "parser.y"
{ if (parser->quasi_level > 0 && unquotes_occur((yyvsp[(2) - (2)].val), 0))
(yyval.val) = rlc(cons(vector_lit_s,
cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val));
@@ -4935,7 +4938,7 @@ yyreduce:
case 212:
/* Line 1806 of yacc.c */
-#line 892 "parser.y"
+#line 895 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("unassigned/reserved # notation")); }
break;
@@ -4943,7 +4946,7 @@ yyreduce:
case 213:
/* Line 1806 of yacc.c */
-#line 896 "parser.y"
+#line 899 "parser.y"
{ if (parser->ignore)
(yyval.val) = nil;
else if (parser->quasi_level > 0 &&
@@ -4958,7 +4961,7 @@ yyreduce:
case 214:
/* Line 1806 of yacc.c */
-#line 905 "parser.y"
+#line 908 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("hash literal")); }
break;
@@ -4966,7 +4969,7 @@ yyreduce:
case 215:
/* Line 1806 of yacc.c */
-#line 909 "parser.y"
+#line 912 "parser.y"
{ if (parser->ignore)
{ (yyval.val) = nil; }
else if ((parser->quasi_level > 0 &&
@@ -4983,7 +4986,7 @@ yyreduce:
case 216:
/* Line 1806 of yacc.c */
-#line 920 "parser.y"
+#line 923 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("struct literal")); }
break;
@@ -4991,7 +4994,7 @@ yyreduce:
case 217:
/* Line 1806 of yacc.c */
-#line 924 "parser.y"
+#line 927 "parser.y"
{ if (length((yyvsp[(2) - (2)].val)) != two)
yyerr("range literal needs two elements");
{ val range = rcons(first((yyvsp[(2) - (2)].val)), second((yyvsp[(2) - (2)].val)));
@@ -5001,7 +5004,7 @@ yyreduce:
case 218:
/* Line 1806 of yacc.c */
-#line 928 "parser.y"
+#line 931 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("range literal")); }
break;
@@ -5009,7 +5012,7 @@ yyreduce:
case 219:
/* Line 1806 of yacc.c */
-#line 932 "parser.y"
+#line 935 "parser.y"
{ if (gt(length((yyvsp[(2) - (2)].val)), three))
yyerr("excess elements in tree node");
{ val tn = tnode(first((yyvsp[(2) - (2)].val)), second((yyvsp[(2) - (2)].val)),
@@ -5020,7 +5023,7 @@ yyreduce:
case 220:
/* Line 1806 of yacc.c */
-#line 937 "parser.y"
+#line 940 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("tree node literal")); }
break;
@@ -5028,7 +5031,7 @@ yyreduce:
case 221:
/* Line 1806 of yacc.c */
-#line 941 "parser.y"
+#line 944 "parser.y"
{ if (parser->ignore)
{ (yyval.val) = nil; }
else if (parser->quasi_level > 0 &&
@@ -5050,7 +5053,7 @@ yyreduce:
case 222:
/* Line 1806 of yacc.c */
-#line 957 "parser.y"
+#line 960 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("tree node literal")); }
break;
@@ -5058,7 +5061,7 @@ yyreduce:
case 223:
/* Line 1806 of yacc.c */
-#line 961 "parser.y"
+#line 964 "parser.y"
{ (yyval.val) = list(json_s, quote_s, (yyvsp[(2) - (2)].val), nao);
end_of_json(scnr); }
break;
@@ -5066,14 +5069,14 @@ yyreduce:
case 224:
/* Line 1806 of yacc.c */
-#line 963 "parser.y"
+#line 966 "parser.y"
{ parser->quasi_level++; }
break;
case 225:
/* Line 1806 of yacc.c */
-#line 964 "parser.y"
+#line 967 "parser.y"
{ parser->quasi_level--;
end_of_json(scnr);
(yyval.val) = list(json_s, sys_qquote_s, (yyvsp[(4) - (4)].val), nao); }
@@ -5082,28 +5085,28 @@ yyreduce:
case 226:
/* Line 1806 of yacc.c */
-#line 967 "parser.y"
+#line 970 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 227:
/* Line 1806 of yacc.c */
-#line 968 "parser.y"
+#line 971 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 228:
/* Line 1806 of yacc.c */
-#line 969 "parser.y"
+#line 972 "parser.y"
{ (yyval.val) = null_string; }
break;
case 229:
/* Line 1806 of yacc.c */
-#line 970 "parser.y"
+#line 973 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5111,14 +5114,14 @@ yyreduce:
case 230:
/* Line 1806 of yacc.c */
-#line 972 "parser.y"
+#line 975 "parser.y"
{ (yyval.val) = vector(zero, nil); }
break;
case 231:
/* Line 1806 of yacc.c */
-#line 974 "parser.y"
+#line 977 "parser.y"
{ (yyval.val) = if3(vectorp((yyvsp[(2) - (4)].val)),
(yyvsp[(2) - (4)].val),
rl(cons(vector_lit_s,
@@ -5129,14 +5132,14 @@ yyreduce:
case 232:
/* Line 1806 of yacc.c */
-#line 979 "parser.y"
+#line 982 "parser.y"
{ (yyval.val) = make_hash(hash_weak_none, t); }
break;
case 233:
/* Line 1806 of yacc.c */
-#line 981 "parser.y"
+#line 984 "parser.y"
{ (yyval.val) = if3(hashp((yyvsp[(2) - (4)].val)),
(yyvsp[(2) - (4)].val),
rl(cons(hash_lit_s,
@@ -5147,14 +5150,14 @@ yyreduce:
case 234:
/* Line 1806 of yacc.c */
-#line 986 "parser.y"
+#line 989 "parser.y"
{ parser->quasi_level--; }
break;
case 235:
/* Line 1806 of yacc.c */
-#line 987 "parser.y"
+#line 990 "parser.y"
{ parser->quasi_level++;
end_of_json_unquote(scnr);
(yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
@@ -5164,14 +5167,14 @@ yyreduce:
case 236:
/* Line 1806 of yacc.c */
-#line 991 "parser.y"
+#line 994 "parser.y"
{ parser->quasi_level--; }
break;
case 237:
/* Line 1806 of yacc.c */
-#line 992 "parser.y"
+#line 995 "parser.y"
{ parser->quasi_level++;
end_of_json_unquote(scnr);
(yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
@@ -5181,14 +5184,14 @@ yyreduce:
case 238:
/* Line 1806 of yacc.c */
-#line 996 "parser.y"
+#line 999 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 239:
/* Line 1806 of yacc.c */
-#line 997 "parser.y"
+#line 1000 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -5196,14 +5199,14 @@ yyreduce:
case 240:
/* Line 1806 of yacc.c */
-#line 999 "parser.y"
+#line 1002 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 241:
/* Line 1806 of yacc.c */
-#line 1000 "parser.y"
+#line 1003 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("JSON string")); }
break;
@@ -5211,7 +5214,7 @@ yyreduce:
case 242:
/* Line 1806 of yacc.c */
-#line 1002 "parser.y"
+#line 1005 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("JSON array")); }
break;
@@ -5219,7 +5222,7 @@ yyreduce:
case 243:
/* Line 1806 of yacc.c */
-#line 1004 "parser.y"
+#line 1007 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("JSON hash")); }
break;
@@ -5227,7 +5230,7 @@ yyreduce:
case 244:
/* Line 1806 of yacc.c */
-#line 1008 "parser.y"
+#line 1011 "parser.y"
{ if (!parser->read_bad_json)
yyerr("trailing comma in JSON array"); }
break;
@@ -5235,7 +5238,7 @@ yyreduce:
case 246:
/* Line 1806 of yacc.c */
-#line 1013 "parser.y"
+#line 1016 "parser.y"
{ (yyval.val) = if3(parser->quasi_level > 0 &&
unquotes_occur((yyvsp[(1) - (1)].val), 0),
cons((yyvsp[(1) - (1)].val), nil),
@@ -5245,7 +5248,7 @@ yyreduce:
case 247:
/* Line 1806 of yacc.c */
-#line 1017 "parser.y"
+#line 1020 "parser.y"
{ if (consp((yyvsp[(1) - (3)].val)))
{ (yyval.val) = cons((yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val)); }
else if (parser->quasi_level > 0 &&
@@ -5260,7 +5263,7 @@ yyreduce:
case 248:
/* Line 1806 of yacc.c */
-#line 1026 "parser.y"
+#line 1029 "parser.y"
{ yyerr("missing comma in JSON array");
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -5268,7 +5271,7 @@ yyreduce:
case 249:
/* Line 1806 of yacc.c */
-#line 1028 "parser.y"
+#line 1031 "parser.y"
{ yybadtok(yychar, lit("JSON array"));
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -5276,7 +5279,7 @@ yyreduce:
case 250:
/* Line 1806 of yacc.c */
-#line 1032 "parser.y"
+#line 1035 "parser.y"
{ if (parser->quasi_level > 0 &&
(unquotes_occur((yyvsp[(1) - (3)].val), 0) ||
unquotes_occur((yyvsp[(3) - (3)].val), 0)))
@@ -5289,7 +5292,7 @@ yyreduce:
case 251:
/* Line 1806 of yacc.c */
-#line 1040 "parser.y"
+#line 1043 "parser.y"
{ if (consp((yyvsp[(1) - (5)].val)))
{ (yyval.val) = cons(list((yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val), nao), (yyvsp[(1) - (5)].val)); }
else if (parser->quasi_level > 0 &&
@@ -5305,28 +5308,28 @@ yyreduce:
case 252:
/* Line 1806 of yacc.c */
-#line 1050 "parser.y"
+#line 1053 "parser.y"
{ yyerr("missing colon in JSON hash"); }
break;
case 253:
/* Line 1806 of yacc.c */
-#line 1052 "parser.y"
+#line 1055 "parser.y"
{ yyerr("missing comma in JSON hash"); }
break;
case 254:
/* Line 1806 of yacc.c */
-#line 1053 "parser.y"
+#line 1056 "parser.y"
{ yybadtok(yychar, lit("JSON hash")); }
break;
case 255:
/* Line 1806 of yacc.c */
-#line 1056 "parser.y"
+#line 1059 "parser.y"
{ if ((yyvsp[(1) - (1)].lexeme)[0] == ':' && (yyvsp[(1) - (1)].lexeme)[1] == 0)
{ (yyval.val) = nil; }
else
@@ -5336,21 +5339,21 @@ yyreduce:
case 256:
/* Line 1806 of yacc.c */
-#line 1060 "parser.y"
+#line 1063 "parser.y"
{ (yyval.val) = nil; }
break;
case 257:
/* Line 1806 of yacc.c */
-#line 1064 "parser.y"
+#line 1067 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (3)].val), num((yyvsp[(1) - (3)].lineno))); }
break;
case 258:
/* Line 1806 of yacc.c */
-#line 1065 "parser.y"
+#line 1068 "parser.y"
{ val a = car((yyvsp[(3) - (4)].val));
val ur = uref_helper(parser, a);
if (ur == a)
@@ -5362,28 +5365,28 @@ yyreduce:
case 259:
/* Line 1806 of yacc.c */
-#line 1071 "parser.y"
+#line 1074 "parser.y"
{ (yyval.val) = nil; }
break;
case 260:
/* Line 1806 of yacc.c */
-#line 1072 "parser.y"
+#line 1075 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (4)].val); }
break;
case 261:
/* Line 1806 of yacc.c */
-#line 1073 "parser.y"
+#line 1076 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (4)].val); }
break;
case 262:
/* Line 1806 of yacc.c */
-#line 1074 "parser.y"
+#line 1077 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("expression")); }
break;
@@ -5391,7 +5394,7 @@ yyreduce:
case 263:
/* Line 1806 of yacc.c */
-#line 1078 "parser.y"
+#line 1081 "parser.y"
{ if (consp((yyvsp[(2) - (2)].val)))
(yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), num((yyvsp[(1) - (2)].lineno)));
else
@@ -5402,7 +5405,7 @@ yyreduce:
case 264:
/* Line 1806 of yacc.c */
-#line 1083 "parser.y"
+#line 1086 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("meta expression")); }
break;
@@ -5410,7 +5413,7 @@ yyreduce:
case 265:
/* Line 1806 of yacc.c */
-#line 1087 "parser.y"
+#line 1090 "parser.y"
{ if (consp((yyvsp[(2) - (2)].val)))
(yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), num((yyvsp[(1) - (2)].chr)));
else
@@ -5421,7 +5424,7 @@ yyreduce:
case 266:
/* Line 1806 of yacc.c */
-#line 1092 "parser.y"
+#line 1095 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("meta expression")); }
break;
@@ -5429,7 +5432,7 @@ yyreduce:
case 267:
/* Line 1806 of yacc.c */
-#line 1096 "parser.y"
+#line 1099 "parser.y"
{ val a = car((yyvsp[(3) - (4)].val));
val ur = uref_helper(parser, a);
(yyval.val) = rlcp_tree(cons(dwim_s,
@@ -5439,21 +5442,21 @@ yyreduce:
case 268:
/* Line 1806 of yacc.c */
-#line 1100 "parser.y"
+#line 1103 "parser.y"
{ (yyval.val) = rl(cons(dwim_s, (yyvsp[(2) - (3)].val)), num((yyvsp[(1) - (3)].lineno))); }
break;
case 269:
/* Line 1806 of yacc.c */
-#line 1101 "parser.y"
+#line 1104 "parser.y"
{ (yyval.val) = rl(cons(dwim_s, nil), num((yyvsp[(1) - (2)].lineno))); }
break;
case 270:
/* Line 1806 of yacc.c */
-#line 1102 "parser.y"
+#line 1105 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("DWIM expression")); }
break;
@@ -5461,28 +5464,28 @@ yyreduce:
case 274:
/* Line 1806 of yacc.c */
-#line 1111 "parser.y"
+#line 1114 "parser.y"
{ (yyval.val) = rlc(expand_meta((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); }
break;
case 275:
/* Line 1806 of yacc.c */
-#line 1114 "parser.y"
+#line 1117 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 276:
/* Line 1806 of yacc.c */
-#line 1115 "parser.y"
+#line 1118 "parser.y"
{ (yyval.val) = nil; }
break;
case 277:
/* Line 1806 of yacc.c */
-#line 1118 "parser.y"
+#line 1121 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val)->c.cdr;
(yyvsp[(1) - (1)].val)->c.cdr = nil; }
break;
@@ -5490,7 +5493,7 @@ yyreduce:
case 278:
/* Line 1806 of yacc.c */
-#line 1121 "parser.y"
+#line 1124 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (3)].val)->c.cdr;
(yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); }
break;
@@ -5498,7 +5501,7 @@ yyreduce:
case 279:
/* Line 1806 of yacc.c */
-#line 1125 "parser.y"
+#line 1128 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rlc((yyval.val), (yyvsp[(1) - (1)].val));
(yyval.val)->c.cdr = (yyval.val); }
@@ -5507,14 +5510,14 @@ yyreduce:
case 280:
/* Line 1806 of yacc.c */
-#line 1128 "parser.y"
+#line 1131 "parser.y"
{ parser->ignore = 1; }
break;
case 281:
/* Line 1806 of yacc.c */
-#line 1129 "parser.y"
+#line 1132 "parser.y"
{ parser->ignore = 0;
(yyval.val) = cons(nil, nil);
(yyval.val)->c.cdr = (yyval.val); }
@@ -5523,14 +5526,14 @@ yyreduce:
case 282:
/* Line 1806 of yacc.c */
-#line 1132 "parser.y"
+#line 1135 "parser.y"
{ parser->ignore = 1; }
break;
case 283:
/* Line 1806 of yacc.c */
-#line 1133 "parser.y"
+#line 1136 "parser.y"
{ parser->ignore = 0;
(yyval.val) = cons(nil, nil);
(yyval.val)->c.cdr = (yyval.val); }
@@ -5539,14 +5542,14 @@ yyreduce:
case 284:
/* Line 1806 of yacc.c */
-#line 1136 "parser.y"
+#line 1139 "parser.y"
{ parser->ignore = 1; }
break;
case 285:
/* Line 1806 of yacc.c */
-#line 1137 "parser.y"
+#line 1140 "parser.y"
{ parser->ignore = 0;
(yyval.val) = (yyvsp[(1) - (4)].val); }
break;
@@ -5554,14 +5557,14 @@ yyreduce:
case 286:
/* Line 1806 of yacc.c */
-#line 1139 "parser.y"
+#line 1142 "parser.y"
{ parser->ignore = 1; }
break;
case 287:
/* Line 1806 of yacc.c */
-#line 1140 "parser.y"
+#line 1143 "parser.y"
{ parser->ignore = 0;
(yyval.val) = (yyvsp[(1) - (5)].val); }
break;
@@ -5569,7 +5572,7 @@ yyreduce:
case 288:
/* Line 1806 of yacc.c */
-#line 1142 "parser.y"
+#line 1145 "parser.y"
{ uses_or2;
(yyval.val) = rlc(cons((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val)->c.cdr), or2((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val)->c.cdr));
(yyvsp[(1) - (2)].val)->c.cdr = (yyval.val); }
@@ -5578,7 +5581,7 @@ yyreduce:
case 289:
/* Line 1806 of yacc.c */
-#line 1145 "parser.y"
+#line 1148 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); }
break;
@@ -5586,7 +5589,7 @@ yyreduce:
case 290:
/* Line 1806 of yacc.c */
-#line 1148 "parser.y"
+#line 1151 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(3) - (3)].val), num((yyvsp[(2) - (3)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(1) - (3)].val)->c.cdr;
(yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); }
@@ -5595,7 +5598,7 @@ yyreduce:
case 291:
/* Line 1806 of yacc.c */
-#line 1151 "parser.y"
+#line 1154 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); }
break;
@@ -5603,7 +5606,7 @@ yyreduce:
case 292:
/* Line 1806 of yacc.c */
-#line 1154 "parser.y"
+#line 1157 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(3) - (3)].val), num((yyvsp[(2) - (3)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(1) - (3)].val)->c.cdr;
(yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); }
@@ -5612,14 +5615,14 @@ yyreduce:
case 293:
/* Line 1806 of yacc.c */
-#line 1159 "parser.y"
+#line 1162 "parser.y"
{ (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); }
break;
case 294:
/* Line 1806 of yacc.c */
-#line 1160 "parser.y"
+#line 1163 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5627,119 +5630,119 @@ yyreduce:
case 295:
/* Line 1806 of yacc.c */
-#line 1162 "parser.y"
+#line 1165 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 296:
/* Line 1806 of yacc.c */
-#line 1163 "parser.y"
+#line 1166 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 297:
/* Line 1806 of yacc.c */
-#line 1164 "parser.y"
+#line 1167 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 298:
/* Line 1806 of yacc.c */
-#line 1165 "parser.y"
+#line 1168 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 299:
/* Line 1806 of yacc.c */
-#line 1166 "parser.y"
+#line 1169 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 300:
/* Line 1806 of yacc.c */
-#line 1167 "parser.y"
+#line 1170 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 301:
/* Line 1806 of yacc.c */
-#line 1168 "parser.y"
+#line 1171 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 302:
/* Line 1806 of yacc.c */
-#line 1169 "parser.y"
+#line 1172 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 303:
/* Line 1806 of yacc.c */
-#line 1170 "parser.y"
+#line 1173 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 304:
/* Line 1806 of yacc.c */
-#line 1171 "parser.y"
+#line 1174 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 305:
/* Line 1806 of yacc.c */
-#line 1172 "parser.y"
+#line 1175 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 306:
/* Line 1806 of yacc.c */
-#line 1173 "parser.y"
+#line 1176 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 307:
/* Line 1806 of yacc.c */
-#line 1174 "parser.y"
+#line 1177 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 308:
/* Line 1806 of yacc.c */
-#line 1175 "parser.y"
+#line 1178 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); }
break;
case 309:
/* Line 1806 of yacc.c */
-#line 1176 "parser.y"
+#line 1179 "parser.y"
{ (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); }
break;
case 310:
/* Line 1806 of yacc.c */
-#line 1177 "parser.y"
+#line 1180 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 311:
/* Line 1806 of yacc.c */
-#line 1178 "parser.y"
+#line 1181 "parser.y"
{ (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)),
num(parser->lineno)); }
break;
@@ -5747,14 +5750,14 @@ yyreduce:
case 312:
/* Line 1806 of yacc.c */
-#line 1180 "parser.y"
+#line 1183 "parser.y"
{ parser->quasi_level++; }
break;
case 313:
/* Line 1806 of yacc.c */
-#line 1181 "parser.y"
+#line 1184 "parser.y"
{ parser->quasi_level--;
(yyval.val) = rl(rlc(list(sys_qquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
num(parser->lineno)); }
@@ -5763,14 +5766,14 @@ yyreduce:
case 314:
/* Line 1806 of yacc.c */
-#line 1184 "parser.y"
+#line 1187 "parser.y"
{ parser->quasi_level--; }
break;
case 315:
/* Line 1806 of yacc.c */
-#line 1185 "parser.y"
+#line 1188 "parser.y"
{ parser->quasi_level++;
(yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
num(parser->lineno)); }
@@ -5779,14 +5782,14 @@ yyreduce:
case 316:
/* Line 1806 of yacc.c */
-#line 1188 "parser.y"
+#line 1191 "parser.y"
{ parser->quasi_level--; }
break;
case 317:
/* Line 1806 of yacc.c */
-#line 1189 "parser.y"
+#line 1192 "parser.y"
{ parser->quasi_level++;
(yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
num(parser->lineno)); }
@@ -5795,14 +5798,14 @@ yyreduce:
case 318:
/* Line 1806 of yacc.c */
-#line 1192 "parser.y"
+#line 1195 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 319:
/* Line 1806 of yacc.c */
-#line 1193 "parser.y"
+#line 1196 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -5810,35 +5813,35 @@ yyreduce:
case 320:
/* Line 1806 of yacc.c */
-#line 1195 "parser.y"
+#line 1198 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 321:
/* Line 1806 of yacc.c */
-#line 1198 "parser.y"
+#line 1201 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 322:
/* Line 1806 of yacc.c */
-#line 1199 "parser.y"
+#line 1202 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 323:
/* Line 1806 of yacc.c */
-#line 1201 "parser.y"
+#line 1204 "parser.y"
{ (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); }
break;
case 324:
/* Line 1806 of yacc.c */
-#line 1202 "parser.y"
+#line 1205 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5846,119 +5849,119 @@ yyreduce:
case 325:
/* Line 1806 of yacc.c */
-#line 1204 "parser.y"
+#line 1207 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 326:
/* Line 1806 of yacc.c */
-#line 1205 "parser.y"
+#line 1208 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 327:
/* Line 1806 of yacc.c */
-#line 1206 "parser.y"
+#line 1209 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 328:
/* Line 1806 of yacc.c */
-#line 1207 "parser.y"
+#line 1210 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 329:
/* Line 1806 of yacc.c */
-#line 1208 "parser.y"
+#line 1211 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 330:
/* Line 1806 of yacc.c */
-#line 1209 "parser.y"
+#line 1212 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 331:
/* Line 1806 of yacc.c */
-#line 1210 "parser.y"
+#line 1213 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 332:
/* Line 1806 of yacc.c */
-#line 1211 "parser.y"
+#line 1214 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 333:
/* Line 1806 of yacc.c */
-#line 1212 "parser.y"
+#line 1215 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 334:
/* Line 1806 of yacc.c */
-#line 1213 "parser.y"
+#line 1216 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 335:
/* Line 1806 of yacc.c */
-#line 1214 "parser.y"
+#line 1217 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 336:
/* Line 1806 of yacc.c */
-#line 1215 "parser.y"
+#line 1218 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 337:
/* Line 1806 of yacc.c */
-#line 1216 "parser.y"
+#line 1219 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 338:
/* Line 1806 of yacc.c */
-#line 1217 "parser.y"
+#line 1220 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); }
break;
case 339:
/* Line 1806 of yacc.c */
-#line 1218 "parser.y"
+#line 1221 "parser.y"
{ (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); }
break;
case 340:
/* Line 1806 of yacc.c */
-#line 1219 "parser.y"
+#line 1222 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 341:
/* Line 1806 of yacc.c */
-#line 1220 "parser.y"
+#line 1223 "parser.y"
{ (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)),
num(parser->lineno)); }
break;
@@ -5966,14 +5969,14 @@ yyreduce:
case 342:
/* Line 1806 of yacc.c */
-#line 1222 "parser.y"
+#line 1225 "parser.y"
{ parser->quasi_level++; }
break;
case 343:
/* Line 1806 of yacc.c */
-#line 1223 "parser.y"
+#line 1226 "parser.y"
{ parser->quasi_level--;
(yyval.val) = rl(rlc(list(sys_qquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
num(parser->lineno)); }
@@ -5982,14 +5985,14 @@ yyreduce:
case 344:
/* Line 1806 of yacc.c */
-#line 1226 "parser.y"
+#line 1229 "parser.y"
{ parser->quasi_level--; }
break;
case 345:
/* Line 1806 of yacc.c */
-#line 1227 "parser.y"
+#line 1230 "parser.y"
{ parser->quasi_level++;
(yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
num(parser->lineno)); }
@@ -5998,14 +6001,14 @@ yyreduce:
case 346:
/* Line 1806 of yacc.c */
-#line 1230 "parser.y"
+#line 1233 "parser.y"
{ parser->quasi_level--; }
break;
case 347:
/* Line 1806 of yacc.c */
-#line 1231 "parser.y"
+#line 1234 "parser.y"
{ parser->quasi_level++;
(yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)),
num(parser->lineno)); }
@@ -6014,7 +6017,7 @@ yyreduce:
case 348:
/* Line 1806 of yacc.c */
-#line 1234 "parser.y"
+#line 1237 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao),
or2((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val))); }
@@ -6023,7 +6026,7 @@ yyreduce:
case 349:
/* Line 1806 of yacc.c */
-#line 1238 "parser.y"
+#line 1241 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val),
uref_helper(parser, (yyvsp[(4) - (4)].val)),
@@ -6034,7 +6037,7 @@ yyreduce:
case 350:
/* Line 1806 of yacc.c */
-#line 1244 "parser.y"
+#line 1247 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao),
or2((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val))); }
@@ -6043,7 +6046,7 @@ yyreduce:
case 351:
/* Line 1806 of yacc.c */
-#line 1248 "parser.y"
+#line 1251 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val),
uref_helper(parser, (yyvsp[(4) - (4)].val)),
@@ -6054,14 +6057,14 @@ yyreduce:
case 352:
/* Line 1806 of yacc.c */
-#line 1253 "parser.y"
+#line 1256 "parser.y"
{ (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); }
break;
case 353:
/* Line 1806 of yacc.c */
-#line 1254 "parser.y"
+#line 1257 "parser.y"
{ (yyval.val) = qref_helper(parser,
cons(t, cons((yyvsp[(1) - (3)].val), nil)),
(yyvsp[(3) - (3)].val)); }
@@ -6070,28 +6073,28 @@ yyreduce:
case 354:
/* Line 1806 of yacc.c */
-#line 1257 "parser.y"
+#line 1260 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 355:
/* Line 1806 of yacc.c */
-#line 1258 "parser.y"
+#line 1261 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 356:
/* Line 1806 of yacc.c */
-#line 1259 "parser.y"
+#line 1262 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 357:
/* Line 1806 of yacc.c */
-#line 1260 "parser.y"
+#line 1263 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -6099,49 +6102,49 @@ yyreduce:
case 358:
/* Line 1806 of yacc.c */
-#line 1262 "parser.y"
+#line 1265 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 359:
/* Line 1806 of yacc.c */
-#line 1265 "parser.y"
+#line 1268 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 360:
/* Line 1806 of yacc.c */
-#line 1266 "parser.y"
+#line 1269 "parser.y"
{ (yyval.val) = nil; }
break;
case 361:
/* Line 1806 of yacc.c */
-#line 1269 "parser.y"
+#line 1272 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 362:
/* Line 1806 of yacc.c */
-#line 1270 "parser.y"
+#line 1273 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 363:
/* Line 1806 of yacc.c */
-#line 1271 "parser.y"
+#line 1274 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 364:
/* Line 1806 of yacc.c */
-#line 1274 "parser.y"
+#line 1277 "parser.y"
{ (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil);
end_of_regex(scnr);
rl((yyval.val), num(parser->lineno)); }
@@ -6150,7 +6153,7 @@ yyreduce:
case 365:
/* Line 1806 of yacc.c */
-#line 1277 "parser.y"
+#line 1280 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex"));
end_of_regex(scnr); }
@@ -6159,7 +6162,7 @@ yyreduce:
case 366:
/* Line 1806 of yacc.c */
-#line 1283 "parser.y"
+#line 1286 "parser.y"
{ (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil);
end_of_regex(scnr);
rl((yyval.val), num(parser->lineno)); }
@@ -6168,7 +6171,7 @@ yyreduce:
case 367:
/* Line 1806 of yacc.c */
-#line 1287 "parser.y"
+#line 1290 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex"));
end_of_regex(scnr); }
@@ -6177,7 +6180,7 @@ yyreduce:
case 368:
/* Line 1806 of yacc.c */
-#line 1292 "parser.y"
+#line 1295 "parser.y"
{ (yyval.val) = if3(cdr((yyvsp[(1) - (1)].val)),
cons(compound_s, (yyvsp[(1) - (1)].val)),
car((yyvsp[(1) - (1)].val))); }
@@ -6186,84 +6189,84 @@ yyreduce:
case 369:
/* Line 1806 of yacc.c */
-#line 1295 "parser.y"
+#line 1298 "parser.y"
{ (yyval.val) = list(or_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 370:
/* Line 1806 of yacc.c */
-#line 1296 "parser.y"
+#line 1299 "parser.y"
{ (yyval.val) = list(and_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 371:
/* Line 1806 of yacc.c */
-#line 1297 "parser.y"
+#line 1300 "parser.y"
{ (yyval.val) = list(compl_s, (yyvsp[(2) - (2)].val), nao); }
break;
case 372:
/* Line 1806 of yacc.c */
-#line 1298 "parser.y"
+#line 1301 "parser.y"
{ (yyval.val) = nil; }
break;
case 373:
/* Line 1806 of yacc.c */
-#line 1301 "parser.y"
+#line 1304 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 374:
/* Line 1806 of yacc.c */
-#line 1302 "parser.y"
+#line 1305 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 375:
/* Line 1806 of yacc.c */
-#line 1303 "parser.y"
+#line 1306 "parser.y"
{ (yyval.val) = list((yyvsp[(1) - (3)].val), list(compl_s, (yyvsp[(3) - (3)].val), nao), nao); }
break;
case 376:
/* Line 1806 of yacc.c */
-#line 1306 "parser.y"
+#line 1309 "parser.y"
{ (yyval.val) = list(zeroplus_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 377:
/* Line 1806 of yacc.c */
-#line 1307 "parser.y"
+#line 1310 "parser.y"
{ (yyval.val) = list(oneplus_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 378:
/* Line 1806 of yacc.c */
-#line 1308 "parser.y"
+#line 1311 "parser.y"
{ (yyval.val) = list(optional_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 379:
/* Line 1806 of yacc.c */
-#line 1309 "parser.y"
+#line 1312 "parser.y"
{ (yyval.val) = list(nongreedy_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 380:
/* Line 1806 of yacc.c */
-#line 1310 "parser.y"
+#line 1313 "parser.y"
{ if (first((yyvsp[(2) - (3)].val)) == chr('^'))
{ if (rest((yyvsp[(2) - (3)].val)))
(yyval.val) = cons(cset_s, rest((yyvsp[(2) - (3)].val)));
@@ -6276,14 +6279,14 @@ yyreduce:
case 381:
/* Line 1806 of yacc.c */
-#line 1317 "parser.y"
+#line 1320 "parser.y"
{ (yyval.val) = cons(set_s, nil); }
break;
case 382:
/* Line 1806 of yacc.c */
-#line 1318 "parser.y"
+#line 1321 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex character class")); }
break;
@@ -6291,56 +6294,56 @@ yyreduce:
case 383:
/* Line 1806 of yacc.c */
-#line 1320 "parser.y"
+#line 1323 "parser.y"
{ (yyval.val) = wild_s; }
break;
case 384:
/* Line 1806 of yacc.c */
-#line 1321 "parser.y"
+#line 1324 "parser.y"
{ (yyval.val) = chr(']'); }
break;
case 385:
/* Line 1806 of yacc.c */
-#line 1322 "parser.y"
+#line 1325 "parser.y"
{ (yyval.val) = chr('-'); }
break;
case 386:
/* Line 1806 of yacc.c */
-#line 1323 "parser.y"
+#line 1326 "parser.y"
{ (yyval.val) = chr((yyvsp[(1) - (1)].chr)); }
break;
case 387:
/* Line 1806 of yacc.c */
-#line 1324 "parser.y"
+#line 1327 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 388:
/* Line 1806 of yacc.c */
-#line 1325 "parser.y"
+#line 1328 "parser.y"
{ (yyval.val) = list(compound_s, string_own((yyvsp[(1) - (1)].lexeme)), nao); }
break;
case 389:
/* Line 1806 of yacc.c */
-#line 1326 "parser.y"
+#line 1329 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val); }
break;
case 390:
/* Line 1806 of yacc.c */
-#line 1327 "parser.y"
+#line 1330 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex subexpression")); }
break;
@@ -6348,133 +6351,133 @@ yyreduce:
case 391:
/* Line 1806 of yacc.c */
-#line 1331 "parser.y"
+#line 1334 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 392:
/* Line 1806 of yacc.c */
-#line 1332 "parser.y"
+#line 1335 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 393:
/* Line 1806 of yacc.c */
-#line 1335 "parser.y"
+#line 1338 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 394:
/* Line 1806 of yacc.c */
-#line 1336 "parser.y"
+#line 1339 "parser.y"
{ (yyval.val) = chr((yyvsp[(1) - (1)].chr)); }
break;
case 395:
/* Line 1806 of yacc.c */
-#line 1337 "parser.y"
+#line 1340 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 396:
/* Line 1806 of yacc.c */
-#line 1340 "parser.y"
+#line 1343 "parser.y"
{ (yyval.val) = cons(chr((yyvsp[(1) - (3)].chr)), chr((yyvsp[(3) - (3)].chr))); }
break;
case 397:
/* Line 1806 of yacc.c */
-#line 1342 "parser.y"
+#line 1345 "parser.y"
{ (yyval.chr) = '?'; }
break;
case 398:
/* Line 1806 of yacc.c */
-#line 1343 "parser.y"
+#line 1346 "parser.y"
{ (yyval.chr) = '.'; }
break;
case 399:
/* Line 1806 of yacc.c */
-#line 1344 "parser.y"
+#line 1347 "parser.y"
{ (yyval.chr) = '*'; }
break;
case 400:
/* Line 1806 of yacc.c */
-#line 1345 "parser.y"
+#line 1348 "parser.y"
{ (yyval.chr) = '+'; }
break;
case 401:
/* Line 1806 of yacc.c */
-#line 1346 "parser.y"
+#line 1349 "parser.y"
{ (yyval.chr) = '('; }
break;
case 402:
/* Line 1806 of yacc.c */
-#line 1347 "parser.y"
+#line 1350 "parser.y"
{ (yyval.chr) = ')'; }
break;
case 403:
/* Line 1806 of yacc.c */
-#line 1348 "parser.y"
+#line 1351 "parser.y"
{ (yyval.chr) = '|'; }
break;
case 404:
/* Line 1806 of yacc.c */
-#line 1349 "parser.y"
+#line 1352 "parser.y"
{ (yyval.chr) = '~'; }
break;
case 405:
/* Line 1806 of yacc.c */
-#line 1350 "parser.y"
+#line 1353 "parser.y"
{ (yyval.chr) = '&'; }
break;
case 406:
/* Line 1806 of yacc.c */
-#line 1351 "parser.y"
+#line 1354 "parser.y"
{ (yyval.chr) = '%'; }
break;
case 407:
/* Line 1806 of yacc.c */
-#line 1352 "parser.y"
+#line 1355 "parser.y"
{ (yyval.chr) = '/'; }
break;
case 408:
/* Line 1806 of yacc.c */
-#line 1353 "parser.y"
+#line 1356 "parser.y"
{ (yyval.chr) = (yyvsp[(1) - (1)].chr); }
break;
case 409:
/* Line 1806 of yacc.c */
-#line 1356 "parser.y"
+#line 1359 "parser.y"
{ switch ((yyvsp[(1) - (1)].chr))
{ case 's':
(yyval.val) = space_k; break;
@@ -6493,7 +6496,7 @@ yyreduce:
case 411:
/* Line 1806 of yacc.c */
-#line 1371 "parser.y"
+#line 1374 "parser.y"
{ yyerr("newline expected after directive");
yyerrok; }
break;
@@ -6501,14 +6504,14 @@ yyreduce:
case 412:
/* Line 1806 of yacc.c */
-#line 1375 "parser.y"
+#line 1378 "parser.y"
{ (yyval.val) = null_string; }
break;
case 413:
/* Line 1806 of yacc.c */
-#line 1376 "parser.y"
+#line 1379 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6516,7 +6519,7 @@ yyreduce:
case 414:
/* Line 1806 of yacc.c */
-#line 1378 "parser.y"
+#line 1381 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("string literal")); }
break;
@@ -6524,7 +6527,7 @@ yyreduce:
case 415:
/* Line 1806 of yacc.c */
-#line 1382 "parser.y"
+#line 1385 "parser.y"
{ wchar_t ch;
val str = string_own((yyvsp[(2) - (2)].lexeme));
const wchar_t *cstr = c_str(str, nil);
@@ -6543,7 +6546,7 @@ yyreduce:
case 416:
/* Line 1806 of yacc.c */
-#line 1395 "parser.y"
+#line 1398 "parser.y"
{ (yyval.val) = chr((yyvsp[(2) - (2)].chr));
end_of_char(scnr); }
break;
@@ -6551,7 +6554,7 @@ yyreduce:
case 417:
/* Line 1806 of yacc.c */
-#line 1397 "parser.y"
+#line 1400 "parser.y"
{ free((yyvsp[(2) - (2)].lexeme));
yyerrorf(scnr,
lit("invalid UTF-8 used as character name"),
@@ -6561,7 +6564,7 @@ yyreduce:
case 418:
/* Line 1806 of yacc.c */
-#line 1401 "parser.y"
+#line 1404 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar,
lit("character literal")); }
@@ -6570,14 +6573,14 @@ yyreduce:
case 419:
/* Line 1806 of yacc.c */
-#line 1406 "parser.y"
+#line 1409 "parser.y"
{ (yyval.val) = null_string; }
break;
case 420:
/* Line 1806 of yacc.c */
-#line 1407 "parser.y"
+#line 1410 "parser.y"
{ (yyval.val) = cons(quasi_s, (yyvsp[(2) - (3)].val));
rlc((yyval.val), (yyvsp[(2) - (3)].val));
rl((yyval.val), num(parser->lineno)); }
@@ -6586,7 +6589,7 @@ yyreduce:
case 421:
/* Line 1806 of yacc.c */
-#line 1410 "parser.y"
+#line 1413 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("quasistring")); }
break;
@@ -6594,7 +6597,7 @@ yyreduce:
case 422:
/* Line 1806 of yacc.c */
-#line 1414 "parser.y"
+#line 1417 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6602,7 +6605,7 @@ yyreduce:
case 423:
/* Line 1806 of yacc.c */
-#line 1416 "parser.y"
+#line 1419 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6610,21 +6613,21 @@ yyreduce:
case 424:
/* Line 1806 of yacc.c */
-#line 1420 "parser.y"
+#line 1423 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 425:
/* Line 1806 of yacc.c */
-#line 1421 "parser.y"
+#line 1424 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 426:
/* Line 1806 of yacc.c */
-#line 1422 "parser.y"
+#line 1425 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6632,7 +6635,7 @@ yyreduce:
case 427:
/* Line 1806 of yacc.c */
-#line 1424 "parser.y"
+#line 1427 "parser.y"
{ if (integerp((yyvsp[(2) - (2)].val)) || symbolp((yyvsp[(2) - (2)].val)))
(yyval.val) = rlcp_tree(cons(var_s, cons((yyvsp[(2) - (2)].val), nil)),
(yyvsp[(2) - (2)].val));
@@ -6643,14 +6646,14 @@ yyreduce:
case 428:
/* Line 1806 of yacc.c */
-#line 1431 "parser.y"
+#line 1434 "parser.y"
{ (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); }
break;
case 429:
/* Line 1806 of yacc.c */
-#line 1432 "parser.y"
+#line 1435 "parser.y"
{ val ch = mkstring(one, chr((yyvsp[(1) - (2)].chr)));
(yyval.val) = string_extend(ch, (yyvsp[(2) - (2)].val)); }
break;
@@ -6658,63 +6661,63 @@ yyreduce:
case 430:
/* Line 1806 of yacc.c */
-#line 1434 "parser.y"
+#line 1437 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); }
break;
case 431:
/* Line 1806 of yacc.c */
-#line 1435 "parser.y"
+#line 1438 "parser.y"
{ (yyval.val) = string_extend(string_own((yyvsp[(1) - (2)].lexeme)), (yyvsp[(2) - (2)].val)); }
break;
case 432:
/* Line 1806 of yacc.c */
-#line 1438 "parser.y"
+#line 1441 "parser.y"
{ (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); }
break;
case 433:
/* Line 1806 of yacc.c */
-#line 1439 "parser.y"
+#line 1442 "parser.y"
{ (yyval.val) = string_extend((yyvsp[(1) - (2)].val), chr((yyvsp[(2) - (2)].chr))); }
break;
case 434:
/* Line 1806 of yacc.c */
-#line 1440 "parser.y"
+#line 1443 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); }
break;
case 435:
/* Line 1806 of yacc.c */
-#line 1441 "parser.y"
+#line 1444 "parser.y"
{ (yyval.val) = string_extend((yyvsp[(1) - (2)].val), string_own((yyvsp[(2) - (2)].lexeme))); }
break;
case 436:
/* Line 1806 of yacc.c */
-#line 1444 "parser.y"
+#line 1447 "parser.y"
{ (yyval.val) = nil; }
break;
case 437:
/* Line 1806 of yacc.c */
-#line 1445 "parser.y"
+#line 1448 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 438:
/* Line 1806 of yacc.c */
-#line 1446 "parser.y"
+#line 1449 "parser.y"
{ val word = (yyvsp[(1) - (2)].val);
(yyval.val) = rlc(cons(word, (yyvsp[(2) - (2)].val)), (yyvsp[(1) - (2)].val)); }
break;
@@ -6722,7 +6725,7 @@ yyreduce:
case 439:
/* Line 1806 of yacc.c */
-#line 1448 "parser.y"
+#line 1451 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("word list")); }
break;
@@ -6730,21 +6733,21 @@ yyreduce:
case 440:
/* Line 1806 of yacc.c */
-#line 1452 "parser.y"
+#line 1455 "parser.y"
{ (yyval.val) = nil; }
break;
case 441:
/* Line 1806 of yacc.c */
-#line 1453 "parser.y"
+#line 1456 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 442:
/* Line 1806 of yacc.c */
-#line 1454 "parser.y"
+#line 1457 "parser.y"
{ val qword = cons(quasi_s, (yyvsp[(1) - (2)].val));
(yyval.val) = rlc(cons(qword, nil), (yyvsp[(1) - (2)].val)); }
break;
@@ -6752,7 +6755,7 @@ yyreduce:
case 443:
/* Line 1806 of yacc.c */
-#line 1458 "parser.y"
+#line 1461 "parser.y"
{ val qword = cons(quasi_s, (yyvsp[(1) - (3)].val));
(yyval.val) = rlc(cons(qword, (yyvsp[(3) - (3)].val)), (yyvsp[(1) - (3)].val)); }
break;
@@ -6760,7 +6763,7 @@ yyreduce:
case 444:
/* Line 1806 of yacc.c */
-#line 1462 "parser.y"
+#line 1465 "parser.y"
{ (yyval.val) = make_buf(zero, nil, nil);
end_of_buflit(scnr); }
break;
@@ -6768,7 +6771,7 @@ yyreduce:
case 445:
/* Line 1806 of yacc.c */
-#line 1464 "parser.y"
+#line 1467 "parser.y"
{ end_of_buflit(scnr);
buf_trim((yyvsp[(2) - (3)].val));
(yyval.val) = (yyvsp[(2) - (3)].val); }
@@ -6777,7 +6780,7 @@ yyreduce:
case 446:
/* Line 1806 of yacc.c */
-#line 1467 "parser.y"
+#line 1470 "parser.y"
{ yyerr("unterminated buffer literal");
end_of_buflit(scnr);
yyerrok; }
@@ -6786,7 +6789,7 @@ yyreduce:
case 447:
/* Line 1806 of yacc.c */
-#line 1472 "parser.y"
+#line 1475 "parser.y"
{ buf_put_u8((yyvsp[(1) - (2)].val), length_buf((yyval.val)), (yyvsp[(2) - (2)].val));
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -6794,7 +6797,7 @@ yyreduce:
case 448:
/* Line 1806 of yacc.c */
-#line 1474 "parser.y"
+#line 1477 "parser.y"
{ (yyval.val) = make_buf(zero, nil, num_fast(512));
buf_put_u8((yyval.val), zero, (yyvsp[(1) - (1)].val)); }
break;
@@ -6802,14 +6805,14 @@ yyreduce:
case 449:
/* Line 1806 of yacc.c */
-#line 1478 "parser.y"
+#line 1481 "parser.y"
{ (yyval.val) = num((yyvsp[(1) - (2)].chr) << 4 | (yyvsp[(2) - (2)].chr)); }
break;
case 450:
/* Line 1806 of yacc.c */
-#line 1479 "parser.y"
+#line 1482 "parser.y"
{ (yyval.val) = zero;
yyerr("unpaired digit in buffer literal");
yyerrok; }
@@ -6818,119 +6821,119 @@ yyreduce:
case 451:
/* Line 1806 of yacc.c */
-#line 1486 "parser.y"
+#line 1489 "parser.y"
{ (yyval.val) = mkexp(all_s, nil, num(parser->lineno)); }
break;
case 452:
/* Line 1806 of yacc.c */
-#line 1487 "parser.y"
+#line 1490 "parser.y"
{ (yyval.val) = mkexp(some_s, nil, num(parser->lineno)); }
break;
case 453:
/* Line 1806 of yacc.c */
-#line 1488 "parser.y"
+#line 1491 "parser.y"
{ (yyval.val) = mkexp(none_s, nil, num(parser->lineno)); }
break;
case 454:
/* Line 1806 of yacc.c */
-#line 1489 "parser.y"
+#line 1492 "parser.y"
{ (yyval.val) = mkexp(maybe_s, nil, num(parser->lineno)); }
break;
case 455:
/* Line 1806 of yacc.c */
-#line 1490 "parser.y"
+#line 1493 "parser.y"
{ (yyval.val) = mkexp(cases_s, nil, num(parser->lineno)); }
break;
case 456:
/* Line 1806 of yacc.c */
-#line 1491 "parser.y"
+#line 1494 "parser.y"
{ (yyval.val) = mkexp(and_s, nil, num(parser->lineno)); }
break;
case 457:
/* Line 1806 of yacc.c */
-#line 1492 "parser.y"
+#line 1495 "parser.y"
{ (yyval.val) = mkexp(or_s, nil, num(parser->lineno)); }
break;
case 458:
/* Line 1806 of yacc.c */
-#line 1493 "parser.y"
+#line 1496 "parser.y"
{ (yyval.val) = mkexp(try_s, nil, num(parser->lineno)); }
break;
case 459:
/* Line 1806 of yacc.c */
-#line 1494 "parser.y"
+#line 1497 "parser.y"
{ (yyval.val) = mkexp(finally_s, nil, num(parser->lineno)); }
break;
case 460:
/* Line 1806 of yacc.c */
-#line 1496 "parser.y"
+#line 1499 "parser.y"
{ (yyval.val) = mkexp(block_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 461:
/* Line 1806 of yacc.c */
-#line 1498 "parser.y"
+#line 1501 "parser.y"
{ (yyval.val) = mkexp(choose_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 462:
/* Line 1806 of yacc.c */
-#line 1500 "parser.y"
+#line 1503 "parser.y"
{ (yyval.val) = mkexp(collect_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 463:
/* Line 1806 of yacc.c */
-#line 1502 "parser.y"
+#line 1505 "parser.y"
{ (yyval.val) = mkexp(coll_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 464:
/* Line 1806 of yacc.c */
-#line 1504 "parser.y"
+#line 1507 "parser.y"
{ (yyval.val) = mkexp(gather_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 465:
/* Line 1806 of yacc.c */
-#line 1506 "parser.y"
+#line 1509 "parser.y"
{ (yyval.val) = mkexp(define_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 466:
/* Line 1806 of yacc.c */
-#line 1508 "parser.y"
+#line 1511 "parser.y"
{ (yyval.val) = mkexp(catch_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 467:
/* Line 1806 of yacc.c */
-#line 1510 "parser.y"
+#line 1513 "parser.y"
{ (yyval.val) = mkexp(if_s,
cons((yyvsp[(2) - (5)].val),
cons((yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val))),
@@ -6940,14 +6943,14 @@ yyreduce:
case 468:
/* Line 1806 of yacc.c */
-#line 1515 "parser.y"
+#line 1518 "parser.y"
{ yyerr("@(output) doesn't nest"); }
break;
/* Line 1806 of yacc.c */
-#line 6981 "y.tab.c"
+#line 6984 "y.tab.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -7178,7 +7181,7 @@ yyreturn:
/* Line 2067 of yacc.c */
-#line 1519 "parser.y"
+#line 1522 "parser.y"
const int have_yydebug = YYDEBUG;
@@ -7679,10 +7682,6 @@ static val check_parse_time_action(val spec_rev)
if (sym == include_s) {
return nappend2(nreverse(include(line)), rest(spec_rev));
}
- if (sym == mdo_s) {
- eval_intrinsic(cons(progn_s, cdr(elem)), nil);
- return nil;
- }
if (sym == in_package_s) {
eval_intrinsic(elem, nil);
return nil;