summaryrefslogtreecommitdiffstats
path: root/y.tab.c.shipped
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-05-01 05:15:44 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-05-01 05:15:44 -0700
commit42339b4608afc933ba87de057f22a1dffe15354e (patch)
tree45b19425066fb4a1bbd3c7299e41f72d60f3b863 /y.tab.c.shipped
parent56b399c523ee9066b09b056396c16315903ae559 (diff)
downloadtxr-42339b4608afc933ba87de057f22a1dffe15354e.tar.gz
txr-42339b4608afc933ba87de057f22a1dffe15354e.tar.bz2
txr-42339b4608afc933ba87de057f22a1dffe15354e.zip
parser: gc bug.
* parser.y (set_syntax_tree): New static function. Uses GC-correct assignment via set macro. (spec): Call set_syntax_tree instead of raw assignments to parser->syntax_tree, which violate GC rules. * y.tab.c.shipped: Regenerated.
Diffstat (limited to 'y.tab.c.shipped')
-rw-r--r--y.tab.c.shipped983
1 files changed, 480 insertions, 503 deletions
diff --git a/y.tab.c.shipped b/y.tab.c.shipped
index 6a4bb8b6..2df3bdb9 100644
--- a/y.tab.c.shipped
+++ b/y.tab.c.shipped
@@ -1,35 +1,5 @@
/* A Bison parser, made by GNU Bison 2.5. */
-/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
-
/* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */
@@ -121,6 +91,7 @@
#include "buf.h"
#include "parser.h"
+static void set_syntax_tree(parser_t *parser, val tree);
static val sym_helper(parser_t *parser, wchar_t *lexeme, val meta_allowed);
static val repeat_rep_helper(val sym, val args, val main, val parts);
static void process_catch_exprs(val exprs);
@@ -168,7 +139,7 @@ INLINE val expand_form_ver(val form, int ver)
/* Line 268 of yacc.c */
-#line 172 "y.tab.c"
+#line 173 "y.tab.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -341,7 +312,7 @@ typedef union YYSTYPE
{
/* Line 293 of yacc.c */
-#line 106 "parser.y"
+#line 107 "parser.y"
wchar_t *lexeme;
union obj *val;
@@ -351,7 +322,7 @@ typedef union YYSTYPE
/* Line 293 of yacc.c */
-#line 355 "y.tab.c"
+#line 356 "y.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -363,7 +334,7 @@ typedef union YYSTYPE
/* Line 343 of yacc.c */
-#line 367 "y.tab.c"
+#line 368 "y.tab.c"
#ifdef short
# undef short
@@ -835,49 +806,49 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 173, 173, 174, 176, 175, 179, 178, 181, 188,
- 195, 204, 204, 207, 207, 210, 210, 213, 214, 215,
- 218, 218, 221, 221, 224, 224, 227, 228, 229, 234,
- 235, 236, 239, 240, 243, 244, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 259, 260, 261, 262,
- 265, 267, 271, 274, 280, 282, 286, 288, 292, 294,
- 298, 309, 314, 317, 322, 331, 343, 348, 352, 353,
- 354, 357, 363, 375, 380, 381, 384, 385, 388, 391,
- 392, 393, 396, 419, 423, 436, 439, 444, 447, 450,
- 451, 454, 456, 461, 462, 470, 472, 475, 476, 479,
- 481, 483, 491, 494, 502, 505, 514, 517, 519, 521,
- 523, 524, 526, 527, 528, 529, 532, 538, 541, 542,
- 543, 546, 551, 555, 557, 559, 564, 572, 577, 582,
- 588, 593, 594, 597, 600, 606, 610, 612, 615, 627,
- 632, 634, 637, 640, 643, 648, 649, 652, 653, 654,
- 657, 663, 668, 672, 676, 685, 689, 696, 703, 706,
- 718, 721, 725, 736, 739, 742, 745, 746, 748, 751,
- 753, 756, 757, 758, 759, 762, 764, 766, 767, 769,
- 772, 775, 779, 782, 785, 793, 796, 802, 808, 815,
- 816, 817, 818, 819, 820, 824, 829, 832, 836, 839,
- 840, 842, 844, 847, 852, 861, 866, 869, 874, 879,
- 883, 889, 893, 900, 904, 908, 912, 917, 921, 934,
- 938, 939, 945, 946, 947, 948, 952, 957, 961, 966,
- 970, 974, 975, 976, 980, 981, 982, 985, 988, 989,
- 992, 994, 999, 1002, 1002, 1006, 1006, 1009, 1012, 1014,
- 1018, 1020, 1026, 1027, 1029, 1030, 1031, 1032, 1033, 1034,
- 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
- 1046, 1046, 1050, 1050, 1054, 1054, 1058, 1058, 1061, 1064,
- 1065, 1067, 1068, 1070, 1071, 1072, 1073, 1074, 1075, 1076,
- 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1087,
- 1087, 1091, 1091, 1095, 1095, 1099, 1102, 1108, 1112, 1118,
- 1119, 1122, 1123, 1124, 1124, 1127, 1130, 1131, 1134, 1135,
- 1136, 1139, 1142, 1147, 1151, 1157, 1160, 1161, 1162, 1163,
- 1166, 1167, 1168, 1171, 1172, 1173, 1174, 1175, 1182, 1183,
- 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1196, 1197,
- 1200, 1201, 1202, 1205, 1207, 1208, 1209, 1210, 1211, 1212,
- 1213, 1214, 1215, 1216, 1217, 1218, 1221, 1235, 1236, 1240,
- 1241, 1243, 1247, 1260, 1262, 1266, 1271, 1272, 1275, 1279,
- 1281, 1285, 1286, 1287, 1289, 1296, 1297, 1299, 1300, 1303,
- 1304, 1305, 1306, 1309, 1310, 1311, 1313, 1317, 1318, 1319,
- 1321, 1327, 1329, 1332, 1337, 1339, 1343, 1344, 1351, 1352,
- 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1362, 1364,
- 1366, 1368, 1370, 1372, 1374, 1379
+ 0, 174, 174, 175, 178, 177, 181, 180, 183, 190,
+ 197, 206, 206, 209, 209, 212, 212, 215, 216, 217,
+ 220, 220, 223, 223, 226, 226, 229, 230, 231, 236,
+ 237, 238, 241, 242, 245, 246, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 261, 262, 263, 264,
+ 267, 269, 273, 276, 282, 284, 288, 290, 294, 296,
+ 300, 311, 316, 319, 324, 333, 345, 350, 354, 355,
+ 356, 359, 365, 377, 382, 383, 386, 387, 390, 393,
+ 394, 395, 398, 421, 425, 438, 441, 446, 449, 452,
+ 453, 456, 458, 463, 464, 472, 474, 477, 478, 481,
+ 483, 485, 493, 496, 504, 507, 516, 519, 521, 523,
+ 525, 526, 528, 529, 530, 531, 534, 540, 543, 544,
+ 545, 548, 553, 557, 559, 561, 566, 574, 579, 584,
+ 590, 595, 596, 599, 602, 608, 612, 614, 617, 629,
+ 634, 636, 639, 642, 645, 650, 651, 654, 655, 656,
+ 659, 665, 670, 674, 678, 687, 691, 698, 705, 708,
+ 720, 723, 727, 738, 741, 744, 747, 748, 750, 753,
+ 755, 758, 759, 760, 761, 764, 766, 768, 769, 771,
+ 774, 777, 781, 784, 787, 795, 798, 804, 810, 817,
+ 818, 819, 820, 821, 822, 826, 831, 834, 838, 841,
+ 842, 844, 846, 849, 854, 863, 868, 871, 876, 881,
+ 885, 891, 895, 902, 906, 910, 914, 919, 923, 936,
+ 940, 941, 947, 948, 949, 950, 954, 959, 963, 968,
+ 972, 976, 977, 978, 982, 983, 984, 987, 990, 991,
+ 994, 996, 1001, 1004, 1004, 1008, 1008, 1011, 1014, 1016,
+ 1020, 1022, 1028, 1029, 1031, 1032, 1033, 1034, 1035, 1036,
+ 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
+ 1048, 1048, 1052, 1052, 1056, 1056, 1060, 1060, 1063, 1066,
+ 1067, 1069, 1070, 1072, 1073, 1074, 1075, 1076, 1077, 1078,
+ 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1089,
+ 1089, 1093, 1093, 1097, 1097, 1101, 1104, 1110, 1114, 1120,
+ 1121, 1124, 1125, 1126, 1126, 1129, 1132, 1133, 1136, 1137,
+ 1138, 1141, 1144, 1149, 1153, 1159, 1162, 1163, 1164, 1165,
+ 1168, 1169, 1170, 1173, 1174, 1175, 1176, 1177, 1184, 1185,
+ 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1198, 1199,
+ 1202, 1203, 1204, 1207, 1209, 1210, 1211, 1212, 1213, 1214,
+ 1215, 1216, 1217, 1218, 1219, 1220, 1223, 1237, 1238, 1242,
+ 1243, 1245, 1249, 1262, 1264, 1268, 1273, 1274, 1277, 1281,
+ 1283, 1287, 1288, 1289, 1291, 1298, 1299, 1301, 1302, 1305,
+ 1306, 1307, 1308, 1311, 1312, 1313, 1315, 1319, 1320, 1321,
+ 1323, 1329, 1331, 1334, 1339, 1341, 1345, 1346, 1353, 1354,
+ 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1364, 1366,
+ 1368, 1370, 1372, 1374, 1376, 1381
};
#endif
@@ -3136,49 +3107,50 @@ yyreduce:
case 2:
/* Line 1806 of yacc.c */
-#line 173 "parser.y"
- { parser->syntax_tree = (yyvsp[(1) - (1)].val); }
+#line 174 "parser.y"
+ { set_syntax_tree(parser, (yyvsp[(1) - (1)].val)); }
break;
case 3:
/* Line 1806 of yacc.c */
-#line 174 "parser.y"
- { parser->syntax_tree = (yyvsp[(2) - (2)].val); end_of_regex(scnr); }
+#line 175 "parser.y"
+ { set_syntax_tree(parser, (yyvsp[(2) - (2)].val));
+ end_of_regex(scnr); }
break;
case 4:
/* Line 1806 of yacc.c */
-#line 176 "parser.y"
- { parser->syntax_tree = (yyvsp[(2) - (2)].val); YYACCEPT; }
+#line 178 "parser.y"
+ { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; }
break;
case 5:
/* Line 1806 of yacc.c */
-#line 177 "parser.y"
+#line 179 "parser.y"
{ internal_error("notreached"); }
break;
case 6:
/* Line 1806 of yacc.c */
-#line 179 "parser.y"
- { parser->syntax_tree = (yyvsp[(2) - (2)].val); YYACCEPT; }
+#line 181 "parser.y"
+ { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; }
break;
case 7:
/* Line 1806 of yacc.c */
-#line 180 "parser.y"
+#line 182 "parser.y"
{ internal_error("notreached"); }
break;
case 8:
/* Line 1806 of yacc.c */
-#line 181 "parser.y"
+#line 183 "parser.y"
{ if (yychar == YYEOF) {
parser->syntax_tree = nao;
YYACCEPT;
@@ -3191,7 +3163,7 @@ yyreduce:
case 9:
/* Line 1806 of yacc.c */
-#line 188 "parser.y"
+#line 190 "parser.y"
{ if (yychar == YYEOF) {
parser->syntax_tree = nao;
YYACCEPT;
@@ -3204,7 +3176,7 @@ yyreduce:
case 10:
/* Line 1806 of yacc.c */
-#line 195 "parser.y"
+#line 197 "parser.y"
{ parser->syntax_tree = nil;
if (parser->errors >= 8)
YYABORT;
@@ -3215,14 +3187,14 @@ yyreduce:
case 11:
/* Line 1806 of yacc.c */
-#line 204 "parser.y"
+#line 206 "parser.y"
{ parser->ignore = 1; }
break;
case 12:
/* Line 1806 of yacc.c */
-#line 205 "parser.y"
+#line 207 "parser.y"
{ parser->ignore = 0;
(yyval.val) = nao; }
break;
@@ -3230,14 +3202,14 @@ yyreduce:
case 13:
/* Line 1806 of yacc.c */
-#line 207 "parser.y"
+#line 209 "parser.y"
{ parser->ignore = 1; }
break;
case 14:
/* Line 1806 of yacc.c */
-#line 208 "parser.y"
+#line 210 "parser.y"
{ parser->ignore = 0;
(yyval.val) = nao; }
break;
@@ -3245,14 +3217,14 @@ yyreduce:
case 15:
/* Line 1806 of yacc.c */
-#line 210 "parser.y"
+#line 212 "parser.y"
{ parser->ignore = 1; }
break;
case 16:
/* Line 1806 of yacc.c */
-#line 211 "parser.y"
+#line 213 "parser.y"
{ parser->ignore = 0;
(yyval.val) = nao; }
break;
@@ -3260,35 +3232,35 @@ yyreduce:
case 17:
/* Line 1806 of yacc.c */
-#line 213 "parser.y"
+#line 215 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 18:
/* Line 1806 of yacc.c */
-#line 214 "parser.y"
+#line 216 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 19:
/* Line 1806 of yacc.c */
-#line 215 "parser.y"
+#line 217 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 20:
/* Line 1806 of yacc.c */
-#line 218 "parser.y"
+#line 220 "parser.y"
{ parser->ignore = 1; }
break;
case 21:
/* Line 1806 of yacc.c */
-#line 219 "parser.y"
+#line 221 "parser.y"
{ parser->ignore = 0;
(yyval.val) = nao; }
break;
@@ -3296,14 +3268,14 @@ yyreduce:
case 22:
/* Line 1806 of yacc.c */
-#line 221 "parser.y"
+#line 223 "parser.y"
{ parser->ignore = 1; }
break;
case 23:
/* Line 1806 of yacc.c */
-#line 222 "parser.y"
+#line 224 "parser.y"
{ parser->ignore = 0;
(yyval.val) = nao; }
break;
@@ -3311,14 +3283,14 @@ yyreduce:
case 24:
/* Line 1806 of yacc.c */
-#line 224 "parser.y"
+#line 226 "parser.y"
{ parser->ignore = 1; }
break;
case 25:
/* Line 1806 of yacc.c */
-#line 225 "parser.y"
+#line 227 "parser.y"
{ parser->ignore = 0;
(yyval.val) = nao; }
break;
@@ -3326,140 +3298,140 @@ yyreduce:
case 26:
/* Line 1806 of yacc.c */
-#line 227 "parser.y"
+#line 229 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 27:
/* Line 1806 of yacc.c */
-#line 228 "parser.y"
+#line 230 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 28:
/* Line 1806 of yacc.c */
-#line 229 "parser.y"
+#line 231 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 29:
/* Line 1806 of yacc.c */
-#line 234 "parser.y"
+#line 236 "parser.y"
{ internal_error("notreached"); }
break;
case 30:
/* Line 1806 of yacc.c */
-#line 235 "parser.y"
+#line 237 "parser.y"
{ internal_error("notreached"); }
break;
case 31:
/* Line 1806 of yacc.c */
-#line 236 "parser.y"
+#line 238 "parser.y"
{ internal_error("notreached"); }
break;
case 32:
/* Line 1806 of yacc.c */
-#line 239 "parser.y"
+#line 241 "parser.y"
{ (yyval.val) = check_parse_time_action(cons((yyvsp[(1) - (1)].val), nil)); }
break;
case 33:
/* Line 1806 of yacc.c */
-#line 240 "parser.y"
+#line 242 "parser.y"
{ (yyval.val) = check_parse_time_action(cons((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val))); }
break;
case 34:
/* Line 1806 of yacc.c */
-#line 243 "parser.y"
+#line 245 "parser.y"
{ (yyval.val) = us_nreverse((yyvsp[(1) - (1)].val)); }
break;
case 35:
/* Line 1806 of yacc.c */
-#line 244 "parser.y"
+#line 246 "parser.y"
{ (yyval.val) = nil; }
break;
case 36:
/* Line 1806 of yacc.c */
-#line 247 "parser.y"
+#line 249 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 37:
/* Line 1806 of yacc.c */
-#line 248 "parser.y"
+#line 250 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 38:
/* Line 1806 of yacc.c */
-#line 249 "parser.y"
+#line 251 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 39:
/* Line 1806 of yacc.c */
-#line 250 "parser.y"
+#line 252 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 40:
/* Line 1806 of yacc.c */
-#line 251 "parser.y"
+#line 253 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 41:
/* Line 1806 of yacc.c */
-#line 252 "parser.y"
+#line 254 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 42:
/* Line 1806 of yacc.c */
-#line 253 "parser.y"
+#line 255 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 43:
/* Line 1806 of yacc.c */
-#line 254 "parser.y"
+#line 256 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 44:
/* Line 1806 of yacc.c */
-#line 255 "parser.y"
+#line 257 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 45:
/* Line 1806 of yacc.c */
-#line 256 "parser.y"
+#line 258 "parser.y"
{ (yyval.val) = list(define_transform(parser, (yyvsp[(1) - (1)].val)), nao);
rlc(car((yyval.val)), (yyvsp[(1) - (1)].val));
rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
@@ -3468,35 +3440,35 @@ yyreduce:
case 46:
/* Line 1806 of yacc.c */
-#line 259 "parser.y"
+#line 261 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 47:
/* Line 1806 of yacc.c */
-#line 260 "parser.y"
+#line 262 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 48:
/* Line 1806 of yacc.c */
-#line 261 "parser.y"
+#line 263 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
case 49:
/* Line 1806 of yacc.c */
-#line 262 "parser.y"
+#line 264 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 50:
/* Line 1806 of yacc.c */
-#line 265 "parser.y"
+#line 267 "parser.y"
{ (yyval.val) = list(all_s, (yyvsp[(3) - (3)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -3504,7 +3476,7 @@ yyreduce:
case 51:
/* Line 1806 of yacc.c */
-#line 267 "parser.y"
+#line 269 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("all clause")); }
break;
@@ -3512,7 +3484,7 @@ yyreduce:
case 52:
/* Line 1806 of yacc.c */
-#line 272 "parser.y"
+#line 274 "parser.y"
{ (yyval.val) = list(some_s, (yyvsp[(5) - (5)].val), (yyvsp[(2) - (5)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); }
break;
@@ -3520,7 +3492,7 @@ yyreduce:
case 53:
/* Line 1806 of yacc.c */
-#line 276 "parser.y"
+#line 278 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("some clause")); }
break;
@@ -3528,7 +3500,7 @@ yyreduce:
case 54:
/* Line 1806 of yacc.c */
-#line 280 "parser.y"
+#line 282 "parser.y"
{ (yyval.val) = list(none_s, (yyvsp[(3) - (3)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -3536,7 +3508,7 @@ yyreduce:
case 55:
/* Line 1806 of yacc.c */
-#line 282 "parser.y"
+#line 284 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("none clause")); }
break;
@@ -3544,7 +3516,7 @@ yyreduce:
case 56:
/* Line 1806 of yacc.c */
-#line 286 "parser.y"
+#line 288 "parser.y"
{ (yyval.val) = list(maybe_s, (yyvsp[(3) - (3)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -3552,7 +3524,7 @@ yyreduce:
case 57:
/* Line 1806 of yacc.c */
-#line 288 "parser.y"
+#line 290 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("maybe clause")); }
break;
@@ -3560,7 +3532,7 @@ yyreduce:
case 58:
/* Line 1806 of yacc.c */
-#line 292 "parser.y"
+#line 294 "parser.y"
{ (yyval.val) = list(cases_s, (yyvsp[(3) - (3)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); }
break;
@@ -3568,7 +3540,7 @@ yyreduce:
case 59:
/* Line 1806 of yacc.c */
-#line 294 "parser.y"
+#line 296 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("cases clause")); }
break;
@@ -3576,7 +3548,7 @@ yyreduce:
case 60:
/* Line 1806 of yacc.c */
-#line 300 "parser.y"
+#line 302 "parser.y"
{ val name = first((yyvsp[(2) - (7)].val));
if (gt(length((yyvsp[(2) - (7)].val)), one))
yyerr("block: takes zero or no arguments");
@@ -3591,7 +3563,7 @@ yyreduce:
case 61:
/* Line 1806 of yacc.c */
-#line 310 "parser.y"
+#line 312 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("block clause")); }
break;
@@ -3599,7 +3571,7 @@ yyreduce:
case 62:
/* Line 1806 of yacc.c */
-#line 315 "parser.y"
+#line 317 "parser.y"
{ (yyval.val) = list(choose_s, (yyvsp[(5) - (5)].val), (yyvsp[(2) - (5)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); }
break;
@@ -3607,7 +3579,7 @@ yyreduce:
case 63:
/* Line 1806 of yacc.c */
-#line 318 "parser.y"
+#line 320 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("choose clause")); }
break;
@@ -3615,7 +3587,7 @@ yyreduce:
case 64:
/* Line 1806 of yacc.c */
-#line 324 "parser.y"
+#line 326 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (7)].val));
(yyval.val) = list(gather_s,
append2(mapcar(pa_12_1(func_n2(cons), nil),
@@ -3627,7 +3599,7 @@ yyreduce:
case 65:
/* Line 1806 of yacc.c */
-#line 335 "parser.y"
+#line 337 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (12)].val));
(yyval.val) = list(gather_s,
append2(mapcar(pa_12_1(func_n2(cons), nil),
@@ -3640,7 +3612,7 @@ yyreduce:
case 66:
/* Line 1806 of yacc.c */
-#line 344 "parser.y"
+#line 346 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("gather clause")); }
break;
@@ -3648,35 +3620,35 @@ yyreduce:
case 67:
/* Line 1806 of yacc.c */
-#line 349 "parser.y"
+#line 351 "parser.y"
{ (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); }
break;
case 68:
/* Line 1806 of yacc.c */
-#line 352 "parser.y"
+#line 354 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (3)].val); }
break;
case 69:
/* Line 1806 of yacc.c */
-#line 353 "parser.y"
+#line 355 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (3)].val); }
break;
case 70:
/* Line 1806 of yacc.c */
-#line 354 "parser.y"
+#line 356 "parser.y"
{ (yyval.val) = nil; }
break;
case 71:
/* Line 1806 of yacc.c */
-#line 358 "parser.y"
+#line 360 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (7)].val));
(yyval.val) = list(car((yyvsp[(1) - (7)].val)),
(yyvsp[(5) - (7)].val), nil, args,
@@ -3687,7 +3659,7 @@ yyreduce:
case 72:
/* Line 1806 of yacc.c */
-#line 366 "parser.y"
+#line 368 "parser.y"
{ val args = match_expand_keyword_args((yyvsp[(2) - (12)].val));
if (nilp((yyvsp[(10) - (12)].val)))
yyerr("empty until/last in collect");
@@ -3702,7 +3674,7 @@ yyreduce:
case 73:
/* Line 1806 of yacc.c */
-#line 376 "parser.y"
+#line 378 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("collect clause")); }
break;
@@ -3710,63 +3682,63 @@ yyreduce:
case 74:
/* Line 1806 of yacc.c */
-#line 380 "parser.y"
+#line 382 "parser.y"
{ (yyval.val) = cons(collect_s, num((yyvsp[(1) - (1)].lineno))); }
break;
case 75:
/* Line 1806 of yacc.c */
-#line 381 "parser.y"
+#line 383 "parser.y"
{ (yyval.val) = cons(repeat_s, num((yyvsp[(1) - (1)].lineno))); }
break;
case 76:
/* Line 1806 of yacc.c */
-#line 384 "parser.y"
+#line 386 "parser.y"
{ (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), until_s); }
break;
case 77:
/* Line 1806 of yacc.c */
-#line 385 "parser.y"
+#line 387 "parser.y"
{ (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), last_s); }
break;
case 78:
/* Line 1806 of yacc.c */
-#line 388 "parser.y"
+#line 390 "parser.y"
{ (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); }
break;
case 79:
/* Line 1806 of yacc.c */
-#line 391 "parser.y"
+#line 393 "parser.y"
{ (yyval.val) = nil; }
break;
case 80:
/* Line 1806 of yacc.c */
-#line 392 "parser.y"
+#line 394 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (3)].val); }
break;
case 81:
/* Line 1806 of yacc.c */
-#line 393 "parser.y"
+#line 395 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (3)].val); }
break;
case 82:
/* Line 1806 of yacc.c */
-#line 400 "parser.y"
+#line 402 "parser.y"
{ if (opt_compat && opt_compat <= 136)
{ val xexp = expand_meta((yyvsp[(2) - (9)].val), nil);
val req = rlc(cons(require_s, xexp), (yyvsp[(2) - (9)].val));
@@ -3791,14 +3763,14 @@ yyreduce:
case 83:
/* Line 1806 of yacc.c */
-#line 420 "parser.y"
+#line 422 "parser.y"
{ (yyval.val) = nil; yybadtok(yychar, lit("if clause")); }
break;
case 84:
/* Line 1806 of yacc.c */
-#line 425 "parser.y"
+#line 427 "parser.y"
{ if (opt_compat && opt_compat <= 136)
{ val xexp = expand_meta((yyvsp[(2) - (6)].val), nil);
val req = rlc(cons(require_s, xexp), (yyvsp[(2) - (6)].val));
@@ -3815,14 +3787,14 @@ yyreduce:
case 85:
/* Line 1806 of yacc.c */
-#line 436 "parser.y"
+#line 438 "parser.y"
{ (yyval.val) = nil; }
break;
case 86:
/* Line 1806 of yacc.c */
-#line 440 "parser.y"
+#line 442 "parser.y"
{ if (opt_compat && opt_compat <= 136)
{ (yyval.val) = (yyvsp[(3) - (3)].val); }
else
@@ -3832,35 +3804,35 @@ yyreduce:
case 87:
/* Line 1806 of yacc.c */
-#line 444 "parser.y"
+#line 446 "parser.y"
{ (yyval.val) = nil; }
break;
case 88:
/* Line 1806 of yacc.c */
-#line 447 "parser.y"
+#line 449 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (2)].val); }
break;
case 89:
/* Line 1806 of yacc.c */
-#line 450 "parser.y"
+#line 452 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 90:
/* Line 1806 of yacc.c */
-#line 451 "parser.y"
+#line 453 "parser.y"
{ (yyval.val) = nil; }
break;
case 91:
/* Line 1806 of yacc.c */
-#line 454 "parser.y"
+#line 456 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
@@ -3868,7 +3840,7 @@ yyreduce:
case 92:
/* Line 1806 of yacc.c */
-#line 456 "parser.y"
+#line 458 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
rlc((yyval.val), (yyvsp[(1) - (2)].val)); }
break;
@@ -3876,14 +3848,14 @@ yyreduce:
case 93:
/* Line 1806 of yacc.c */
-#line 461 "parser.y"
+#line 463 "parser.y"
{ (yyval.val) = rl(string_own((yyvsp[(1) - (1)].lexeme)), num(parser->lineno)); }
break;
case 94:
/* Line 1806 of yacc.c */
-#line 462 "parser.y"
+#line 464 "parser.y"
{ if ((yyvsp[(1) - (1)].lexeme)[0] == ' ' && (yyvsp[(1) - (1)].lexeme)[1] == 0)
{ val spaces = list(oneplus_s,
chr(' '), nao);
@@ -3897,7 +3869,7 @@ yyreduce:
case 95:
/* Line 1806 of yacc.c */
-#line 470 "parser.y"
+#line 472 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -3905,28 +3877,28 @@ yyreduce:
case 96:
/* Line 1806 of yacc.c */
-#line 472 "parser.y"
+#line 474 "parser.y"
{ (yyval.val) = null_string; }
break;
case 97:
/* Line 1806 of yacc.c */
-#line 475 "parser.y"
+#line 477 "parser.y"
{ (yyval.val) = rlc(cons((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); }
break;
case 98:
/* Line 1806 of yacc.c */
-#line 476 "parser.y"
+#line 478 "parser.y"
{ (yyval.val) = rlc(cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)), (yyvsp[(2) - (2)].val)); }
break;
case 99:
/* Line 1806 of yacc.c */
-#line 479 "parser.y"
+#line 481 "parser.y"
{ (yyval.val) = rlc(cons(text_s, (yyvsp[(1) - (1)].val)), (yyvsp[(1) - (1)].val));
(yyval.val) = rlc(optimize_text((yyval.val)), (yyval.val)); }
break;
@@ -3934,7 +3906,7 @@ yyreduce:
case 100:
/* Line 1806 of yacc.c */
-#line 481 "parser.y"
+#line 483 "parser.y"
{ (yyval.val) = rl((yyvsp[(1) - (1)].val), num(parser->lineno));
match_reg_elem((yyval.val)); }
break;
@@ -3942,7 +3914,7 @@ yyreduce:
case 101:
/* Line 1806 of yacc.c */
-#line 483 "parser.y"
+#line 485 "parser.y"
{ val sym = first((yyvsp[(1) - (1)].val));
if (sym == do_s || sym == require_s)
(yyval.val) = rlc(cons(sym,
@@ -3956,7 +3928,7 @@ yyreduce:
case 102:
/* Line 1806 of yacc.c */
-#line 491 "parser.y"
+#line 493 "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))); }
@@ -3965,7 +3937,7 @@ yyreduce:
case 103:
/* Line 1806 of yacc.c */
-#line 496 "parser.y"
+#line 498 "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))),
@@ -3977,7 +3949,7 @@ yyreduce:
case 104:
/* Line 1806 of yacc.c */
-#line 502 "parser.y"
+#line 504 "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))); }
@@ -3986,7 +3958,7 @@ yyreduce:
case 105:
/* Line 1806 of yacc.c */
-#line 508 "parser.y"
+#line 510 "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))),
@@ -3998,7 +3970,7 @@ yyreduce:
case 106:
/* Line 1806 of yacc.c */
-#line 514 "parser.y"
+#line 516 "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))); }
@@ -4007,7 +3979,7 @@ yyreduce:
case 107:
/* Line 1806 of yacc.c */
-#line 517 "parser.y"
+#line 519 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("coll clause")); }
break;
@@ -4015,7 +3987,7 @@ yyreduce:
case 108:
/* Line 1806 of yacc.c */
-#line 519 "parser.y"
+#line 521 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("rep clause")); }
break;
@@ -4023,7 +3995,7 @@ yyreduce:
case 109:
/* Line 1806 of yacc.c */
-#line 521 "parser.y"
+#line 523 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("rep clause")); }
break;
@@ -4031,42 +4003,42 @@ yyreduce:
case 110:
/* Line 1806 of yacc.c */
-#line 523 "parser.y"
+#line 525 "parser.y"
{ (yyval.val) = rl(list(all_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 111:
/* Line 1806 of yacc.c */
-#line 525 "parser.y"
+#line 527 "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 112:
/* Line 1806 of yacc.c */
-#line 526 "parser.y"
+#line 528 "parser.y"
{ (yyval.val) = rl(list(none_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 113:
/* Line 1806 of yacc.c */
-#line 527 "parser.y"
+#line 529 "parser.y"
{ (yyval.val) = rl(list(maybe_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 114:
/* Line 1806 of yacc.c */
-#line 528 "parser.y"
+#line 530 "parser.y"
{ (yyval.val) = rl(list(cases_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); }
break;
case 115:
/* Line 1806 of yacc.c */
-#line 530 "parser.y"
+#line 532 "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;
@@ -4074,7 +4046,7 @@ yyreduce:
case 116:
/* Line 1806 of yacc.c */
-#line 533 "parser.y"
+#line 535 "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))); }
@@ -4083,35 +4055,35 @@ yyreduce:
case 117:
/* Line 1806 of yacc.c */
-#line 538 "parser.y"
+#line 540 "parser.y"
{ (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); }
break;
case 118:
/* Line 1806 of yacc.c */
-#line 541 "parser.y"
+#line 543 "parser.y"
{ (yyval.val) = nil; }
break;
case 119:
/* Line 1806 of yacc.c */
-#line 542 "parser.y"
+#line 544 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 120:
/* Line 1806 of yacc.c */
-#line 543 "parser.y"
+#line 545 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 121:
/* Line 1806 of yacc.c */
-#line 548 "parser.y"
+#line 550 "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))); }
@@ -4120,7 +4092,7 @@ yyreduce:
case 122:
/* Line 1806 of yacc.c */
-#line 553 "parser.y"
+#line 555 "parser.y"
{ (yyval.val) = list(define_s, nil, (yyvsp[(4) - (6)].val), nao);
rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); }
break;
@@ -4128,7 +4100,7 @@ yyreduce:
case 123:
/* Line 1806 of yacc.c */
-#line 555 "parser.y"
+#line 557 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("define directive")); }
break;
@@ -4136,14 +4108,14 @@ yyreduce:
case 124:
/* Line 1806 of yacc.c */
-#line 558 "parser.y"
+#line 560 "parser.y"
{ (yyval.val) = nil; yybadtok(yychar, lit("define")); }
break;
case 125:
/* Line 1806 of yacc.c */
-#line 560 "parser.y"
+#line 562 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("define")); }
break;
@@ -4151,7 +4123,7 @@ yyreduce:
case 126:
/* Line 1806 of yacc.c */
-#line 567 "parser.y"
+#line 569 "parser.y"
{ (yyval.val) = list(try_s,
flatten(mapcar(func_n1(second),
(yyvsp[(4) - (6)].val))),
@@ -4162,7 +4134,7 @@ yyreduce:
case 127:
/* Line 1806 of yacc.c */
-#line 573 "parser.y"
+#line 575 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("try clause")); }
break;
@@ -4170,7 +4142,7 @@ yyreduce:
case 128:
/* Line 1806 of yacc.c */
-#line 579 "parser.y"
+#line 581 "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))); }
@@ -4179,7 +4151,7 @@ yyreduce:
case 129:
/* Line 1806 of yacc.c */
-#line 584 "parser.y"
+#line 586 "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));
@@ -4189,7 +4161,7 @@ yyreduce:
case 130:
/* Line 1806 of yacc.c */
-#line 589 "parser.y"
+#line 591 "parser.y"
{ (yyval.val) = cons(list(finally_s, nil,
(yyvsp[(3) - (3)].val), nao),
nil);
@@ -4199,14 +4171,14 @@ yyreduce:
case 131:
/* Line 1806 of yacc.c */
-#line 593 "parser.y"
+#line 595 "parser.y"
{ (yyval.val) = nil; }
break;
case 132:
/* Line 1806 of yacc.c */
-#line 595 "parser.y"
+#line 597 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("catch clause")); }
break;
@@ -4214,7 +4186,7 @@ yyreduce:
case 133:
/* Line 1806 of yacc.c */
-#line 598 "parser.y"
+#line 600 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("catch clause")); }
break;
@@ -4222,7 +4194,7 @@ yyreduce:
case 134:
/* Line 1806 of yacc.c */
-#line 601 "parser.y"
+#line 603 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("finally clause")); }
break;
@@ -4230,7 +4202,7 @@ yyreduce:
case 135:
/* Line 1806 of yacc.c */
-#line 608 "parser.y"
+#line 610 "parser.y"
{ (yyval.val) = nil;
yyerr("obsolete output syntax: trailing material"); }
break;
@@ -4238,21 +4210,21 @@ yyreduce:
case 136:
/* Line 1806 of yacc.c */
-#line 611 "parser.y"
+#line 613 "parser.y"
{ (yyval.val) = rl(list(output_s, nao), num((yyvsp[(1) - (5)].lineno))); }
break;
case 137:
/* Line 1806 of yacc.c */
-#line 614 "parser.y"
+#line 616 "parser.y"
{ (yyval.val) = rl(list(output_s, (yyvsp[(4) - (6)].val), nao), num((yyvsp[(1) - (6)].lineno))); }
break;
case 138:
/* Line 1806 of yacc.c */
-#line 617 "parser.y"
+#line 619 "parser.y"
{ cons_bind (dest, rest, (yyvsp[(2) - (7)].val));
val dest_ex = expand_form_ver(dest, 166);
val args = if3(dest_ex == dest,
@@ -4268,7 +4240,7 @@ yyreduce:
case 139:
/* Line 1806 of yacc.c */
-#line 629 "parser.y"
+#line 631 "parser.y"
{ (yyval.val) = nil;
yyerr("invalid combination of old and "
"new syntax in output directive"); }
@@ -4277,7 +4249,7 @@ yyreduce:
case 140:
/* Line 1806 of yacc.c */
-#line 632 "parser.y"
+#line 634 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output directive")); }
break;
@@ -4285,7 +4257,7 @@ yyreduce:
case 141:
/* Line 1806 of yacc.c */
-#line 635 "parser.y"
+#line 637 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4293,7 +4265,7 @@ yyreduce:
case 142:
/* Line 1806 of yacc.c */
-#line 638 "parser.y"
+#line 640 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4301,7 +4273,7 @@ yyreduce:
case 143:
/* Line 1806 of yacc.c */
-#line 641 "parser.y"
+#line 643 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4309,7 +4281,7 @@ yyreduce:
case 144:
/* Line 1806 of yacc.c */
-#line 644 "parser.y"
+#line 646 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("output clause")); }
break;
@@ -4317,42 +4289,42 @@ yyreduce:
case 145:
/* Line 1806 of yacc.c */
-#line 648 "parser.y"
+#line 650 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 146:
/* Line 1806 of yacc.c */
-#line 649 "parser.y"
+#line 651 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 147:
/* Line 1806 of yacc.c */
-#line 652 "parser.y"
+#line 654 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 148:
/* Line 1806 of yacc.c */
-#line 653 "parser.y"
+#line 655 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 149:
/* Line 1806 of yacc.c */
-#line 654 "parser.y"
+#line 656 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 150:
/* Line 1806 of yacc.c */
-#line 660 "parser.y"
+#line 662 "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))); }
@@ -4361,7 +4333,7 @@ yyreduce:
case 151:
/* Line 1806 of yacc.c */
-#line 664 "parser.y"
+#line 666 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("repeat clause")); }
break;
@@ -4369,7 +4341,7 @@ yyreduce:
case 152:
/* Line 1806 of yacc.c */
-#line 670 "parser.y"
+#line 672 "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;
@@ -4377,7 +4349,7 @@ yyreduce:
case 153:
/* Line 1806 of yacc.c */
-#line 674 "parser.y"
+#line 676 "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;
@@ -4385,7 +4357,7 @@ yyreduce:
case 154:
/* Line 1806 of yacc.c */
-#line 678 "parser.y"
+#line 680 "parser.y"
{ if ((yyvsp[(2) - (6)].val))
yyerrorf(scnr,
lit("last: in output, "
@@ -4398,7 +4370,7 @@ yyreduce:
case 155:
/* Line 1806 of yacc.c */
-#line 687 "parser.y"
+#line 689 "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;
@@ -4406,7 +4378,7 @@ yyreduce:
case 156:
/* Line 1806 of yacc.c */
-#line 692 "parser.y"
+#line 694 "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));
@@ -4416,7 +4388,7 @@ yyreduce:
case 157:
/* Line 1806 of yacc.c */
-#line 699 "parser.y"
+#line 701 "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));
@@ -4426,14 +4398,14 @@ yyreduce:
case 158:
/* Line 1806 of yacc.c */
-#line 703 "parser.y"
+#line 705 "parser.y"
{ (yyval.val) = nil; }
break;
case 159:
/* Line 1806 of yacc.c */
-#line 710 "parser.y"
+#line 712 "parser.y"
{ val expr = expand((yyvsp[(2) - (9)].val), nil);
val ifs = (yyvsp[(5) - (9)].val);
val branch = cons(cons(expr, ifs), nil);
@@ -4447,7 +4419,7 @@ yyreduce:
case 160:
/* Line 1806 of yacc.c */
-#line 719 "parser.y"
+#line 721 "parser.y"
{ (yyval.val) = nil;
yyerr("if requires expression"); }
break;
@@ -4455,14 +4427,14 @@ yyreduce:
case 161:
/* Line 1806 of yacc.c */
-#line 722 "parser.y"
+#line 724 "parser.y"
{ (yyval.val) = nil; yybadtok(yychar, lit("if clause")); }
break;
case 162:
/* Line 1806 of yacc.c */
-#line 728 "parser.y"
+#line 730 "parser.y"
{ val expr = expand(car((yyvsp[(2) - (6)].val)), nil);
val elifs = (yyvsp[(5) - (6)].val);
val branch = cons(cons(expr, elifs), nil);
@@ -4476,49 +4448,49 @@ yyreduce:
case 163:
/* Line 1806 of yacc.c */
-#line 736 "parser.y"
+#line 738 "parser.y"
{ (yyval.val) = nil; }
break;
case 164:
/* Line 1806 of yacc.c */
-#line 741 "parser.y"
+#line 743 "parser.y"
{ (yyval.val) = cons(cons(t, (yyvsp[(3) - (3)].val)), nil); }
break;
case 165:
/* Line 1806 of yacc.c */
-#line 742 "parser.y"
+#line 744 "parser.y"
{ (yyval.val) = nil; }
break;
case 166:
/* Line 1806 of yacc.c */
-#line 745 "parser.y"
+#line 747 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 167:
/* Line 1806 of yacc.c */
-#line 746 "parser.y"
+#line 748 "parser.y"
{ (yyval.val) = nil; }
break;
case 168:
/* Line 1806 of yacc.c */
-#line 748 "parser.y"
+#line 750 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (2)].val); }
break;
case 169:
/* Line 1806 of yacc.c */
-#line 751 "parser.y"
+#line 753 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4526,42 +4498,42 @@ yyreduce:
case 170:
/* Line 1806 of yacc.c */
-#line 753 "parser.y"
+#line 755 "parser.y"
{ (yyval.val) = nil; }
break;
case 171:
/* Line 1806 of yacc.c */
-#line 756 "parser.y"
+#line 758 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 172:
/* Line 1806 of yacc.c */
-#line 757 "parser.y"
+#line 759 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 173:
/* Line 1806 of yacc.c */
-#line 758 "parser.y"
+#line 760 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 174:
/* Line 1806 of yacc.c */
-#line 759 "parser.y"
+#line 761 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 175:
/* Line 1806 of yacc.c */
-#line 762 "parser.y"
+#line 764 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4569,7 +4541,7 @@ yyreduce:
case 176:
/* Line 1806 of yacc.c */
-#line 764 "parser.y"
+#line 766 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4577,14 +4549,14 @@ yyreduce:
case 177:
/* Line 1806 of yacc.c */
-#line 766 "parser.y"
+#line 768 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 178:
/* Line 1806 of yacc.c */
-#line 767 "parser.y"
+#line 769 "parser.y"
{ (yyval.val) = rlc(list(expr_s,
expand((yyvsp[(1) - (1)].val), nil), nao), (yyvsp[(1) - (1)].val)); }
break;
@@ -4592,14 +4564,14 @@ yyreduce:
case 179:
/* Line 1806 of yacc.c */
-#line 769 "parser.y"
+#line 771 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 180:
/* Line 1806 of yacc.c */
-#line 773 "parser.y"
+#line 775 "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;
@@ -4607,7 +4579,7 @@ yyreduce:
case 181:
/* Line 1806 of yacc.c */
-#line 775 "parser.y"
+#line 777 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("rep clause")); }
break;
@@ -4615,7 +4587,7 @@ yyreduce:
case 182:
/* Line 1806 of yacc.c */
-#line 780 "parser.y"
+#line 782 "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;
@@ -4623,7 +4595,7 @@ yyreduce:
case 183:
/* Line 1806 of yacc.c */
-#line 783 "parser.y"
+#line 785 "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;
@@ -4631,7 +4603,7 @@ yyreduce:
case 184:
/* Line 1806 of yacc.c */
-#line 786 "parser.y"
+#line 788 "parser.y"
{ if ((yyvsp[(2) - (5)].val))
yyerrorf(scnr,
lit("last: in output, "
@@ -4644,7 +4616,7 @@ yyreduce:
case 185:
/* Line 1806 of yacc.c */
-#line 794 "parser.y"
+#line 796 "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;
@@ -4652,7 +4624,7 @@ yyreduce:
case 186:
/* Line 1806 of yacc.c */
-#line 798 "parser.y"
+#line 800 "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));
@@ -4662,7 +4634,7 @@ yyreduce:
case 187:
/* Line 1806 of yacc.c */
-#line 804 "parser.y"
+#line 806 "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));
@@ -4672,49 +4644,49 @@ yyreduce:
case 188:
/* Line 1806 of yacc.c */
-#line 808 "parser.y"
+#line 810 "parser.y"
{ (yyval.val) = nil; }
break;
case 189:
/* Line 1806 of yacc.c */
-#line 815 "parser.y"
+#line 817 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(1) - (1)].lexeme), nil), nao); }
break;
case 190:
/* Line 1806 of yacc.c */
-#line 816 "parser.y"
+#line 818 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (3)].lexeme), nil), nao); }
break;
case 191:
/* Line 1806 of yacc.c */
-#line 817 "parser.y"
+#line 819 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (4)].lexeme), nil), (yyvsp[(3) - (4)].val), nao); }
break;
case 192:
/* Line 1806 of yacc.c */
-#line 818 "parser.y"
+#line 820 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (2)].lexeme), nil), (yyvsp[(1) - (2)].val), nao); }
break;
case 193:
/* Line 1806 of yacc.c */
-#line 819 "parser.y"
+#line 821 "parser.y"
{ (yyval.val) = list(var_s, symhlpr((yyvsp[(3) - (4)].lexeme), nil), (yyvsp[(1) - (4)].val), nao); }
break;
case 194:
/* Line 1806 of yacc.c */
-#line 820 "parser.y"
+#line 822 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(3) - (5)].lexeme));
yyerr("longest match "
@@ -4724,7 +4696,7 @@ yyreduce:
case 195:
/* Line 1806 of yacc.c */
-#line 824 "parser.y"
+#line 826 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(3) - (5)].lexeme));
yyerr("longest match "
@@ -4735,7 +4707,7 @@ yyreduce:
case 196:
/* Line 1806 of yacc.c */
-#line 829 "parser.y"
+#line 831 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(1) - (2)].lexeme));
yybadtok(yychar, lit("variable spec")); }
@@ -4744,7 +4716,7 @@ yyreduce:
case 197:
/* Line 1806 of yacc.c */
-#line 832 "parser.y"
+#line 834 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("variable spec")); }
break;
@@ -4752,21 +4724,21 @@ yyreduce:
case 198:
/* Line 1806 of yacc.c */
-#line 836 "parser.y"
+#line 838 "parser.y"
{ (yyval.val) = list(t, nao); }
break;
case 199:
/* Line 1806 of yacc.c */
-#line 839 "parser.y"
+#line 841 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 200:
/* Line 1806 of yacc.c */
-#line 840 "parser.y"
+#line 842 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rlc((yyval.val), (yyvsp[(1) - (1)].val)); }
break;
@@ -4774,7 +4746,7 @@ yyreduce:
case 201:
/* Line 1806 of yacc.c */
-#line 842 "parser.y"
+#line 844 "parser.y"
{ (yyval.val) = rlc(cons(expand_meta((yyvsp[(1) - (1)].val), nil),
nil), (yyvsp[(1) - (1)].val)); }
break;
@@ -4782,14 +4754,14 @@ yyreduce:
case 202:
/* Line 1806 of yacc.c */
-#line 844 "parser.y"
+#line 846 "parser.y"
{ (yyval.val) = cons(symhlpr((yyvsp[(1) - (1)].lexeme), nil), nil); }
break;
case 203:
/* Line 1806 of yacc.c */
-#line 847 "parser.y"
+#line 849 "parser.y"
{ val expr = symhlpr((yyvsp[(1) - (1)].lexeme), nil);
if (!opt_compat || opt_compat > 128)
expr = expand(expr, nil);
@@ -4800,7 +4772,7 @@ yyreduce:
case 204:
/* Line 1806 of yacc.c */
-#line 853 "parser.y"
+#line 855 "parser.y"
{ if (opt_compat && opt_compat <= 128)
{ (yyval.val) = list(var_s,
expand_meta((yyvsp[(2) - (4)].val), nil),
@@ -4814,7 +4786,7 @@ yyreduce:
case 205:
/* Line 1806 of yacc.c */
-#line 861 "parser.y"
+#line 863 "parser.y"
{ (yyval.val) = nil;
free((yyvsp[(1) - (2)].lexeme));
yybadtok(yychar, lit("variable spec")); }
@@ -4823,7 +4795,7 @@ yyreduce:
case 206:
/* Line 1806 of yacc.c */
-#line 867 "parser.y"
+#line 869 "parser.y"
{ (yyval.val) = list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), nao);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -4831,7 +4803,7 @@ yyreduce:
case 207:
/* Line 1806 of yacc.c */
-#line 869 "parser.y"
+#line 871 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("variable spec")); }
break;
@@ -4839,7 +4811,7 @@ yyreduce:
case 208:
/* Line 1806 of yacc.c */
-#line 874 "parser.y"
+#line 876 "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));
@@ -4850,7 +4822,7 @@ yyreduce:
case 209:
/* Line 1806 of yacc.c */
-#line 879 "parser.y"
+#line 881 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("unassigned/reserved # notation")); }
break;
@@ -4858,7 +4830,7 @@ yyreduce:
case 210:
/* Line 1806 of yacc.c */
-#line 883 "parser.y"
+#line 885 "parser.y"
{ if (parser->quasi_level > 0 && unquotes_occur((yyvsp[(2) - (2)].val), 0))
(yyval.val) = rl(cons(hash_lit_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno)));
else
@@ -4870,7 +4842,7 @@ yyreduce:
case 211:
/* Line 1806 of yacc.c */
-#line 889 "parser.y"
+#line 891 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("hash literal")); }
break;
@@ -4878,7 +4850,7 @@ yyreduce:
case 212:
/* Line 1806 of yacc.c */
-#line 893 "parser.y"
+#line 895 "parser.y"
{ if (parser->quasi_level > 0 && unquotes_occur((yyvsp[(2) - (2)].val), 0))
(yyval.val) = rl(cons(struct_lit_s, (yyvsp[(2) - (2)].val)),
num((yyvsp[(1) - (2)].lineno)));
@@ -4891,7 +4863,7 @@ yyreduce:
case 213:
/* Line 1806 of yacc.c */
-#line 900 "parser.y"
+#line 902 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("struct literal")); }
break;
@@ -4899,7 +4871,7 @@ yyreduce:
case 214:
/* Line 1806 of yacc.c */
-#line 904 "parser.y"
+#line 906 "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)));
@@ -4909,7 +4881,7 @@ yyreduce:
case 215:
/* Line 1806 of yacc.c */
-#line 908 "parser.y"
+#line 910 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("range literal")); }
break;
@@ -4917,7 +4889,7 @@ yyreduce:
case 216:
/* Line 1806 of yacc.c */
-#line 912 "parser.y"
+#line 914 "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)),
@@ -4928,7 +4900,7 @@ yyreduce:
case 217:
/* Line 1806 of yacc.c */
-#line 917 "parser.y"
+#line 919 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("tree node literal")); }
break;
@@ -4936,7 +4908,7 @@ yyreduce:
case 218:
/* Line 1806 of yacc.c */
-#line 921 "parser.y"
+#line 923 "parser.y"
{ if (parser->quasi_level > 0 && unquotes_occur((yyvsp[(2) - (2)].val), 0))
(yyval.val) = rl(cons(tree_lit_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno)));
else
@@ -4955,7 +4927,7 @@ yyreduce:
case 219:
/* Line 1806 of yacc.c */
-#line 934 "parser.y"
+#line 936 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("tree node literal")); }
break;
@@ -4963,14 +4935,14 @@ yyreduce:
case 220:
/* Line 1806 of yacc.c */
-#line 938 "parser.y"
+#line 940 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (3)].val), num((yyvsp[(1) - (3)].lineno))); }
break;
case 221:
/* Line 1806 of yacc.c */
-#line 939 "parser.y"
+#line 941 "parser.y"
{ val a = car((yyvsp[(3) - (4)].val));
val ur = uref_helper(parser, a);
if (ur == a)
@@ -4982,28 +4954,28 @@ yyreduce:
case 222:
/* Line 1806 of yacc.c */
-#line 945 "parser.y"
+#line 947 "parser.y"
{ (yyval.val) = nil; }
break;
case 223:
/* Line 1806 of yacc.c */
-#line 946 "parser.y"
+#line 948 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (4)].val); }
break;
case 224:
/* Line 1806 of yacc.c */
-#line 947 "parser.y"
+#line 949 "parser.y"
{ (yyval.val) = (yyvsp[(3) - (4)].val); }
break;
case 225:
/* Line 1806 of yacc.c */
-#line 948 "parser.y"
+#line 950 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("expression")); }
break;
@@ -5011,7 +4983,7 @@ yyreduce:
case 226:
/* Line 1806 of yacc.c */
-#line 952 "parser.y"
+#line 954 "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
@@ -5022,7 +4994,7 @@ yyreduce:
case 227:
/* Line 1806 of yacc.c */
-#line 957 "parser.y"
+#line 959 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("meta expression")); }
break;
@@ -5030,7 +5002,7 @@ yyreduce:
case 228:
/* Line 1806 of yacc.c */
-#line 961 "parser.y"
+#line 963 "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
@@ -5041,7 +5013,7 @@ yyreduce:
case 229:
/* Line 1806 of yacc.c */
-#line 966 "parser.y"
+#line 968 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("meta expression")); }
break;
@@ -5049,7 +5021,7 @@ yyreduce:
case 230:
/* Line 1806 of yacc.c */
-#line 970 "parser.y"
+#line 972 "parser.y"
{ val a = car((yyvsp[(3) - (4)].val));
val ur = uref_helper(parser, a);
(yyval.val) = rlcp_tree(cons(dwim_s,
@@ -5059,21 +5031,21 @@ yyreduce:
case 231:
/* Line 1806 of yacc.c */
-#line 974 "parser.y"
+#line 976 "parser.y"
{ (yyval.val) = rl(cons(dwim_s, (yyvsp[(2) - (3)].val)), num((yyvsp[(1) - (3)].lineno))); }
break;
case 232:
/* Line 1806 of yacc.c */
-#line 975 "parser.y"
+#line 977 "parser.y"
{ (yyval.val) = rl(cons(dwim_s, nil), num((yyvsp[(1) - (2)].lineno))); }
break;
case 233:
/* Line 1806 of yacc.c */
-#line 976 "parser.y"
+#line 978 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("DWIM expression")); }
break;
@@ -5081,28 +5053,28 @@ yyreduce:
case 237:
/* Line 1806 of yacc.c */
-#line 985 "parser.y"
+#line 987 "parser.y"
{ (yyval.val) = rlc(expand_meta((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); }
break;
case 238:
/* Line 1806 of yacc.c */
-#line 988 "parser.y"
+#line 990 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 239:
/* Line 1806 of yacc.c */
-#line 989 "parser.y"
+#line 991 "parser.y"
{ (yyval.val) = nil; }
break;
case 240:
/* Line 1806 of yacc.c */
-#line 992 "parser.y"
+#line 994 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val)->c.cdr;
(yyvsp[(1) - (1)].val)->c.cdr = nil; }
break;
@@ -5110,7 +5082,7 @@ yyreduce:
case 241:
/* Line 1806 of yacc.c */
-#line 995 "parser.y"
+#line 997 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (3)].val)->c.cdr;
(yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); }
break;
@@ -5118,7 +5090,7 @@ yyreduce:
case 242:
/* Line 1806 of yacc.c */
-#line 999 "parser.y"
+#line 1001 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rlc((yyval.val), (yyvsp[(1) - (1)].val));
(yyval.val)->c.cdr = (yyval.val); }
@@ -5127,14 +5099,14 @@ yyreduce:
case 243:
/* Line 1806 of yacc.c */
-#line 1002 "parser.y"
+#line 1004 "parser.y"
{ parser->ignore = 1; }
break;
case 244:
/* Line 1806 of yacc.c */
-#line 1003 "parser.y"
+#line 1005 "parser.y"
{ parser->ignore = 0;
(yyval.val) = cons(nil, nil);
(yyval.val)->c.cdr = (yyval.val); }
@@ -5143,14 +5115,14 @@ yyreduce:
case 245:
/* Line 1806 of yacc.c */
-#line 1006 "parser.y"
+#line 1008 "parser.y"
{ parser->ignore = 1; }
break;
case 246:
/* Line 1806 of yacc.c */
-#line 1007 "parser.y"
+#line 1009 "parser.y"
{ parser->ignore = 0;
(yyval.val) = (yyvsp[(1) - (4)].val); }
break;
@@ -5158,7 +5130,7 @@ yyreduce:
case 247:
/* Line 1806 of yacc.c */
-#line 1009 "parser.y"
+#line 1011 "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); }
@@ -5167,7 +5139,7 @@ yyreduce:
case 248:
/* Line 1806 of yacc.c */
-#line 1012 "parser.y"
+#line 1014 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); }
break;
@@ -5175,7 +5147,7 @@ yyreduce:
case 249:
/* Line 1806 of yacc.c */
-#line 1015 "parser.y"
+#line 1017 "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); }
@@ -5184,7 +5156,7 @@ yyreduce:
case 250:
/* Line 1806 of yacc.c */
-#line 1018 "parser.y"
+#line 1020 "parser.y"
{ (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))));
(yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); }
break;
@@ -5192,7 +5164,7 @@ yyreduce:
case 251:
/* Line 1806 of yacc.c */
-#line 1021 "parser.y"
+#line 1023 "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); }
@@ -5201,14 +5173,14 @@ yyreduce:
case 252:
/* Line 1806 of yacc.c */
-#line 1026 "parser.y"
+#line 1028 "parser.y"
{ (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); }
break;
case 253:
/* Line 1806 of yacc.c */
-#line 1027 "parser.y"
+#line 1029 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5216,112 +5188,112 @@ yyreduce:
case 254:
/* Line 1806 of yacc.c */
-#line 1029 "parser.y"
+#line 1031 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 255:
/* Line 1806 of yacc.c */
-#line 1030 "parser.y"
+#line 1032 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 256:
/* Line 1806 of yacc.c */
-#line 1031 "parser.y"
+#line 1033 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 257:
/* Line 1806 of yacc.c */
-#line 1032 "parser.y"
+#line 1034 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 258:
/* Line 1806 of yacc.c */
-#line 1033 "parser.y"
+#line 1035 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 259:
/* Line 1806 of yacc.c */
-#line 1034 "parser.y"
+#line 1036 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 260:
/* Line 1806 of yacc.c */
-#line 1035 "parser.y"
+#line 1037 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 261:
/* Line 1806 of yacc.c */
-#line 1036 "parser.y"
+#line 1038 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 262:
/* Line 1806 of yacc.c */
-#line 1037 "parser.y"
+#line 1039 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 263:
/* Line 1806 of yacc.c */
-#line 1038 "parser.y"
+#line 1040 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 264:
/* Line 1806 of yacc.c */
-#line 1039 "parser.y"
+#line 1041 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 265:
/* Line 1806 of yacc.c */
-#line 1040 "parser.y"
+#line 1042 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 266:
/* Line 1806 of yacc.c */
-#line 1041 "parser.y"
+#line 1043 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); }
break;
case 267:
/* Line 1806 of yacc.c */
-#line 1042 "parser.y"
+#line 1044 "parser.y"
{ (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); }
break;
case 268:
/* Line 1806 of yacc.c */
-#line 1043 "parser.y"
+#line 1045 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 269:
/* Line 1806 of yacc.c */
-#line 1044 "parser.y"
+#line 1046 "parser.y"
{ (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)),
num(parser->lineno)); }
break;
@@ -5329,14 +5301,14 @@ yyreduce:
case 270:
/* Line 1806 of yacc.c */
-#line 1046 "parser.y"
+#line 1048 "parser.y"
{ parser->quasi_level++; }
break;
case 271:
/* Line 1806 of yacc.c */
-#line 1047 "parser.y"
+#line 1049 "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)); }
@@ -5345,14 +5317,14 @@ yyreduce:
case 272:
/* Line 1806 of yacc.c */
-#line 1050 "parser.y"
+#line 1052 "parser.y"
{ parser->quasi_level--; }
break;
case 273:
/* Line 1806 of yacc.c */
-#line 1051 "parser.y"
+#line 1053 "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)); }
@@ -5361,14 +5333,14 @@ yyreduce:
case 274:
/* Line 1806 of yacc.c */
-#line 1054 "parser.y"
+#line 1056 "parser.y"
{ parser->quasi_level--; }
break;
case 275:
/* Line 1806 of yacc.c */
-#line 1055 "parser.y"
+#line 1057 "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)); }
@@ -5377,14 +5349,14 @@ yyreduce:
case 276:
/* Line 1806 of yacc.c */
-#line 1058 "parser.y"
+#line 1060 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 277:
/* Line 1806 of yacc.c */
-#line 1059 "parser.y"
+#line 1061 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -5392,35 +5364,35 @@ yyreduce:
case 278:
/* Line 1806 of yacc.c */
-#line 1061 "parser.y"
+#line 1063 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 279:
/* Line 1806 of yacc.c */
-#line 1064 "parser.y"
+#line 1066 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 280:
/* Line 1806 of yacc.c */
-#line 1065 "parser.y"
+#line 1067 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 281:
/* Line 1806 of yacc.c */
-#line 1067 "parser.y"
+#line 1069 "parser.y"
{ (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); }
break;
case 282:
/* Line 1806 of yacc.c */
-#line 1068 "parser.y"
+#line 1070 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -5428,112 +5400,112 @@ yyreduce:
case 283:
/* Line 1806 of yacc.c */
-#line 1070 "parser.y"
+#line 1072 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 284:
/* Line 1806 of yacc.c */
-#line 1071 "parser.y"
+#line 1073 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 285:
/* Line 1806 of yacc.c */
-#line 1072 "parser.y"
+#line 1074 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 286:
/* Line 1806 of yacc.c */
-#line 1073 "parser.y"
+#line 1075 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 287:
/* Line 1806 of yacc.c */
-#line 1074 "parser.y"
+#line 1076 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 288:
/* Line 1806 of yacc.c */
-#line 1075 "parser.y"
+#line 1077 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 289:
/* Line 1806 of yacc.c */
-#line 1076 "parser.y"
+#line 1078 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 290:
/* Line 1806 of yacc.c */
-#line 1077 "parser.y"
+#line 1079 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 291:
/* Line 1806 of yacc.c */
-#line 1078 "parser.y"
+#line 1080 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 292:
/* Line 1806 of yacc.c */
-#line 1079 "parser.y"
+#line 1081 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 293:
/* Line 1806 of yacc.c */
-#line 1080 "parser.y"
+#line 1082 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 294:
/* Line 1806 of yacc.c */
-#line 1081 "parser.y"
+#line 1083 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 295:
/* Line 1806 of yacc.c */
-#line 1082 "parser.y"
+#line 1084 "parser.y"
{ (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); }
break;
case 296:
/* Line 1806 of yacc.c */
-#line 1083 "parser.y"
+#line 1085 "parser.y"
{ (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); }
break;
case 297:
/* Line 1806 of yacc.c */
-#line 1084 "parser.y"
+#line 1086 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 298:
/* Line 1806 of yacc.c */
-#line 1085 "parser.y"
+#line 1087 "parser.y"
{ (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)),
num(parser->lineno)); }
break;
@@ -5541,14 +5513,14 @@ yyreduce:
case 299:
/* Line 1806 of yacc.c */
-#line 1087 "parser.y"
+#line 1089 "parser.y"
{ parser->quasi_level++; }
break;
case 300:
/* Line 1806 of yacc.c */
-#line 1088 "parser.y"
+#line 1090 "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)); }
@@ -5557,14 +5529,14 @@ yyreduce:
case 301:
/* Line 1806 of yacc.c */
-#line 1091 "parser.y"
+#line 1093 "parser.y"
{ parser->quasi_level--; }
break;
case 302:
/* Line 1806 of yacc.c */
-#line 1092 "parser.y"
+#line 1094 "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)); }
@@ -5573,14 +5545,14 @@ yyreduce:
case 303:
/* Line 1806 of yacc.c */
-#line 1095 "parser.y"
+#line 1097 "parser.y"
{ parser->quasi_level--; }
break;
case 304:
/* Line 1806 of yacc.c */
-#line 1096 "parser.y"
+#line 1098 "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)); }
@@ -5589,7 +5561,7 @@ yyreduce:
case 305:
/* Line 1806 of yacc.c */
-#line 1099 "parser.y"
+#line 1101 "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))); }
@@ -5598,7 +5570,7 @@ yyreduce:
case 306:
/* Line 1806 of yacc.c */
-#line 1103 "parser.y"
+#line 1105 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val),
uref_helper(parser, (yyvsp[(4) - (4)].val)),
@@ -5609,7 +5581,7 @@ yyreduce:
case 307:
/* Line 1806 of yacc.c */
-#line 1109 "parser.y"
+#line 1111 "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))); }
@@ -5618,7 +5590,7 @@ yyreduce:
case 308:
/* Line 1806 of yacc.c */
-#line 1113 "parser.y"
+#line 1115 "parser.y"
{ uses_or2;
(yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val),
uref_helper(parser, (yyvsp[(4) - (4)].val)),
@@ -5629,14 +5601,14 @@ yyreduce:
case 309:
/* Line 1806 of yacc.c */
-#line 1118 "parser.y"
+#line 1120 "parser.y"
{ (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); }
break;
case 310:
/* Line 1806 of yacc.c */
-#line 1119 "parser.y"
+#line 1121 "parser.y"
{ (yyval.val) = qref_helper(parser,
cons(t, cons((yyvsp[(1) - (3)].val), nil)),
(yyvsp[(3) - (3)].val)); }
@@ -5645,28 +5617,28 @@ yyreduce:
case 311:
/* Line 1806 of yacc.c */
-#line 1122 "parser.y"
+#line 1124 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 312:
/* Line 1806 of yacc.c */
-#line 1123 "parser.y"
+#line 1125 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 313:
/* Line 1806 of yacc.c */
-#line 1124 "parser.y"
+#line 1126 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); }
break;
case 314:
/* Line 1806 of yacc.c */
-#line 1125 "parser.y"
+#line 1127 "parser.y"
{ parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = (yyvsp[(3) - (3)].val); }
break;
@@ -5674,49 +5646,49 @@ yyreduce:
case 315:
/* Line 1806 of yacc.c */
-#line 1127 "parser.y"
+#line 1129 "parser.y"
{ (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); }
break;
case 316:
/* Line 1806 of yacc.c */
-#line 1130 "parser.y"
+#line 1132 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 317:
/* Line 1806 of yacc.c */
-#line 1131 "parser.y"
+#line 1133 "parser.y"
{ (yyval.val) = nil; }
break;
case 318:
/* Line 1806 of yacc.c */
-#line 1134 "parser.y"
+#line 1136 "parser.y"
{ (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 319:
/* Line 1806 of yacc.c */
-#line 1135 "parser.y"
+#line 1137 "parser.y"
{ (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); }
break;
case 320:
/* Line 1806 of yacc.c */
-#line 1136 "parser.y"
+#line 1138 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 321:
/* Line 1806 of yacc.c */
-#line 1139 "parser.y"
+#line 1141 "parser.y"
{ (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil);
end_of_regex(scnr);
rl((yyval.val), num(parser->lineno)); }
@@ -5725,7 +5697,7 @@ yyreduce:
case 322:
/* Line 1806 of yacc.c */
-#line 1142 "parser.y"
+#line 1144 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex"));
end_of_regex(scnr); }
@@ -5734,7 +5706,7 @@ yyreduce:
case 323:
/* Line 1806 of yacc.c */
-#line 1148 "parser.y"
+#line 1150 "parser.y"
{ (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil);
end_of_regex(scnr);
rl((yyval.val), num(parser->lineno)); }
@@ -5743,7 +5715,7 @@ yyreduce:
case 324:
/* Line 1806 of yacc.c */
-#line 1152 "parser.y"
+#line 1154 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex"));
end_of_regex(scnr); }
@@ -5752,7 +5724,7 @@ yyreduce:
case 325:
/* Line 1806 of yacc.c */
-#line 1157 "parser.y"
+#line 1159 "parser.y"
{ (yyval.val) = if3(cdr((yyvsp[(1) - (1)].val)),
cons(compound_s, (yyvsp[(1) - (1)].val)),
car((yyvsp[(1) - (1)].val))); }
@@ -5761,84 +5733,84 @@ yyreduce:
case 326:
/* Line 1806 of yacc.c */
-#line 1160 "parser.y"
+#line 1162 "parser.y"
{ (yyval.val) = list(or_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 327:
/* Line 1806 of yacc.c */
-#line 1161 "parser.y"
+#line 1163 "parser.y"
{ (yyval.val) = list(and_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 328:
/* Line 1806 of yacc.c */
-#line 1162 "parser.y"
+#line 1164 "parser.y"
{ (yyval.val) = list(compl_s, (yyvsp[(2) - (2)].val), nao); }
break;
case 329:
/* Line 1806 of yacc.c */
-#line 1163 "parser.y"
+#line 1165 "parser.y"
{ (yyval.val) = nil; }
break;
case 330:
/* Line 1806 of yacc.c */
-#line 1166 "parser.y"
+#line 1168 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 331:
/* Line 1806 of yacc.c */
-#line 1167 "parser.y"
+#line 1169 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 332:
/* Line 1806 of yacc.c */
-#line 1168 "parser.y"
+#line 1170 "parser.y"
{ (yyval.val) = list((yyvsp[(1) - (3)].val), list(compl_s, (yyvsp[(3) - (3)].val), nao), nao); }
break;
case 333:
/* Line 1806 of yacc.c */
-#line 1171 "parser.y"
+#line 1173 "parser.y"
{ (yyval.val) = list(zeroplus_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 334:
/* Line 1806 of yacc.c */
-#line 1172 "parser.y"
+#line 1174 "parser.y"
{ (yyval.val) = list(oneplus_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 335:
/* Line 1806 of yacc.c */
-#line 1173 "parser.y"
+#line 1175 "parser.y"
{ (yyval.val) = list(optional_s, (yyvsp[(1) - (2)].val), nao); }
break;
case 336:
/* Line 1806 of yacc.c */
-#line 1174 "parser.y"
+#line 1176 "parser.y"
{ (yyval.val) = list(nongreedy_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); }
break;
case 337:
/* Line 1806 of yacc.c */
-#line 1175 "parser.y"
+#line 1177 "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)));
@@ -5851,14 +5823,14 @@ yyreduce:
case 338:
/* Line 1806 of yacc.c */
-#line 1182 "parser.y"
+#line 1184 "parser.y"
{ (yyval.val) = cons(set_s, nil); }
break;
case 339:
/* Line 1806 of yacc.c */
-#line 1183 "parser.y"
+#line 1185 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex character class")); }
break;
@@ -5866,56 +5838,56 @@ yyreduce:
case 340:
/* Line 1806 of yacc.c */
-#line 1185 "parser.y"
+#line 1187 "parser.y"
{ (yyval.val) = wild_s; }
break;
case 341:
/* Line 1806 of yacc.c */
-#line 1186 "parser.y"
+#line 1188 "parser.y"
{ (yyval.val) = chr(']'); }
break;
case 342:
/* Line 1806 of yacc.c */
-#line 1187 "parser.y"
+#line 1189 "parser.y"
{ (yyval.val) = chr('-'); }
break;
case 343:
/* Line 1806 of yacc.c */
-#line 1188 "parser.y"
+#line 1190 "parser.y"
{ (yyval.val) = chr((yyvsp[(1) - (1)].chr)); }
break;
case 344:
/* Line 1806 of yacc.c */
-#line 1189 "parser.y"
+#line 1191 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 345:
/* Line 1806 of yacc.c */
-#line 1190 "parser.y"
+#line 1192 "parser.y"
{ (yyval.val) = list(compound_s, string_own((yyvsp[(1) - (1)].lexeme)), nao); }
break;
case 346:
/* Line 1806 of yacc.c */
-#line 1191 "parser.y"
+#line 1193 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val); }
break;
case 347:
/* Line 1806 of yacc.c */
-#line 1192 "parser.y"
+#line 1194 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("regex subexpression")); }
break;
@@ -5923,133 +5895,133 @@ yyreduce:
case 348:
/* Line 1806 of yacc.c */
-#line 1196 "parser.y"
+#line 1198 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); }
break;
case 349:
/* Line 1806 of yacc.c */
-#line 1197 "parser.y"
+#line 1199 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); }
break;
case 350:
/* Line 1806 of yacc.c */
-#line 1200 "parser.y"
+#line 1202 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 351:
/* Line 1806 of yacc.c */
-#line 1201 "parser.y"
+#line 1203 "parser.y"
{ (yyval.val) = chr((yyvsp[(1) - (1)].chr)); }
break;
case 352:
/* Line 1806 of yacc.c */
-#line 1202 "parser.y"
+#line 1204 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 353:
/* Line 1806 of yacc.c */
-#line 1205 "parser.y"
+#line 1207 "parser.y"
{ (yyval.val) = cons(chr((yyvsp[(1) - (3)].chr)), chr((yyvsp[(3) - (3)].chr))); }
break;
case 354:
/* Line 1806 of yacc.c */
-#line 1207 "parser.y"
+#line 1209 "parser.y"
{ (yyval.chr) = '?'; }
break;
case 355:
/* Line 1806 of yacc.c */
-#line 1208 "parser.y"
+#line 1210 "parser.y"
{ (yyval.chr) = '.'; }
break;
case 356:
/* Line 1806 of yacc.c */
-#line 1209 "parser.y"
+#line 1211 "parser.y"
{ (yyval.chr) = '*'; }
break;
case 357:
/* Line 1806 of yacc.c */
-#line 1210 "parser.y"
+#line 1212 "parser.y"
{ (yyval.chr) = '+'; }
break;
case 358:
/* Line 1806 of yacc.c */
-#line 1211 "parser.y"
+#line 1213 "parser.y"
{ (yyval.chr) = '('; }
break;
case 359:
/* Line 1806 of yacc.c */
-#line 1212 "parser.y"
+#line 1214 "parser.y"
{ (yyval.chr) = ')'; }
break;
case 360:
/* Line 1806 of yacc.c */
-#line 1213 "parser.y"
+#line 1215 "parser.y"
{ (yyval.chr) = '|'; }
break;
case 361:
/* Line 1806 of yacc.c */
-#line 1214 "parser.y"
+#line 1216 "parser.y"
{ (yyval.chr) = '~'; }
break;
case 362:
/* Line 1806 of yacc.c */
-#line 1215 "parser.y"
+#line 1217 "parser.y"
{ (yyval.chr) = '&'; }
break;
case 363:
/* Line 1806 of yacc.c */
-#line 1216 "parser.y"
+#line 1218 "parser.y"
{ (yyval.chr) = '%'; }
break;
case 364:
/* Line 1806 of yacc.c */
-#line 1217 "parser.y"
+#line 1219 "parser.y"
{ (yyval.chr) = '/'; }
break;
case 365:
/* Line 1806 of yacc.c */
-#line 1218 "parser.y"
+#line 1220 "parser.y"
{ (yyval.chr) = (yyvsp[(1) - (1)].chr); }
break;
case 366:
/* Line 1806 of yacc.c */
-#line 1221 "parser.y"
+#line 1223 "parser.y"
{ switch ((yyvsp[(1) - (1)].chr))
{ case 's':
(yyval.val) = space_k; break;
@@ -6068,7 +6040,7 @@ yyreduce:
case 368:
/* Line 1806 of yacc.c */
-#line 1236 "parser.y"
+#line 1238 "parser.y"
{ yyerr("newline expected after directive");
yyerrok; }
break;
@@ -6076,14 +6048,14 @@ yyreduce:
case 369:
/* Line 1806 of yacc.c */
-#line 1240 "parser.y"
+#line 1242 "parser.y"
{ (yyval.val) = null_string; }
break;
case 370:
/* Line 1806 of yacc.c */
-#line 1241 "parser.y"
+#line 1243 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6091,7 +6063,7 @@ yyreduce:
case 371:
/* Line 1806 of yacc.c */
-#line 1243 "parser.y"
+#line 1245 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("string literal")); }
break;
@@ -6099,7 +6071,7 @@ yyreduce:
case 372:
/* Line 1806 of yacc.c */
-#line 1247 "parser.y"
+#line 1249 "parser.y"
{ wchar_t ch;
val str = string_own((yyvsp[(2) - (2)].lexeme));
const wchar_t *cstr = c_str(str);
@@ -6118,7 +6090,7 @@ yyreduce:
case 373:
/* Line 1806 of yacc.c */
-#line 1260 "parser.y"
+#line 1262 "parser.y"
{ (yyval.val) = chr((yyvsp[(2) - (2)].chr));
end_of_char(scnr); }
break;
@@ -6126,7 +6098,7 @@ yyreduce:
case 374:
/* Line 1806 of yacc.c */
-#line 1262 "parser.y"
+#line 1264 "parser.y"
{ free((yyvsp[(2) - (2)].lexeme));
yyerrorf(scnr,
lit("invalid UTF-8 used as character name"),
@@ -6136,7 +6108,7 @@ yyreduce:
case 375:
/* Line 1806 of yacc.c */
-#line 1266 "parser.y"
+#line 1268 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar,
lit("character literal")); }
@@ -6145,14 +6117,14 @@ yyreduce:
case 376:
/* Line 1806 of yacc.c */
-#line 1271 "parser.y"
+#line 1273 "parser.y"
{ (yyval.val) = null_string; }
break;
case 377:
/* Line 1806 of yacc.c */
-#line 1272 "parser.y"
+#line 1274 "parser.y"
{ (yyval.val) = cons(quasi_s, (yyvsp[(2) - (3)].val));
rlc((yyval.val), (yyvsp[(2) - (3)].val));
rl((yyval.val), num(parser->lineno)); }
@@ -6161,7 +6133,7 @@ yyreduce:
case 378:
/* Line 1806 of yacc.c */
-#line 1275 "parser.y"
+#line 1277 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("quasistring")); }
break;
@@ -6169,7 +6141,7 @@ yyreduce:
case 379:
/* Line 1806 of yacc.c */
-#line 1279 "parser.y"
+#line 1281 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (1)].val), nil);
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6177,7 +6149,7 @@ yyreduce:
case 380:
/* Line 1806 of yacc.c */
-#line 1281 "parser.y"
+#line 1283 "parser.y"
{ (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6185,21 +6157,21 @@ yyreduce:
case 381:
/* Line 1806 of yacc.c */
-#line 1285 "parser.y"
+#line 1287 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 382:
/* Line 1806 of yacc.c */
-#line 1286 "parser.y"
+#line 1288 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 383:
/* Line 1806 of yacc.c */
-#line 1287 "parser.y"
+#line 1289 "parser.y"
{ (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil));
rl((yyval.val), num(parser->lineno)); }
break;
@@ -6207,7 +6179,7 @@ yyreduce:
case 384:
/* Line 1806 of yacc.c */
-#line 1289 "parser.y"
+#line 1291 "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));
@@ -6218,14 +6190,14 @@ yyreduce:
case 385:
/* Line 1806 of yacc.c */
-#line 1296 "parser.y"
+#line 1298 "parser.y"
{ (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); }
break;
case 386:
/* Line 1806 of yacc.c */
-#line 1297 "parser.y"
+#line 1299 "parser.y"
{ val ch = mkstring(one, chr((yyvsp[(1) - (2)].chr)));
(yyval.val) = string_extend(ch, (yyvsp[(2) - (2)].val)); }
break;
@@ -6233,63 +6205,63 @@ yyreduce:
case 387:
/* Line 1806 of yacc.c */
-#line 1299 "parser.y"
+#line 1301 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); }
break;
case 388:
/* Line 1806 of yacc.c */
-#line 1300 "parser.y"
+#line 1302 "parser.y"
{ (yyval.val) = string_extend(string_own((yyvsp[(1) - (2)].lexeme)), (yyvsp[(2) - (2)].val)); }
break;
case 389:
/* Line 1806 of yacc.c */
-#line 1303 "parser.y"
+#line 1305 "parser.y"
{ (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); }
break;
case 390:
/* Line 1806 of yacc.c */
-#line 1304 "parser.y"
+#line 1306 "parser.y"
{ (yyval.val) = string_extend((yyvsp[(1) - (2)].val), chr((yyvsp[(2) - (2)].chr))); }
break;
case 391:
/* Line 1806 of yacc.c */
-#line 1305 "parser.y"
+#line 1307 "parser.y"
{ (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); }
break;
case 392:
/* Line 1806 of yacc.c */
-#line 1306 "parser.y"
+#line 1308 "parser.y"
{ (yyval.val) = string_extend((yyvsp[(1) - (2)].val), string_own((yyvsp[(2) - (2)].lexeme))); }
break;
case 393:
/* Line 1806 of yacc.c */
-#line 1309 "parser.y"
+#line 1311 "parser.y"
{ (yyval.val) = nil; }
break;
case 394:
/* Line 1806 of yacc.c */
-#line 1310 "parser.y"
+#line 1312 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 395:
/* Line 1806 of yacc.c */
-#line 1311 "parser.y"
+#line 1313 "parser.y"
{ val word = (yyvsp[(1) - (2)].val);
(yyval.val) = rlc(cons(word, (yyvsp[(2) - (2)].val)), (yyvsp[(1) - (2)].val)); }
break;
@@ -6297,7 +6269,7 @@ yyreduce:
case 396:
/* Line 1806 of yacc.c */
-#line 1313 "parser.y"
+#line 1315 "parser.y"
{ (yyval.val) = nil;
yybadtok(yychar, lit("word list")); }
break;
@@ -6305,21 +6277,21 @@ yyreduce:
case 397:
/* Line 1806 of yacc.c */
-#line 1317 "parser.y"
+#line 1319 "parser.y"
{ (yyval.val) = nil; }
break;
case 398:
/* Line 1806 of yacc.c */
-#line 1318 "parser.y"
+#line 1320 "parser.y"
{ (yyval.val) = (yyvsp[(2) - (2)].val); }
break;
case 399:
/* Line 1806 of yacc.c */
-#line 1319 "parser.y"
+#line 1321 "parser.y"
{ val qword = cons(quasi_s, (yyvsp[(1) - (2)].val));
(yyval.val) = rlc(cons(qword, nil), (yyvsp[(1) - (2)].val)); }
break;
@@ -6327,7 +6299,7 @@ yyreduce:
case 400:
/* Line 1806 of yacc.c */
-#line 1323 "parser.y"
+#line 1325 "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;
@@ -6335,7 +6307,7 @@ yyreduce:
case 401:
/* Line 1806 of yacc.c */
-#line 1327 "parser.y"
+#line 1329 "parser.y"
{ (yyval.val) = make_buf(zero, nil, nil);
end_of_buflit(scnr); }
break;
@@ -6343,7 +6315,7 @@ yyreduce:
case 402:
/* Line 1806 of yacc.c */
-#line 1329 "parser.y"
+#line 1331 "parser.y"
{ end_of_buflit(scnr);
buf_trim((yyvsp[(2) - (3)].val));
(yyval.val) = (yyvsp[(2) - (3)].val); }
@@ -6352,7 +6324,7 @@ yyreduce:
case 403:
/* Line 1806 of yacc.c */
-#line 1332 "parser.y"
+#line 1334 "parser.y"
{ yyerr("unterminated buffer literal");
end_of_buflit(scnr);
yyerrok; }
@@ -6361,7 +6333,7 @@ yyreduce:
case 404:
/* Line 1806 of yacc.c */
-#line 1337 "parser.y"
+#line 1339 "parser.y"
{ buf_put_u8((yyvsp[(1) - (2)].val), length_buf((yyval.val)), (yyvsp[(2) - (2)].val));
(yyval.val) = (yyvsp[(1) - (2)].val); }
break;
@@ -6369,7 +6341,7 @@ yyreduce:
case 405:
/* Line 1806 of yacc.c */
-#line 1339 "parser.y"
+#line 1341 "parser.y"
{ (yyval.val) = make_buf(zero, nil, num_fast(512));
buf_put_u8((yyval.val), zero, (yyvsp[(1) - (1)].val)); }
break;
@@ -6377,14 +6349,14 @@ yyreduce:
case 406:
/* Line 1806 of yacc.c */
-#line 1343 "parser.y"
+#line 1345 "parser.y"
{ (yyval.val) = num((yyvsp[(1) - (2)].chr) << 4 | (yyvsp[(2) - (2)].chr)); }
break;
case 407:
/* Line 1806 of yacc.c */
-#line 1344 "parser.y"
+#line 1346 "parser.y"
{ (yyval.val) = zero;
yyerr("unpaired digit in buffer literal");
yyerrok; }
@@ -6393,119 +6365,119 @@ yyreduce:
case 408:
/* Line 1806 of yacc.c */
-#line 1351 "parser.y"
+#line 1353 "parser.y"
{ (yyval.val) = mkexp(all_s, nil, num(parser->lineno)); }
break;
case 409:
/* Line 1806 of yacc.c */
-#line 1352 "parser.y"
+#line 1354 "parser.y"
{ (yyval.val) = mkexp(some_s, nil, num(parser->lineno)); }
break;
case 410:
/* Line 1806 of yacc.c */
-#line 1353 "parser.y"
+#line 1355 "parser.y"
{ (yyval.val) = mkexp(none_s, nil, num(parser->lineno)); }
break;
case 411:
/* Line 1806 of yacc.c */
-#line 1354 "parser.y"
+#line 1356 "parser.y"
{ (yyval.val) = mkexp(maybe_s, nil, num(parser->lineno)); }
break;
case 412:
/* Line 1806 of yacc.c */
-#line 1355 "parser.y"
+#line 1357 "parser.y"
{ (yyval.val) = mkexp(cases_s, nil, num(parser->lineno)); }
break;
case 413:
/* Line 1806 of yacc.c */
-#line 1356 "parser.y"
+#line 1358 "parser.y"
{ (yyval.val) = mkexp(and_s, nil, num(parser->lineno)); }
break;
case 414:
/* Line 1806 of yacc.c */
-#line 1357 "parser.y"
+#line 1359 "parser.y"
{ (yyval.val) = mkexp(or_s, nil, num(parser->lineno)); }
break;
case 415:
/* Line 1806 of yacc.c */
-#line 1358 "parser.y"
+#line 1360 "parser.y"
{ (yyval.val) = mkexp(try_s, nil, num(parser->lineno)); }
break;
case 416:
/* Line 1806 of yacc.c */
-#line 1359 "parser.y"
+#line 1361 "parser.y"
{ (yyval.val) = mkexp(finally_s, nil, num(parser->lineno)); }
break;
case 417:
/* Line 1806 of yacc.c */
-#line 1361 "parser.y"
+#line 1363 "parser.y"
{ (yyval.val) = mkexp(block_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 418:
/* Line 1806 of yacc.c */
-#line 1363 "parser.y"
+#line 1365 "parser.y"
{ (yyval.val) = mkexp(choose_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 419:
/* Line 1806 of yacc.c */
-#line 1365 "parser.y"
+#line 1367 "parser.y"
{ (yyval.val) = mkexp(collect_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 420:
/* Line 1806 of yacc.c */
-#line 1367 "parser.y"
+#line 1369 "parser.y"
{ (yyval.val) = mkexp(coll_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 421:
/* Line 1806 of yacc.c */
-#line 1369 "parser.y"
+#line 1371 "parser.y"
{ (yyval.val) = mkexp(gather_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 422:
/* Line 1806 of yacc.c */
-#line 1371 "parser.y"
+#line 1373 "parser.y"
{ (yyval.val) = mkexp(define_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 423:
/* Line 1806 of yacc.c */
-#line 1373 "parser.y"
+#line 1375 "parser.y"
{ (yyval.val) = mkexp(catch_s, (yyvsp[(2) - (3)].val), nil); }
break;
case 424:
/* Line 1806 of yacc.c */
-#line 1375 "parser.y"
+#line 1377 "parser.y"
{ (yyval.val) = mkexp(if_s,
cons((yyvsp[(2) - (5)].val),
cons((yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val))),
@@ -6515,14 +6487,14 @@ yyreduce:
case 425:
/* Line 1806 of yacc.c */
-#line 1380 "parser.y"
+#line 1382 "parser.y"
{ yyerr("@(output) doesn't nest"); }
break;
/* Line 1806 of yacc.c */
-#line 6526 "y.tab.c"
+#line 6528 "y.tab.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -6753,7 +6725,7 @@ yyreturn:
/* Line 2067 of yacc.c */
-#line 1384 "parser.y"
+#line 1386 "parser.y"
const int have_yydebug = YYDEBUG;
@@ -6769,6 +6741,11 @@ void yydebug_onoff(int val)
#endif
}
+static void set_syntax_tree(parser_t *parser, val tree)
+{
+ set(mkloc(parser->syntax_tree, parser->parser), tree);
+}
+
static val sym_helper(parser_t *parser, wchar_t *lexeme, val meta_allowed)
{
scanner_t *scnr = parser->scanner;