summaryrefslogtreecommitdiffstats
path: root/y.tab.c.shipped
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-06-03 07:32:42 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-06-03 07:32:42 -0700
commitc12f969791bec0b2d6e985193c67b1f79db99ccc (patch)
treef6ea8571a540b5dd8d6d1c920d329312f1b15969 /y.tab.c.shipped
parent2749a5ace7f404dae2eeb8c94c9290af16eee234 (diff)
downloadtxr-c12f969791bec0b2d6e985193c67b1f79db99ccc.tar.gz
txr-c12f969791bec0b2d6e985193c67b1f79db99ccc.tar.bz2
txr-c12f969791bec0b2d6e985193c67b1f79db99ccc.zip
json: pattern matching test cases and bugfix.
* parser.y (json_val): We must nreverse the json_pairs which were pushed in right to left order. This didn't matter for constructing hashes so it was left out, but under quasiquoting the order matters: it determines the order of evaluation and of pattern matching. * tests/011/patmatch.tl: New quasiquoting pattern matching cases, including JSON. * y.tab.c.shipped: Regenerated.
Diffstat (limited to 'y.tab.c.shipped')
-rw-r--r--y.tab.c.shipped513
1 files changed, 257 insertions, 256 deletions
diff --git a/y.tab.c.shipped b/y.tab.c.shipped
index 60cf18da..0babc8e1 100644
--- a/y.tab.c.shipped
+++ b/y.tab.c.shipped
@@ -853,30 +853,30 @@ static const yytype_uint16 yyrline[] =
845, 849, 852, 853, 855, 857, 860, 865, 874, 879,
882, 887, 892, 896, 902, 906, 913, 917, 921, 925,
930, 934, 947, 951, 953, 953, 957, 958, 959, 960,
- 962, 963, 968, 969, 973, 973, 978, 978, 983, 983,
- 986, 987, 989, 991, 995, 999, 1008, 1010, 1014, 1021,
- 1032, 1033, 1035, 1038, 1042, 1046, 1047, 1053, 1054, 1055,
- 1056, 1060, 1065, 1069, 1074, 1078, 1082, 1083, 1084, 1088,
- 1089, 1090, 1093, 1096, 1097, 1100, 1102, 1107, 1110, 1110,
- 1114, 1114, 1118, 1118, 1121, 1121, 1124, 1127, 1129, 1133,
- 1135, 1141, 1142, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
- 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
- 1162, 1162, 1166, 1166, 1170, 1170, 1174, 1174, 1177, 1180,
- 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1190, 1191, 1192,
- 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202,
- 1204, 1204, 1208, 1208, 1212, 1212, 1216, 1219, 1225, 1229,
- 1235, 1236, 1239, 1240, 1241, 1241, 1244, 1247, 1248, 1251,
- 1252, 1253, 1256, 1259, 1264, 1268, 1274, 1277, 1278, 1279,
- 1280, 1283, 1284, 1285, 1288, 1289, 1290, 1291, 1292, 1299,
- 1300, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1313,
- 1314, 1317, 1318, 1319, 1322, 1324, 1325, 1326, 1327, 1328,
- 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1338, 1352, 1353,
- 1357, 1358, 1360, 1364, 1377, 1379, 1383, 1388, 1389, 1392,
- 1396, 1398, 1402, 1403, 1404, 1406, 1413, 1414, 1416, 1417,
- 1420, 1421, 1422, 1423, 1426, 1427, 1428, 1430, 1434, 1435,
- 1436, 1438, 1444, 1446, 1449, 1454, 1456, 1460, 1461, 1468,
- 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1479,
- 1481, 1483, 1485, 1487, 1489, 1491, 1496
+ 962, 963, 968, 969, 974, 974, 979, 979, 984, 984,
+ 987, 988, 990, 992, 996, 1000, 1009, 1011, 1015, 1022,
+ 1033, 1034, 1036, 1039, 1043, 1047, 1048, 1054, 1055, 1056,
+ 1057, 1061, 1066, 1070, 1075, 1079, 1083, 1084, 1085, 1089,
+ 1090, 1091, 1094, 1097, 1098, 1101, 1103, 1108, 1111, 1111,
+ 1115, 1115, 1119, 1119, 1122, 1122, 1125, 1128, 1130, 1134,
+ 1136, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
+ 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161,
+ 1163, 1163, 1167, 1167, 1171, 1171, 1175, 1175, 1178, 1181,
+ 1182, 1184, 1185, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
+ 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
+ 1205, 1205, 1209, 1209, 1213, 1213, 1217, 1220, 1226, 1230,
+ 1236, 1237, 1240, 1241, 1242, 1242, 1245, 1248, 1249, 1252,
+ 1253, 1254, 1257, 1260, 1265, 1269, 1275, 1278, 1279, 1280,
+ 1281, 1284, 1285, 1286, 1289, 1290, 1291, 1292, 1293, 1300,
+ 1301, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1314,
+ 1315, 1318, 1319, 1320, 1323, 1325, 1326, 1327, 1328, 1329,
+ 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1339, 1353, 1354,
+ 1358, 1359, 1361, 1365, 1378, 1380, 1384, 1389, 1390, 1393,
+ 1397, 1399, 1403, 1404, 1405, 1407, 1414, 1415, 1417, 1418,
+ 1421, 1422, 1423, 1424, 1427, 1428, 1429, 1431, 1435, 1436,
+ 1437, 1439, 1445, 1447, 1450, 1455, 1457, 1461, 1462, 1469,
+ 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1480,
+ 1482, 1484, 1486, 1488, 1490, 1492, 1497
};
#endif
@@ -5153,20 +5153,21 @@ yyreduce:
{ (yyval.val) = if3(hashp((yyvsp[(2) - (3)].val)),
(yyvsp[(2) - (3)].val),
rl(cons(hash_lit_s,
- cons(nil, (yyvsp[(2) - (3)].val))), (yyvsp[(2) - (3)].val))); }
+ cons(nil, nreverse((yyvsp[(2) - (3)].val)))),
+ (yyvsp[(2) - (3)].val))); }
break;
case 234:
/* Line 1806 of yacc.c */
-#line 973 "parser.y"
+#line 974 "parser.y"
{ parser->quasi_level--; }
break;
case 235:
/* Line 1806 of yacc.c */
-#line 974 "parser.y"
+#line 975 "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)),
@@ -5176,14 +5177,14 @@ yyreduce:
case 236:
/* Line 1806 of yacc.c */
-#line 978 "parser.y"
+#line 979 "parser.y"
{ parser->quasi_level--; }
break;
case 237:
/* Line 1806 of yacc.c */
-#line 979 "parser.y"
+#line 980 "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)),
@@ -5193,14 +5194,14 @@ yyreduce:
case 238:
/* Line 1806 of yacc.c */
-#line 983 "parser.y"
+#line 984 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 239:
/* Line 1806 of yacc.c */
-#line 984 "parser.y"
+#line 985 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -5208,14 +5209,14 @@ yyreduce:
case 240:
/* Line 1806 of yacc.c */
-#line 986 "parser.y"
+#line 987 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 241:
/* Line 1806 of yacc.c */
-#line 987 "parser.y"
+#line 988 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("JSON string")); }
break;
@@ -5223,7 +5224,7 @@ yyreduce:
case 242:
/* Line 1806 of yacc.c */
-#line 989 "parser.y"
+#line 990 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("JSON array")); }
break;
@@ -5231,7 +5232,7 @@ yyreduce:
case 243:
/* Line 1806 of yacc.c */
-#line 991 "parser.y"
+#line 992 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("JSON hash")); }
break;
@@ -5239,7 +5240,7 @@ yyreduce:
case 244:
/* Line 1806 of yacc.c */
-#line 995 "parser.y"
+#line 996 "parser.y"
{ (yyval.val) = if3(parser->quasi_level > 0 &&
unquotes_occur((yyvsp[(1) - (1)].val), 0),
cons((yyvsp[(1) - (1)].val), nil),
@@ -5249,7 +5250,7 @@ yyreduce:
case 245:
/* Line 1806 of yacc.c */
-#line 999 "parser.y"
+#line 1000 "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 &&
@@ -5264,7 +5265,7 @@ yyreduce:
case 246:
/* Line 1806 of yacc.c */
-#line 1008 "parser.y"
+#line 1009 "parser.y"
{ yyerr("missing comma in JSON array");
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -5272,7 +5273,7 @@ yyreduce:
case 247:
/* Line 1806 of yacc.c */
-#line 1010 "parser.y"
+#line 1011 "parser.y"
{ yybadtok(yychar, lit("JSON array"));
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -5280,7 +5281,7 @@ yyreduce:
case 248:
/* Line 1806 of yacc.c */
-#line 1014 "parser.y"
+#line 1015 "parser.y"
{ if (parser->quasi_level > 0 &&
(unquotes_occur((yyvsp[(1) - (3)].val), 0) ||
unquotes_occur((yyvsp[(3) - (3)].val), 0)))
@@ -5293,7 +5294,7 @@ yyreduce:
case 249:
/* Line 1806 of yacc.c */
-#line 1022 "parser.y"
+#line 1023 "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 &&
@@ -5309,28 +5310,28 @@ yyreduce:
case 250:
/* Line 1806 of yacc.c */
-#line 1032 "parser.y"
+#line 1033 "parser.y"
{ yyerr("missing colon in JSON hash"); }
break;
case 251:
/* Line 1806 of yacc.c */
-#line 1034 "parser.y"
+#line 1035 "parser.y"
{ yyerr("missing comma in JSON hash"); }
break;
case 252:
/* Line 1806 of yacc.c */
-#line 1035 "parser.y"
+#line 1036 "parser.y"
{ yybadtok(yychar, lit("JSON hash")); }
break;
case 253:
/* Line 1806 of yacc.c */
-#line 1038 "parser.y"
+#line 1039 "parser.y"
{ if ((yyvsp[(1) - (1)].lexeme)[0] == ':' && (yyvsp[(1) - (1)].lexeme)[1] == 0)
{ (yyval.val) = nil; }
else
@@ -5340,21 +5341,21 @@ yyreduce:
case 254:
/* Line 1806 of yacc.c */
-#line 1042 "parser.y"
+#line 1043 "parser.y"
{ (yyval.val) = nil; }
break;
case 255:
/* Line 1806 of yacc.c */
-#line 1046 "parser.y"
+#line 1047 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (3)].val), num((yyvsp[(1) - (3)].lineno))); }
break;
case 256:
/* Line 1806 of yacc.c */
-#line 1047 "parser.y"
+#line 1048 "parser.y"
{ val a = car((yyvsp[(3) - (4)].val));
val ur = uref_helper(parser, a);
if (ur == a)
@@ -5366,28 +5367,28 @@ yyreduce:
case 257:
/* Line 1806 of yacc.c */
-#line 1053 "parser.y"
+#line 1054 "parser.y"
{ (yyval.val) = nil; }
break;
case 258:
/* Line 1806 of yacc.c */
-#line 1054 "parser.y"
+#line 1055 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (4)].val); }
break;
case 259:
/* Line 1806 of yacc.c */
-#line 1055 "parser.y"
+#line 1056 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (4)].val); }
break;
case 260:
/* Line 1806 of yacc.c */
-#line 1056 "parser.y"
+#line 1057 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("expression")); }
break;
@@ -5395,7 +5396,7 @@ yyreduce:
case 261:
/* Line 1806 of yacc.c */
-#line 1060 "parser.y"
+#line 1061 "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
@@ -5406,7 +5407,7 @@ yyreduce:
case 262:
/* Line 1806 of yacc.c */
-#line 1065 "parser.y"
+#line 1066 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("meta expression")); }
break;
@@ -5414,7 +5415,7 @@ yyreduce:
case 263:
/* Line 1806 of yacc.c */
-#line 1069 "parser.y"
+#line 1070 "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
@@ -5425,7 +5426,7 @@ yyreduce:
case 264:
/* Line 1806 of yacc.c */
-#line 1074 "parser.y"
+#line 1075 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("meta expression")); }
break;
@@ -5433,7 +5434,7 @@ yyreduce:
case 265:
/* Line 1806 of yacc.c */
-#line 1078 "parser.y"
+#line 1079 "parser.y"
{ val a = car((yyvsp[(3) - (4)].val));
val ur = uref_helper(parser, a);
(yyval.val) = rlcp_tree(cons(dwim_s,
@@ -5443,21 +5444,21 @@ yyreduce:
case 266:
/* Line 1806 of yacc.c */
-#line 1082 "parser.y"
+#line 1083 "parser.y"
{ (yyval.val) = rl(cons(dwim_s, (yyvsp[(2) - (3)].val)), num((yyvsp[(1) - (3)].lineno))); }
break;
case 267:
/* Line 1806 of yacc.c */
-#line 1083 "parser.y"
+#line 1084 "parser.y"
{ (yyval.val) = rl(cons(dwim_s, nil), num((yyvsp[(1) - (2)].lineno))); }
break;
case 268:
/* Line 1806 of yacc.c */
-#line 1084 "parser.y"
+#line 1085 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("DWIM expression")); }
break;
@@ -5465,28 +5466,28 @@ yyreduce:
case 272:
/* Line 1806 of yacc.c */
-#line 1093 "parser.y"
+#line 1094 "parser.y"
{ (yyval.val) = rlc(expand_meta((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); }
break;
case 273:
/* Line 1806 of yacc.c */
-#line 1096 "parser.y"
+#line 1097 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 274:
/* Line 1806 of yacc.c */
-#line 1097 "parser.y"
+#line 1098 "parser.y"
{ (yyval.val) = nil; }
break;
case 275:
/* Line 1806 of yacc.c */
-#line 1100 "parser.y"
+#line 1101 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val)->c.cdr;
(yyvsp[(1) - (1)].val)->c.cdr = nil; }
break;
@@ -5494,7 +5495,7 @@ yyreduce:
case 276:
/* Line 1806 of yacc.c */
-#line 1103 "parser.y"
+#line 1104 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (3)].val)->c.cdr;
(yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); }
break;
@@ -5502,7 +5503,7 @@ yyreduce:
case 277:
/* Line 1806 of yacc.c */
-#line 1107 "parser.y"
+#line 1108 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rlc((yyval.val), (yyvsp[(1) - (1)].val));
(yyval.val)->c.cdr = (yyval.val); }
@@ -5511,14 +5512,14 @@ yyreduce:
case 278:
/* Line 1806 of yacc.c */
-#line 1110 "parser.y"
+#line 1111 "parser.y"
{ parser->ignore = 1; }
break;
case 279:
/* Line 1806 of yacc.c */
-#line 1111 "parser.y"
+#line 1112 "parser.y"
{ parser->ignore = 0;
(yyval.val) = cons(nil, nil);
(yyval.val)->c.cdr = (yyval.val); }
@@ -5527,14 +5528,14 @@ yyreduce:
case 280:
/* Line 1806 of yacc.c */
-#line 1114 "parser.y"
+#line 1115 "parser.y"
{ parser->ignore = 1; }
break;
case 281:
/* Line 1806 of yacc.c */
-#line 1115 "parser.y"
+#line 1116 "parser.y"
{ parser->ignore = 0;
(yyval.val) = cons(nil, nil);
(yyval.val)->c.cdr = (yyval.val); }
@@ -5543,14 +5544,14 @@ yyreduce:
case 282:
/* Line 1806 of yacc.c */
-#line 1118 "parser.y"
+#line 1119 "parser.y"
{ parser->ignore = 1; }
break;
case 283:
/* Line 1806 of yacc.c */
-#line 1119 "parser.y"
+#line 1120 "parser.y"
{ parser->ignore = 0;
(yyval.val) = (yyvsp[(1) - (4)].val); }
break;
@@ -5558,14 +5559,14 @@ yyreduce:
case 284:
/* Line 1806 of yacc.c */
-#line 1121 "parser.y"
+#line 1122 "parser.y"
{ parser->ignore = 1; }
break;
case 285:
/* Line 1806 of yacc.c */
-#line 1122 "parser.y"
+#line 1123 "parser.y"
{ parser->ignore = 0;
(yyval.val) = (yyvsp[(1) - (5)].val); }
break;
@@ -5573,7 +5574,7 @@ yyreduce:
case 286:
/* Line 1806 of yacc.c */
-#line 1124 "parser.y"
+#line 1125 "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); }
@@ -5582,7 +5583,7 @@ yyreduce:
case 287:
/* Line 1806 of yacc.c */
-#line 1127 "parser.y"
+#line 1128 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); }
break;
@@ -5590,7 +5591,7 @@ yyreduce:
case 288:
/* Line 1806 of yacc.c */
-#line 1130 "parser.y"
+#line 1131 "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); }
@@ -5599,7 +5600,7 @@ yyreduce:
case 289:
/* Line 1806 of yacc.c */
-#line 1133 "parser.y"
+#line 1134 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); }
break;
@@ -5607,7 +5608,7 @@ yyreduce:
case 290:
/* Line 1806 of yacc.c */
-#line 1136 "parser.y"
+#line 1137 "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); }
@@ -5616,14 +5617,14 @@ yyreduce:
case 291:
/* Line 1806 of yacc.c */
-#line 1141 "parser.y"
+#line 1142 "parser.y"
{ (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); }
break;
case 292:
/* Line 1806 of yacc.c */
-#line 1142 "parser.y"
+#line 1143 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5631,119 +5632,119 @@ yyreduce:
case 293:
/* Line 1806 of yacc.c */
-#line 1144 "parser.y"
+#line 1145 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 294:
/* Line 1806 of yacc.c */
-#line 1145 "parser.y"
+#line 1146 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 295:
/* Line 1806 of yacc.c */
-#line 1146 "parser.y"
+#line 1147 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 296:
/* Line 1806 of yacc.c */
-#line 1147 "parser.y"
+#line 1148 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 297:
/* Line 1806 of yacc.c */
-#line 1148 "parser.y"
+#line 1149 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 298:
/* Line 1806 of yacc.c */
-#line 1149 "parser.y"
+#line 1150 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 299:
/* Line 1806 of yacc.c */
-#line 1150 "parser.y"
+#line 1151 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 300:
/* Line 1806 of yacc.c */
-#line 1151 "parser.y"
+#line 1152 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 301:
/* Line 1806 of yacc.c */
-#line 1152 "parser.y"
+#line 1153 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 302:
/* Line 1806 of yacc.c */
-#line 1153 "parser.y"
+#line 1154 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 303:
/* Line 1806 of yacc.c */
-#line 1154 "parser.y"
+#line 1155 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 304:
/* Line 1806 of yacc.c */
-#line 1155 "parser.y"
+#line 1156 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 305:
/* Line 1806 of yacc.c */
-#line 1156 "parser.y"
+#line 1157 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 306:
/* Line 1806 of yacc.c */
-#line 1157 "parser.y"
+#line 1158 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); }
break;
case 307:
/* Line 1806 of yacc.c */
-#line 1158 "parser.y"
+#line 1159 "parser.y"
{ (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); }
break;
case 308:
/* Line 1806 of yacc.c */
-#line 1159 "parser.y"
+#line 1160 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 309:
/* Line 1806 of yacc.c */
-#line 1160 "parser.y"
+#line 1161 "parser.y"
{ (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)),
num(parser->lineno)); }
break;
@@ -5751,14 +5752,14 @@ yyreduce:
case 310:
/* Line 1806 of yacc.c */
-#line 1162 "parser.y"
+#line 1163 "parser.y"
{ parser->quasi_level++; }
break;
case 311:
/* Line 1806 of yacc.c */
-#line 1163 "parser.y"
+#line 1164 "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)); }
@@ -5767,14 +5768,14 @@ yyreduce:
case 312:
/* Line 1806 of yacc.c */
-#line 1166 "parser.y"
+#line 1167 "parser.y"
{ parser->quasi_level--; }
break;
case 313:
/* Line 1806 of yacc.c */
-#line 1167 "parser.y"
+#line 1168 "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)); }
@@ -5783,14 +5784,14 @@ yyreduce:
case 314:
/* Line 1806 of yacc.c */
-#line 1170 "parser.y"
+#line 1171 "parser.y"
{ parser->quasi_level--; }
break;
case 315:
/* Line 1806 of yacc.c */
-#line 1171 "parser.y"
+#line 1172 "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)); }
@@ -5799,14 +5800,14 @@ yyreduce:
case 316:
/* Line 1806 of yacc.c */
-#line 1174 "parser.y"
+#line 1175 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 317:
/* Line 1806 of yacc.c */
-#line 1175 "parser.y"
+#line 1176 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -5814,35 +5815,35 @@ yyreduce:
case 318:
/* Line 1806 of yacc.c */
-#line 1177 "parser.y"
+#line 1178 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 319:
/* Line 1806 of yacc.c */
-#line 1180 "parser.y"
+#line 1181 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 320:
/* Line 1806 of yacc.c */
-#line 1181 "parser.y"
+#line 1182 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 321:
/* Line 1806 of yacc.c */
-#line 1183 "parser.y"
+#line 1184 "parser.y"
{ (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); }
break;
case 322:
/* Line 1806 of yacc.c */
-#line 1184 "parser.y"
+#line 1185 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5850,119 +5851,119 @@ yyreduce:
case 323:
/* Line 1806 of yacc.c */
-#line 1186 "parser.y"
+#line 1187 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 324:
/* Line 1806 of yacc.c */
-#line 1187 "parser.y"
+#line 1188 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 325:
/* Line 1806 of yacc.c */
-#line 1188 "parser.y"
+#line 1189 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 326:
/* Line 1806 of yacc.c */
-#line 1189 "parser.y"
+#line 1190 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 327:
/* Line 1806 of yacc.c */
-#line 1190 "parser.y"
+#line 1191 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 328:
/* Line 1806 of yacc.c */
-#line 1191 "parser.y"
+#line 1192 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 329:
/* Line 1806 of yacc.c */
-#line 1192 "parser.y"
+#line 1193 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 330:
/* Line 1806 of yacc.c */
-#line 1193 "parser.y"
+#line 1194 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 331:
/* Line 1806 of yacc.c */
-#line 1194 "parser.y"
+#line 1195 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 332:
/* Line 1806 of yacc.c */
-#line 1195 "parser.y"
+#line 1196 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 333:
/* Line 1806 of yacc.c */
-#line 1196 "parser.y"
+#line 1197 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 334:
/* Line 1806 of yacc.c */
-#line 1197 "parser.y"
+#line 1198 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 335:
/* Line 1806 of yacc.c */
-#line 1198 "parser.y"
+#line 1199 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 336:
/* Line 1806 of yacc.c */
-#line 1199 "parser.y"
+#line 1200 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); }
break;
case 337:
/* Line 1806 of yacc.c */
-#line 1200 "parser.y"
+#line 1201 "parser.y"
{ (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); }
break;
case 338:
/* Line 1806 of yacc.c */
-#line 1201 "parser.y"
+#line 1202 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 339:
/* Line 1806 of yacc.c */
-#line 1202 "parser.y"
+#line 1203 "parser.y"
{ (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)),
num(parser->lineno)); }
break;
@@ -5970,14 +5971,14 @@ yyreduce:
case 340:
/* Line 1806 of yacc.c */
-#line 1204 "parser.y"
+#line 1205 "parser.y"
{ parser->quasi_level++; }
break;
case 341:
/* Line 1806 of yacc.c */
-#line 1205 "parser.y"
+#line 1206 "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)); }
@@ -5986,14 +5987,14 @@ yyreduce:
case 342:
/* Line 1806 of yacc.c */
-#line 1208 "parser.y"
+#line 1209 "parser.y"
{ parser->quasi_level--; }
break;
case 343:
/* Line 1806 of yacc.c */
-#line 1209 "parser.y"
+#line 1210 "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)); }
@@ -6002,14 +6003,14 @@ yyreduce:
case 344:
/* Line 1806 of yacc.c */
-#line 1212 "parser.y"
+#line 1213 "parser.y"
{ parser->quasi_level--; }
break;
case 345:
/* Line 1806 of yacc.c */
-#line 1213 "parser.y"
+#line 1214 "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)); }
@@ -6018,7 +6019,7 @@ yyreduce:
case 346:
/* Line 1806 of yacc.c */
-#line 1216 "parser.y"
+#line 1217 "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))); }
@@ -6027,7 +6028,7 @@ yyreduce:
case 347:
/* Line 1806 of yacc.c */
-#line 1220 "parser.y"
+#line 1221 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val),
uref_helper(parser, (yyvsp[(4) - (4)].val)),
@@ -6038,7 +6039,7 @@ yyreduce:
case 348:
/* Line 1806 of yacc.c */
-#line 1226 "parser.y"
+#line 1227 "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))); }
@@ -6047,7 +6048,7 @@ yyreduce:
case 349:
/* Line 1806 of yacc.c */
-#line 1230 "parser.y"
+#line 1231 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val),
uref_helper(parser, (yyvsp[(4) - (4)].val)),
@@ -6058,14 +6059,14 @@ yyreduce:
case 350:
/* Line 1806 of yacc.c */
-#line 1235 "parser.y"
+#line 1236 "parser.y"
{ (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); }
break;
case 351:
/* Line 1806 of yacc.c */
-#line 1236 "parser.y"
+#line 1237 "parser.y"
{ (yyval.val) = qref_helper(parser,
cons(t, cons((yyvsp[(1) - (3)].val), nil)),
(yyvsp[(3) - (3)].val)); }
@@ -6074,28 +6075,28 @@ yyreduce:
case 352:
/* Line 1806 of yacc.c */
-#line 1239 "parser.y"
+#line 1240 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 353:
/* Line 1806 of yacc.c */
-#line 1240 "parser.y"
+#line 1241 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 354:
/* Line 1806 of yacc.c */
-#line 1241 "parser.y"
+#line 1242 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 355:
/* Line 1806 of yacc.c */
-#line 1242 "parser.y"
+#line 1243 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -6103,49 +6104,49 @@ yyreduce:
case 356:
/* Line 1806 of yacc.c */
-#line 1244 "parser.y"
+#line 1245 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 357:
/* Line 1806 of yacc.c */
-#line 1247 "parser.y"
+#line 1248 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 358:
/* Line 1806 of yacc.c */
-#line 1248 "parser.y"
+#line 1249 "parser.y"
{ (yyval.val) = nil; }
break;
case 359:
/* Line 1806 of yacc.c */
-#line 1251 "parser.y"
+#line 1252 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 360:
/* Line 1806 of yacc.c */
-#line 1252 "parser.y"
+#line 1253 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 361:
/* Line 1806 of yacc.c */
-#line 1253 "parser.y"
+#line 1254 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 362:
/* Line 1806 of yacc.c */
-#line 1256 "parser.y"
+#line 1257 "parser.y"
{ (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil);
end_of_regex(scnr);
rl((yyval.val), num(parser->lineno)); }
@@ -6154,7 +6155,7 @@ yyreduce:
case 363:
/* Line 1806 of yacc.c */
-#line 1259 "parser.y"
+#line 1260 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex"));
end_of_regex(scnr); }
@@ -6163,7 +6164,7 @@ yyreduce:
case 364:
/* Line 1806 of yacc.c */
-#line 1265 "parser.y"
+#line 1266 "parser.y"
{ (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil);
end_of_regex(scnr);
rl((yyval.val), num(parser->lineno)); }
@@ -6172,7 +6173,7 @@ yyreduce:
case 365:
/* Line 1806 of yacc.c */
-#line 1269 "parser.y"
+#line 1270 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex"));
end_of_regex(scnr); }
@@ -6181,7 +6182,7 @@ yyreduce:
case 366:
/* Line 1806 of yacc.c */
-#line 1274 "parser.y"
+#line 1275 "parser.y"
{ (yyval.val) = if3(cdr((yyvsp[(1) - (1)].val)),
cons(compound_s, (yyvsp[(1) - (1)].val)),
car((yyvsp[(1) - (1)].val))); }
@@ -6190,84 +6191,84 @@ yyreduce:
case 367:
/* Line 1806 of yacc.c */
-#line 1277 "parser.y"
+#line 1278 "parser.y"
{ (yyval.val) = list(or_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 368:
/* Line 1806 of yacc.c */
-#line 1278 "parser.y"
+#line 1279 "parser.y"
{ (yyval.val) = list(and_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 369:
/* Line 1806 of yacc.c */
-#line 1279 "parser.y"
+#line 1280 "parser.y"
{ (yyval.val) = list(compl_s, (yyvsp[(2) - (2)].val), nao); }
break;
case 370:
/* Line 1806 of yacc.c */
-#line 1280 "parser.y"
+#line 1281 "parser.y"
{ (yyval.val) = nil; }
break;
case 371:
/* Line 1806 of yacc.c */
-#line 1283 "parser.y"
+#line 1284 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 372:
/* Line 1806 of yacc.c */
-#line 1284 "parser.y"
+#line 1285 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 373:
/* Line 1806 of yacc.c */
-#line 1285 "parser.y"
+#line 1286 "parser.y"
{ (yyval.val) = list((yyvsp[(1) - (3)].val), list(compl_s, (yyvsp[(3) - (3)].val), nao), nao); }
break;
case 374:
/* Line 1806 of yacc.c */
-#line 1288 "parser.y"
+#line 1289 "parser.y"
{ (yyval.val) = list(zeroplus_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 375:
/* Line 1806 of yacc.c */
-#line 1289 "parser.y"
+#line 1290 "parser.y"
{ (yyval.val) = list(oneplus_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 376:
/* Line 1806 of yacc.c */
-#line 1290 "parser.y"
+#line 1291 "parser.y"
{ (yyval.val) = list(optional_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 377:
/* Line 1806 of yacc.c */
-#line 1291 "parser.y"
+#line 1292 "parser.y"
{ (yyval.val) = list(nongreedy_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 378:
/* Line 1806 of yacc.c */
-#line 1292 "parser.y"
+#line 1293 "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)));
@@ -6280,14 +6281,14 @@ yyreduce:
case 379:
/* Line 1806 of yacc.c */
-#line 1299 "parser.y"
+#line 1300 "parser.y"
{ (yyval.val) = cons(set_s, nil); }
break;
case 380:
/* Line 1806 of yacc.c */
-#line 1300 "parser.y"
+#line 1301 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex character class")); }
break;
@@ -6295,56 +6296,56 @@ yyreduce:
case 381:
/* Line 1806 of yacc.c */
-#line 1302 "parser.y"
+#line 1303 "parser.y"
{ (yyval.val) = wild_s; }
break;
case 382:
/* Line 1806 of yacc.c */
-#line 1303 "parser.y"
+#line 1304 "parser.y"
{ (yyval.val) = chr(']'); }
break;
case 383:
/* Line 1806 of yacc.c */
-#line 1304 "parser.y"
+#line 1305 "parser.y"
{ (yyval.val) = chr('-'); }
break;
case 384:
/* Line 1806 of yacc.c */
-#line 1305 "parser.y"
+#line 1306 "parser.y"
{ (yyval.val) = chr((yyvsp[(1) - (1)].chr)); }
break;
case 385:
/* Line 1806 of yacc.c */
-#line 1306 "parser.y"
+#line 1307 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 386:
/* Line 1806 of yacc.c */
-#line 1307 "parser.y"
+#line 1308 "parser.y"
{ (yyval.val) = list(compound_s, string_own((yyvsp[(1) - (1)].lexeme)), nao); }
break;
case 387:
/* Line 1806 of yacc.c */
-#line 1308 "parser.y"
+#line 1309 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val); }
break;
case 388:
/* Line 1806 of yacc.c */
-#line 1309 "parser.y"
+#line 1310 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex subexpression")); }
break;
@@ -6352,133 +6353,133 @@ yyreduce:
case 389:
/* Line 1806 of yacc.c */
-#line 1313 "parser.y"
+#line 1314 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 390:
/* Line 1806 of yacc.c */
-#line 1314 "parser.y"
+#line 1315 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 391:
/* Line 1806 of yacc.c */
-#line 1317 "parser.y"
+#line 1318 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 392:
/* Line 1806 of yacc.c */
-#line 1318 "parser.y"
+#line 1319 "parser.y"
{ (yyval.val) = chr((yyvsp[(1) - (1)].chr)); }
break;
case 393:
/* Line 1806 of yacc.c */
-#line 1319 "parser.y"
+#line 1320 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 394:
/* Line 1806 of yacc.c */
-#line 1322 "parser.y"
+#line 1323 "parser.y"
{ (yyval.val) = cons(chr((yyvsp[(1) - (3)].chr)), chr((yyvsp[(3) - (3)].chr))); }
break;
case 395:
/* Line 1806 of yacc.c */
-#line 1324 "parser.y"
+#line 1325 "parser.y"
{ (yyval.chr) = '?'; }
break;
case 396:
/* Line 1806 of yacc.c */
-#line 1325 "parser.y"
+#line 1326 "parser.y"
{ (yyval.chr) = '.'; }
break;
case 397:
/* Line 1806 of yacc.c */
-#line 1326 "parser.y"
+#line 1327 "parser.y"
{ (yyval.chr) = '*'; }
break;
case 398:
/* Line 1806 of yacc.c */
-#line 1327 "parser.y"
+#line 1328 "parser.y"
{ (yyval.chr) = '+'; }
break;
case 399:
/* Line 1806 of yacc.c */
-#line 1328 "parser.y"
+#line 1329 "parser.y"
{ (yyval.chr) = '('; }
break;
case 400:
/* Line 1806 of yacc.c */
-#line 1329 "parser.y"
+#line 1330 "parser.y"
{ (yyval.chr) = ')'; }
break;
case 401:
/* Line 1806 of yacc.c */
-#line 1330 "parser.y"
+#line 1331 "parser.y"
{ (yyval.chr) = '|'; }
break;
case 402:
/* Line 1806 of yacc.c */
-#line 1331 "parser.y"
+#line 1332 "parser.y"
{ (yyval.chr) = '~'; }
break;
case 403:
/* Line 1806 of yacc.c */
-#line 1332 "parser.y"
+#line 1333 "parser.y"
{ (yyval.chr) = '&'; }
break;
case 404:
/* Line 1806 of yacc.c */
-#line 1333 "parser.y"
+#line 1334 "parser.y"
{ (yyval.chr) = '%'; }
break;
case 405:
/* Line 1806 of yacc.c */
-#line 1334 "parser.y"
+#line 1335 "parser.y"
{ (yyval.chr) = '/'; }
break;
case 406:
/* Line 1806 of yacc.c */
-#line 1335 "parser.y"
+#line 1336 "parser.y"
{ (yyval.chr) = (yyvsp[(1) - (1)].chr); }
break;
case 407:
/* Line 1806 of yacc.c */
-#line 1338 "parser.y"
+#line 1339 "parser.y"
{ switch ((yyvsp[(1) - (1)].chr))
{ case 's':
(yyval.val) = space_k; break;
@@ -6497,7 +6498,7 @@ yyreduce:
case 409:
/* Line 1806 of yacc.c */
-#line 1353 "parser.y"
+#line 1354 "parser.y"
{ yyerr("newline expected after directive");
yyerrok; }
break;
@@ -6505,14 +6506,14 @@ yyreduce:
case 410:
/* Line 1806 of yacc.c */
-#line 1357 "parser.y"
+#line 1358 "parser.y"
{ (yyval.val) = null_string; }
break;
case 411:
/* Line 1806 of yacc.c */
-#line 1358 "parser.y"
+#line 1359 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6520,7 +6521,7 @@ yyreduce:
case 412:
/* Line 1806 of yacc.c */
-#line 1360 "parser.y"
+#line 1361 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("string literal")); }
break;
@@ -6528,7 +6529,7 @@ yyreduce:
case 413:
/* Line 1806 of yacc.c */
-#line 1364 "parser.y"
+#line 1365 "parser.y"
{ wchar_t ch;
val str = string_own((yyvsp[(2) - (2)].lexeme));
const wchar_t *cstr = c_str(str);
@@ -6547,7 +6548,7 @@ yyreduce:
case 414:
/* Line 1806 of yacc.c */
-#line 1377 "parser.y"
+#line 1378 "parser.y"
{ (yyval.val) = chr((yyvsp[(2) - (2)].chr));
end_of_char(scnr); }
break;
@@ -6555,7 +6556,7 @@ yyreduce:
case 415:
/* Line 1806 of yacc.c */
-#line 1379 "parser.y"
+#line 1380 "parser.y"
{ free((yyvsp[(2) - (2)].lexeme));
yyerrorf(scnr,
lit("invalid UTF-8 used as character name"),
@@ -6565,7 +6566,7 @@ yyreduce:
case 416:
/* Line 1806 of yacc.c */
-#line 1383 "parser.y"
+#line 1384 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar,
lit("character literal")); }
@@ -6574,14 +6575,14 @@ yyreduce:
case 417:
/* Line 1806 of yacc.c */
-#line 1388 "parser.y"
+#line 1389 "parser.y"
{ (yyval.val) = null_string; }
break;
case 418:
/* Line 1806 of yacc.c */
-#line 1389 "parser.y"
+#line 1390 "parser.y"
{ (yyval.val) = cons(quasi_s, (yyvsp[(2) - (3)].val));
rlc((yyval.val), (yyvsp[(2) - (3)].val));
rl((yyval.val), num(parser->lineno)); }
@@ -6590,7 +6591,7 @@ yyreduce:
case 419:
/* Line 1806 of yacc.c */
-#line 1392 "parser.y"
+#line 1393 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("quasistring")); }
break;
@@ -6598,7 +6599,7 @@ yyreduce:
case 420:
/* Line 1806 of yacc.c */
-#line 1396 "parser.y"
+#line 1397 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6606,7 +6607,7 @@ yyreduce:
case 421:
/* Line 1806 of yacc.c */
-#line 1398 "parser.y"
+#line 1399 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6614,21 +6615,21 @@ yyreduce:
case 422:
/* Line 1806 of yacc.c */
-#line 1402 "parser.y"
+#line 1403 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 423:
/* Line 1806 of yacc.c */
-#line 1403 "parser.y"
+#line 1404 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 424:
/* Line 1806 of yacc.c */
-#line 1404 "parser.y"
+#line 1405 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6636,7 +6637,7 @@ yyreduce:
case 425:
/* Line 1806 of yacc.c */
-#line 1406 "parser.y"
+#line 1407 "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));
@@ -6647,14 +6648,14 @@ yyreduce:
case 426:
/* Line 1806 of yacc.c */
-#line 1413 "parser.y"
+#line 1414 "parser.y"
{ (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); }
break;
case 427:
/* Line 1806 of yacc.c */
-#line 1414 "parser.y"
+#line 1415 "parser.y"
{ val ch = mkstring(one, chr((yyvsp[(1) - (2)].chr)));
(yyval.val) = string_extend(ch, (yyvsp[(2) - (2)].val)); }
break;
@@ -6662,63 +6663,63 @@ yyreduce:
case 428:
/* Line 1806 of yacc.c */
-#line 1416 "parser.y"
+#line 1417 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); }
break;
case 429:
/* Line 1806 of yacc.c */
-#line 1417 "parser.y"
+#line 1418 "parser.y"
{ (yyval.val) = string_extend(string_own((yyvsp[(1) - (2)].lexeme)), (yyvsp[(2) - (2)].val)); }
break;
case 430:
/* Line 1806 of yacc.c */
-#line 1420 "parser.y"
+#line 1421 "parser.y"
{ (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); }
break;
case 431:
/* Line 1806 of yacc.c */
-#line 1421 "parser.y"
+#line 1422 "parser.y"
{ (yyval.val) = string_extend((yyvsp[(1) - (2)].val), chr((yyvsp[(2) - (2)].chr))); }
break;
case 432:
/* Line 1806 of yacc.c */
-#line 1422 "parser.y"
+#line 1423 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); }
break;
case 433:
/* Line 1806 of yacc.c */
-#line 1423 "parser.y"
+#line 1424 "parser.y"
{ (yyval.val) = string_extend((yyvsp[(1) - (2)].val), string_own((yyvsp[(2) - (2)].lexeme))); }
break;
case 434:
/* Line 1806 of yacc.c */
-#line 1426 "parser.y"
+#line 1427 "parser.y"
{ (yyval.val) = nil; }
break;
case 435:
/* Line 1806 of yacc.c */
-#line 1427 "parser.y"
+#line 1428 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 436:
/* Line 1806 of yacc.c */
-#line 1428 "parser.y"
+#line 1429 "parser.y"
{ val word = (yyvsp[(1) - (2)].val);
(yyval.val) = rlc(cons(word, (yyvsp[(2) - (2)].val)), (yyvsp[(1) - (2)].val)); }
break;
@@ -6726,7 +6727,7 @@ yyreduce:
case 437:
/* Line 1806 of yacc.c */
-#line 1430 "parser.y"
+#line 1431 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("word list")); }
break;
@@ -6734,21 +6735,21 @@ yyreduce:
case 438:
/* Line 1806 of yacc.c */
-#line 1434 "parser.y"
+#line 1435 "parser.y"
{ (yyval.val) = nil; }
break;
case 439:
/* Line 1806 of yacc.c */
-#line 1435 "parser.y"
+#line 1436 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 440:
/* Line 1806 of yacc.c */
-#line 1436 "parser.y"
+#line 1437 "parser.y"
{ val qword = cons(quasi_s, (yyvsp[(1) - (2)].val));
(yyval.val) = rlc(cons(qword, nil), (yyvsp[(1) - (2)].val)); }
break;
@@ -6756,7 +6757,7 @@ yyreduce:
case 441:
/* Line 1806 of yacc.c */
-#line 1440 "parser.y"
+#line 1441 "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;
@@ -6764,7 +6765,7 @@ yyreduce:
case 442:
/* Line 1806 of yacc.c */
-#line 1444 "parser.y"
+#line 1445 "parser.y"
{ (yyval.val) = make_buf(zero, nil, nil);
end_of_buflit(scnr); }
break;
@@ -6772,7 +6773,7 @@ yyreduce:
case 443:
/* Line 1806 of yacc.c */
-#line 1446 "parser.y"
+#line 1447 "parser.y"
{ end_of_buflit(scnr);
buf_trim((yyvsp[(2) - (3)].val));
(yyval.val) = (yyvsp[(2) - (3)].val); }
@@ -6781,7 +6782,7 @@ yyreduce:
case 444:
/* Line 1806 of yacc.c */
-#line 1449 "parser.y"
+#line 1450 "parser.y"
{ yyerr("unterminated buffer literal");
end_of_buflit(scnr);
yyerrok; }
@@ -6790,7 +6791,7 @@ yyreduce:
case 445:
/* Line 1806 of yacc.c */
-#line 1454 "parser.y"
+#line 1455 "parser.y"
{ buf_put_u8((yyvsp[(1) - (2)].val), length_buf((yyval.val)), (yyvsp[(2) - (2)].val));
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -6798,7 +6799,7 @@ yyreduce:
case 446:
/* Line 1806 of yacc.c */
-#line 1456 "parser.y"
+#line 1457 "parser.y"
{ (yyval.val) = make_buf(zero, nil, num_fast(512));
buf_put_u8((yyval.val), zero, (yyvsp[(1) - (1)].val)); }
break;
@@ -6806,14 +6807,14 @@ yyreduce:
case 447:
/* Line 1806 of yacc.c */
-#line 1460 "parser.y"
+#line 1461 "parser.y"
{ (yyval.val) = num((yyvsp[(1) - (2)].chr) << 4 | (yyvsp[(2) - (2)].chr)); }
break;
case 448:
/* Line 1806 of yacc.c */
-#line 1461 "parser.y"
+#line 1462 "parser.y"
{ (yyval.val) = zero;
yyerr("unpaired digit in buffer literal");
yyerrok; }
@@ -6822,119 +6823,119 @@ yyreduce:
case 449:
/* Line 1806 of yacc.c */
-#line 1468 "parser.y"
+#line 1469 "parser.y"
{ (yyval.val) = mkexp(all_s, nil, num(parser->lineno)); }
break;
case 450:
/* Line 1806 of yacc.c */
-#line 1469 "parser.y"
+#line 1470 "parser.y"
{ (yyval.val) = mkexp(some_s, nil, num(parser->lineno)); }
break;
case 451:
/* Line 1806 of yacc.c */
-#line 1470 "parser.y"
+#line 1471 "parser.y"
{ (yyval.val) = mkexp(none_s, nil, num(parser->lineno)); }
break;
case 452:
/* Line 1806 of yacc.c */
-#line 1471 "parser.y"
+#line 1472 "parser.y"
{ (yyval.val) = mkexp(maybe_s, nil, num(parser->lineno)); }
break;
case 453:
/* Line 1806 of yacc.c */
-#line 1472 "parser.y"
+#line 1473 "parser.y"
{ (yyval.val) = mkexp(cases_s, nil, num(parser->lineno)); }
break;
case 454:
/* Line 1806 of yacc.c */
-#line 1473 "parser.y"
+#line 1474 "parser.y"
{ (yyval.val) = mkexp(and_s, nil, num(parser->lineno)); }
break;
case 455:
/* Line 1806 of yacc.c */
-#line 1474 "parser.y"
+#line 1475 "parser.y"
{ (yyval.val) = mkexp(or_s, nil, num(parser->lineno)); }
break;
case 456:
/* Line 1806 of yacc.c */
-#line 1475 "parser.y"
+#line 1476 "parser.y"
{ (yyval.val) = mkexp(try_s, nil, num(parser->lineno)); }
break;
case 457:
/* Line 1806 of yacc.c */
-#line 1476 "parser.y"
+#line 1477 "parser.y"
{ (yyval.val) = mkexp(finally_s, nil, num(parser->lineno)); }
break;
case 458:
/* Line 1806 of yacc.c */
-#line 1478 "parser.y"
+#line 1479 "parser.y"
{ (yyval.val) = mkexp(block_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 459:
/* Line 1806 of yacc.c */
-#line 1480 "parser.y"
+#line 1481 "parser.y"
{ (yyval.val) = mkexp(choose_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 460:
/* Line 1806 of yacc.c */
-#line 1482 "parser.y"
+#line 1483 "parser.y"
{ (yyval.val) = mkexp(collect_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 461:
/* Line 1806 of yacc.c */
-#line 1484 "parser.y"
+#line 1485 "parser.y"
{ (yyval.val) = mkexp(coll_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 462:
/* Line 1806 of yacc.c */
-#line 1486 "parser.y"
+#line 1487 "parser.y"
{ (yyval.val) = mkexp(gather_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 463:
/* Line 1806 of yacc.c */
-#line 1488 "parser.y"
+#line 1489 "parser.y"
{ (yyval.val) = mkexp(define_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 464:
/* Line 1806 of yacc.c */
-#line 1490 "parser.y"
+#line 1491 "parser.y"
{ (yyval.val) = mkexp(catch_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 465:
/* Line 1806 of yacc.c */
-#line 1492 "parser.y"
+#line 1493 "parser.y"
{ (yyval.val) = mkexp(if_s,
cons((yyvsp[(2) - (5)].val),
cons((yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val))),
@@ -6944,14 +6945,14 @@ yyreduce:
case 466:
/* Line 1806 of yacc.c */
-#line 1497 "parser.y"
+#line 1498 "parser.y"
{ yyerr("@(output) doesn't nest"); }
break;
/* Line 1806 of yacc.c */
-#line 6985 "y.tab.c"
+#line 6986 "y.tab.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -7182,7 +7183,7 @@ yyreturn:
/* Line 2067 of yacc.c */
-#line 1501 "parser.y"
+#line 1502 "parser.y"
const int have_yydebug = YYDEBUG;