diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-06-03 07:32:42 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-06-03 07:32:42 -0700 |
commit | c12f969791bec0b2d6e985193c67b1f79db99ccc (patch) | |
tree | f6ea8571a540b5dd8d6d1c920d329312f1b15969 /y.tab.c.shipped | |
parent | 2749a5ace7f404dae2eeb8c94c9290af16eee234 (diff) | |
download | txr-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.shipped | 513 |
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; |