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