From ffc21e3b5ea6218fb3a13d25f73261f28aef0479 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 11 Aug 2021 22:05:14 -0700 Subject: 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. --- y.tab.c.shipped | 803 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 401 insertions(+), 402 deletions(-) (limited to 'y.tab.c.shipped') 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; -- cgit v1.2.3