rubinius-melbourne 2.2.0.0 → 2.2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/rubinius/melbourne/grammar.cpp +544 -546
- data/ext/rubinius/melbourne/grammar.y +3 -5
- data/ext/rubinius/melbourne/missing.hpp +29 -0
- data/lib/rubinius/melbourne/version.rb +1 -1
- data/spec/attrasgn_spec.rb +18 -14
- data/spec/defn_spec.rb +36 -36
- data/spec/defs_spec.rb +2 -2
- data/spec/for_spec.rb +6 -6
- data/spec/iter_spec.rb +42 -42
- data/spec/lambda_spec.rb +6 -6
- data/spec/postexe_spec.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea1fafe0b2d0e0ddb2bd6b2e08516067d1fbeef2
|
4
|
+
data.tar.gz: 6bf31d7999d5b62917fc797c05d0bb16b1b779d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abece0d51b70e70ea64c43f656a0632da71d72f96244659a2a07a93d08a229e584ca75e3d94b9d6c4fb2ce70cf552baf487feba175896fdf66f1a6ff1a262965
|
7
|
+
data.tar.gz: 5585aa58534990f9affa776fa5bf5015461c8197b2660685d92f4b578d6599c24a156f29bcb02fcee22f357e5179c4efa58cca60f28ee3cdcb832df542c242a4
|
@@ -312,6 +312,7 @@
|
|
312
312
|
|
313
313
|
#include "namespace.h"
|
314
314
|
#include "melbourne.hpp"
|
315
|
+
#include "missing.hpp"
|
315
316
|
#include "grammar.hpp"
|
316
317
|
#include "parser_state.hpp"
|
317
318
|
#include "visitor.hpp"
|
@@ -733,7 +734,7 @@ static int scan_hex(const char *start, size_t len, size_t *retlen);
|
|
733
734
|
|
734
735
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
735
736
|
typedef union YYSTYPE
|
736
|
-
#line
|
737
|
+
#line 428 "grammar.y"
|
737
738
|
{
|
738
739
|
VALUE val;
|
739
740
|
NODE *node;
|
@@ -742,7 +743,7 @@ typedef union YYSTYPE
|
|
742
743
|
const struct vtable* vars;
|
743
744
|
}
|
744
745
|
/* Line 193 of yacc.c. */
|
745
|
-
#line
|
746
|
+
#line 747 "grammar.cpp"
|
746
747
|
YYSTYPE;
|
747
748
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
748
749
|
# define YYSTYPE_IS_DECLARED 1
|
@@ -755,7 +756,7 @@ typedef union YYSTYPE
|
|
755
756
|
|
756
757
|
|
757
758
|
/* Line 216 of yacc.c. */
|
758
|
-
#line
|
759
|
+
#line 760 "grammar.cpp"
|
759
760
|
|
760
761
|
#ifdef short
|
761
762
|
# undef short
|
@@ -1299,69 +1300,69 @@ static const yytype_int16 yyrhs[] =
|
|
1299
1300
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
1300
1301
|
static const yytype_uint16 yyrline[] =
|
1301
1302
|
{
|
1302
|
-
0,
|
1303
|
-
|
1304
|
-
|
1305
|
-
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
|
1352
|
-
|
1353
|
-
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1361
|
-
|
1362
|
-
|
1363
|
-
|
1364
|
-
|
1303
|
+
0, 579, 579, 579, 604, 611, 615, 619, 623, 629,
|
1304
|
+
631, 630, 642, 665, 672, 676, 680, 684, 690, 695,
|
1305
|
+
694, 704, 704, 708, 712, 719, 724, 728, 733, 738,
|
1306
|
+
746, 754, 759, 768, 769, 775, 780, 797, 802, 807,
|
1307
|
+
812, 817, 822, 827, 832, 835, 840, 847, 848, 852,
|
1308
|
+
856, 860, 864, 867, 875, 876, 879, 880, 887, 886,
|
1309
|
+
901, 908, 913, 921, 926, 933, 938, 945, 950, 955,
|
1310
|
+
959, 963, 969, 970, 976, 977, 983, 987, 991, 995,
|
1311
|
+
999, 1003, 1007, 1011, 1015, 1019, 1025, 1026, 1032, 1036,
|
1312
|
+
1042, 1046, 1052, 1056, 1060, 1064, 1068, 1072, 1076, 1082,
|
1313
|
+
1088, 1095, 1100, 1105, 1109, 1113, 1117, 1121, 1127, 1133,
|
1314
|
+
1140, 1144, 1147, 1151, 1155, 1161, 1162, 1163, 1164, 1169,
|
1315
|
+
1176, 1177, 1180, 1184, 1187, 1191, 1191, 1197, 1198, 1199,
|
1316
|
+
1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
|
1317
|
+
1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
|
1318
|
+
1220, 1221, 1222, 1223, 1224, 1225, 1226, 1229, 1229, 1229,
|
1319
|
+
1230, 1230, 1231, 1231, 1231, 1232, 1232, 1232, 1232, 1233,
|
1320
|
+
1233, 1233, 1233, 1234, 1234, 1234, 1235, 1235, 1235, 1235,
|
1321
|
+
1236, 1236, 1236, 1236, 1237, 1237, 1237, 1237, 1238, 1238,
|
1322
|
+
1238, 1238, 1239, 1239, 1239, 1239, 1240, 1240, 1243, 1248,
|
1323
|
+
1254, 1259, 1265, 1286, 1291, 1296, 1301, 1306, 1311, 1316,
|
1324
|
+
1322, 1328, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1360,
|
1325
|
+
1364, 1368, 1372, 1376, 1380, 1384, 1388, 1392, 1396, 1400,
|
1326
|
+
1404, 1408, 1418, 1422, 1426, 1430, 1434, 1438, 1442, 1446,
|
1327
|
+
1446, 1451, 1457, 1463, 1471, 1472, 1476, 1480, 1486, 1492,
|
1328
|
+
1493, 1496, 1497, 1498, 1502, 1506, 1512, 1517, 1521, 1526,
|
1329
|
+
1531, 1534, 1534, 1546, 1552, 1556, 1562, 1566, 1570, 1579,
|
1330
|
+
1590, 1591, 1594, 1603, 1612, 1618, 1619, 1620, 1621, 1622,
|
1331
|
+
1623, 1624, 1625, 1626, 1627, 1628, 1633, 1632, 1652, 1652,
|
1332
|
+
1656, 1656, 1660, 1664, 1668, 1672, 1680, 1684, 1688, 1692,
|
1333
|
+
1696, 1700, 1700, 1705, 1709, 1713, 1719, 1720, 1727, 1731,
|
1334
|
+
1739, 1747, 1747, 1747, 1754, 1754, 1754, 1761, 1768, 1773,
|
1335
|
+
1775, 1772, 1792, 1791, 1808, 1813, 1807, 1830, 1829, 1846,
|
1336
|
+
1845, 1863, 1864, 1863, 1879, 1883, 1887, 1891, 1897, 1905,
|
1337
|
+
1911, 1917, 1923, 1929, 1935, 1941, 1947, 1953, 1959, 1966,
|
1338
|
+
1972, 1973, 1974, 1977, 1978, 1981, 1982, 1991, 1992, 1998,
|
1339
|
+
1999, 2002, 2006, 2012, 2016, 2022, 2026, 2031, 2036, 2040,
|
1340
|
+
2044, 2049, 2054, 2058, 2064, 2068, 2072, 2076, 2082, 2087,
|
1341
|
+
2092, 2096, 2100, 2104, 2108, 2112, 2116, 2120, 2124, 2128,
|
1342
|
+
2132, 2136, 2140, 2144, 2148, 2154, 2155, 2161, 2166, 2170,
|
1343
|
+
2177, 2181, 2188, 2193, 2200, 2206, 2212, 2215, 2220, 2212,
|
1344
|
+
2232, 2236, 2242, 2246, 2253, 2252, 2267, 2278, 2282, 2289,
|
1345
|
+
2298, 2305, 2304, 2314, 2313, 2322, 2327, 2326, 2336, 2335,
|
1346
|
+
2344, 2348, 2352, 2364, 2363, 2376, 2375, 2389, 2397, 2398,
|
1347
|
+
2401, 2413, 2416, 2420, 2424, 2427, 2431, 2434, 2438, 2441,
|
1348
|
+
2442, 2446, 2449, 2461, 2462, 2463, 2469, 2475, 2497, 2557,
|
1349
|
+
2561, 2568, 2571, 2577, 2578, 2584, 2588, 2595, 2598, 2606,
|
1350
|
+
2610, 2616, 2620, 2627, 2630, 2637, 2640, 2651, 2654, 2661,
|
1351
|
+
2664, 2671, 2674, 2697, 2699, 2698, 2710, 2716, 2721, 2709,
|
1352
|
+
2737, 2738, 2739, 2740, 2743, 2750, 2751, 2752, 2753, 2756,
|
1353
|
+
2782, 2783, 2789, 2790, 2791, 2792, 2795, 2796, 2797, 2798,
|
1354
|
+
2799, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2811, 2817,
|
1355
|
+
2825, 2829, 2835, 2836, 2839, 2844, 2843, 2852, 2859, 2865,
|
1356
|
+
2873, 2877, 2881, 2885, 2891, 2896, 2901, 2905, 2909, 2913,
|
1357
|
+
2917, 2921, 2925, 2929, 2933, 2937, 2941, 2945, 2949, 2953,
|
1358
|
+
2958, 2964, 2969, 2974, 2979, 2986, 2987, 2994, 2999, 3009,
|
1359
|
+
3010, 3018, 3025, 3030, 3037, 3042, 3049, 3053, 3064, 3068,
|
1360
|
+
3079, 3080, 3083, 3088, 3094, 3102, 3110, 3114, 3125, 3129,
|
1361
|
+
3140, 3141, 3144, 3152, 3159, 3160, 3163, 3174, 3178, 3184,
|
1362
|
+
3190, 3190, 3214, 3215, 3221, 3222, 3228, 3232, 3236, 3242,
|
1363
|
+
3243, 3244, 3247, 3248, 3249, 3250, 3253, 3254, 3255, 3258,
|
1364
|
+
3259, 3262, 3263, 3266, 3267, 3270, 3273, 3276, 3277, 3278,
|
1365
|
+
3281, 3282, 3285, 3286, 3289
|
1365
1366
|
};
|
1366
1367
|
#endif
|
1367
1368
|
|
@@ -5045,7 +5046,7 @@ yyreduce:
|
|
5045
5046
|
switch (yyn)
|
5046
5047
|
{
|
5047
5048
|
case 2:
|
5048
|
-
#line
|
5049
|
+
#line 579 "grammar.y"
|
5049
5050
|
{
|
5050
5051
|
lex_state = EXPR_BEG;
|
5051
5052
|
local_push(0);
|
@@ -5054,7 +5055,7 @@ yyreduce:
|
|
5054
5055
|
break;
|
5055
5056
|
|
5056
5057
|
case 3:
|
5057
|
-
#line
|
5058
|
+
#line 585 "grammar.y"
|
5058
5059
|
{
|
5059
5060
|
if((yyvsp[(2) - (2)].node) && !compile_for_eval) {
|
5060
5061
|
/* last expression should not be void */
|
@@ -5075,7 +5076,7 @@ yyreduce:
|
|
5075
5076
|
break;
|
5076
5077
|
|
5077
5078
|
case 4:
|
5078
|
-
#line
|
5079
|
+
#line 605 "grammar.y"
|
5079
5080
|
{
|
5080
5081
|
void_stmts((yyvsp[(1) - (2)].node));
|
5081
5082
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
@@ -5083,35 +5084,35 @@ yyreduce:
|
|
5083
5084
|
break;
|
5084
5085
|
|
5085
5086
|
case 5:
|
5086
|
-
#line
|
5087
|
+
#line 612 "grammar.y"
|
5087
5088
|
{
|
5088
5089
|
(yyval.node) = NEW_BEGIN(0);
|
5089
5090
|
;}
|
5090
5091
|
break;
|
5091
5092
|
|
5092
5093
|
case 6:
|
5093
|
-
#line
|
5094
|
+
#line 616 "grammar.y"
|
5094
5095
|
{
|
5095
5096
|
(yyval.node) = newline_node((yyvsp[(1) - (1)].node));
|
5096
5097
|
;}
|
5097
5098
|
break;
|
5098
5099
|
|
5099
5100
|
case 7:
|
5100
|
-
#line
|
5101
|
+
#line 620 "grammar.y"
|
5101
5102
|
{
|
5102
5103
|
(yyval.node) = block_append((yyvsp[(1) - (3)].node), newline_node((yyvsp[(3) - (3)].node)));
|
5103
5104
|
;}
|
5104
5105
|
break;
|
5105
5106
|
|
5106
5107
|
case 8:
|
5107
|
-
#line
|
5108
|
+
#line 624 "grammar.y"
|
5108
5109
|
{
|
5109
5110
|
(yyval.node) = remove_begin((yyvsp[(2) - (2)].node));
|
5110
5111
|
;}
|
5111
5112
|
break;
|
5112
5113
|
|
5113
5114
|
case 10:
|
5114
|
-
#line
|
5115
|
+
#line 631 "grammar.y"
|
5115
5116
|
{
|
5116
5117
|
if(in_def || in_single) {
|
5117
5118
|
yy_error("BEGIN in method");
|
@@ -5120,14 +5121,14 @@ yyreduce:
|
|
5120
5121
|
break;
|
5121
5122
|
|
5122
5123
|
case 11:
|
5123
|
-
#line
|
5124
|
+
#line 637 "grammar.y"
|
5124
5125
|
{
|
5125
5126
|
(yyval.node) = NEW_PREEXE((yyvsp[(4) - (5)].node));
|
5126
5127
|
;}
|
5127
5128
|
break;
|
5128
5129
|
|
5129
5130
|
case 12:
|
5130
|
-
#line
|
5131
|
+
#line 646 "grammar.y"
|
5131
5132
|
{
|
5132
5133
|
(yyval.node) = (yyvsp[(1) - (4)].node);
|
5133
5134
|
if((yyvsp[(2) - (4)].node)) {
|
@@ -5148,7 +5149,7 @@ yyreduce:
|
|
5148
5149
|
break;
|
5149
5150
|
|
5150
5151
|
case 13:
|
5151
|
-
#line
|
5152
|
+
#line 666 "grammar.y"
|
5152
5153
|
{
|
5153
5154
|
void_stmts((yyvsp[(1) - (2)].node));
|
5154
5155
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
@@ -5156,75 +5157,75 @@ yyreduce:
|
|
5156
5157
|
break;
|
5157
5158
|
|
5158
5159
|
case 14:
|
5159
|
-
#line
|
5160
|
+
#line 673 "grammar.y"
|
5160
5161
|
{
|
5161
5162
|
(yyval.node) = NEW_BEGIN(0);
|
5162
5163
|
;}
|
5163
5164
|
break;
|
5164
5165
|
|
5165
5166
|
case 15:
|
5166
|
-
#line
|
5167
|
+
#line 677 "grammar.y"
|
5167
5168
|
{
|
5168
5169
|
(yyval.node) = newline_node((yyvsp[(1) - (1)].node));
|
5169
5170
|
;}
|
5170
5171
|
break;
|
5171
5172
|
|
5172
5173
|
case 16:
|
5173
|
-
#line
|
5174
|
+
#line 681 "grammar.y"
|
5174
5175
|
{
|
5175
5176
|
(yyval.node) = block_append((yyvsp[(1) - (3)].node), newline_node((yyvsp[(3) - (3)].node)));
|
5176
5177
|
;}
|
5177
5178
|
break;
|
5178
5179
|
|
5179
5180
|
case 17:
|
5180
|
-
#line
|
5181
|
+
#line 685 "grammar.y"
|
5181
5182
|
{
|
5182
5183
|
(yyval.node) = remove_begin((yyvsp[(2) - (2)].node));
|
5183
5184
|
;}
|
5184
5185
|
break;
|
5185
5186
|
|
5186
5187
|
case 18:
|
5187
|
-
#line
|
5188
|
+
#line 691 "grammar.y"
|
5188
5189
|
{
|
5189
5190
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
5190
5191
|
;}
|
5191
5192
|
break;
|
5192
5193
|
|
5193
5194
|
case 19:
|
5194
|
-
#line
|
5195
|
+
#line 695 "grammar.y"
|
5195
5196
|
{
|
5196
5197
|
yy_error("BEGIN is permitted only at toplevel");
|
5197
5198
|
;}
|
5198
5199
|
break;
|
5199
5200
|
|
5200
5201
|
case 20:
|
5201
|
-
#line
|
5202
|
+
#line 699 "grammar.y"
|
5202
5203
|
{
|
5203
5204
|
(yyval.node) = NEW_BEGIN(0);
|
5204
5205
|
;}
|
5205
5206
|
break;
|
5206
5207
|
|
5207
5208
|
case 21:
|
5208
|
-
#line
|
5209
|
+
#line 704 "grammar.y"
|
5209
5210
|
{lex_state = EXPR_FNAME;;}
|
5210
5211
|
break;
|
5211
5212
|
|
5212
5213
|
case 22:
|
5213
|
-
#line
|
5214
|
+
#line 705 "grammar.y"
|
5214
5215
|
{
|
5215
5216
|
(yyval.node) = NEW_ALIAS((yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node));
|
5216
5217
|
;}
|
5217
5218
|
break;
|
5218
5219
|
|
5219
5220
|
case 23:
|
5220
|
-
#line
|
5221
|
+
#line 709 "grammar.y"
|
5221
5222
|
{
|
5222
5223
|
(yyval.node) = NEW_VALIAS((yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].id));
|
5223
5224
|
;}
|
5224
5225
|
break;
|
5225
5226
|
|
5226
5227
|
case 24:
|
5227
|
-
#line
|
5228
|
+
#line 713 "grammar.y"
|
5228
5229
|
{
|
5229
5230
|
char buf[2];
|
5230
5231
|
buf[0] = '$';
|
@@ -5234,7 +5235,7 @@ yyreduce:
|
|
5234
5235
|
break;
|
5235
5236
|
|
5236
5237
|
case 25:
|
5237
|
-
#line
|
5238
|
+
#line 720 "grammar.y"
|
5238
5239
|
{
|
5239
5240
|
yy_error("can't make alias for the number variables");
|
5240
5241
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -5242,14 +5243,14 @@ yyreduce:
|
|
5242
5243
|
break;
|
5243
5244
|
|
5244
5245
|
case 26:
|
5245
|
-
#line
|
5246
|
+
#line 725 "grammar.y"
|
5246
5247
|
{
|
5247
5248
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
5248
5249
|
;}
|
5249
5250
|
break;
|
5250
5251
|
|
5251
5252
|
case 27:
|
5252
|
-
#line
|
5253
|
+
#line 729 "grammar.y"
|
5253
5254
|
{
|
5254
5255
|
(yyval.node) = NEW_IF(cond((yyvsp[(3) - (3)].node)), remove_begin((yyvsp[(1) - (3)].node)), 0);
|
5255
5256
|
fixpos((yyval.node), (yyvsp[(3) - (3)].node));
|
@@ -5257,7 +5258,7 @@ yyreduce:
|
|
5257
5258
|
break;
|
5258
5259
|
|
5259
5260
|
case 28:
|
5260
|
-
#line
|
5261
|
+
#line 734 "grammar.y"
|
5261
5262
|
{
|
5262
5263
|
(yyval.node) = NEW_UNLESS(cond((yyvsp[(3) - (3)].node)), remove_begin((yyvsp[(1) - (3)].node)), 0);
|
5263
5264
|
fixpos((yyval.node), (yyvsp[(3) - (3)].node));
|
@@ -5265,7 +5266,7 @@ yyreduce:
|
|
5265
5266
|
break;
|
5266
5267
|
|
5267
5268
|
case 29:
|
5268
|
-
#line
|
5269
|
+
#line 739 "grammar.y"
|
5269
5270
|
{
|
5270
5271
|
if((yyvsp[(1) - (3)].node) && nd_type((yyvsp[(1) - (3)].node)) == NODE_BEGIN) {
|
5271
5272
|
(yyval.node) = NEW_WHILE(cond((yyvsp[(3) - (3)].node)), (yyvsp[(1) - (3)].node)->nd_body, 0);
|
@@ -5276,7 +5277,7 @@ yyreduce:
|
|
5276
5277
|
break;
|
5277
5278
|
|
5278
5279
|
case 30:
|
5279
|
-
#line
|
5280
|
+
#line 747 "grammar.y"
|
5280
5281
|
{
|
5281
5282
|
if((yyvsp[(1) - (3)].node) && nd_type((yyvsp[(1) - (3)].node)) == NODE_BEGIN) {
|
5282
5283
|
(yyval.node) = NEW_UNTIL(cond((yyvsp[(3) - (3)].node)), (yyvsp[(1) - (3)].node)->nd_body, 0);
|
@@ -5287,7 +5288,7 @@ yyreduce:
|
|
5287
5288
|
break;
|
5288
5289
|
|
5289
5290
|
case 31:
|
5290
|
-
#line
|
5291
|
+
#line 755 "grammar.y"
|
5291
5292
|
{
|
5292
5293
|
NODE *resq = NEW_RESBODY(0, remove_begin((yyvsp[(3) - (3)].node)), 0);
|
5293
5294
|
(yyval.node) = NEW_RESCUE(remove_begin((yyvsp[(1) - (3)].node)), resq, 0);
|
@@ -5295,7 +5296,7 @@ yyreduce:
|
|
5295
5296
|
break;
|
5296
5297
|
|
5297
5298
|
case 32:
|
5298
|
-
#line
|
5299
|
+
#line 760 "grammar.y"
|
5299
5300
|
{
|
5300
5301
|
if(in_def || in_single) {
|
5301
5302
|
rb_warn("END in method; use at_exit");
|
@@ -5307,7 +5308,7 @@ yyreduce:
|
|
5307
5308
|
break;
|
5308
5309
|
|
5309
5310
|
case 34:
|
5310
|
-
#line
|
5311
|
+
#line 770 "grammar.y"
|
5311
5312
|
{
|
5312
5313
|
value_expr((yyvsp[(3) - (3)].node));
|
5313
5314
|
(yyvsp[(1) - (3)].node)->nd_value = (yyvsp[(3) - (3)].node);
|
@@ -5316,7 +5317,7 @@ yyreduce:
|
|
5316
5317
|
break;
|
5317
5318
|
|
5318
5319
|
case 35:
|
5319
|
-
#line
|
5320
|
+
#line 776 "grammar.y"
|
5320
5321
|
{
|
5321
5322
|
value_expr((yyvsp[(3) - (3)].node));
|
5322
5323
|
(yyval.node) = new_op_assign((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].node));
|
@@ -5324,7 +5325,7 @@ yyreduce:
|
|
5324
5325
|
break;
|
5325
5326
|
|
5326
5327
|
case 36:
|
5327
|
-
#line
|
5328
|
+
#line 781 "grammar.y"
|
5328
5329
|
{
|
5329
5330
|
NODE *args;
|
5330
5331
|
|
@@ -5344,7 +5345,7 @@ yyreduce:
|
|
5344
5345
|
break;
|
5345
5346
|
|
5346
5347
|
case 37:
|
5347
|
-
#line
|
5348
|
+
#line 798 "grammar.y"
|
5348
5349
|
{
|
5349
5350
|
value_expr((yyvsp[(5) - (5)].node));
|
5350
5351
|
(yyval.node) = new_attr_op_assign((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -5352,7 +5353,7 @@ yyreduce:
|
|
5352
5353
|
break;
|
5353
5354
|
|
5354
5355
|
case 38:
|
5355
|
-
#line
|
5356
|
+
#line 803 "grammar.y"
|
5356
5357
|
{
|
5357
5358
|
value_expr((yyvsp[(5) - (5)].node));
|
5358
5359
|
(yyval.node) = new_attr_op_assign((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -5360,7 +5361,7 @@ yyreduce:
|
|
5360
5361
|
break;
|
5361
5362
|
|
5362
5363
|
case 39:
|
5363
|
-
#line
|
5364
|
+
#line 808 "grammar.y"
|
5364
5365
|
{
|
5365
5366
|
(yyval.node) = NEW_COLON2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id));
|
5366
5367
|
(yyval.node) = new_const_op_assign((yyval.node), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -5368,7 +5369,7 @@ yyreduce:
|
|
5368
5369
|
break;
|
5369
5370
|
|
5370
5371
|
case 40:
|
5371
|
-
#line
|
5372
|
+
#line 813 "grammar.y"
|
5372
5373
|
{
|
5373
5374
|
value_expr((yyvsp[(5) - (5)].node));
|
5374
5375
|
(yyval.node) = new_attr_op_assign((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -5376,7 +5377,7 @@ yyreduce:
|
|
5376
5377
|
break;
|
5377
5378
|
|
5378
5379
|
case 41:
|
5379
|
-
#line
|
5380
|
+
#line 818 "grammar.y"
|
5380
5381
|
{
|
5381
5382
|
rb_backref_error((yyvsp[(1) - (3)].node));
|
5382
5383
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -5384,7 +5385,7 @@ yyreduce:
|
|
5384
5385
|
break;
|
5385
5386
|
|
5386
5387
|
case 42:
|
5387
|
-
#line
|
5388
|
+
#line 823 "grammar.y"
|
5388
5389
|
{
|
5389
5390
|
value_expr((yyvsp[(3) - (3)].node));
|
5390
5391
|
(yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
@@ -5392,7 +5393,7 @@ yyreduce:
|
|
5392
5393
|
break;
|
5393
5394
|
|
5394
5395
|
case 43:
|
5395
|
-
#line
|
5396
|
+
#line 828 "grammar.y"
|
5396
5397
|
{
|
5397
5398
|
(yyvsp[(1) - (3)].node)->nd_value = (yyvsp[(3) - (3)].node);
|
5398
5399
|
(yyval.node) = (yyvsp[(1) - (3)].node);
|
@@ -5400,7 +5401,7 @@ yyreduce:
|
|
5400
5401
|
break;
|
5401
5402
|
|
5402
5403
|
case 45:
|
5403
|
-
#line
|
5404
|
+
#line 836 "grammar.y"
|
5404
5405
|
{
|
5405
5406
|
value_expr((yyvsp[(3) - (3)].node));
|
5406
5407
|
(yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
@@ -5408,7 +5409,7 @@ yyreduce:
|
|
5408
5409
|
break;
|
5409
5410
|
|
5410
5411
|
case 46:
|
5411
|
-
#line
|
5412
|
+
#line 841 "grammar.y"
|
5412
5413
|
{
|
5413
5414
|
value_expr((yyvsp[(3) - (3)].node));
|
5414
5415
|
(yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
@@ -5416,35 +5417,35 @@ yyreduce:
|
|
5416
5417
|
break;
|
5417
5418
|
|
5418
5419
|
case 48:
|
5419
|
-
#line
|
5420
|
+
#line 849 "grammar.y"
|
5420
5421
|
{
|
5421
5422
|
(yyval.node) = logop(NODE_AND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
5422
5423
|
;}
|
5423
5424
|
break;
|
5424
5425
|
|
5425
5426
|
case 49:
|
5426
|
-
#line
|
5427
|
+
#line 853 "grammar.y"
|
5427
5428
|
{
|
5428
5429
|
(yyval.node) = logop(NODE_OR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
5429
5430
|
;}
|
5430
5431
|
break;
|
5431
5432
|
|
5432
5433
|
case 50:
|
5433
|
-
#line
|
5434
|
+
#line 857 "grammar.y"
|
5434
5435
|
{
|
5435
5436
|
(yyval.node) = call_uni_op(cond((yyvsp[(3) - (3)].node)), '!');
|
5436
5437
|
;}
|
5437
5438
|
break;
|
5438
5439
|
|
5439
5440
|
case 51:
|
5440
|
-
#line
|
5441
|
+
#line 861 "grammar.y"
|
5441
5442
|
{
|
5442
5443
|
(yyval.node) = call_uni_op(cond((yyvsp[(2) - (2)].node)), '!');
|
5443
5444
|
;}
|
5444
5445
|
break;
|
5445
5446
|
|
5446
5447
|
case 53:
|
5447
|
-
#line
|
5448
|
+
#line 868 "grammar.y"
|
5448
5449
|
{
|
5449
5450
|
value_expr((yyvsp[(1) - (1)].node));
|
5450
5451
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
@@ -5453,14 +5454,14 @@ yyreduce:
|
|
5453
5454
|
break;
|
5454
5455
|
|
5455
5456
|
case 57:
|
5456
|
-
#line
|
5457
|
+
#line 881 "grammar.y"
|
5457
5458
|
{
|
5458
5459
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
|
5459
5460
|
;}
|
5460
5461
|
break;
|
5461
5462
|
|
5462
5463
|
case 58:
|
5463
|
-
#line
|
5464
|
+
#line 887 "grammar.y"
|
5464
5465
|
{
|
5465
5466
|
(yyvsp[(1) - (1)].vars) = bv_push();
|
5466
5467
|
(yyval.num) = sourceline;
|
@@ -5468,7 +5469,7 @@ yyreduce:
|
|
5468
5469
|
break;
|
5469
5470
|
|
5470
5471
|
case 59:
|
5471
|
-
#line
|
5472
|
+
#line 894 "grammar.y"
|
5472
5473
|
{
|
5473
5474
|
(yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node));
|
5474
5475
|
nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
|
@@ -5477,7 +5478,7 @@ yyreduce:
|
|
5477
5478
|
break;
|
5478
5479
|
|
5479
5480
|
case 60:
|
5480
|
-
#line
|
5481
|
+
#line 902 "grammar.y"
|
5481
5482
|
{
|
5482
5483
|
(yyval.node) = NEW_FCALL((yyvsp[(1) - (1)].id), 0);
|
5483
5484
|
nd_set_line((yyval.node), tokline);
|
@@ -5485,7 +5486,7 @@ yyreduce:
|
|
5485
5486
|
break;
|
5486
5487
|
|
5487
5488
|
case 61:
|
5488
|
-
#line
|
5489
|
+
#line 909 "grammar.y"
|
5489
5490
|
{
|
5490
5491
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
5491
5492
|
(yyval.node)->nd_args = (yyvsp[(2) - (2)].node);
|
@@ -5493,7 +5494,7 @@ yyreduce:
|
|
5493
5494
|
break;
|
5494
5495
|
|
5495
5496
|
case 62:
|
5496
|
-
#line
|
5497
|
+
#line 914 "grammar.y"
|
5497
5498
|
{
|
5498
5499
|
block_dup_check((yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
|
5499
5500
|
(yyvsp[(1) - (3)].node)->nd_args = (yyvsp[(2) - (3)].node);
|
@@ -5504,7 +5505,7 @@ yyreduce:
|
|
5504
5505
|
break;
|
5505
5506
|
|
5506
5507
|
case 63:
|
5507
|
-
#line
|
5508
|
+
#line 922 "grammar.y"
|
5508
5509
|
{
|
5509
5510
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
|
5510
5511
|
fixpos((yyval.node), (yyvsp[(1) - (4)].node));
|
@@ -5512,7 +5513,7 @@ yyreduce:
|
|
5512
5513
|
break;
|
5513
5514
|
|
5514
5515
|
case 64:
|
5515
|
-
#line
|
5516
|
+
#line 927 "grammar.y"
|
5516
5517
|
{
|
5517
5518
|
block_dup_check((yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
|
5518
5519
|
(yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
|
@@ -5522,7 +5523,7 @@ yyreduce:
|
|
5522
5523
|
break;
|
5523
5524
|
|
5524
5525
|
case 65:
|
5525
|
-
#line
|
5526
|
+
#line 934 "grammar.y"
|
5526
5527
|
{
|
5527
5528
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
|
5528
5529
|
fixpos((yyval.node), (yyvsp[(1) - (4)].node));
|
@@ -5530,7 +5531,7 @@ yyreduce:
|
|
5530
5531
|
break;
|
5531
5532
|
|
5532
5533
|
case 66:
|
5533
|
-
#line
|
5534
|
+
#line 939 "grammar.y"
|
5534
5535
|
{
|
5535
5536
|
block_dup_check((yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
|
5536
5537
|
(yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
|
@@ -5540,7 +5541,7 @@ yyreduce:
|
|
5540
5541
|
break;
|
5541
5542
|
|
5542
5543
|
case 67:
|
5543
|
-
#line
|
5544
|
+
#line 946 "grammar.y"
|
5544
5545
|
{
|
5545
5546
|
(yyval.node) = NEW_SUPER((yyvsp[(2) - (2)].node));
|
5546
5547
|
fixpos((yyval.node), (yyvsp[(2) - (2)].node));
|
@@ -5548,7 +5549,7 @@ yyreduce:
|
|
5548
5549
|
break;
|
5549
5550
|
|
5550
5551
|
case 68:
|
5551
|
-
#line
|
5552
|
+
#line 951 "grammar.y"
|
5552
5553
|
{
|
5553
5554
|
(yyval.node) = new_yield((yyvsp[(2) - (2)].node));
|
5554
5555
|
fixpos((yyval.node), (yyvsp[(2) - (2)].node));
|
@@ -5556,189 +5557,189 @@ yyreduce:
|
|
5556
5557
|
break;
|
5557
5558
|
|
5558
5559
|
case 69:
|
5559
|
-
#line
|
5560
|
+
#line 956 "grammar.y"
|
5560
5561
|
{
|
5561
5562
|
(yyval.node) = NEW_RETURN(ret_args((yyvsp[(2) - (2)].node)));
|
5562
5563
|
;}
|
5563
5564
|
break;
|
5564
5565
|
|
5565
5566
|
case 70:
|
5566
|
-
#line
|
5567
|
+
#line 960 "grammar.y"
|
5567
5568
|
{
|
5568
5569
|
(yyval.node) = NEW_BREAK(ret_args((yyvsp[(2) - (2)].node)));
|
5569
5570
|
;}
|
5570
5571
|
break;
|
5571
5572
|
|
5572
5573
|
case 71:
|
5573
|
-
#line
|
5574
|
+
#line 964 "grammar.y"
|
5574
5575
|
{
|
5575
5576
|
(yyval.node) = NEW_NEXT(ret_args((yyvsp[(2) - (2)].node)));
|
5576
5577
|
;}
|
5577
5578
|
break;
|
5578
5579
|
|
5579
5580
|
case 73:
|
5580
|
-
#line
|
5581
|
+
#line 971 "grammar.y"
|
5581
5582
|
{
|
5582
5583
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
5583
5584
|
;}
|
5584
5585
|
break;
|
5585
5586
|
|
5586
5587
|
case 75:
|
5587
|
-
#line
|
5588
|
+
#line 978 "grammar.y"
|
5588
5589
|
{
|
5589
5590
|
(yyval.node) = NEW_MASGN(NEW_LIST((yyvsp[(2) - (3)].node)), 0);
|
5590
5591
|
;}
|
5591
5592
|
break;
|
5592
5593
|
|
5593
5594
|
case 76:
|
5594
|
-
#line
|
5595
|
+
#line 984 "grammar.y"
|
5595
5596
|
{
|
5596
5597
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (1)].node), 0);
|
5597
5598
|
;}
|
5598
5599
|
break;
|
5599
5600
|
|
5600
5601
|
case 77:
|
5601
|
-
#line
|
5602
|
+
#line 988 "grammar.y"
|
5602
5603
|
{
|
5603
5604
|
(yyval.node) = NEW_MASGN(list_append((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)), 0);
|
5604
5605
|
;}
|
5605
5606
|
break;
|
5606
5607
|
|
5607
5608
|
case 78:
|
5608
|
-
#line
|
5609
|
+
#line 992 "grammar.y"
|
5609
5610
|
{
|
5610
5611
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
5611
5612
|
;}
|
5612
5613
|
break;
|
5613
5614
|
|
5614
5615
|
case 79:
|
5615
|
-
#line
|
5616
|
+
#line 996 "grammar.y"
|
5616
5617
|
{
|
5617
5618
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (5)].node), NEW_POSTARG((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)));
|
5618
5619
|
;}
|
5619
5620
|
break;
|
5620
5621
|
|
5621
5622
|
case 80:
|
5622
|
-
#line
|
5623
|
+
#line 1000 "grammar.y"
|
5623
5624
|
{
|
5624
5625
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (2)].node), -1);
|
5625
5626
|
;}
|
5626
5627
|
break;
|
5627
5628
|
|
5628
5629
|
case 81:
|
5629
|
-
#line
|
5630
|
+
#line 1004 "grammar.y"
|
5630
5631
|
{
|
5631
5632
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (4)].node), NEW_POSTARG(-1, (yyvsp[(4) - (4)].node)));
|
5632
5633
|
;}
|
5633
5634
|
break;
|
5634
5635
|
|
5635
5636
|
case 82:
|
5636
|
-
#line
|
5637
|
+
#line 1008 "grammar.y"
|
5637
5638
|
{
|
5638
5639
|
(yyval.node) = NEW_MASGN(0, (yyvsp[(2) - (2)].node));
|
5639
5640
|
;}
|
5640
5641
|
break;
|
5641
5642
|
|
5642
5643
|
case 83:
|
5643
|
-
#line
|
5644
|
+
#line 1012 "grammar.y"
|
5644
5645
|
{
|
5645
5646
|
(yyval.node) = NEW_MASGN(0, NEW_POSTARG((yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)));
|
5646
5647
|
;}
|
5647
5648
|
break;
|
5648
5649
|
|
5649
5650
|
case 84:
|
5650
|
-
#line
|
5651
|
+
#line 1016 "grammar.y"
|
5651
5652
|
{
|
5652
5653
|
(yyval.node) = NEW_MASGN(0, -1);
|
5653
5654
|
;}
|
5654
5655
|
break;
|
5655
5656
|
|
5656
5657
|
case 85:
|
5657
|
-
#line
|
5658
|
+
#line 1020 "grammar.y"
|
5658
5659
|
{
|
5659
5660
|
(yyval.node) = NEW_MASGN(0, NEW_POSTARG(-1, (yyvsp[(3) - (3)].node)));
|
5660
5661
|
;}
|
5661
5662
|
break;
|
5662
5663
|
|
5663
5664
|
case 87:
|
5664
|
-
#line
|
5665
|
+
#line 1027 "grammar.y"
|
5665
5666
|
{
|
5666
5667
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
5667
5668
|
;}
|
5668
5669
|
break;
|
5669
5670
|
|
5670
5671
|
case 88:
|
5671
|
-
#line
|
5672
|
+
#line 1033 "grammar.y"
|
5672
5673
|
{
|
5673
5674
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (2)].node));
|
5674
5675
|
;}
|
5675
5676
|
break;
|
5676
5677
|
|
5677
5678
|
case 89:
|
5678
|
-
#line
|
5679
|
+
#line 1037 "grammar.y"
|
5679
5680
|
{
|
5680
5681
|
(yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node));
|
5681
5682
|
;}
|
5682
5683
|
break;
|
5683
5684
|
|
5684
5685
|
case 90:
|
5685
|
-
#line
|
5686
|
+
#line 1043 "grammar.y"
|
5686
5687
|
{
|
5687
5688
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
|
5688
5689
|
;}
|
5689
5690
|
break;
|
5690
5691
|
|
5691
5692
|
case 91:
|
5692
|
-
#line
|
5693
|
+
#line 1047 "grammar.y"
|
5693
5694
|
{
|
5694
5695
|
(yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
5695
5696
|
;}
|
5696
5697
|
break;
|
5697
5698
|
|
5698
5699
|
case 92:
|
5699
|
-
#line
|
5700
|
+
#line 1053 "grammar.y"
|
5700
5701
|
{
|
5701
5702
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
5702
5703
|
;}
|
5703
5704
|
break;
|
5704
5705
|
|
5705
5706
|
case 93:
|
5706
|
-
#line
|
5707
|
+
#line 1057 "grammar.y"
|
5707
5708
|
{
|
5708
5709
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
5709
5710
|
;}
|
5710
5711
|
break;
|
5711
5712
|
|
5712
5713
|
case 94:
|
5713
|
-
#line
|
5714
|
+
#line 1061 "grammar.y"
|
5714
5715
|
{
|
5715
5716
|
(yyval.node) = aryset((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
|
5716
5717
|
;}
|
5717
5718
|
break;
|
5718
5719
|
|
5719
5720
|
case 95:
|
5720
|
-
#line
|
5721
|
+
#line 1065 "grammar.y"
|
5721
5722
|
{
|
5722
5723
|
(yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5723
5724
|
;}
|
5724
5725
|
break;
|
5725
5726
|
|
5726
5727
|
case 96:
|
5727
|
-
#line
|
5728
|
+
#line 1069 "grammar.y"
|
5728
5729
|
{
|
5729
5730
|
(yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5730
5731
|
;}
|
5731
5732
|
break;
|
5732
5733
|
|
5733
5734
|
case 97:
|
5734
|
-
#line
|
5735
|
+
#line 1073 "grammar.y"
|
5735
5736
|
{
|
5736
5737
|
(yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5737
5738
|
;}
|
5738
5739
|
break;
|
5739
5740
|
|
5740
5741
|
case 98:
|
5741
|
-
#line
|
5742
|
+
#line 1077 "grammar.y"
|
5742
5743
|
{
|
5743
5744
|
if(in_def || in_single)
|
5744
5745
|
yy_error("dynamic constant assignment");
|
@@ -5747,7 +5748,7 @@ yyreduce:
|
|
5747
5748
|
break;
|
5748
5749
|
|
5749
5750
|
case 99:
|
5750
|
-
#line
|
5751
|
+
#line 1083 "grammar.y"
|
5751
5752
|
{
|
5752
5753
|
if(in_def || in_single)
|
5753
5754
|
yy_error("dynamic constant assignment");
|
@@ -5756,7 +5757,7 @@ yyreduce:
|
|
5756
5757
|
break;
|
5757
5758
|
|
5758
5759
|
case 100:
|
5759
|
-
#line
|
5760
|
+
#line 1089 "grammar.y"
|
5760
5761
|
{
|
5761
5762
|
rb_backref_error((yyvsp[(1) - (1)].node));
|
5762
5763
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -5764,7 +5765,7 @@ yyreduce:
|
|
5764
5765
|
break;
|
5765
5766
|
|
5766
5767
|
case 101:
|
5767
|
-
#line
|
5768
|
+
#line 1096 "grammar.y"
|
5768
5769
|
{
|
5769
5770
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
5770
5771
|
if(!(yyval.node)) (yyval.node) = NEW_BEGIN(0);
|
@@ -5772,7 +5773,7 @@ yyreduce:
|
|
5772
5773
|
break;
|
5773
5774
|
|
5774
5775
|
case 102:
|
5775
|
-
#line
|
5776
|
+
#line 1101 "grammar.y"
|
5776
5777
|
{
|
5777
5778
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
5778
5779
|
if(!(yyval.node)) (yyval.node) = NEW_BEGIN(0);
|
@@ -5780,35 +5781,35 @@ yyreduce:
|
|
5780
5781
|
break;
|
5781
5782
|
|
5782
5783
|
case 103:
|
5783
|
-
#line
|
5784
|
+
#line 1106 "grammar.y"
|
5784
5785
|
{
|
5785
5786
|
(yyval.node) = aryset((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
|
5786
5787
|
;}
|
5787
5788
|
break;
|
5788
5789
|
|
5789
5790
|
case 104:
|
5790
|
-
#line
|
5791
|
+
#line 1110 "grammar.y"
|
5791
5792
|
{
|
5792
5793
|
(yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5793
5794
|
;}
|
5794
5795
|
break;
|
5795
5796
|
|
5796
5797
|
case 105:
|
5797
|
-
#line
|
5798
|
+
#line 1114 "grammar.y"
|
5798
5799
|
{
|
5799
5800
|
(yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5800
5801
|
;}
|
5801
5802
|
break;
|
5802
5803
|
|
5803
5804
|
case 106:
|
5804
|
-
#line
|
5805
|
+
#line 1118 "grammar.y"
|
5805
5806
|
{
|
5806
5807
|
(yyval.node) = attrset((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5807
5808
|
;}
|
5808
5809
|
break;
|
5809
5810
|
|
5810
5811
|
case 107:
|
5811
|
-
#line
|
5812
|
+
#line 1122 "grammar.y"
|
5812
5813
|
{
|
5813
5814
|
if(in_def || in_single)
|
5814
5815
|
yy_error("dynamic constant assignment");
|
@@ -5817,7 +5818,7 @@ yyreduce:
|
|
5817
5818
|
break;
|
5818
5819
|
|
5819
5820
|
case 108:
|
5820
|
-
#line
|
5821
|
+
#line 1128 "grammar.y"
|
5821
5822
|
{
|
5822
5823
|
if(in_def || in_single)
|
5823
5824
|
yy_error("dynamic constant assignment");
|
@@ -5826,7 +5827,7 @@ yyreduce:
|
|
5826
5827
|
break;
|
5827
5828
|
|
5828
5829
|
case 109:
|
5829
|
-
#line
|
5830
|
+
#line 1134 "grammar.y"
|
5830
5831
|
{
|
5831
5832
|
rb_backref_error((yyvsp[(1) - (1)].node));
|
5832
5833
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -5834,35 +5835,35 @@ yyreduce:
|
|
5834
5835
|
break;
|
5835
5836
|
|
5836
5837
|
case 110:
|
5837
|
-
#line
|
5838
|
+
#line 1141 "grammar.y"
|
5838
5839
|
{
|
5839
5840
|
yy_error("class/module name must be CONSTANT");
|
5840
5841
|
;}
|
5841
5842
|
break;
|
5842
5843
|
|
5843
5844
|
case 112:
|
5844
|
-
#line
|
5845
|
+
#line 1148 "grammar.y"
|
5845
5846
|
{
|
5846
5847
|
(yyval.node) = NEW_COLON3((yyvsp[(2) - (2)].id));
|
5847
5848
|
;}
|
5848
5849
|
break;
|
5849
5850
|
|
5850
5851
|
case 113:
|
5851
|
-
#line
|
5852
|
+
#line 1152 "grammar.y"
|
5852
5853
|
{
|
5853
5854
|
(yyval.node) = NEW_COLON2(0, (yyval.node));
|
5854
5855
|
;}
|
5855
5856
|
break;
|
5856
5857
|
|
5857
5858
|
case 114:
|
5858
|
-
#line
|
5859
|
+
#line 1156 "grammar.y"
|
5859
5860
|
{
|
5860
5861
|
(yyval.node) = NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
5861
5862
|
;}
|
5862
5863
|
break;
|
5863
5864
|
|
5864
5865
|
case 118:
|
5865
|
-
#line
|
5866
|
+
#line 1165 "grammar.y"
|
5866
5867
|
{
|
5867
5868
|
lex_state = EXPR_ENDFN;
|
5868
5869
|
(yyval.id) = convert_op((yyvsp[(1) - (1)].id));
|
@@ -5870,7 +5871,7 @@ yyreduce:
|
|
5870
5871
|
break;
|
5871
5872
|
|
5872
5873
|
case 119:
|
5873
|
-
#line
|
5874
|
+
#line 1170 "grammar.y"
|
5874
5875
|
{
|
5875
5876
|
lex_state = EXPR_ENDFN;
|
5876
5877
|
(yyval.id) = (yyvsp[(1) - (1)].id);
|
@@ -5878,183 +5879,183 @@ yyreduce:
|
|
5878
5879
|
break;
|
5879
5880
|
|
5880
5881
|
case 122:
|
5881
|
-
#line
|
5882
|
+
#line 1181 "grammar.y"
|
5882
5883
|
{
|
5883
5884
|
(yyval.node) = NEW_LIT(ID2SYM((yyvsp[(1) - (1)].id)));
|
5884
5885
|
;}
|
5885
5886
|
break;
|
5886
5887
|
|
5887
5888
|
case 124:
|
5888
|
-
#line
|
5889
|
+
#line 1188 "grammar.y"
|
5889
5890
|
{
|
5890
5891
|
(yyval.node) = NEW_UNDEF((yyvsp[(1) - (1)].node));
|
5891
5892
|
;}
|
5892
5893
|
break;
|
5893
5894
|
|
5894
5895
|
case 125:
|
5895
|
-
#line
|
5896
|
+
#line 1191 "grammar.y"
|
5896
5897
|
{lex_state = EXPR_FNAME;;}
|
5897
5898
|
break;
|
5898
5899
|
|
5899
5900
|
case 126:
|
5900
|
-
#line
|
5901
|
+
#line 1192 "grammar.y"
|
5901
5902
|
{
|
5902
5903
|
(yyval.node) = block_append((yyvsp[(1) - (4)].node), NEW_UNDEF((yyvsp[(4) - (4)].node)));
|
5903
5904
|
;}
|
5904
5905
|
break;
|
5905
5906
|
|
5906
5907
|
case 127:
|
5907
|
-
#line
|
5908
|
+
#line 1197 "grammar.y"
|
5908
5909
|
{ (yyval.id) = '|'; ;}
|
5909
5910
|
break;
|
5910
5911
|
|
5911
5912
|
case 128:
|
5912
|
-
#line
|
5913
|
+
#line 1198 "grammar.y"
|
5913
5914
|
{ (yyval.id) = '^'; ;}
|
5914
5915
|
break;
|
5915
5916
|
|
5916
5917
|
case 129:
|
5917
|
-
#line
|
5918
|
+
#line 1199 "grammar.y"
|
5918
5919
|
{ (yyval.id) = '&'; ;}
|
5919
5920
|
break;
|
5920
5921
|
|
5921
5922
|
case 130:
|
5922
|
-
#line
|
5923
|
+
#line 1200 "grammar.y"
|
5923
5924
|
{ (yyval.id) = tCMP; ;}
|
5924
5925
|
break;
|
5925
5926
|
|
5926
5927
|
case 131:
|
5927
|
-
#line
|
5928
|
+
#line 1201 "grammar.y"
|
5928
5929
|
{ (yyval.id) = tEQ; ;}
|
5929
5930
|
break;
|
5930
5931
|
|
5931
5932
|
case 132:
|
5932
|
-
#line
|
5933
|
+
#line 1202 "grammar.y"
|
5933
5934
|
{ (yyval.id) = tEQQ; ;}
|
5934
5935
|
break;
|
5935
5936
|
|
5936
5937
|
case 133:
|
5937
|
-
#line
|
5938
|
+
#line 1203 "grammar.y"
|
5938
5939
|
{ (yyval.id) = tMATCH; ;}
|
5939
5940
|
break;
|
5940
5941
|
|
5941
5942
|
case 134:
|
5942
|
-
#line
|
5943
|
+
#line 1204 "grammar.y"
|
5943
5944
|
{ (yyval.id) = tNMATCH; ;}
|
5944
5945
|
break;
|
5945
5946
|
|
5946
5947
|
case 135:
|
5947
|
-
#line
|
5948
|
+
#line 1205 "grammar.y"
|
5948
5949
|
{ (yyval.id) = '>'; ;}
|
5949
5950
|
break;
|
5950
5951
|
|
5951
5952
|
case 136:
|
5952
|
-
#line
|
5953
|
+
#line 1206 "grammar.y"
|
5953
5954
|
{ (yyval.id) = tGEQ; ;}
|
5954
5955
|
break;
|
5955
5956
|
|
5956
5957
|
case 137:
|
5957
|
-
#line
|
5958
|
+
#line 1207 "grammar.y"
|
5958
5959
|
{ (yyval.id) = '<'; ;}
|
5959
5960
|
break;
|
5960
5961
|
|
5961
5962
|
case 138:
|
5962
|
-
#line
|
5963
|
+
#line 1208 "grammar.y"
|
5963
5964
|
{ (yyval.id) = tLEQ; ;}
|
5964
5965
|
break;
|
5965
5966
|
|
5966
5967
|
case 139:
|
5967
|
-
#line
|
5968
|
+
#line 1209 "grammar.y"
|
5968
5969
|
{ (yyval.id) = tNEQ; ;}
|
5969
5970
|
break;
|
5970
5971
|
|
5971
5972
|
case 140:
|
5972
|
-
#line
|
5973
|
+
#line 1210 "grammar.y"
|
5973
5974
|
{ (yyval.id) = tLSHFT; ;}
|
5974
5975
|
break;
|
5975
5976
|
|
5976
5977
|
case 141:
|
5977
|
-
#line
|
5978
|
+
#line 1211 "grammar.y"
|
5978
5979
|
{ (yyval.id) = tRSHFT; ;}
|
5979
5980
|
break;
|
5980
5981
|
|
5981
5982
|
case 142:
|
5982
|
-
#line
|
5983
|
+
#line 1212 "grammar.y"
|
5983
5984
|
{ (yyval.id) = '+'; ;}
|
5984
5985
|
break;
|
5985
5986
|
|
5986
5987
|
case 143:
|
5987
|
-
#line
|
5988
|
+
#line 1213 "grammar.y"
|
5988
5989
|
{ (yyval.id) = '-'; ;}
|
5989
5990
|
break;
|
5990
5991
|
|
5991
5992
|
case 144:
|
5992
|
-
#line
|
5993
|
+
#line 1214 "grammar.y"
|
5993
5994
|
{ (yyval.id) = '*'; ;}
|
5994
5995
|
break;
|
5995
5996
|
|
5996
5997
|
case 145:
|
5997
|
-
#line
|
5998
|
+
#line 1215 "grammar.y"
|
5998
5999
|
{ (yyval.id) = '*'; ;}
|
5999
6000
|
break;
|
6000
6001
|
|
6001
6002
|
case 146:
|
6002
|
-
#line
|
6003
|
+
#line 1216 "grammar.y"
|
6003
6004
|
{ (yyval.id) = '/'; ;}
|
6004
6005
|
break;
|
6005
6006
|
|
6006
6007
|
case 147:
|
6007
|
-
#line
|
6008
|
+
#line 1217 "grammar.y"
|
6008
6009
|
{ (yyval.id) = '%'; ;}
|
6009
6010
|
break;
|
6010
6011
|
|
6011
6012
|
case 148:
|
6012
|
-
#line
|
6013
|
+
#line 1218 "grammar.y"
|
6013
6014
|
{ (yyval.id) = tPOW; ;}
|
6014
6015
|
break;
|
6015
6016
|
|
6016
6017
|
case 149:
|
6017
|
-
#line
|
6018
|
+
#line 1219 "grammar.y"
|
6018
6019
|
{ (yyval.id) = tDSTAR; ;}
|
6019
6020
|
break;
|
6020
6021
|
|
6021
6022
|
case 150:
|
6022
|
-
#line
|
6023
|
+
#line 1220 "grammar.y"
|
6023
6024
|
{ (yyval.id) = '!'; ;}
|
6024
6025
|
break;
|
6025
6026
|
|
6026
6027
|
case 151:
|
6027
|
-
#line
|
6028
|
+
#line 1221 "grammar.y"
|
6028
6029
|
{ (yyval.id) = '~'; ;}
|
6029
6030
|
break;
|
6030
6031
|
|
6031
6032
|
case 152:
|
6032
|
-
#line
|
6033
|
+
#line 1222 "grammar.y"
|
6033
6034
|
{ (yyval.id) = tUPLUS; ;}
|
6034
6035
|
break;
|
6035
6036
|
|
6036
6037
|
case 153:
|
6037
|
-
#line
|
6038
|
+
#line 1223 "grammar.y"
|
6038
6039
|
{ (yyval.id) = tUMINUS; ;}
|
6039
6040
|
break;
|
6040
6041
|
|
6041
6042
|
case 154:
|
6042
|
-
#line
|
6043
|
+
#line 1224 "grammar.y"
|
6043
6044
|
{ (yyval.id) = tAREF; ;}
|
6044
6045
|
break;
|
6045
6046
|
|
6046
6047
|
case 155:
|
6047
|
-
#line
|
6048
|
+
#line 1225 "grammar.y"
|
6048
6049
|
{ (yyval.id) = tASET; ;}
|
6049
6050
|
break;
|
6050
6051
|
|
6051
6052
|
case 156:
|
6052
|
-
#line
|
6053
|
+
#line 1226 "grammar.y"
|
6053
6054
|
{ (yyval.id) = '`'; ;}
|
6054
6055
|
break;
|
6055
6056
|
|
6056
6057
|
case 198:
|
6057
|
-
#line
|
6058
|
+
#line 1244 "grammar.y"
|
6058
6059
|
{
|
6059
6060
|
value_expr((yyvsp[(3) - (3)].node));
|
6060
6061
|
(yyval.node) = node_assign((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
@@ -6062,7 +6063,7 @@ yyreduce:
|
|
6062
6063
|
break;
|
6063
6064
|
|
6064
6065
|
case 199:
|
6065
|
-
#line
|
6066
|
+
#line 1249 "grammar.y"
|
6066
6067
|
{
|
6067
6068
|
value_expr((yyvsp[(3) - (5)].node));
|
6068
6069
|
(yyvsp[(3) - (5)].node) = NEW_RESCUE((yyvsp[(3) - (5)].node), NEW_RESBODY(0, (yyvsp[(5) - (5)].node), 0), 0);
|
@@ -6071,7 +6072,7 @@ yyreduce:
|
|
6071
6072
|
break;
|
6072
6073
|
|
6073
6074
|
case 200:
|
6074
|
-
#line
|
6075
|
+
#line 1255 "grammar.y"
|
6075
6076
|
{
|
6076
6077
|
value_expr((yyvsp[(3) - (3)].node));
|
6077
6078
|
(yyval.node) = new_op_assign((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].node));
|
@@ -6079,7 +6080,7 @@ yyreduce:
|
|
6079
6080
|
break;
|
6080
6081
|
|
6081
6082
|
case 201:
|
6082
|
-
#line
|
6083
|
+
#line 1260 "grammar.y"
|
6083
6084
|
{
|
6084
6085
|
value_expr((yyvsp[(3) - (5)].node));
|
6085
6086
|
(yyvsp[(3) - (5)].node) = NEW_RESCUE((yyvsp[(3) - (5)].node), NEW_RESBODY(0, (yyvsp[(5) - (5)].node), 0), 0);
|
@@ -6088,7 +6089,7 @@ yyreduce:
|
|
6088
6089
|
break;
|
6089
6090
|
|
6090
6091
|
case 202:
|
6091
|
-
#line
|
6092
|
+
#line 1266 "grammar.y"
|
6092
6093
|
{
|
6093
6094
|
NODE *args;
|
6094
6095
|
|
@@ -6112,7 +6113,7 @@ yyreduce:
|
|
6112
6113
|
break;
|
6113
6114
|
|
6114
6115
|
case 203:
|
6115
|
-
#line
|
6116
|
+
#line 1287 "grammar.y"
|
6116
6117
|
{
|
6117
6118
|
value_expr((yyvsp[(5) - (5)].node));
|
6118
6119
|
(yyval.node) = new_attr_op_assign((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -6120,7 +6121,7 @@ yyreduce:
|
|
6120
6121
|
break;
|
6121
6122
|
|
6122
6123
|
case 204:
|
6123
|
-
#line
|
6124
|
+
#line 1292 "grammar.y"
|
6124
6125
|
{
|
6125
6126
|
value_expr((yyvsp[(5) - (5)].node));
|
6126
6127
|
(yyval.node) = new_attr_op_assign((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -6128,7 +6129,7 @@ yyreduce:
|
|
6128
6129
|
break;
|
6129
6130
|
|
6130
6131
|
case 205:
|
6131
|
-
#line
|
6132
|
+
#line 1297 "grammar.y"
|
6132
6133
|
{
|
6133
6134
|
value_expr((yyvsp[(5) - (5)].node));
|
6134
6135
|
(yyval.node) = new_attr_op_assign((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -6136,7 +6137,7 @@ yyreduce:
|
|
6136
6137
|
break;
|
6137
6138
|
|
6138
6139
|
case 206:
|
6139
|
-
#line
|
6140
|
+
#line 1302 "grammar.y"
|
6140
6141
|
{
|
6141
6142
|
(yyval.node) = NEW_COLON2((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id));
|
6142
6143
|
(yyval.node) = new_const_op_assign((yyval.node), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].node));
|
@@ -6144,7 +6145,7 @@ yyreduce:
|
|
6144
6145
|
break;
|
6145
6146
|
|
6146
6147
|
case 207:
|
6147
|
-
#line
|
6148
|
+
#line 1307 "grammar.y"
|
6148
6149
|
{
|
6149
6150
|
(yyval.node) = NEW_COLON3((yyvsp[(2) - (4)].id));
|
6150
6151
|
(yyval.node) = new_const_op_assign((yyval.node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
|
@@ -6152,7 +6153,7 @@ yyreduce:
|
|
6152
6153
|
break;
|
6153
6154
|
|
6154
6155
|
case 208:
|
6155
|
-
#line
|
6156
|
+
#line 1312 "grammar.y"
|
6156
6157
|
{
|
6157
6158
|
rb_backref_error((yyvsp[(1) - (3)].node));
|
6158
6159
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -6160,7 +6161,7 @@ yyreduce:
|
|
6160
6161
|
break;
|
6161
6162
|
|
6162
6163
|
case 209:
|
6163
|
-
#line
|
6164
|
+
#line 1317 "grammar.y"
|
6164
6165
|
{
|
6165
6166
|
value_expr((yyvsp[(1) - (3)].node));
|
6166
6167
|
value_expr((yyvsp[(3) - (3)].node));
|
@@ -6169,7 +6170,7 @@ yyreduce:
|
|
6169
6170
|
break;
|
6170
6171
|
|
6171
6172
|
case 210:
|
6172
|
-
#line
|
6173
|
+
#line 1323 "grammar.y"
|
6173
6174
|
{
|
6174
6175
|
value_expr((yyvsp[(1) - (3)].node));
|
6175
6176
|
value_expr((yyvsp[(3) - (3)].node));
|
@@ -6178,147 +6179,147 @@ yyreduce:
|
|
6178
6179
|
break;
|
6179
6180
|
|
6180
6181
|
case 211:
|
6181
|
-
#line
|
6182
|
+
#line 1329 "grammar.y"
|
6182
6183
|
{
|
6183
6184
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '+', (yyvsp[(3) - (3)].node));
|
6184
6185
|
;}
|
6185
6186
|
break;
|
6186
6187
|
|
6187
6188
|
case 212:
|
6188
|
-
#line
|
6189
|
+
#line 1333 "grammar.y"
|
6189
6190
|
{
|
6190
6191
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '-', (yyvsp[(3) - (3)].node));
|
6191
6192
|
;}
|
6192
6193
|
break;
|
6193
6194
|
|
6194
6195
|
case 213:
|
6195
|
-
#line
|
6196
|
+
#line 1337 "grammar.y"
|
6196
6197
|
{
|
6197
6198
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '*', (yyvsp[(3) - (3)].node));
|
6198
6199
|
;}
|
6199
6200
|
break;
|
6200
6201
|
|
6201
6202
|
case 214:
|
6202
|
-
#line
|
6203
|
+
#line 1341 "grammar.y"
|
6203
6204
|
{
|
6204
6205
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '/', (yyvsp[(3) - (3)].node));
|
6205
6206
|
;}
|
6206
6207
|
break;
|
6207
6208
|
|
6208
6209
|
case 215:
|
6209
|
-
#line
|
6210
|
+
#line 1345 "grammar.y"
|
6210
6211
|
{
|
6211
6212
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '%', (yyvsp[(3) - (3)].node));
|
6212
6213
|
;}
|
6213
6214
|
break;
|
6214
6215
|
|
6215
6216
|
case 216:
|
6216
|
-
#line
|
6217
|
+
#line 1349 "grammar.y"
|
6217
6218
|
{
|
6218
6219
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tPOW, (yyvsp[(3) - (3)].node));
|
6219
6220
|
;}
|
6220
6221
|
break;
|
6221
6222
|
|
6222
6223
|
case 217:
|
6223
|
-
#line
|
6224
|
+
#line 1353 "grammar.y"
|
6224
6225
|
{
|
6225
6226
|
(yyval.node) = NEW_CALL(call_bin_op((yyvsp[(2) - (4)].node), tPOW, (yyvsp[(4) - (4)].node)), tUMINUS, 0);
|
6226
6227
|
;}
|
6227
6228
|
break;
|
6228
6229
|
|
6229
6230
|
case 218:
|
6230
|
-
#line
|
6231
|
+
#line 1357 "grammar.y"
|
6231
6232
|
{
|
6232
6233
|
(yyval.node) = call_uni_op((yyvsp[(2) - (2)].node), tUPLUS);
|
6233
6234
|
;}
|
6234
6235
|
break;
|
6235
6236
|
|
6236
6237
|
case 219:
|
6237
|
-
#line
|
6238
|
+
#line 1361 "grammar.y"
|
6238
6239
|
{
|
6239
6240
|
(yyval.node) = call_uni_op((yyvsp[(2) - (2)].node), tUMINUS);
|
6240
6241
|
;}
|
6241
6242
|
break;
|
6242
6243
|
|
6243
6244
|
case 220:
|
6244
|
-
#line
|
6245
|
+
#line 1365 "grammar.y"
|
6245
6246
|
{
|
6246
6247
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '|', (yyvsp[(3) - (3)].node));
|
6247
6248
|
;}
|
6248
6249
|
break;
|
6249
6250
|
|
6250
6251
|
case 221:
|
6251
|
-
#line
|
6252
|
+
#line 1369 "grammar.y"
|
6252
6253
|
{
|
6253
6254
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '^', (yyvsp[(3) - (3)].node));
|
6254
6255
|
;}
|
6255
6256
|
break;
|
6256
6257
|
|
6257
6258
|
case 222:
|
6258
|
-
#line
|
6259
|
+
#line 1373 "grammar.y"
|
6259
6260
|
{
|
6260
6261
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '&', (yyvsp[(3) - (3)].node));
|
6261
6262
|
;}
|
6262
6263
|
break;
|
6263
6264
|
|
6264
6265
|
case 223:
|
6265
|
-
#line
|
6266
|
+
#line 1377 "grammar.y"
|
6266
6267
|
{
|
6267
6268
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tCMP, (yyvsp[(3) - (3)].node));
|
6268
6269
|
;}
|
6269
6270
|
break;
|
6270
6271
|
|
6271
6272
|
case 224:
|
6272
|
-
#line
|
6273
|
+
#line 1381 "grammar.y"
|
6273
6274
|
{
|
6274
6275
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '>', (yyvsp[(3) - (3)].node));
|
6275
6276
|
;}
|
6276
6277
|
break;
|
6277
6278
|
|
6278
6279
|
case 225:
|
6279
|
-
#line
|
6280
|
+
#line 1385 "grammar.y"
|
6280
6281
|
{
|
6281
6282
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tGEQ, (yyvsp[(3) - (3)].node));
|
6282
6283
|
;}
|
6283
6284
|
break;
|
6284
6285
|
|
6285
6286
|
case 226:
|
6286
|
-
#line
|
6287
|
+
#line 1389 "grammar.y"
|
6287
6288
|
{
|
6288
6289
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), '<', (yyvsp[(3) - (3)].node));
|
6289
6290
|
;}
|
6290
6291
|
break;
|
6291
6292
|
|
6292
6293
|
case 227:
|
6293
|
-
#line
|
6294
|
+
#line 1393 "grammar.y"
|
6294
6295
|
{
|
6295
6296
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tLEQ, (yyvsp[(3) - (3)].node));
|
6296
6297
|
;}
|
6297
6298
|
break;
|
6298
6299
|
|
6299
6300
|
case 228:
|
6300
|
-
#line
|
6301
|
+
#line 1397 "grammar.y"
|
6301
6302
|
{
|
6302
6303
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tEQ, (yyvsp[(3) - (3)].node));
|
6303
6304
|
;}
|
6304
6305
|
break;
|
6305
6306
|
|
6306
6307
|
case 229:
|
6307
|
-
#line
|
6308
|
+
#line 1401 "grammar.y"
|
6308
6309
|
{
|
6309
6310
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tEQQ, (yyvsp[(3) - (3)].node));
|
6310
6311
|
;}
|
6311
6312
|
break;
|
6312
6313
|
|
6313
6314
|
case 230:
|
6314
|
-
#line
|
6315
|
+
#line 1405 "grammar.y"
|
6315
6316
|
{
|
6316
6317
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tNEQ, (yyvsp[(3) - (3)].node));
|
6317
6318
|
;}
|
6318
6319
|
break;
|
6319
6320
|
|
6320
6321
|
case 231:
|
6321
|
-
#line
|
6322
|
+
#line 1409 "grammar.y"
|
6322
6323
|
{
|
6323
6324
|
/* TODO */
|
6324
6325
|
(yyval.node) = match_op((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
@@ -6331,61 +6332,61 @@ yyreduce:
|
|
6331
6332
|
break;
|
6332
6333
|
|
6333
6334
|
case 232:
|
6334
|
-
#line
|
6335
|
+
#line 1419 "grammar.y"
|
6335
6336
|
{
|
6336
6337
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tNMATCH, (yyvsp[(3) - (3)].node));
|
6337
6338
|
;}
|
6338
6339
|
break;
|
6339
6340
|
|
6340
6341
|
case 233:
|
6341
|
-
#line
|
6342
|
+
#line 1423 "grammar.y"
|
6342
6343
|
{
|
6343
6344
|
(yyval.node) = call_uni_op(cond((yyvsp[(2) - (2)].node)), '!');
|
6344
6345
|
;}
|
6345
6346
|
break;
|
6346
6347
|
|
6347
6348
|
case 234:
|
6348
|
-
#line
|
6349
|
+
#line 1427 "grammar.y"
|
6349
6350
|
{
|
6350
6351
|
(yyval.node) = call_uni_op((yyvsp[(2) - (2)].node), '~');
|
6351
6352
|
;}
|
6352
6353
|
break;
|
6353
6354
|
|
6354
6355
|
case 235:
|
6355
|
-
#line
|
6356
|
+
#line 1431 "grammar.y"
|
6356
6357
|
{
|
6357
6358
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tLSHFT, (yyvsp[(3) - (3)].node));
|
6358
6359
|
;}
|
6359
6360
|
break;
|
6360
6361
|
|
6361
6362
|
case 236:
|
6362
|
-
#line
|
6363
|
+
#line 1435 "grammar.y"
|
6363
6364
|
{
|
6364
6365
|
(yyval.node) = call_bin_op((yyvsp[(1) - (3)].node), tRSHFT, (yyvsp[(3) - (3)].node));
|
6365
6366
|
;}
|
6366
6367
|
break;
|
6367
6368
|
|
6368
6369
|
case 237:
|
6369
|
-
#line
|
6370
|
+
#line 1439 "grammar.y"
|
6370
6371
|
{
|
6371
6372
|
(yyval.node) = logop(NODE_AND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
6372
6373
|
;}
|
6373
6374
|
break;
|
6374
6375
|
|
6375
6376
|
case 238:
|
6376
|
-
#line
|
6377
|
+
#line 1443 "grammar.y"
|
6377
6378
|
{
|
6378
6379
|
(yyval.node) = logop(NODE_OR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
6379
6380
|
;}
|
6380
6381
|
break;
|
6381
6382
|
|
6382
6383
|
case 239:
|
6383
|
-
#line
|
6384
|
+
#line 1446 "grammar.y"
|
6384
6385
|
{in_defined = 1;;}
|
6385
6386
|
break;
|
6386
6387
|
|
6387
6388
|
case 240:
|
6388
|
-
#line
|
6389
|
+
#line 1447 "grammar.y"
|
6389
6390
|
{
|
6390
6391
|
in_defined = 0;
|
6391
6392
|
(yyval.node) = NEW_DEFINED((yyvsp[(4) - (4)].node));
|
@@ -6393,7 +6394,7 @@ yyreduce:
|
|
6393
6394
|
break;
|
6394
6395
|
|
6395
6396
|
case 241:
|
6396
|
-
#line
|
6397
|
+
#line 1452 "grammar.y"
|
6397
6398
|
{
|
6398
6399
|
value_expr((yyvsp[(1) - (6)].node));
|
6399
6400
|
(yyval.node) = NEW_IF(cond((yyvsp[(1) - (6)].node)), (yyvsp[(3) - (6)].node), (yyvsp[(6) - (6)].node));
|
@@ -6402,14 +6403,14 @@ yyreduce:
|
|
6402
6403
|
break;
|
6403
6404
|
|
6404
6405
|
case 242:
|
6405
|
-
#line
|
6406
|
+
#line 1458 "grammar.y"
|
6406
6407
|
{
|
6407
6408
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
6408
6409
|
;}
|
6409
6410
|
break;
|
6410
6411
|
|
6411
6412
|
case 243:
|
6412
|
-
#line
|
6413
|
+
#line 1464 "grammar.y"
|
6413
6414
|
{
|
6414
6415
|
value_expr((yyvsp[(1) - (1)].node));
|
6415
6416
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
@@ -6418,56 +6419,56 @@ yyreduce:
|
|
6418
6419
|
break;
|
6419
6420
|
|
6420
6421
|
case 245:
|
6421
|
-
#line
|
6422
|
+
#line 1473 "grammar.y"
|
6422
6423
|
{
|
6423
6424
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
6424
6425
|
;}
|
6425
6426
|
break;
|
6426
6427
|
|
6427
6428
|
case 246:
|
6428
|
-
#line
|
6429
|
+
#line 1477 "grammar.y"
|
6429
6430
|
{
|
6430
6431
|
(yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
|
6431
6432
|
;}
|
6432
6433
|
break;
|
6433
6434
|
|
6434
6435
|
case 247:
|
6435
|
-
#line
|
6436
|
+
#line 1481 "grammar.y"
|
6436
6437
|
{
|
6437
6438
|
(yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
|
6438
6439
|
;}
|
6439
6440
|
break;
|
6440
6441
|
|
6441
6442
|
case 248:
|
6442
|
-
#line
|
6443
|
+
#line 1487 "grammar.y"
|
6443
6444
|
{
|
6444
6445
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
6445
6446
|
;}
|
6446
6447
|
break;
|
6447
6448
|
|
6448
6449
|
case 253:
|
6449
|
-
#line
|
6450
|
+
#line 1499 "grammar.y"
|
6450
6451
|
{
|
6451
6452
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
6452
6453
|
;}
|
6453
6454
|
break;
|
6454
6455
|
|
6455
6456
|
case 254:
|
6456
|
-
#line
|
6457
|
+
#line 1503 "grammar.y"
|
6457
6458
|
{
|
6458
6459
|
(yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
|
6459
6460
|
;}
|
6460
6461
|
break;
|
6461
6462
|
|
6462
6463
|
case 255:
|
6463
|
-
#line
|
6464
|
+
#line 1507 "grammar.y"
|
6464
6465
|
{
|
6465
6466
|
(yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
|
6466
6467
|
;}
|
6467
6468
|
break;
|
6468
6469
|
|
6469
6470
|
case 256:
|
6470
|
-
#line
|
6471
|
+
#line 1513 "grammar.y"
|
6471
6472
|
{
|
6472
6473
|
value_expr((yyvsp[(1) - (1)].node));
|
6473
6474
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
|
@@ -6475,14 +6476,14 @@ yyreduce:
|
|
6475
6476
|
break;
|
6476
6477
|
|
6477
6478
|
case 257:
|
6478
|
-
#line
|
6479
|
+
#line 1518 "grammar.y"
|
6479
6480
|
{
|
6480
6481
|
(yyval.node) = arg_blk_pass((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
|
6481
6482
|
;}
|
6482
6483
|
break;
|
6483
6484
|
|
6484
6485
|
case 258:
|
6485
|
-
#line
|
6486
|
+
#line 1522 "grammar.y"
|
6486
6487
|
{
|
6487
6488
|
(yyval.node) = NEW_LIST(NEW_HASH((yyvsp[(1) - (2)].node)));
|
6488
6489
|
(yyval.node) = arg_blk_pass((yyval.node), (yyvsp[(2) - (2)].node));
|
@@ -6490,7 +6491,7 @@ yyreduce:
|
|
6490
6491
|
break;
|
6491
6492
|
|
6492
6493
|
case 259:
|
6493
|
-
#line
|
6494
|
+
#line 1527 "grammar.y"
|
6494
6495
|
{
|
6495
6496
|
(yyval.node) = arg_append((yyvsp[(1) - (4)].node), NEW_HASH((yyvsp[(3) - (4)].node)));
|
6496
6497
|
(yyval.node) = arg_blk_pass((yyval.node), (yyvsp[(4) - (4)].node));
|
@@ -6498,7 +6499,7 @@ yyreduce:
|
|
6498
6499
|
break;
|
6499
6500
|
|
6500
6501
|
case 261:
|
6501
|
-
#line
|
6502
|
+
#line 1534 "grammar.y"
|
6502
6503
|
{
|
6503
6504
|
(yyval.val) = cmdarg_stack;
|
6504
6505
|
CMDARG_PUSH(1);
|
@@ -6506,7 +6507,7 @@ yyreduce:
|
|
6506
6507
|
break;
|
6507
6508
|
|
6508
6509
|
case 262:
|
6509
|
-
#line
|
6510
|
+
#line 1539 "grammar.y"
|
6510
6511
|
{
|
6511
6512
|
/* CMDARG_POP() */
|
6512
6513
|
cmdarg_stack = (yyvsp[(1) - (2)].val);
|
@@ -6515,42 +6516,42 @@ yyreduce:
|
|
6515
6516
|
break;
|
6516
6517
|
|
6517
6518
|
case 263:
|
6518
|
-
#line
|
6519
|
+
#line 1547 "grammar.y"
|
6519
6520
|
{
|
6520
6521
|
(yyval.node) = NEW_BLOCK_PASS((yyvsp[(2) - (2)].node));
|
6521
6522
|
;}
|
6522
6523
|
break;
|
6523
6524
|
|
6524
6525
|
case 264:
|
6525
|
-
#line
|
6526
|
+
#line 1553 "grammar.y"
|
6526
6527
|
{
|
6527
6528
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
6528
6529
|
;}
|
6529
6530
|
break;
|
6530
6531
|
|
6531
6532
|
case 265:
|
6532
|
-
#line
|
6533
|
+
#line 1557 "grammar.y"
|
6533
6534
|
{
|
6534
6535
|
(yyval.node) = 0;
|
6535
6536
|
;}
|
6536
6537
|
break;
|
6537
6538
|
|
6538
6539
|
case 266:
|
6539
|
-
#line
|
6540
|
+
#line 1563 "grammar.y"
|
6540
6541
|
{
|
6541
6542
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
|
6542
6543
|
;}
|
6543
6544
|
break;
|
6544
6545
|
|
6545
6546
|
case 267:
|
6546
|
-
#line
|
6547
|
+
#line 1567 "grammar.y"
|
6547
6548
|
{
|
6548
6549
|
(yyval.node) = NEW_SPLAT((yyvsp[(2) - (2)].node));
|
6549
6550
|
;}
|
6550
6551
|
break;
|
6551
6552
|
|
6552
6553
|
case 268:
|
6553
|
-
#line
|
6554
|
+
#line 1571 "grammar.y"
|
6554
6555
|
{
|
6555
6556
|
NODE *n1;
|
6556
6557
|
if((n1 = splat_array((yyvsp[(1) - (3)].node))) != 0) {
|
@@ -6562,7 +6563,7 @@ yyreduce:
|
|
6562
6563
|
break;
|
6563
6564
|
|
6564
6565
|
case 269:
|
6565
|
-
#line
|
6566
|
+
#line 1580 "grammar.y"
|
6566
6567
|
{
|
6567
6568
|
NODE *n1;
|
6568
6569
|
if((nd_type((yyvsp[(4) - (4)].node)) == NODE_ARRAY) && (n1 = splat_array((yyvsp[(1) - (4)].node))) != 0) {
|
@@ -6574,7 +6575,7 @@ yyreduce:
|
|
6574
6575
|
break;
|
6575
6576
|
|
6576
6577
|
case 272:
|
6577
|
-
#line
|
6578
|
+
#line 1595 "grammar.y"
|
6578
6579
|
{
|
6579
6580
|
NODE *n1;
|
6580
6581
|
if((n1 = splat_array((yyvsp[(1) - (3)].node))) != 0) {
|
@@ -6586,7 +6587,7 @@ yyreduce:
|
|
6586
6587
|
break;
|
6587
6588
|
|
6588
6589
|
case 273:
|
6589
|
-
#line
|
6590
|
+
#line 1604 "grammar.y"
|
6590
6591
|
{
|
6591
6592
|
NODE *n1;
|
6592
6593
|
if(nd_type((yyvsp[(4) - (4)].node)) == NODE_ARRAY && (n1 = splat_array((yyvsp[(1) - (4)].node))) != 0) {
|
@@ -6598,21 +6599,21 @@ yyreduce:
|
|
6598
6599
|
break;
|
6599
6600
|
|
6600
6601
|
case 274:
|
6601
|
-
#line
|
6602
|
+
#line 1613 "grammar.y"
|
6602
6603
|
{
|
6603
6604
|
(yyval.node) = NEW_SPLAT((yyvsp[(2) - (2)].node));
|
6604
6605
|
;}
|
6605
6606
|
break;
|
6606
6607
|
|
6607
6608
|
case 285:
|
6608
|
-
#line
|
6609
|
+
#line 1629 "grammar.y"
|
6609
6610
|
{
|
6610
6611
|
(yyval.node) = NEW_FCALL((yyvsp[(1) - (1)].id), 0);
|
6611
6612
|
;}
|
6612
6613
|
break;
|
6613
6614
|
|
6614
6615
|
case 286:
|
6615
|
-
#line
|
6616
|
+
#line 1633 "grammar.y"
|
6616
6617
|
{
|
6617
6618
|
(yyvsp[(1) - (1)].val) = cmdarg_stack;
|
6618
6619
|
cmdarg_stack = 0;
|
@@ -6621,7 +6622,7 @@ yyreduce:
|
|
6621
6622
|
break;
|
6622
6623
|
|
6623
6624
|
case 287:
|
6624
|
-
#line
|
6625
|
+
#line 1640 "grammar.y"
|
6625
6626
|
{
|
6626
6627
|
cmdarg_stack = (yyvsp[(1) - (4)].val);
|
6627
6628
|
if((yyvsp[(3) - (4)].node) == NULL) {
|
@@ -6637,52 +6638,52 @@ yyreduce:
|
|
6637
6638
|
break;
|
6638
6639
|
|
6639
6640
|
case 288:
|
6640
|
-
#line
|
6641
|
+
#line 1652 "grammar.y"
|
6641
6642
|
{lex_state = EXPR_ENDARG;;}
|
6642
6643
|
break;
|
6643
6644
|
|
6644
6645
|
case 289:
|
6645
|
-
#line
|
6646
|
+
#line 1653 "grammar.y"
|
6646
6647
|
{
|
6647
6648
|
(yyval.node) = 0;
|
6648
6649
|
;}
|
6649
6650
|
break;
|
6650
6651
|
|
6651
6652
|
case 290:
|
6652
|
-
#line
|
6653
|
+
#line 1656 "grammar.y"
|
6653
6654
|
{lex_state = EXPR_ENDARG;;}
|
6654
6655
|
break;
|
6655
6656
|
|
6656
6657
|
case 291:
|
6657
|
-
#line
|
6658
|
+
#line 1657 "grammar.y"
|
6658
6659
|
{
|
6659
6660
|
(yyval.node) = (yyvsp[(2) - (4)].node);
|
6660
6661
|
;}
|
6661
6662
|
break;
|
6662
6663
|
|
6663
6664
|
case 292:
|
6664
|
-
#line
|
6665
|
+
#line 1661 "grammar.y"
|
6665
6666
|
{
|
6666
6667
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
6667
6668
|
;}
|
6668
6669
|
break;
|
6669
6670
|
|
6670
6671
|
case 293:
|
6671
|
-
#line
|
6672
|
+
#line 1665 "grammar.y"
|
6672
6673
|
{
|
6673
6674
|
(yyval.node) = NEW_COLON2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id));
|
6674
6675
|
;}
|
6675
6676
|
break;
|
6676
6677
|
|
6677
6678
|
case 294:
|
6678
|
-
#line
|
6679
|
+
#line 1669 "grammar.y"
|
6679
6680
|
{
|
6680
6681
|
(yyval.node) = NEW_COLON3((yyvsp[(2) - (2)].id));
|
6681
6682
|
;}
|
6682
6683
|
break;
|
6683
6684
|
|
6684
6685
|
case 295:
|
6685
|
-
#line
|
6686
|
+
#line 1673 "grammar.y"
|
6686
6687
|
{
|
6687
6688
|
if((yyvsp[(2) - (3)].node) == 0) {
|
6688
6689
|
(yyval.node) = NEW_ZARRAY(); /* zero length array*/
|
@@ -6693,47 +6694,47 @@ yyreduce:
|
|
6693
6694
|
break;
|
6694
6695
|
|
6695
6696
|
case 296:
|
6696
|
-
#line
|
6697
|
+
#line 1681 "grammar.y"
|
6697
6698
|
{
|
6698
6699
|
(yyval.node) = NEW_HASH((yyvsp[(2) - (3)].node));
|
6699
6700
|
;}
|
6700
6701
|
break;
|
6701
6702
|
|
6702
6703
|
case 297:
|
6703
|
-
#line
|
6704
|
+
#line 1685 "grammar.y"
|
6704
6705
|
{
|
6705
6706
|
(yyval.node) = NEW_RETURN(0);
|
6706
6707
|
;}
|
6707
6708
|
break;
|
6708
6709
|
|
6709
6710
|
case 298:
|
6710
|
-
#line
|
6711
|
+
#line 1689 "grammar.y"
|
6711
6712
|
{
|
6712
6713
|
(yyval.node) = new_yield((yyvsp[(3) - (4)].node));
|
6713
6714
|
;}
|
6714
6715
|
break;
|
6715
6716
|
|
6716
6717
|
case 299:
|
6717
|
-
#line
|
6718
|
+
#line 1693 "grammar.y"
|
6718
6719
|
{
|
6719
6720
|
(yyval.node) = NEW_YIELD(0, Qfalse);
|
6720
6721
|
;}
|
6721
6722
|
break;
|
6722
6723
|
|
6723
6724
|
case 300:
|
6724
|
-
#line
|
6725
|
+
#line 1697 "grammar.y"
|
6725
6726
|
{
|
6726
6727
|
(yyval.node) = NEW_YIELD(0, Qfalse);
|
6727
6728
|
;}
|
6728
6729
|
break;
|
6729
6730
|
|
6730
6731
|
case 301:
|
6731
|
-
#line
|
6732
|
+
#line 1700 "grammar.y"
|
6732
6733
|
{in_defined = 1;;}
|
6733
6734
|
break;
|
6734
6735
|
|
6735
6736
|
case 302:
|
6736
|
-
#line
|
6737
|
+
#line 1701 "grammar.y"
|
6737
6738
|
{
|
6738
6739
|
in_defined = 0;
|
6739
6740
|
(yyval.node) = NEW_DEFINED((yyvsp[(5) - (6)].node));
|
@@ -6741,21 +6742,21 @@ yyreduce:
|
|
6741
6742
|
break;
|
6742
6743
|
|
6743
6744
|
case 303:
|
6744
|
-
#line
|
6745
|
+
#line 1706 "grammar.y"
|
6745
6746
|
{
|
6746
6747
|
(yyval.node) = call_uni_op(cond((yyvsp[(3) - (4)].node)), '!');
|
6747
6748
|
;}
|
6748
6749
|
break;
|
6749
6750
|
|
6750
6751
|
case 304:
|
6751
|
-
#line
|
6752
|
+
#line 1710 "grammar.y"
|
6752
6753
|
{
|
6753
6754
|
(yyval.node) = call_uni_op(cond(NEW_NIL()), '!');
|
6754
6755
|
;}
|
6755
6756
|
break;
|
6756
6757
|
|
6757
6758
|
case 305:
|
6758
|
-
#line
|
6759
|
+
#line 1714 "grammar.y"
|
6759
6760
|
{
|
6760
6761
|
(yyvsp[(2) - (2)].node)->nd_iter = (yyvsp[(1) - (2)].node);
|
6761
6762
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
@@ -6764,7 +6765,7 @@ yyreduce:
|
|
6764
6765
|
break;
|
6765
6766
|
|
6766
6767
|
case 307:
|
6767
|
-
#line
|
6768
|
+
#line 1721 "grammar.y"
|
6768
6769
|
{
|
6769
6770
|
block_dup_check((yyvsp[(1) - (2)].node)->nd_args, (yyvsp[(2) - (2)].node));
|
6770
6771
|
(yyvsp[(2) - (2)].node)->nd_iter = (yyvsp[(1) - (2)].node);
|
@@ -6774,14 +6775,14 @@ yyreduce:
|
|
6774
6775
|
break;
|
6775
6776
|
|
6776
6777
|
case 308:
|
6777
|
-
#line
|
6778
|
+
#line 1728 "grammar.y"
|
6778
6779
|
{
|
6779
6780
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
6780
6781
|
;}
|
6781
6782
|
break;
|
6782
6783
|
|
6783
6784
|
case 309:
|
6784
|
-
#line
|
6785
|
+
#line 1735 "grammar.y"
|
6785
6786
|
{
|
6786
6787
|
(yyval.node) = NEW_IF(cond((yyvsp[(2) - (6)].node)), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node));
|
6787
6788
|
fixpos((yyval.node), (yyvsp[(2) - (6)].node));
|
@@ -6789,7 +6790,7 @@ yyreduce:
|
|
6789
6790
|
break;
|
6790
6791
|
|
6791
6792
|
case 310:
|
6792
|
-
#line
|
6793
|
+
#line 1743 "grammar.y"
|
6793
6794
|
{
|
6794
6795
|
(yyval.node) = NEW_UNLESS(cond((yyvsp[(2) - (6)].node)), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node));
|
6795
6796
|
fixpos((yyval.node), (yyvsp[(2) - (6)].node));
|
@@ -6797,17 +6798,17 @@ yyreduce:
|
|
6797
6798
|
break;
|
6798
6799
|
|
6799
6800
|
case 311:
|
6800
|
-
#line
|
6801
|
+
#line 1747 "grammar.y"
|
6801
6802
|
{COND_PUSH(1);;}
|
6802
6803
|
break;
|
6803
6804
|
|
6804
6805
|
case 312:
|
6805
|
-
#line
|
6806
|
+
#line 1747 "grammar.y"
|
6806
6807
|
{COND_POP();;}
|
6807
6808
|
break;
|
6808
6809
|
|
6809
6810
|
case 313:
|
6810
|
-
#line
|
6811
|
+
#line 1750 "grammar.y"
|
6811
6812
|
{
|
6812
6813
|
(yyval.node) = NEW_WHILE(cond((yyvsp[(3) - (7)].node)), (yyvsp[(6) - (7)].node), 1);
|
6813
6814
|
fixpos((yyval.node), (yyvsp[(3) - (7)].node));
|
@@ -6815,17 +6816,17 @@ yyreduce:
|
|
6815
6816
|
break;
|
6816
6817
|
|
6817
6818
|
case 314:
|
6818
|
-
#line
|
6819
|
+
#line 1754 "grammar.y"
|
6819
6820
|
{COND_PUSH(1);;}
|
6820
6821
|
break;
|
6821
6822
|
|
6822
6823
|
case 315:
|
6823
|
-
#line
|
6824
|
+
#line 1754 "grammar.y"
|
6824
6825
|
{COND_POP();;}
|
6825
6826
|
break;
|
6826
6827
|
|
6827
6828
|
case 316:
|
6828
|
-
#line
|
6829
|
+
#line 1757 "grammar.y"
|
6829
6830
|
{
|
6830
6831
|
(yyval.node) = NEW_UNTIL(cond((yyvsp[(3) - (7)].node)), (yyvsp[(6) - (7)].node), 1);
|
6831
6832
|
fixpos((yyval.node), (yyvsp[(3) - (7)].node));
|
@@ -6833,7 +6834,7 @@ yyreduce:
|
|
6833
6834
|
break;
|
6834
6835
|
|
6835
6836
|
case 317:
|
6836
|
-
#line
|
6837
|
+
#line 1764 "grammar.y"
|
6837
6838
|
{
|
6838
6839
|
(yyval.node) = NEW_CASE((yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node));
|
6839
6840
|
fixpos((yyval.node), (yyvsp[(2) - (5)].node));
|
@@ -6841,24 +6842,24 @@ yyreduce:
|
|
6841
6842
|
break;
|
6842
6843
|
|
6843
6844
|
case 318:
|
6844
|
-
#line
|
6845
|
+
#line 1769 "grammar.y"
|
6845
6846
|
{
|
6846
6847
|
(yyval.node) = NEW_CASE(0, (yyvsp[(3) - (4)].node));
|
6847
6848
|
;}
|
6848
6849
|
break;
|
6849
6850
|
|
6850
6851
|
case 319:
|
6851
|
-
#line
|
6852
|
+
#line 1773 "grammar.y"
|
6852
6853
|
{COND_PUSH(1);;}
|
6853
6854
|
break;
|
6854
6855
|
|
6855
6856
|
case 320:
|
6856
|
-
#line
|
6857
|
+
#line 1775 "grammar.y"
|
6857
6858
|
{COND_POP();;}
|
6858
6859
|
break;
|
6859
6860
|
|
6860
6861
|
case 321:
|
6861
|
-
#line
|
6862
|
+
#line 1778 "grammar.y"
|
6862
6863
|
{
|
6863
6864
|
/*
|
6864
6865
|
* for a, b, c in e
|
@@ -6875,7 +6876,7 @@ yyreduce:
|
|
6875
6876
|
break;
|
6876
6877
|
|
6877
6878
|
case 322:
|
6878
|
-
#line
|
6879
|
+
#line 1792 "grammar.y"
|
6879
6880
|
{
|
6880
6881
|
if(in_def || in_single)
|
6881
6882
|
yy_error("class definition in method body");
|
@@ -6886,7 +6887,7 @@ yyreduce:
|
|
6886
6887
|
break;
|
6887
6888
|
|
6888
6889
|
case 323:
|
6889
|
-
#line
|
6890
|
+
#line 1801 "grammar.y"
|
6890
6891
|
{
|
6891
6892
|
(yyval.node) = NEW_CLASS((yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node), (yyvsp[(3) - (6)].node));
|
6892
6893
|
nd_set_line((yyval.node), (yyvsp[(4) - (6)].num));
|
@@ -6896,7 +6897,7 @@ yyreduce:
|
|
6896
6897
|
break;
|
6897
6898
|
|
6898
6899
|
case 324:
|
6899
|
-
#line
|
6900
|
+
#line 1808 "grammar.y"
|
6900
6901
|
{
|
6901
6902
|
(yyval.num) = in_def;
|
6902
6903
|
in_def = 0;
|
@@ -6904,7 +6905,7 @@ yyreduce:
|
|
6904
6905
|
break;
|
6905
6906
|
|
6906
6907
|
case 325:
|
6907
|
-
#line
|
6908
|
+
#line 1813 "grammar.y"
|
6908
6909
|
{
|
6909
6910
|
(yyval.num) = in_single;
|
6910
6911
|
in_single = 0;
|
@@ -6914,7 +6915,7 @@ yyreduce:
|
|
6914
6915
|
break;
|
6915
6916
|
|
6916
6917
|
case 326:
|
6917
|
-
#line
|
6918
|
+
#line 1821 "grammar.y"
|
6918
6919
|
{
|
6919
6920
|
(yyval.node) = NEW_SCLASS((yyvsp[(3) - (8)].node), (yyvsp[(7) - (8)].node));
|
6920
6921
|
fixpos((yyval.node), (yyvsp[(3) - (8)].node));
|
@@ -6926,7 +6927,7 @@ yyreduce:
|
|
6926
6927
|
break;
|
6927
6928
|
|
6928
6929
|
case 327:
|
6929
|
-
#line
|
6930
|
+
#line 1830 "grammar.y"
|
6930
6931
|
{
|
6931
6932
|
if(in_def || in_single)
|
6932
6933
|
yy_error("module definition in method body");
|
@@ -6937,7 +6938,7 @@ yyreduce:
|
|
6937
6938
|
break;
|
6938
6939
|
|
6939
6940
|
case 328:
|
6940
|
-
#line
|
6941
|
+
#line 1839 "grammar.y"
|
6941
6942
|
{
|
6942
6943
|
(yyval.node) = NEW_MODULE((yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node));
|
6943
6944
|
nd_set_line((yyval.node), (yyvsp[(3) - (5)].num));
|
@@ -6947,7 +6948,7 @@ yyreduce:
|
|
6947
6948
|
break;
|
6948
6949
|
|
6949
6950
|
case 329:
|
6950
|
-
#line
|
6951
|
+
#line 1846 "grammar.y"
|
6951
6952
|
{
|
6952
6953
|
(yyval.id) = cur_mid;
|
6953
6954
|
cur_mid = (yyvsp[(2) - (2)].id);
|
@@ -6957,7 +6958,7 @@ yyreduce:
|
|
6957
6958
|
break;
|
6958
6959
|
|
6959
6960
|
case 330:
|
6960
|
-
#line
|
6961
|
+
#line 1855 "grammar.y"
|
6961
6962
|
{
|
6962
6963
|
NODE* body = remove_begin((yyvsp[(5) - (6)].node));
|
6963
6964
|
(yyval.node) = NEW_DEFN((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].node), body, NOEX_PRIVATE);
|
@@ -6969,12 +6970,12 @@ yyreduce:
|
|
6969
6970
|
break;
|
6970
6971
|
|
6971
6972
|
case 331:
|
6972
|
-
#line
|
6973
|
+
#line 1863 "grammar.y"
|
6973
6974
|
{lex_state = EXPR_FNAME;;}
|
6974
6975
|
break;
|
6975
6976
|
|
6976
6977
|
case 332:
|
6977
|
-
#line
|
6978
|
+
#line 1864 "grammar.y"
|
6978
6979
|
{
|
6979
6980
|
in_single++;
|
6980
6981
|
lex_state = EXPR_ENDFN; /* force for args */
|
@@ -6983,7 +6984,7 @@ yyreduce:
|
|
6983
6984
|
break;
|
6984
6985
|
|
6985
6986
|
case 333:
|
6986
|
-
#line
|
6987
|
+
#line 1872 "grammar.y"
|
6987
6988
|
{
|
6988
6989
|
NODE* body = remove_begin((yyvsp[(8) - (9)].node));
|
6989
6990
|
(yyval.node) = NEW_DEFS((yyvsp[(2) - (9)].node), (yyvsp[(5) - (9)].id), (yyvsp[(7) - (9)].node), body);
|
@@ -6994,35 +6995,35 @@ yyreduce:
|
|
6994
6995
|
break;
|
6995
6996
|
|
6996
6997
|
case 334:
|
6997
|
-
#line
|
6998
|
+
#line 1880 "grammar.y"
|
6998
6999
|
{
|
6999
7000
|
(yyval.node) = NEW_BREAK(0);
|
7000
7001
|
;}
|
7001
7002
|
break;
|
7002
7003
|
|
7003
7004
|
case 335:
|
7004
|
-
#line
|
7005
|
+
#line 1884 "grammar.y"
|
7005
7006
|
{
|
7006
7007
|
(yyval.node) = NEW_NEXT(0);
|
7007
7008
|
;}
|
7008
7009
|
break;
|
7009
7010
|
|
7010
7011
|
case 336:
|
7011
|
-
#line
|
7012
|
+
#line 1888 "grammar.y"
|
7012
7013
|
{
|
7013
7014
|
(yyval.node) = NEW_REDO();
|
7014
7015
|
;}
|
7015
7016
|
break;
|
7016
7017
|
|
7017
7018
|
case 337:
|
7018
|
-
#line
|
7019
|
+
#line 1892 "grammar.y"
|
7019
7020
|
{
|
7020
7021
|
(yyval.node) = NEW_RETRY();
|
7021
7022
|
;}
|
7022
7023
|
break;
|
7023
7024
|
|
7024
7025
|
case 338:
|
7025
|
-
#line
|
7026
|
+
#line 1898 "grammar.y"
|
7026
7027
|
{
|
7027
7028
|
value_expr((yyvsp[(1) - (1)].node));
|
7028
7029
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
@@ -7031,70 +7032,70 @@ yyreduce:
|
|
7031
7032
|
break;
|
7032
7033
|
|
7033
7034
|
case 339:
|
7034
|
-
#line
|
7035
|
+
#line 1906 "grammar.y"
|
7035
7036
|
{
|
7036
7037
|
token_info_push("begin");
|
7037
7038
|
;}
|
7038
7039
|
break;
|
7039
7040
|
|
7040
7041
|
case 340:
|
7041
|
-
#line
|
7042
|
+
#line 1912 "grammar.y"
|
7042
7043
|
{
|
7043
7044
|
token_info_push("if");
|
7044
7045
|
;}
|
7045
7046
|
break;
|
7046
7047
|
|
7047
7048
|
case 341:
|
7048
|
-
#line
|
7049
|
+
#line 1918 "grammar.y"
|
7049
7050
|
{
|
7050
7051
|
token_info_push("unless");
|
7051
7052
|
;}
|
7052
7053
|
break;
|
7053
7054
|
|
7054
7055
|
case 342:
|
7055
|
-
#line
|
7056
|
+
#line 1924 "grammar.y"
|
7056
7057
|
{
|
7057
7058
|
token_info_push("while");
|
7058
7059
|
;}
|
7059
7060
|
break;
|
7060
7061
|
|
7061
7062
|
case 343:
|
7062
|
-
#line
|
7063
|
+
#line 1930 "grammar.y"
|
7063
7064
|
{
|
7064
7065
|
token_info_push("until");
|
7065
7066
|
;}
|
7066
7067
|
break;
|
7067
7068
|
|
7068
7069
|
case 344:
|
7069
|
-
#line
|
7070
|
+
#line 1936 "grammar.y"
|
7070
7071
|
{
|
7071
7072
|
token_info_push("case");
|
7072
7073
|
;}
|
7073
7074
|
break;
|
7074
7075
|
|
7075
7076
|
case 345:
|
7076
|
-
#line
|
7077
|
+
#line 1942 "grammar.y"
|
7077
7078
|
{
|
7078
7079
|
token_info_push("for");
|
7079
7080
|
;}
|
7080
7081
|
break;
|
7081
7082
|
|
7082
7083
|
case 346:
|
7083
|
-
#line
|
7084
|
+
#line 1948 "grammar.y"
|
7084
7085
|
{
|
7085
7086
|
token_info_push("class");
|
7086
7087
|
;}
|
7087
7088
|
break;
|
7088
7089
|
|
7089
7090
|
case 347:
|
7090
|
-
#line
|
7091
|
+
#line 1954 "grammar.y"
|
7091
7092
|
{
|
7092
7093
|
token_info_push("module");
|
7093
7094
|
;}
|
7094
7095
|
break;
|
7095
7096
|
|
7096
7097
|
case 348:
|
7097
|
-
#line
|
7098
|
+
#line 1960 "grammar.y"
|
7098
7099
|
{
|
7099
7100
|
token_info_push("def");
|
7100
7101
|
(yyval.num) = sourceline;
|
@@ -7102,14 +7103,14 @@ yyreduce:
|
|
7102
7103
|
break;
|
7103
7104
|
|
7104
7105
|
case 349:
|
7105
|
-
#line
|
7106
|
+
#line 1967 "grammar.y"
|
7106
7107
|
{
|
7107
7108
|
token_info_pop("end");
|
7108
7109
|
;}
|
7109
7110
|
break;
|
7110
7111
|
|
7111
7112
|
case 356:
|
7112
|
-
#line
|
7113
|
+
#line 1985 "grammar.y"
|
7113
7114
|
{
|
7114
7115
|
(yyval.node) = NEW_IF(cond((yyvsp[(2) - (5)].node)), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
|
7115
7116
|
fixpos((yyval.node), (yyvsp[(2) - (5)].node));
|
@@ -7117,49 +7118,49 @@ yyreduce:
|
|
7117
7118
|
break;
|
7118
7119
|
|
7119
7120
|
case 358:
|
7120
|
-
#line
|
7121
|
+
#line 1993 "grammar.y"
|
7121
7122
|
{
|
7122
7123
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
7123
7124
|
;}
|
7124
7125
|
break;
|
7125
7126
|
|
7126
7127
|
case 361:
|
7127
|
-
#line
|
7128
|
+
#line 2003 "grammar.y"
|
7128
7129
|
{
|
7129
7130
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
7130
7131
|
;}
|
7131
7132
|
break;
|
7132
7133
|
|
7133
7134
|
case 362:
|
7134
|
-
#line
|
7135
|
+
#line 2007 "grammar.y"
|
7135
7136
|
{
|
7136
7137
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7137
7138
|
;}
|
7138
7139
|
break;
|
7139
7140
|
|
7140
7141
|
case 363:
|
7141
|
-
#line
|
7142
|
+
#line 2013 "grammar.y"
|
7142
7143
|
{
|
7143
7144
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
|
7144
7145
|
;}
|
7145
7146
|
break;
|
7146
7147
|
|
7147
7148
|
case 364:
|
7148
|
-
#line
|
7149
|
+
#line 2017 "grammar.y"
|
7149
7150
|
{
|
7150
7151
|
(yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
7151
7152
|
;}
|
7152
7153
|
break;
|
7153
7154
|
|
7154
7155
|
case 365:
|
7155
|
-
#line
|
7156
|
+
#line 2023 "grammar.y"
|
7156
7157
|
{
|
7157
7158
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (1)].node), 0);
|
7158
7159
|
;}
|
7159
7160
|
break;
|
7160
7161
|
|
7161
7162
|
case 366:
|
7162
|
-
#line
|
7163
|
+
#line 2027 "grammar.y"
|
7163
7164
|
{
|
7164
7165
|
(yyval.node) = assignable((yyvsp[(4) - (4)].id), 0);
|
7165
7166
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (4)].node), (yyval.node));
|
@@ -7167,7 +7168,7 @@ yyreduce:
|
|
7167
7168
|
break;
|
7168
7169
|
|
7169
7170
|
case 367:
|
7170
|
-
#line
|
7171
|
+
#line 2032 "grammar.y"
|
7171
7172
|
{
|
7172
7173
|
(yyval.node) = assignable((yyvsp[(4) - (6)].id), 0);
|
7173
7174
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (6)].node), NEW_POSTARG((yyval.node), (yyvsp[(6) - (6)].node)));
|
@@ -7175,21 +7176,21 @@ yyreduce:
|
|
7175
7176
|
break;
|
7176
7177
|
|
7177
7178
|
case 368:
|
7178
|
-
#line
|
7179
|
+
#line 2037 "grammar.y"
|
7179
7180
|
{
|
7180
7181
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (3)].node), -1);
|
7181
7182
|
;}
|
7182
7183
|
break;
|
7183
7184
|
|
7184
7185
|
case 369:
|
7185
|
-
#line
|
7186
|
+
#line 2041 "grammar.y"
|
7186
7187
|
{
|
7187
7188
|
(yyval.node) = NEW_MASGN((yyvsp[(1) - (5)].node), NEW_POSTARG(-1, (yyvsp[(5) - (5)].node)));
|
7188
7189
|
;}
|
7189
7190
|
break;
|
7190
7191
|
|
7191
7192
|
case 370:
|
7192
|
-
#line
|
7193
|
+
#line 2045 "grammar.y"
|
7193
7194
|
{
|
7194
7195
|
(yyval.node) = assignable((yyvsp[(2) - (2)].id), 0);
|
7195
7196
|
(yyval.node) = NEW_MASGN(0, (yyval.node));
|
@@ -7197,7 +7198,7 @@ yyreduce:
|
|
7197
7198
|
break;
|
7198
7199
|
|
7199
7200
|
case 371:
|
7200
|
-
#line
|
7201
|
+
#line 2050 "grammar.y"
|
7201
7202
|
{
|
7202
7203
|
(yyval.node) = assignable((yyvsp[(2) - (4)].id), 0);
|
7203
7204
|
(yyval.node) = NEW_MASGN(0, NEW_POSTARG((yyval.node), (yyvsp[(4) - (4)].node)));
|
@@ -7205,175 +7206,175 @@ yyreduce:
|
|
7205
7206
|
break;
|
7206
7207
|
|
7207
7208
|
case 372:
|
7208
|
-
#line
|
7209
|
+
#line 2055 "grammar.y"
|
7209
7210
|
{
|
7210
7211
|
(yyval.node) = NEW_MASGN(0, -1);
|
7211
7212
|
;}
|
7212
7213
|
break;
|
7213
7214
|
|
7214
7215
|
case 373:
|
7215
|
-
#line
|
7216
|
+
#line 2059 "grammar.y"
|
7216
7217
|
{
|
7217
7218
|
(yyval.node) = NEW_MASGN(0, NEW_POSTARG(-1, (yyvsp[(3) - (3)].node)));
|
7218
7219
|
;}
|
7219
7220
|
break;
|
7220
7221
|
|
7221
7222
|
case 374:
|
7222
|
-
#line
|
7223
|
+
#line 2065 "grammar.y"
|
7223
7224
|
{
|
7224
7225
|
(yyval.node) = new_args_tail((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].id));
|
7225
7226
|
;}
|
7226
7227
|
break;
|
7227
7228
|
|
7228
7229
|
case 375:
|
7229
|
-
#line
|
7230
|
+
#line 2069 "grammar.y"
|
7230
7231
|
{
|
7231
7232
|
(yyval.node) = new_args_tail((yyvsp[(1) - (2)].node), 0, (yyvsp[(2) - (2)].id));
|
7232
7233
|
;}
|
7233
7234
|
break;
|
7234
7235
|
|
7235
7236
|
case 376:
|
7236
|
-
#line
|
7237
|
+
#line 2073 "grammar.y"
|
7237
7238
|
{
|
7238
7239
|
(yyval.node) = new_args_tail(0, (yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].id));
|
7239
7240
|
;}
|
7240
7241
|
break;
|
7241
7242
|
|
7242
7243
|
case 377:
|
7243
|
-
#line
|
7244
|
+
#line 2077 "grammar.y"
|
7244
7245
|
{
|
7245
7246
|
(yyval.node) = new_args_tail(0, 0, (yyvsp[(1) - (1)].id));
|
7246
7247
|
;}
|
7247
7248
|
break;
|
7248
7249
|
|
7249
7250
|
case 378:
|
7250
|
-
#line
|
7251
|
+
#line 2083 "grammar.y"
|
7251
7252
|
{
|
7252
7253
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
7253
7254
|
;}
|
7254
7255
|
break;
|
7255
7256
|
|
7256
7257
|
case 379:
|
7257
|
-
#line
|
7258
|
+
#line 2087 "grammar.y"
|
7258
7259
|
{
|
7259
7260
|
(yyval.node) = new_args_tail(0, 0, 0);
|
7260
7261
|
;}
|
7261
7262
|
break;
|
7262
7263
|
|
7263
7264
|
case 380:
|
7264
|
-
#line
|
7265
|
+
#line 2093 "grammar.y"
|
7265
7266
|
{
|
7266
7267
|
(yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].node));
|
7267
7268
|
;}
|
7268
7269
|
break;
|
7269
7270
|
|
7270
7271
|
case 381:
|
7271
|
-
#line
|
7272
|
+
#line 2097 "grammar.y"
|
7272
7273
|
{
|
7273
7274
|
(yyval.node) = new_args((yyvsp[(1) - (8)].node), (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node));
|
7274
7275
|
;}
|
7275
7276
|
break;
|
7276
7277
|
|
7277
7278
|
case 382:
|
7278
|
-
#line
|
7279
|
+
#line 2101 "grammar.y"
|
7279
7280
|
{
|
7280
7281
|
(yyval.node) = new_args((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), 0, 0, (yyvsp[(4) - (4)].node));
|
7281
7282
|
;}
|
7282
7283
|
break;
|
7283
7284
|
|
7284
7285
|
case 383:
|
7285
|
-
#line
|
7286
|
+
#line 2105 "grammar.y"
|
7286
7287
|
{
|
7287
7288
|
(yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), 0, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node));
|
7288
7289
|
;}
|
7289
7290
|
break;
|
7290
7291
|
|
7291
7292
|
case 384:
|
7292
|
-
#line
|
7293
|
+
#line 2109 "grammar.y"
|
7293
7294
|
{
|
7294
7295
|
(yyval.node) = new_args((yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].node));
|
7295
7296
|
;}
|
7296
7297
|
break;
|
7297
7298
|
|
7298
7299
|
case 385:
|
7299
|
-
#line
|
7300
|
+
#line 2113 "grammar.y"
|
7300
7301
|
{
|
7301
7302
|
(yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 1, 0, new_args_tail(0, 0, 0));
|
7302
7303
|
;}
|
7303
7304
|
break;
|
7304
7305
|
|
7305
7306
|
case 386:
|
7306
|
-
#line
|
7307
|
+
#line 2117 "grammar.y"
|
7307
7308
|
{
|
7308
7309
|
(yyval.node) = new_args((yyvsp[(1) - (6)].node), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node));
|
7309
7310
|
;}
|
7310
7311
|
break;
|
7311
7312
|
|
7312
7313
|
case 387:
|
7313
|
-
#line
|
7314
|
+
#line 2121 "grammar.y"
|
7314
7315
|
{
|
7315
7316
|
(yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 0, 0, (yyvsp[(2) - (2)].node));
|
7316
7317
|
;}
|
7317
7318
|
break;
|
7318
7319
|
|
7319
7320
|
case 388:
|
7320
|
-
#line
|
7321
|
+
#line 2125 "grammar.y"
|
7321
7322
|
{
|
7322
7323
|
(yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].node));
|
7323
7324
|
;}
|
7324
7325
|
break;
|
7325
7326
|
|
7326
7327
|
case 389:
|
7327
|
-
#line
|
7328
|
+
#line 2129 "grammar.y"
|
7328
7329
|
{
|
7329
7330
|
(yyval.node) = new_args(0, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node));
|
7330
7331
|
;}
|
7331
7332
|
break;
|
7332
7333
|
|
7333
7334
|
case 390:
|
7334
|
-
#line
|
7335
|
+
#line 2133 "grammar.y"
|
7335
7336
|
{
|
7336
7337
|
(yyval.node) = new_args(0, (yyvsp[(1) - (2)].node), 0, 0, (yyvsp[(2) - (2)].node));
|
7337
7338
|
;}
|
7338
7339
|
break;
|
7339
7340
|
|
7340
7341
|
case 391:
|
7341
|
-
#line
|
7342
|
+
#line 2137 "grammar.y"
|
7342
7343
|
{
|
7343
7344
|
(yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
|
7344
7345
|
;}
|
7345
7346
|
break;
|
7346
7347
|
|
7347
7348
|
case 392:
|
7348
|
-
#line
|
7349
|
+
#line 2141 "grammar.y"
|
7349
7350
|
{
|
7350
7351
|
(yyval.node) = new_args(0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].node));
|
7351
7352
|
;}
|
7352
7353
|
break;
|
7353
7354
|
|
7354
7355
|
case 393:
|
7355
|
-
#line
|
7356
|
+
#line 2145 "grammar.y"
|
7356
7357
|
{
|
7357
7358
|
(yyval.node) = new_args(0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
|
7358
7359
|
;}
|
7359
7360
|
break;
|
7360
7361
|
|
7361
7362
|
case 394:
|
7362
|
-
#line
|
7363
|
+
#line 2149 "grammar.y"
|
7363
7364
|
{
|
7364
7365
|
(yyval.node) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].node));
|
7365
7366
|
;}
|
7366
7367
|
break;
|
7367
7368
|
|
7368
7369
|
case 396:
|
7369
|
-
#line
|
7370
|
+
#line 2156 "grammar.y"
|
7370
7371
|
{
|
7371
7372
|
command_start = TRUE;
|
7372
7373
|
;}
|
7373
7374
|
break;
|
7374
7375
|
|
7375
7376
|
case 397:
|
7376
|
-
#line
|
7377
|
+
#line 2162 "grammar.y"
|
7377
7378
|
{
|
7378
7379
|
// This is deliberately different than MRI.
|
7379
7380
|
(yyval.node) = (yyvsp[(2) - (3)].node) ? NEW_ARGS_AUX(0, (yyvsp[(2) - (3)].node)) : 0;
|
@@ -7381,14 +7382,14 @@ yyreduce:
|
|
7381
7382
|
break;
|
7382
7383
|
|
7383
7384
|
case 398:
|
7384
|
-
#line
|
7385
|
+
#line 2167 "grammar.y"
|
7385
7386
|
{
|
7386
7387
|
(yyval.node) = 0;
|
7387
7388
|
;}
|
7388
7389
|
break;
|
7389
7390
|
|
7390
7391
|
case 399:
|
7391
|
-
#line
|
7392
|
+
#line 2171 "grammar.y"
|
7392
7393
|
{
|
7393
7394
|
// This is deliberately different than MRI.
|
7394
7395
|
(yyval.node) = (yyvsp[(3) - (4)].node) ? NEW_ARGS_AUX((yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node)) : (yyvsp[(2) - (4)].node);
|
@@ -7396,14 +7397,14 @@ yyreduce:
|
|
7396
7397
|
break;
|
7397
7398
|
|
7398
7399
|
case 400:
|
7399
|
-
#line
|
7400
|
+
#line 2178 "grammar.y"
|
7400
7401
|
{
|
7401
7402
|
(yyval.node) = 0;
|
7402
7403
|
;}
|
7403
7404
|
break;
|
7404
7405
|
|
7405
7406
|
case 401:
|
7406
|
-
#line
|
7407
|
+
#line 2182 "grammar.y"
|
7407
7408
|
{
|
7408
7409
|
// This is deliberately different than MRI.
|
7409
7410
|
(yyval.node) = (yyvsp[(3) - (3)].node);
|
@@ -7411,7 +7412,7 @@ yyreduce:
|
|
7411
7412
|
break;
|
7412
7413
|
|
7413
7414
|
case 402:
|
7414
|
-
#line
|
7415
|
+
#line 2189 "grammar.y"
|
7415
7416
|
{
|
7416
7417
|
// This is deliberately different than MRI.
|
7417
7418
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
|
@@ -7419,7 +7420,7 @@ yyreduce:
|
|
7419
7420
|
break;
|
7420
7421
|
|
7421
7422
|
case 403:
|
7422
|
-
#line
|
7423
|
+
#line 2194 "grammar.y"
|
7423
7424
|
{
|
7424
7425
|
// This is deliberately different than MRI.
|
7425
7426
|
(yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
@@ -7427,7 +7428,7 @@ yyreduce:
|
|
7427
7428
|
break;
|
7428
7429
|
|
7429
7430
|
case 404:
|
7430
|
-
#line
|
7431
|
+
#line 2201 "grammar.y"
|
7431
7432
|
{
|
7432
7433
|
new_bv(get_id((yyvsp[(1) - (1)].id)));
|
7433
7434
|
// This is deliberately different than MRI.
|
@@ -7436,21 +7437,21 @@ yyreduce:
|
|
7436
7437
|
break;
|
7437
7438
|
|
7438
7439
|
case 405:
|
7439
|
-
#line
|
7440
|
+
#line 2207 "grammar.y"
|
7440
7441
|
{
|
7441
7442
|
(yyval.node) = 0;
|
7442
7443
|
;}
|
7443
7444
|
break;
|
7444
7445
|
|
7445
7446
|
case 406:
|
7446
|
-
#line
|
7447
|
+
#line 2212 "grammar.y"
|
7447
7448
|
{
|
7448
7449
|
(yyval.vars) = bv_push();
|
7449
7450
|
;}
|
7450
7451
|
break;
|
7451
7452
|
|
7452
7453
|
case 407:
|
7453
|
-
#line
|
7454
|
+
#line 2215 "grammar.y"
|
7454
7455
|
{
|
7455
7456
|
(yyval.num) = lpar_beg;
|
7456
7457
|
lpar_beg = ++paren_nest;
|
@@ -7458,14 +7459,14 @@ yyreduce:
|
|
7458
7459
|
break;
|
7459
7460
|
|
7460
7461
|
case 408:
|
7461
|
-
#line
|
7462
|
+
#line 2220 "grammar.y"
|
7462
7463
|
{
|
7463
7464
|
(yyval.num) = sourceline;
|
7464
7465
|
;}
|
7465
7466
|
break;
|
7466
7467
|
|
7467
7468
|
case 409:
|
7468
|
-
#line
|
7469
|
+
#line 2224 "grammar.y"
|
7469
7470
|
{
|
7470
7471
|
lpar_beg = (yyvsp[(2) - (5)].num);
|
7471
7472
|
(yyval.node) = NEW_LAMBDA((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
|
@@ -7475,35 +7476,35 @@ yyreduce:
|
|
7475
7476
|
break;
|
7476
7477
|
|
7477
7478
|
case 410:
|
7478
|
-
#line
|
7479
|
+
#line 2233 "grammar.y"
|
7479
7480
|
{
|
7480
7481
|
(yyval.node) = (yyvsp[(2) - (4)].node);
|
7481
7482
|
;}
|
7482
7483
|
break;
|
7483
7484
|
|
7484
7485
|
case 411:
|
7485
|
-
#line
|
7486
|
+
#line 2237 "grammar.y"
|
7486
7487
|
{
|
7487
7488
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
7488
7489
|
;}
|
7489
7490
|
break;
|
7490
7491
|
|
7491
7492
|
case 412:
|
7492
|
-
#line
|
7493
|
+
#line 2243 "grammar.y"
|
7493
7494
|
{
|
7494
7495
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7495
7496
|
;}
|
7496
7497
|
break;
|
7497
7498
|
|
7498
7499
|
case 413:
|
7499
|
-
#line
|
7500
|
+
#line 2247 "grammar.y"
|
7500
7501
|
{
|
7501
7502
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7502
7503
|
;}
|
7503
7504
|
break;
|
7504
7505
|
|
7505
7506
|
case 414:
|
7506
|
-
#line
|
7507
|
+
#line 2253 "grammar.y"
|
7507
7508
|
{
|
7508
7509
|
(yyvsp[(1) - (1)].vars) = bv_push();
|
7509
7510
|
(yyval.num) = sourceline;
|
@@ -7511,7 +7512,7 @@ yyreduce:
|
|
7511
7512
|
break;
|
7512
7513
|
|
7513
7514
|
case 415:
|
7514
|
-
#line
|
7515
|
+
#line 2260 "grammar.y"
|
7515
7516
|
{
|
7516
7517
|
(yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node));
|
7517
7518
|
nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
|
@@ -7520,7 +7521,7 @@ yyreduce:
|
|
7520
7521
|
break;
|
7521
7522
|
|
7522
7523
|
case 416:
|
7523
|
-
#line
|
7524
|
+
#line 2268 "grammar.y"
|
7524
7525
|
{
|
7525
7526
|
if(nd_type((yyvsp[(1) - (2)].node)) == NODE_YIELD) {
|
7526
7527
|
compile_error("block given to yield");
|
@@ -7534,14 +7535,14 @@ yyreduce:
|
|
7534
7535
|
break;
|
7535
7536
|
|
7536
7537
|
case 417:
|
7537
|
-
#line
|
7538
|
+
#line 2279 "grammar.y"
|
7538
7539
|
{
|
7539
7540
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].node));
|
7540
7541
|
;}
|
7541
7542
|
break;
|
7542
7543
|
|
7543
7544
|
case 418:
|
7544
|
-
#line
|
7545
|
+
#line 2283 "grammar.y"
|
7545
7546
|
{
|
7546
7547
|
block_dup_check((yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
|
7547
7548
|
(yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
|
@@ -7551,7 +7552,7 @@ yyreduce:
|
|
7551
7552
|
break;
|
7552
7553
|
|
7553
7554
|
case 419:
|
7554
|
-
#line
|
7555
|
+
#line 2290 "grammar.y"
|
7555
7556
|
{
|
7556
7557
|
block_dup_check((yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
|
7557
7558
|
(yyvsp[(5) - (5)].node)->nd_iter = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].node));
|
@@ -7561,7 +7562,7 @@ yyreduce:
|
|
7561
7562
|
break;
|
7562
7563
|
|
7563
7564
|
case 420:
|
7564
|
-
#line
|
7565
|
+
#line 2299 "grammar.y"
|
7565
7566
|
{
|
7566
7567
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
7567
7568
|
(yyval.node)->nd_args = (yyvsp[(2) - (2)].node);
|
@@ -7570,14 +7571,14 @@ yyreduce:
|
|
7570
7571
|
break;
|
7571
7572
|
|
7572
7573
|
case 421:
|
7573
|
-
#line
|
7574
|
+
#line 2305 "grammar.y"
|
7574
7575
|
{
|
7575
7576
|
(yyval.num) = sourceline;
|
7576
7577
|
;}
|
7577
7578
|
break;
|
7578
7579
|
|
7579
7580
|
case 422:
|
7580
|
-
#line
|
7581
|
+
#line 2309 "grammar.y"
|
7581
7582
|
{
|
7582
7583
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(5) - (5)].node));
|
7583
7584
|
nd_set_line((yyval.node), (yyvsp[(4) - (5)].num));
|
@@ -7585,14 +7586,14 @@ yyreduce:
|
|
7585
7586
|
break;
|
7586
7587
|
|
7587
7588
|
case 423:
|
7588
|
-
#line
|
7589
|
+
#line 2314 "grammar.y"
|
7589
7590
|
{
|
7590
7591
|
(yyval.num) = sourceline;
|
7591
7592
|
;}
|
7592
7593
|
break;
|
7593
7594
|
|
7594
7595
|
case 424:
|
7595
|
-
#line
|
7596
|
+
#line 2318 "grammar.y"
|
7596
7597
|
{
|
7597
7598
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].id), (yyvsp[(5) - (5)].node));
|
7598
7599
|
nd_set_line((yyval.node), (yyvsp[(4) - (5)].num));
|
@@ -7600,21 +7601,21 @@ yyreduce:
|
|
7600
7601
|
break;
|
7601
7602
|
|
7602
7603
|
case 425:
|
7603
|
-
#line
|
7604
|
+
#line 2323 "grammar.y"
|
7604
7605
|
{
|
7605
7606
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].id), 0);
|
7606
7607
|
;}
|
7607
7608
|
break;
|
7608
7609
|
|
7609
7610
|
case 426:
|
7610
|
-
#line
|
7611
|
+
#line 2327 "grammar.y"
|
7611
7612
|
{
|
7612
7613
|
(yyval.num) = sourceline;
|
7613
7614
|
;}
|
7614
7615
|
break;
|
7615
7616
|
|
7616
7617
|
case 427:
|
7617
|
-
#line
|
7618
|
+
#line 2331 "grammar.y"
|
7618
7619
|
{
|
7619
7620
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), parser_intern("call"), (yyvsp[(4) - (4)].node));
|
7620
7621
|
nd_set_line((yyval.node), (yyvsp[(3) - (4)].num));
|
@@ -7622,14 +7623,14 @@ yyreduce:
|
|
7622
7623
|
break;
|
7623
7624
|
|
7624
7625
|
case 428:
|
7625
|
-
#line
|
7626
|
+
#line 2336 "grammar.y"
|
7626
7627
|
{
|
7627
7628
|
(yyval.num) = sourceline;
|
7628
7629
|
;}
|
7629
7630
|
break;
|
7630
7631
|
|
7631
7632
|
case 429:
|
7632
|
-
#line
|
7633
|
+
#line 2340 "grammar.y"
|
7633
7634
|
{
|
7634
7635
|
(yyval.node) = NEW_CALL((yyvsp[(1) - (4)].node), parser_intern("call"), (yyvsp[(4) - (4)].node));
|
7635
7636
|
nd_set_line((yyval.node), (yyvsp[(3) - (4)].num));
|
@@ -7637,21 +7638,21 @@ yyreduce:
|
|
7637
7638
|
break;
|
7638
7639
|
|
7639
7640
|
case 430:
|
7640
|
-
#line
|
7641
|
+
#line 2345 "grammar.y"
|
7641
7642
|
{
|
7642
7643
|
(yyval.node) = NEW_SUPER((yyvsp[(2) - (2)].node));
|
7643
7644
|
;}
|
7644
7645
|
break;
|
7645
7646
|
|
7646
7647
|
case 431:
|
7647
|
-
#line
|
7648
|
+
#line 2349 "grammar.y"
|
7648
7649
|
{
|
7649
7650
|
(yyval.node) = NEW_ZSUPER();
|
7650
7651
|
;}
|
7651
7652
|
break;
|
7652
7653
|
|
7653
7654
|
case 432:
|
7654
|
-
#line
|
7655
|
+
#line 2353 "grammar.y"
|
7655
7656
|
{
|
7656
7657
|
if((yyvsp[(1) - (4)].node) && nd_type((yyvsp[(1) - (4)].node)) == NODE_SELF) {
|
7657
7658
|
(yyval.node) = NEW_FCALL(tAREF, (yyvsp[(3) - (4)].node));
|
@@ -7663,7 +7664,7 @@ yyreduce:
|
|
7663
7664
|
break;
|
7664
7665
|
|
7665
7666
|
case 433:
|
7666
|
-
#line
|
7667
|
+
#line 2364 "grammar.y"
|
7667
7668
|
{
|
7668
7669
|
(yyvsp[(1) - (1)].vars) = bv_push();
|
7669
7670
|
(yyval.num) = sourceline;
|
@@ -7671,7 +7672,7 @@ yyreduce:
|
|
7671
7672
|
break;
|
7672
7673
|
|
7673
7674
|
case 434:
|
7674
|
-
#line
|
7675
|
+
#line 2370 "grammar.y"
|
7675
7676
|
{
|
7676
7677
|
(yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node));
|
7677
7678
|
nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
|
@@ -7680,7 +7681,7 @@ yyreduce:
|
|
7680
7681
|
break;
|
7681
7682
|
|
7682
7683
|
case 435:
|
7683
|
-
#line
|
7684
|
+
#line 2376 "grammar.y"
|
7684
7685
|
{
|
7685
7686
|
(yyvsp[(1) - (1)].vars) = bv_push();
|
7686
7687
|
(yyval.num) = sourceline;
|
@@ -7688,7 +7689,7 @@ yyreduce:
|
|
7688
7689
|
break;
|
7689
7690
|
|
7690
7691
|
case 436:
|
7691
|
-
#line
|
7692
|
+
#line 2382 "grammar.y"
|
7692
7693
|
{
|
7693
7694
|
(yyval.node) = NEW_ITER((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node));
|
7694
7695
|
nd_set_line((yyval.node), (yyvsp[(2) - (5)].num));
|
@@ -7697,14 +7698,14 @@ yyreduce:
|
|
7697
7698
|
break;
|
7698
7699
|
|
7699
7700
|
case 437:
|
7700
|
-
#line
|
7701
|
+
#line 2392 "grammar.y"
|
7701
7702
|
{
|
7702
7703
|
(yyval.node) = NEW_WHEN((yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node));
|
7703
7704
|
;}
|
7704
7705
|
break;
|
7705
7706
|
|
7706
7707
|
case 440:
|
7707
|
-
#line
|
7708
|
+
#line 2404 "grammar.y"
|
7708
7709
|
{
|
7709
7710
|
if((yyvsp[(3) - (6)].node)) {
|
7710
7711
|
/* TODO NEW_ERRINFO() */
|
@@ -7717,42 +7718,42 @@ yyreduce:
|
|
7717
7718
|
break;
|
7718
7719
|
|
7719
7720
|
case 442:
|
7720
|
-
#line
|
7721
|
+
#line 2417 "grammar.y"
|
7721
7722
|
{
|
7722
7723
|
(yyval.node) = NEW_LIST((yyvsp[(1) - (1)].node));
|
7723
7724
|
;}
|
7724
7725
|
break;
|
7725
7726
|
|
7726
7727
|
case 443:
|
7727
|
-
#line
|
7728
|
+
#line 2421 "grammar.y"
|
7728
7729
|
{
|
7729
7730
|
if(!((yyval.node) = splat_array((yyvsp[(1) - (1)].node)))) (yyval.node) = (yyvsp[(1) - (1)].node);
|
7730
7731
|
;}
|
7731
7732
|
break;
|
7732
7733
|
|
7733
7734
|
case 445:
|
7734
|
-
#line
|
7735
|
+
#line 2428 "grammar.y"
|
7735
7736
|
{
|
7736
7737
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
7737
7738
|
;}
|
7738
7739
|
break;
|
7739
7740
|
|
7740
7741
|
case 447:
|
7741
|
-
#line
|
7742
|
+
#line 2435 "grammar.y"
|
7742
7743
|
{
|
7743
7744
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
7744
7745
|
;}
|
7745
7746
|
break;
|
7746
7747
|
|
7747
7748
|
case 450:
|
7748
|
-
#line
|
7749
|
+
#line 2443 "grammar.y"
|
7749
7750
|
{
|
7750
7751
|
(yyval.node) = NEW_LIT(ID2SYM((yyvsp[(1) - (1)].id)));
|
7751
7752
|
;}
|
7752
7753
|
break;
|
7753
7754
|
|
7754
7755
|
case 452:
|
7755
|
-
#line
|
7756
|
+
#line 2450 "grammar.y"
|
7756
7757
|
{
|
7757
7758
|
NODE *node = (yyvsp[(1) - (1)].node);
|
7758
7759
|
if(!node) {
|
@@ -7765,21 +7766,21 @@ yyreduce:
|
|
7765
7766
|
break;
|
7766
7767
|
|
7767
7768
|
case 455:
|
7768
|
-
#line
|
7769
|
+
#line 2464 "grammar.y"
|
7769
7770
|
{
|
7770
7771
|
(yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
|
7771
7772
|
;}
|
7772
7773
|
break;
|
7773
7774
|
|
7774
7775
|
case 456:
|
7775
|
-
#line
|
7776
|
+
#line 2470 "grammar.y"
|
7776
7777
|
{
|
7777
7778
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7778
7779
|
;}
|
7779
7780
|
break;
|
7780
7781
|
|
7781
7782
|
case 457:
|
7782
|
-
#line
|
7783
|
+
#line 2476 "grammar.y"
|
7783
7784
|
{
|
7784
7785
|
NODE *node = (yyvsp[(2) - (3)].node);
|
7785
7786
|
if(!node) {
|
@@ -7802,7 +7803,7 @@ yyreduce:
|
|
7802
7803
|
break;
|
7803
7804
|
|
7804
7805
|
case 458:
|
7805
|
-
#line
|
7806
|
+
#line 2498 "grammar.y"
|
7806
7807
|
{
|
7807
7808
|
intptr_t options = (yyvsp[(3) - (3)].num);
|
7808
7809
|
NODE *node = (yyvsp[(2) - (3)].node);
|
@@ -7863,63 +7864,63 @@ yyreduce:
|
|
7863
7864
|
break;
|
7864
7865
|
|
7865
7866
|
case 459:
|
7866
|
-
#line
|
7867
|
+
#line 2558 "grammar.y"
|
7867
7868
|
{
|
7868
7869
|
(yyval.node) = NEW_ZARRAY();
|
7869
7870
|
;}
|
7870
7871
|
break;
|
7871
7872
|
|
7872
7873
|
case 460:
|
7873
|
-
#line
|
7874
|
+
#line 2562 "grammar.y"
|
7874
7875
|
{
|
7875
7876
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7876
7877
|
;}
|
7877
7878
|
break;
|
7878
7879
|
|
7879
7880
|
case 461:
|
7880
|
-
#line
|
7881
|
+
#line 2568 "grammar.y"
|
7881
7882
|
{
|
7882
7883
|
(yyval.node) = 0;
|
7883
7884
|
;}
|
7884
7885
|
break;
|
7885
7886
|
|
7886
7887
|
case 462:
|
7887
|
-
#line
|
7888
|
+
#line 2572 "grammar.y"
|
7888
7889
|
{
|
7889
7890
|
(yyval.node) = list_append((yyvsp[(1) - (3)].node), evstr2dstr((yyvsp[(2) - (3)].node)));
|
7890
7891
|
;}
|
7891
7892
|
break;
|
7892
7893
|
|
7893
7894
|
case 464:
|
7894
|
-
#line
|
7895
|
+
#line 2579 "grammar.y"
|
7895
7896
|
{
|
7896
7897
|
(yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
|
7897
7898
|
;}
|
7898
7899
|
break;
|
7899
7900
|
|
7900
7901
|
case 465:
|
7901
|
-
#line
|
7902
|
+
#line 2585 "grammar.y"
|
7902
7903
|
{
|
7903
7904
|
(yyval.node) = NEW_ZARRAY();
|
7904
7905
|
;}
|
7905
7906
|
break;
|
7906
7907
|
|
7907
7908
|
case 466:
|
7908
|
-
#line
|
7909
|
+
#line 2589 "grammar.y"
|
7909
7910
|
{
|
7910
7911
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7911
7912
|
;}
|
7912
7913
|
break;
|
7913
7914
|
|
7914
7915
|
case 467:
|
7915
|
-
#line
|
7916
|
+
#line 2595 "grammar.y"
|
7916
7917
|
{
|
7917
7918
|
(yyval.node) = 0;
|
7918
7919
|
;}
|
7919
7920
|
break;
|
7920
7921
|
|
7921
7922
|
case 468:
|
7922
|
-
#line
|
7923
|
+
#line 2599 "grammar.y"
|
7923
7924
|
{
|
7924
7925
|
(yyvsp[(2) - (3)].node) = evstr2dstr((yyvsp[(2) - (3)].node));
|
7925
7926
|
nd_set_type((yyvsp[(2) - (3)].node), NODE_DSYM);
|
@@ -7928,56 +7929,56 @@ yyreduce:
|
|
7928
7929
|
break;
|
7929
7930
|
|
7930
7931
|
case 469:
|
7931
|
-
#line
|
7932
|
+
#line 2607 "grammar.y"
|
7932
7933
|
{
|
7933
7934
|
(yyval.node) = NEW_ZARRAY();
|
7934
7935
|
;}
|
7935
7936
|
break;
|
7936
7937
|
|
7937
7938
|
case 470:
|
7938
|
-
#line
|
7939
|
+
#line 2611 "grammar.y"
|
7939
7940
|
{
|
7940
7941
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7941
7942
|
;}
|
7942
7943
|
break;
|
7943
7944
|
|
7944
7945
|
case 471:
|
7945
|
-
#line
|
7946
|
+
#line 2617 "grammar.y"
|
7946
7947
|
{
|
7947
7948
|
(yyval.node) = NEW_ZARRAY();
|
7948
7949
|
;}
|
7949
7950
|
break;
|
7950
7951
|
|
7951
7952
|
case 472:
|
7952
|
-
#line
|
7953
|
+
#line 2621 "grammar.y"
|
7953
7954
|
{
|
7954
7955
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
7955
7956
|
;}
|
7956
7957
|
break;
|
7957
7958
|
|
7958
7959
|
case 473:
|
7959
|
-
#line
|
7960
|
+
#line 2627 "grammar.y"
|
7960
7961
|
{
|
7961
7962
|
(yyval.node) = 0;
|
7962
7963
|
;}
|
7963
7964
|
break;
|
7964
7965
|
|
7965
7966
|
case 474:
|
7966
|
-
#line
|
7967
|
+
#line 2631 "grammar.y"
|
7967
7968
|
{
|
7968
7969
|
(yyval.node) = list_append((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node));
|
7969
7970
|
;}
|
7970
7971
|
break;
|
7971
7972
|
|
7972
7973
|
case 475:
|
7973
|
-
#line
|
7974
|
+
#line 2637 "grammar.y"
|
7974
7975
|
{
|
7975
7976
|
(yyval.node) = 0;
|
7976
7977
|
;}
|
7977
7978
|
break;
|
7978
7979
|
|
7979
7980
|
case 476:
|
7980
|
-
#line
|
7981
|
+
#line 2641 "grammar.y"
|
7981
7982
|
{
|
7982
7983
|
VALUE lit;
|
7983
7984
|
lit = (yyvsp[(2) - (3)].node)->nd_lit;
|
@@ -7988,42 +7989,42 @@ yyreduce:
|
|
7988
7989
|
break;
|
7989
7990
|
|
7990
7991
|
case 477:
|
7991
|
-
#line
|
7992
|
+
#line 2651 "grammar.y"
|
7992
7993
|
{
|
7993
7994
|
(yyval.node) = 0;
|
7994
7995
|
;}
|
7995
7996
|
break;
|
7996
7997
|
|
7997
7998
|
case 478:
|
7998
|
-
#line
|
7999
|
+
#line 2655 "grammar.y"
|
7999
8000
|
{
|
8000
8001
|
(yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
|
8001
8002
|
;}
|
8002
8003
|
break;
|
8003
8004
|
|
8004
8005
|
case 479:
|
8005
|
-
#line
|
8006
|
+
#line 2661 "grammar.y"
|
8006
8007
|
{
|
8007
8008
|
(yyval.node) = 0;
|
8008
8009
|
;}
|
8009
8010
|
break;
|
8010
8011
|
|
8011
8012
|
case 480:
|
8012
|
-
#line
|
8013
|
+
#line 2665 "grammar.y"
|
8013
8014
|
{
|
8014
8015
|
(yyval.node) = literal_concat((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
|
8015
8016
|
;}
|
8016
8017
|
break;
|
8017
8018
|
|
8018
8019
|
case 481:
|
8019
|
-
#line
|
8020
|
+
#line 2671 "grammar.y"
|
8020
8021
|
{
|
8021
8022
|
(yyval.node) = 0;
|
8022
8023
|
;}
|
8023
8024
|
break;
|
8024
8025
|
|
8025
8026
|
case 482:
|
8026
|
-
#line
|
8027
|
+
#line 2675 "grammar.y"
|
8027
8028
|
{
|
8028
8029
|
NODE *head = (yyvsp[(1) - (2)].node), *tail = (yyvsp[(2) - (2)].node);
|
8029
8030
|
if(!head) {
|
@@ -8047,7 +8048,7 @@ yyreduce:
|
|
8047
8048
|
break;
|
8048
8049
|
|
8049
8050
|
case 484:
|
8050
|
-
#line
|
8051
|
+
#line 2699 "grammar.y"
|
8051
8052
|
{
|
8052
8053
|
(yyval.node) = lex_strterm;
|
8053
8054
|
lex_strterm = 0;
|
@@ -8056,7 +8057,7 @@ yyreduce:
|
|
8056
8057
|
break;
|
8057
8058
|
|
8058
8059
|
case 485:
|
8059
|
-
#line
|
8060
|
+
#line 2705 "grammar.y"
|
8060
8061
|
{
|
8061
8062
|
lex_strterm = (yyvsp[(2) - (3)].node);
|
8062
8063
|
(yyval.node) = NEW_EVSTR((yyvsp[(3) - (3)].node));
|
@@ -8064,7 +8065,7 @@ yyreduce:
|
|
8064
8065
|
break;
|
8065
8066
|
|
8066
8067
|
case 486:
|
8067
|
-
#line
|
8068
|
+
#line 2710 "grammar.y"
|
8068
8069
|
{
|
8069
8070
|
(yyvsp[(1) - (1)].val) = cond_stack;
|
8070
8071
|
(yyval.val) = cmdarg_stack;
|
@@ -8074,7 +8075,7 @@ yyreduce:
|
|
8074
8075
|
break;
|
8075
8076
|
|
8076
8077
|
case 487:
|
8077
|
-
#line
|
8078
|
+
#line 2716 "grammar.y"
|
8078
8079
|
{
|
8079
8080
|
(yyval.node) = lex_strterm;
|
8080
8081
|
lex_strterm = 0;
|
@@ -8083,7 +8084,7 @@ yyreduce:
|
|
8083
8084
|
break;
|
8084
8085
|
|
8085
8086
|
case 488:
|
8086
|
-
#line
|
8087
|
+
#line 2721 "grammar.y"
|
8087
8088
|
{
|
8088
8089
|
(yyval.num) = brace_nest;
|
8089
8090
|
brace_nest = 0;
|
@@ -8091,7 +8092,7 @@ yyreduce:
|
|
8091
8092
|
break;
|
8092
8093
|
|
8093
8094
|
case 489:
|
8094
|
-
#line
|
8095
|
+
#line 2726 "grammar.y"
|
8095
8096
|
{
|
8096
8097
|
cond_stack = (yyvsp[(1) - (6)].val);
|
8097
8098
|
cmdarg_stack = (yyvsp[(2) - (6)].val);
|
@@ -8104,22 +8105,22 @@ yyreduce:
|
|
8104
8105
|
break;
|
8105
8106
|
|
8106
8107
|
case 490:
|
8107
|
-
#line
|
8108
|
+
#line 2737 "grammar.y"
|
8108
8109
|
{(yyval.node) = NEW_GVAR((yyvsp[(1) - (1)].id));;}
|
8109
8110
|
break;
|
8110
8111
|
|
8111
8112
|
case 491:
|
8112
|
-
#line
|
8113
|
+
#line 2738 "grammar.y"
|
8113
8114
|
{(yyval.node) = NEW_IVAR((yyvsp[(1) - (1)].id));;}
|
8114
8115
|
break;
|
8115
8116
|
|
8116
8117
|
case 492:
|
8117
|
-
#line
|
8118
|
+
#line 2739 "grammar.y"
|
8118
8119
|
{(yyval.node) = NEW_CVAR((yyvsp[(1) - (1)].id));;}
|
8119
8120
|
break;
|
8120
8121
|
|
8121
8122
|
case 494:
|
8122
|
-
#line
|
8123
|
+
#line 2744 "grammar.y"
|
8123
8124
|
{
|
8124
8125
|
lex_state = EXPR_END;
|
8125
8126
|
(yyval.id) = (yyvsp[(2) - (2)].id);
|
@@ -8127,7 +8128,7 @@ yyreduce:
|
|
8127
8128
|
break;
|
8128
8129
|
|
8129
8130
|
case 499:
|
8130
|
-
#line
|
8131
|
+
#line 2757 "grammar.y"
|
8131
8132
|
{
|
8132
8133
|
lex_state = EXPR_END;
|
8133
8134
|
// TODO dsym_node($2);
|
@@ -8154,49 +8155,49 @@ yyreduce:
|
|
8154
8155
|
break;
|
8155
8156
|
|
8156
8157
|
case 501:
|
8157
|
-
#line
|
8158
|
+
#line 2784 "grammar.y"
|
8158
8159
|
{
|
8159
8160
|
(yyval.node) = negate_lit((yyvsp[(2) - (2)].node));
|
8160
8161
|
;}
|
8161
8162
|
break;
|
8162
8163
|
|
8163
8164
|
case 511:
|
8164
|
-
#line
|
8165
|
+
#line 2802 "grammar.y"
|
8165
8166
|
{(yyval.id) = keyword_nil;;}
|
8166
8167
|
break;
|
8167
8168
|
|
8168
8169
|
case 512:
|
8169
|
-
#line
|
8170
|
+
#line 2803 "grammar.y"
|
8170
8171
|
{(yyval.id) = keyword_self;;}
|
8171
8172
|
break;
|
8172
8173
|
|
8173
8174
|
case 513:
|
8174
|
-
#line
|
8175
|
+
#line 2804 "grammar.y"
|
8175
8176
|
{(yyval.id) = keyword_true;;}
|
8176
8177
|
break;
|
8177
8178
|
|
8178
8179
|
case 514:
|
8179
|
-
#line
|
8180
|
+
#line 2805 "grammar.y"
|
8180
8181
|
{(yyval.id) = keyword_false;;}
|
8181
8182
|
break;
|
8182
8183
|
|
8183
8184
|
case 515:
|
8184
|
-
#line
|
8185
|
+
#line 2806 "grammar.y"
|
8185
8186
|
{(yyval.id) = keyword__FILE__;;}
|
8186
8187
|
break;
|
8187
8188
|
|
8188
8189
|
case 516:
|
8189
|
-
#line
|
8190
|
+
#line 2807 "grammar.y"
|
8190
8191
|
{(yyval.id) = keyword__LINE__;;}
|
8191
8192
|
break;
|
8192
8193
|
|
8193
8194
|
case 517:
|
8194
|
-
#line
|
8195
|
+
#line 2808 "grammar.y"
|
8195
8196
|
{(yyval.id) = keyword__ENCODING__;;}
|
8196
8197
|
break;
|
8197
8198
|
|
8198
8199
|
case 518:
|
8199
|
-
#line
|
8200
|
+
#line 2812 "grammar.y"
|
8200
8201
|
{
|
8201
8202
|
if(!((yyval.node) = gettable((yyvsp[(1) - (1)].id)))) {
|
8202
8203
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -8205,7 +8206,7 @@ yyreduce:
|
|
8205
8206
|
break;
|
8206
8207
|
|
8207
8208
|
case 519:
|
8208
|
-
#line
|
8209
|
+
#line 2818 "grammar.y"
|
8209
8210
|
{
|
8210
8211
|
if(!((yyval.node) = gettable((yyvsp[(1) - (1)].id)))) {
|
8211
8212
|
(yyval.node) = NEW_BEGIN(0);
|
@@ -8214,28 +8215,28 @@ yyreduce:
|
|
8214
8215
|
break;
|
8215
8216
|
|
8216
8217
|
case 520:
|
8217
|
-
#line
|
8218
|
+
#line 2826 "grammar.y"
|
8218
8219
|
{
|
8219
8220
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
8220
8221
|
;}
|
8221
8222
|
break;
|
8222
8223
|
|
8223
8224
|
case 521:
|
8224
|
-
#line
|
8225
|
+
#line 2830 "grammar.y"
|
8225
8226
|
{
|
8226
8227
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), 0);
|
8227
8228
|
;}
|
8228
8229
|
break;
|
8229
8230
|
|
8230
8231
|
case 524:
|
8231
|
-
#line
|
8232
|
+
#line 2840 "grammar.y"
|
8232
8233
|
{
|
8233
8234
|
(yyval.node) = 0;
|
8234
8235
|
;}
|
8235
8236
|
break;
|
8236
8237
|
|
8237
8238
|
case 525:
|
8238
|
-
#line
|
8239
|
+
#line 2844 "grammar.y"
|
8239
8240
|
{
|
8240
8241
|
lex_state = EXPR_BEG;
|
8241
8242
|
command_start = TRUE;
|
@@ -8243,14 +8244,14 @@ yyreduce:
|
|
8243
8244
|
break;
|
8244
8245
|
|
8245
8246
|
case 526:
|
8246
|
-
#line
|
8247
|
+
#line 2849 "grammar.y"
|
8247
8248
|
{
|
8248
8249
|
(yyval.node) = (yyvsp[(3) - (4)].node);
|
8249
8250
|
;}
|
8250
8251
|
break;
|
8251
8252
|
|
8252
8253
|
case 527:
|
8253
|
-
#line
|
8254
|
+
#line 2853 "grammar.y"
|
8254
8255
|
{
|
8255
8256
|
yyerrok;
|
8256
8257
|
(yyval.node) = 0;
|
@@ -8258,7 +8259,7 @@ yyreduce:
|
|
8258
8259
|
break;
|
8259
8260
|
|
8260
8261
|
case 528:
|
8261
|
-
#line
|
8262
|
+
#line 2860 "grammar.y"
|
8262
8263
|
{
|
8263
8264
|
(yyval.node) = (yyvsp[(2) - (3)].node);
|
8264
8265
|
lex_state = EXPR_BEG;
|
@@ -8267,7 +8268,7 @@ yyreduce:
|
|
8267
8268
|
break;
|
8268
8269
|
|
8269
8270
|
case 529:
|
8270
|
-
#line
|
8271
|
+
#line 2866 "grammar.y"
|
8271
8272
|
{
|
8272
8273
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
8273
8274
|
lex_state = EXPR_BEG;
|
@@ -8276,147 +8277,147 @@ yyreduce:
|
|
8276
8277
|
break;
|
8277
8278
|
|
8278
8279
|
case 530:
|
8279
|
-
#line
|
8280
|
+
#line 2874 "grammar.y"
|
8280
8281
|
{
|
8281
8282
|
(yyval.node) = new_args_tail((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].id));
|
8282
8283
|
;}
|
8283
8284
|
break;
|
8284
8285
|
|
8285
8286
|
case 531:
|
8286
|
-
#line
|
8287
|
+
#line 2878 "grammar.y"
|
8287
8288
|
{
|
8288
8289
|
(yyval.node) = new_args_tail((yyvsp[(1) - (2)].node), 0, (yyvsp[(2) - (2)].id));
|
8289
8290
|
;}
|
8290
8291
|
break;
|
8291
8292
|
|
8292
8293
|
case 532:
|
8293
|
-
#line
|
8294
|
+
#line 2882 "grammar.y"
|
8294
8295
|
{
|
8295
8296
|
(yyval.node) = new_args_tail(0, (yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].id));
|
8296
8297
|
;}
|
8297
8298
|
break;
|
8298
8299
|
|
8299
8300
|
case 533:
|
8300
|
-
#line
|
8301
|
+
#line 2886 "grammar.y"
|
8301
8302
|
{
|
8302
8303
|
(yyval.node) = new_args_tail(0, 0, (yyvsp[(1) - (1)].id));
|
8303
8304
|
;}
|
8304
8305
|
break;
|
8305
8306
|
|
8306
8307
|
case 534:
|
8307
|
-
#line
|
8308
|
+
#line 2892 "grammar.y"
|
8308
8309
|
{
|
8309
8310
|
(yyval.node) = (yyvsp[(2) - (2)].node);
|
8310
8311
|
;}
|
8311
8312
|
break;
|
8312
8313
|
|
8313
8314
|
case 535:
|
8314
|
-
#line
|
8315
|
+
#line 2896 "grammar.y"
|
8315
8316
|
{
|
8316
8317
|
(yyval.node) = new_args_tail(0, 0, 0);
|
8317
8318
|
;}
|
8318
8319
|
break;
|
8319
8320
|
|
8320
8321
|
case 536:
|
8321
|
-
#line
|
8322
|
+
#line 2902 "grammar.y"
|
8322
8323
|
{
|
8323
8324
|
(yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].node));
|
8324
8325
|
;}
|
8325
8326
|
break;
|
8326
8327
|
|
8327
8328
|
case 537:
|
8328
|
-
#line
|
8329
|
+
#line 2906 "grammar.y"
|
8329
8330
|
{
|
8330
8331
|
(yyval.node) = new_args((yyvsp[(1) - (8)].node), (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node));
|
8331
8332
|
;}
|
8332
8333
|
break;
|
8333
8334
|
|
8334
8335
|
case 538:
|
8335
|
-
#line
|
8336
|
+
#line 2910 "grammar.y"
|
8336
8337
|
{
|
8337
8338
|
(yyval.node) = new_args((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), 0, 0, (yyvsp[(4) - (4)].node));
|
8338
8339
|
;}
|
8339
8340
|
break;
|
8340
8341
|
|
8341
8342
|
case 539:
|
8342
|
-
#line
|
8343
|
+
#line 2914 "grammar.y"
|
8343
8344
|
{
|
8344
8345
|
(yyval.node) = new_args((yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), 0, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node));
|
8345
8346
|
;}
|
8346
8347
|
break;
|
8347
8348
|
|
8348
8349
|
case 540:
|
8349
|
-
#line
|
8350
|
+
#line 2918 "grammar.y"
|
8350
8351
|
{
|
8351
8352
|
(yyval.node) = new_args((yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].node));
|
8352
8353
|
;}
|
8353
8354
|
break;
|
8354
8355
|
|
8355
8356
|
case 541:
|
8356
|
-
#line
|
8357
|
+
#line 2922 "grammar.y"
|
8357
8358
|
{
|
8358
8359
|
(yyval.node) = new_args((yyvsp[(1) - (6)].node), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node));
|
8359
8360
|
;}
|
8360
8361
|
break;
|
8361
8362
|
|
8362
8363
|
case 542:
|
8363
|
-
#line
|
8364
|
+
#line 2926 "grammar.y"
|
8364
8365
|
{
|
8365
8366
|
(yyval.node) = new_args((yyvsp[(1) - (2)].node), 0, 0, 0, (yyvsp[(2) - (2)].node));
|
8366
8367
|
;}
|
8367
8368
|
break;
|
8368
8369
|
|
8369
8370
|
case 543:
|
8370
|
-
#line
|
8371
|
+
#line 2930 "grammar.y"
|
8371
8372
|
{
|
8372
8373
|
(yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].node));
|
8373
8374
|
;}
|
8374
8375
|
break;
|
8375
8376
|
|
8376
8377
|
case 544:
|
8377
|
-
#line
|
8378
|
+
#line 2934 "grammar.y"
|
8378
8379
|
{
|
8379
8380
|
(yyval.node) = new_args(0, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node));
|
8380
8381
|
;}
|
8381
8382
|
break;
|
8382
8383
|
|
8383
8384
|
case 545:
|
8384
|
-
#line
|
8385
|
+
#line 2938 "grammar.y"
|
8385
8386
|
{
|
8386
8387
|
(yyval.node) = new_args(0, (yyvsp[(1) - (2)].node), 0, 0, (yyvsp[(2) - (2)].node));
|
8387
8388
|
;}
|
8388
8389
|
break;
|
8389
8390
|
|
8390
8391
|
case 546:
|
8391
|
-
#line
|
8392
|
+
#line 2942 "grammar.y"
|
8392
8393
|
{
|
8393
8394
|
(yyval.node) = new_args(0, (yyvsp[(1) - (4)].node), 0, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
|
8394
8395
|
;}
|
8395
8396
|
break;
|
8396
8397
|
|
8397
8398
|
case 547:
|
8398
|
-
#line
|
8399
|
+
#line 2946 "grammar.y"
|
8399
8400
|
{
|
8400
8401
|
(yyval.node) = new_args(0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].node));
|
8401
8402
|
;}
|
8402
8403
|
break;
|
8403
8404
|
|
8404
8405
|
case 548:
|
8405
|
-
#line
|
8406
|
+
#line 2950 "grammar.y"
|
8406
8407
|
{
|
8407
8408
|
(yyval.node) = new_args(0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
|
8408
8409
|
;}
|
8409
8410
|
break;
|
8410
8411
|
|
8411
8412
|
case 549:
|
8412
|
-
#line
|
8413
|
+
#line 2954 "grammar.y"
|
8413
8414
|
{
|
8414
8415
|
(yyval.node) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].node));
|
8415
8416
|
;}
|
8416
8417
|
break;
|
8417
8418
|
|
8418
8419
|
case 550:
|
8419
|
-
#line
|
8420
|
+
#line 2958 "grammar.y"
|
8420
8421
|
{
|
8421
8422
|
(yyval.node) = new_args_tail(0, 0, 0);
|
8422
8423
|
(yyval.node) = new_args(0, 0, 0, 0, (yyval.node));
|
@@ -8424,7 +8425,7 @@ yyreduce:
|
|
8424
8425
|
break;
|
8425
8426
|
|
8426
8427
|
case 551:
|
8427
|
-
#line
|
8428
|
+
#line 2965 "grammar.y"
|
8428
8429
|
{
|
8429
8430
|
yy_error("formal argument cannot be a constant");
|
8430
8431
|
(yyval.id) = 0;
|
@@ -8432,7 +8433,7 @@ yyreduce:
|
|
8432
8433
|
break;
|
8433
8434
|
|
8434
8435
|
case 552:
|
8435
|
-
#line
|
8436
|
+
#line 2970 "grammar.y"
|
8436
8437
|
{
|
8437
8438
|
yy_error("formal argument cannot be an instance variable");
|
8438
8439
|
(yyval.id) = 0;
|
@@ -8440,7 +8441,7 @@ yyreduce:
|
|
8440
8441
|
break;
|
8441
8442
|
|
8442
8443
|
case 553:
|
8443
|
-
#line
|
8444
|
+
#line 2975 "grammar.y"
|
8444
8445
|
{
|
8445
8446
|
yy_error("formal argument cannot be a global variable");
|
8446
8447
|
(yyval.id) = 0;
|
@@ -8448,7 +8449,7 @@ yyreduce:
|
|
8448
8449
|
break;
|
8449
8450
|
|
8450
8451
|
case 554:
|
8451
|
-
#line
|
8452
|
+
#line 2980 "grammar.y"
|
8452
8453
|
{
|
8453
8454
|
yy_error("formal argument cannot be a class variable");
|
8454
8455
|
(yyval.id) = 0;
|
@@ -8456,7 +8457,7 @@ yyreduce:
|
|
8456
8457
|
break;
|
8457
8458
|
|
8458
8459
|
case 556:
|
8459
|
-
#line
|
8460
|
+
#line 2988 "grammar.y"
|
8460
8461
|
{
|
8461
8462
|
formal_argument(get_id((yyvsp[(1) - (1)].id)));
|
8462
8463
|
(yyval.id) = (yyvsp[(1) - (1)].id);
|
@@ -8464,7 +8465,7 @@ yyreduce:
|
|
8464
8465
|
break;
|
8465
8466
|
|
8466
8467
|
case 557:
|
8467
|
-
#line
|
8468
|
+
#line 2995 "grammar.y"
|
8468
8469
|
{
|
8469
8470
|
arg_var(get_id((yyvsp[(1) - (1)].id)));
|
8470
8471
|
(yyval.node) = NEW_ARGS_AUX((yyvsp[(1) - (1)].id), 1);
|
@@ -8472,7 +8473,7 @@ yyreduce:
|
|
8472
8473
|
break;
|
8473
8474
|
|
8474
8475
|
case 558:
|
8475
|
-
#line
|
8476
|
+
#line 3000 "grammar.y"
|
8476
8477
|
{
|
8477
8478
|
ID tid = internal_id();
|
8478
8479
|
arg_var(tid);
|
@@ -8483,7 +8484,7 @@ yyreduce:
|
|
8483
8484
|
break;
|
8484
8485
|
|
8485
8486
|
case 560:
|
8486
|
-
#line
|
8487
|
+
#line 3011 "grammar.y"
|
8487
8488
|
{
|
8488
8489
|
(yyval.node) = (yyvsp[(1) - (3)].node);
|
8489
8490
|
(yyval.node)->nd_plen++;
|
@@ -8492,7 +8493,7 @@ yyreduce:
|
|
8492
8493
|
break;
|
8493
8494
|
|
8494
8495
|
case 561:
|
8495
|
-
#line
|
8496
|
+
#line 3019 "grammar.y"
|
8496
8497
|
{
|
8497
8498
|
arg_var(formal_argument(get_id((yyvsp[(1) - (1)].id))));
|
8498
8499
|
(yyval.id) = (yyvsp[(1) - (1)].id);
|
@@ -8500,7 +8501,7 @@ yyreduce:
|
|
8500
8501
|
break;
|
8501
8502
|
|
8502
8503
|
case 562:
|
8503
|
-
#line
|
8504
|
+
#line 3026 "grammar.y"
|
8504
8505
|
{
|
8505
8506
|
(yyval.node) = assignable((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].node));
|
8506
8507
|
(yyval.node) = NEW_KW_ARG(0, (yyval.node));
|
@@ -8508,7 +8509,7 @@ yyreduce:
|
|
8508
8509
|
break;
|
8509
8510
|
|
8510
8511
|
case 563:
|
8511
|
-
#line
|
8512
|
+
#line 3031 "grammar.y"
|
8512
8513
|
{
|
8513
8514
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), NEW_REQ_KW);
|
8514
8515
|
(yyval.node) = NEW_KW_ARG(0, (yyval.node));
|
@@ -8516,7 +8517,7 @@ yyreduce:
|
|
8516
8517
|
break;
|
8517
8518
|
|
8518
8519
|
case 564:
|
8519
|
-
#line
|
8520
|
+
#line 3038 "grammar.y"
|
8520
8521
|
{
|
8521
8522
|
(yyval.node) = assignable((yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].node));
|
8522
8523
|
(yyval.node) = NEW_KW_ARG(0, (yyval.node));
|
@@ -8524,7 +8525,7 @@ yyreduce:
|
|
8524
8525
|
break;
|
8525
8526
|
|
8526
8527
|
case 565:
|
8527
|
-
#line
|
8528
|
+
#line 3043 "grammar.y"
|
8528
8529
|
{
|
8529
8530
|
(yyval.node) = assignable((yyvsp[(1) - (1)].id), NEW_REQ_KW);
|
8530
8531
|
(yyval.node) = NEW_KW_ARG(0, (yyval.node));
|
@@ -8532,14 +8533,14 @@ yyreduce:
|
|
8532
8533
|
break;
|
8533
8534
|
|
8534
8535
|
case 566:
|
8535
|
-
#line
|
8536
|
+
#line 3050 "grammar.y"
|
8536
8537
|
{
|
8537
8538
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
8538
8539
|
;}
|
8539
8540
|
break;
|
8540
8541
|
|
8541
8542
|
case 567:
|
8542
|
-
#line
|
8543
|
+
#line 3054 "grammar.y"
|
8543
8544
|
{
|
8544
8545
|
NODE *kws = (yyvsp[(1) - (3)].node);
|
8545
8546
|
while (kws->nd_next) {
|
@@ -8551,14 +8552,14 @@ yyreduce:
|
|
8551
8552
|
break;
|
8552
8553
|
|
8553
8554
|
case 568:
|
8554
|
-
#line
|
8555
|
+
#line 3065 "grammar.y"
|
8555
8556
|
{
|
8556
8557
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
8557
8558
|
;}
|
8558
8559
|
break;
|
8559
8560
|
|
8560
8561
|
case 569:
|
8561
|
-
#line
|
8562
|
+
#line 3069 "grammar.y"
|
8562
8563
|
{
|
8563
8564
|
NODE *kws = (yyvsp[(1) - (3)].node);
|
8564
8565
|
while (kws->nd_next) {
|
@@ -8570,7 +8571,7 @@ yyreduce:
|
|
8570
8571
|
break;
|
8571
8572
|
|
8572
8573
|
case 572:
|
8573
|
-
#line
|
8574
|
+
#line 3084 "grammar.y"
|
8574
8575
|
{
|
8575
8576
|
shadowing_lvar(get_id((yyvsp[(2) - (2)].id)));
|
8576
8577
|
(yyval.id) = (yyvsp[(2) - (2)].id);
|
@@ -8578,14 +8579,14 @@ yyreduce:
|
|
8578
8579
|
break;
|
8579
8580
|
|
8580
8581
|
case 573:
|
8581
|
-
#line
|
8582
|
+
#line 3089 "grammar.y"
|
8582
8583
|
{
|
8583
8584
|
(yyval.id) = internal_id();
|
8584
8585
|
;}
|
8585
8586
|
break;
|
8586
8587
|
|
8587
8588
|
case 574:
|
8588
|
-
#line
|
8589
|
+
#line 3095 "grammar.y"
|
8589
8590
|
{
|
8590
8591
|
arg_var(get_id((yyvsp[(1) - (3)].id)));
|
8591
8592
|
(yyval.node) = assignable((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].node));
|
@@ -8594,7 +8595,7 @@ yyreduce:
|
|
8594
8595
|
break;
|
8595
8596
|
|
8596
8597
|
case 575:
|
8597
|
-
#line
|
8598
|
+
#line 3103 "grammar.y"
|
8598
8599
|
{
|
8599
8600
|
arg_var(get_id((yyvsp[(1) - (3)].id)));
|
8600
8601
|
(yyval.node) = assignable((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].node));
|
@@ -8603,14 +8604,14 @@ yyreduce:
|
|
8603
8604
|
break;
|
8604
8605
|
|
8605
8606
|
case 576:
|
8606
|
-
#line
|
8607
|
+
#line 3111 "grammar.y"
|
8607
8608
|
{
|
8608
8609
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
8609
8610
|
;}
|
8610
8611
|
break;
|
8611
8612
|
|
8612
8613
|
case 577:
|
8613
|
-
#line
|
8614
|
+
#line 3115 "grammar.y"
|
8614
8615
|
{
|
8615
8616
|
NODE *opts = (yyvsp[(1) - (3)].node);
|
8616
8617
|
while(opts->nd_next) {
|
@@ -8622,14 +8623,14 @@ yyreduce:
|
|
8622
8623
|
break;
|
8623
8624
|
|
8624
8625
|
case 578:
|
8625
|
-
#line
|
8626
|
+
#line 3126 "grammar.y"
|
8626
8627
|
{
|
8627
8628
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
8628
8629
|
;}
|
8629
8630
|
break;
|
8630
8631
|
|
8631
8632
|
case 579:
|
8632
|
-
#line
|
8633
|
+
#line 3130 "grammar.y"
|
8633
8634
|
{
|
8634
8635
|
NODE *opts = (yyvsp[(1) - (3)].node);
|
8635
8636
|
while(opts->nd_next) {
|
@@ -8641,7 +8642,7 @@ yyreduce:
|
|
8641
8642
|
break;
|
8642
8643
|
|
8643
8644
|
case 582:
|
8644
|
-
#line
|
8645
|
+
#line 3145 "grammar.y"
|
8645
8646
|
{
|
8646
8647
|
if(!is_local_id((yyvsp[(2) - (2)].id))) {
|
8647
8648
|
yy_error("rest argument must be local variable");
|
@@ -8652,7 +8653,7 @@ yyreduce:
|
|
8652
8653
|
break;
|
8653
8654
|
|
8654
8655
|
case 583:
|
8655
|
-
#line
|
8656
|
+
#line 3153 "grammar.y"
|
8656
8657
|
{
|
8657
8658
|
(yyval.id) = internal_id();
|
8658
8659
|
arg_var((yyval.id));
|
@@ -8660,7 +8661,7 @@ yyreduce:
|
|
8660
8661
|
break;
|
8661
8662
|
|
8662
8663
|
case 586:
|
8663
|
-
#line
|
8664
|
+
#line 3164 "grammar.y"
|
8664
8665
|
{
|
8665
8666
|
if(!is_local_id((yyvsp[(2) - (2)].id)))
|
8666
8667
|
yy_error("block argument must be local variable");
|
@@ -8672,21 +8673,21 @@ yyreduce:
|
|
8672
8673
|
break;
|
8673
8674
|
|
8674
8675
|
case 587:
|
8675
|
-
#line
|
8676
|
+
#line 3175 "grammar.y"
|
8676
8677
|
{
|
8677
8678
|
(yyval.id) = (yyvsp[(2) - (2)].id);
|
8678
8679
|
;}
|
8679
8680
|
break;
|
8680
8681
|
|
8681
8682
|
case 588:
|
8682
|
-
#line
|
8683
|
+
#line 3179 "grammar.y"
|
8683
8684
|
{
|
8684
8685
|
(yyval.id) = 0;
|
8685
8686
|
;}
|
8686
8687
|
break;
|
8687
8688
|
|
8688
8689
|
case 589:
|
8689
|
-
#line
|
8690
|
+
#line 3185 "grammar.y"
|
8690
8691
|
{
|
8691
8692
|
value_expr((yyvsp[(1) - (1)].node));
|
8692
8693
|
(yyval.node) = (yyvsp[(1) - (1)].node);
|
@@ -8695,12 +8696,12 @@ yyreduce:
|
|
8695
8696
|
break;
|
8696
8697
|
|
8697
8698
|
case 590:
|
8698
|
-
#line
|
8699
|
+
#line 3190 "grammar.y"
|
8699
8700
|
{lex_state = EXPR_BEG;;}
|
8700
8701
|
break;
|
8701
8702
|
|
8702
8703
|
case 591:
|
8703
|
-
#line
|
8704
|
+
#line 3191 "grammar.y"
|
8704
8705
|
{
|
8705
8706
|
if((yyvsp[(3) - (4)].node) == 0) {
|
8706
8707
|
yy_error("can't define singleton method for ().");
|
@@ -8725,58 +8726,58 @@ yyreduce:
|
|
8725
8726
|
break;
|
8726
8727
|
|
8727
8728
|
case 593:
|
8728
|
-
#line
|
8729
|
+
#line 3216 "grammar.y"
|
8729
8730
|
{
|
8730
8731
|
(yyval.node) = (yyvsp[(1) - (2)].node);
|
8731
8732
|
;}
|
8732
8733
|
break;
|
8733
8734
|
|
8734
8735
|
case 595:
|
8735
|
-
#line
|
8736
|
+
#line 3223 "grammar.y"
|
8736
8737
|
{
|
8737
8738
|
(yyval.node) = list_concat((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
|
8738
8739
|
;}
|
8739
8740
|
break;
|
8740
8741
|
|
8741
8742
|
case 596:
|
8742
|
-
#line
|
8743
|
+
#line 3229 "grammar.y"
|
8743
8744
|
{
|
8744
8745
|
(yyval.node) = list_append(NEW_LIST((yyvsp[(1) - (3)].node)), (yyvsp[(3) - (3)].node));
|
8745
8746
|
;}
|
8746
8747
|
break;
|
8747
8748
|
|
8748
8749
|
case 597:
|
8749
|
-
#line
|
8750
|
+
#line 3233 "grammar.y"
|
8750
8751
|
{
|
8751
8752
|
(yyval.node) = list_append(NEW_LIST(NEW_LIT(ID2SYM((yyvsp[(1) - (2)].id)))), (yyvsp[(2) - (2)].node));
|
8752
8753
|
;}
|
8753
8754
|
break;
|
8754
8755
|
|
8755
8756
|
case 598:
|
8756
|
-
#line
|
8757
|
+
#line 3237 "grammar.y"
|
8757
8758
|
{
|
8758
8759
|
(yyval.node) = list_append(NEW_LIST(0), (yyvsp[(2) - (2)].node));
|
8759
8760
|
;}
|
8760
8761
|
break;
|
8761
8762
|
|
8762
8763
|
case 620:
|
8763
|
-
#line
|
8764
|
+
#line 3281 "grammar.y"
|
8764
8765
|
{yyerrok;;}
|
8765
8766
|
break;
|
8766
8767
|
|
8767
8768
|
case 623:
|
8768
|
-
#line
|
8769
|
+
#line 3286 "grammar.y"
|
8769
8770
|
{yyerrok;;}
|
8770
8771
|
break;
|
8771
8772
|
|
8772
8773
|
case 624:
|
8773
|
-
#line
|
8774
|
+
#line 3289 "grammar.y"
|
8774
8775
|
{(yyval.node) = 0;;}
|
8775
8776
|
break;
|
8776
8777
|
|
8777
8778
|
|
8778
8779
|
/* Line 1267 of yacc.c. */
|
8779
|
-
#line
|
8780
|
+
#line 8781 "grammar.cpp"
|
8780
8781
|
default: break;
|
8781
8782
|
}
|
8782
8783
|
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
@@ -8990,7 +8991,7 @@ yyreturn:
|
|
8990
8991
|
}
|
8991
8992
|
|
8992
8993
|
|
8993
|
-
#line
|
8994
|
+
#line 3291 "grammar.y"
|
8994
8995
|
|
8995
8996
|
|
8996
8997
|
#undef parser
|
@@ -13009,15 +13010,12 @@ parser_negate_lit(rb_parser_state* parser_state, NODE *node)
|
|
13009
13010
|
case T_FIXNUM:
|
13010
13011
|
node->nd_lit = LONG2FIX(-FIX2LONG(node->nd_lit));
|
13011
13012
|
break;
|
13012
|
-
case T_BIGNUM:
|
13013
|
-
case T_RATIONAL:
|
13014
|
-
case T_COMPLEX:
|
13015
|
-
node->nd_lit = REF(rb_funcall(node->nd_lit, rb_intern("-@"), 0, 0));
|
13016
|
-
break;
|
13017
13013
|
case T_FLOAT:
|
13018
13014
|
node->nd_lit = REF(rb_float_new(-NUM2DBL(node->nd_lit)));
|
13019
13015
|
break;
|
13016
|
+
case T_BIGNUM:
|
13020
13017
|
default:
|
13018
|
+
node->nd_lit = REF(rb_funcall(node->nd_lit, rb_intern("-@"), 0, 0));
|
13021
13019
|
break;
|
13022
13020
|
}
|
13023
13021
|
return node;
|