ruby_parser 3.18.1 → 3.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +21 -0
- data/Manifest.txt +2 -0
- data/README.rdoc +8 -6
- data/Rakefile +8 -7
- data/gauntlet.md +17 -15
- data/lib/ruby20_parser.rb +5871 -2026
- data/lib/ruby20_parser.y +14 -27
- data/lib/ruby21_parser.rb +5847 -2049
- data/lib/ruby21_parser.y +14 -27
- data/lib/ruby22_parser.rb +5969 -2074
- data/lib/ruby22_parser.y +14 -27
- data/lib/ruby23_parser.rb +5973 -2078
- data/lib/ruby23_parser.y +14 -27
- data/lib/ruby24_parser.rb +6061 -2098
- data/lib/ruby24_parser.y +14 -27
- data/lib/ruby25_parser.rb +6061 -2098
- data/lib/ruby25_parser.y +14 -27
- data/lib/ruby26_parser.rb +6063 -2097
- data/lib/ruby26_parser.y +14 -27
- data/lib/ruby27_parser.rb +6862 -2399
- data/lib/ruby27_parser.y +19 -41
- data/lib/ruby30_parser.rb +7162 -2671
- data/lib/ruby30_parser.y +65 -90
- data/lib/ruby31_parser.rb +13622 -0
- data/lib/ruby31_parser.y +3481 -0
- data/lib/ruby3_parser.yy +149 -89
- data/lib/ruby_parser.rb +2 -0
- data/lib/ruby_parser.yy +19 -41
- data/lib/ruby_parser_extras.rb +46 -1
- data/test/test_ruby_parser.rb +116 -0
- data.tar.gz.sig +0 -0
- metadata +18 -13
- metadata.gz.sig +0 -0
data/lib/ruby27_parser.y
CHANGED
@@ -721,8 +721,7 @@ rule
|
|
721
721
|
|
722
722
|
cpath: tCOLON3 cname
|
723
723
|
{
|
724
|
-
|
725
|
-
result = s(:colon3, name.to_sym).line line
|
724
|
+
result = wrap :colon3, val[1]
|
726
725
|
}
|
727
726
|
| cname
|
728
727
|
{
|
@@ -747,9 +746,7 @@ rule
|
|
747
746
|
|
748
747
|
fitem: fname
|
749
748
|
{
|
750
|
-
|
751
|
-
|
752
|
-
result = s(:lit, id.to_sym).line line
|
749
|
+
result = wrap :lit, val[0]
|
753
750
|
}
|
754
751
|
| symbol
|
755
752
|
|
@@ -818,9 +815,9 @@ rule
|
|
818
815
|
}
|
819
816
|
| tCOLON3 tCONSTANT tOP_ASGN arg_rhs
|
820
817
|
{
|
821
|
-
_,
|
818
|
+
_, lhs, op, rhs = val
|
822
819
|
|
823
|
-
lhs =
|
820
|
+
lhs = wrap :colon3, lhs
|
824
821
|
result = new_const_op_asgn [lhs, op, rhs]
|
825
822
|
}
|
826
823
|
| backref tOP_ASGN arg_rhs
|
@@ -1268,9 +1265,7 @@ rule
|
|
1268
1265
|
}
|
1269
1266
|
| tCOLON3 tCONSTANT
|
1270
1267
|
{
|
1271
|
-
|
1272
|
-
|
1273
|
-
result = s(:colon3, id.to_sym).line line
|
1268
|
+
result = wrap :colon3, val[1]
|
1274
1269
|
}
|
1275
1270
|
| tLBRACK { result = lexer.lineno } aref_args tRBRACK
|
1276
1271
|
{
|
@@ -1774,8 +1769,7 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
1774
1769
|
|
1775
1770
|
bvar: tIDENTIFIER
|
1776
1771
|
{
|
1777
|
-
|
1778
|
-
result = s(:shadow, id.to_sym).line line
|
1772
|
+
result = wrap :shadow, val[0]
|
1779
1773
|
}
|
1780
1774
|
| f_bad_arg
|
1781
1775
|
|
@@ -2381,9 +2375,7 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2381
2375
|
|
2382
2376
|
p_kw_label: tLABEL
|
2383
2377
|
{
|
2384
|
-
|
2385
|
-
|
2386
|
-
result = s(:lit, id.to_sym).line line
|
2378
|
+
result = wrap :lit, val[0]
|
2387
2379
|
}
|
2388
2380
|
|
2389
2381
|
p_kwrest: kwrest_mark tIDENTIFIER
|
@@ -2475,26 +2467,20 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2475
2467
|
|
2476
2468
|
p_variable: tIDENTIFIER
|
2477
2469
|
{
|
2478
|
-
(id, line), = val
|
2479
|
-
|
2480
2470
|
# TODO: error_duplicate_pattern_variable(p, $1, &@1);
|
2481
2471
|
# TODO: assignable(p, $1, 0, &@$);
|
2482
|
-
result =
|
2472
|
+
result = wrap :lvar, val[0]
|
2483
2473
|
}
|
2484
2474
|
|
2485
2475
|
p_var_ref: tCARET tIDENTIFIER
|
2486
2476
|
{
|
2487
|
-
_, (id, line) = val
|
2488
|
-
|
2489
2477
|
# TODO: check id against env for lvar or dvar
|
2490
|
-
|
2491
|
-
result = s(:lvar, id.to_sym).line line
|
2478
|
+
result = wrap :lvar, val[1]
|
2492
2479
|
}
|
2493
2480
|
|
2494
2481
|
p_const: tCOLON3 cname
|
2495
2482
|
{
|
2496
|
-
|
2497
|
-
result = s(:colon3, id.to_sym).line line
|
2483
|
+
result = wrap :colon3, val[1]
|
2498
2484
|
}
|
2499
2485
|
| p_const tCOLON2 cname
|
2500
2486
|
{
|
@@ -2506,8 +2492,7 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2506
2492
|
| tCONSTANT
|
2507
2493
|
{
|
2508
2494
|
# TODO $$ = gettable(p, $1, &@$);
|
2509
|
-
|
2510
|
-
result = s(:const, id.to_sym).line line
|
2495
|
+
result = wrap :const, val[0]
|
2511
2496
|
}
|
2512
2497
|
######################################################################
|
2513
2498
|
|
@@ -2793,18 +2778,15 @@ regexp_contents: none
|
|
2793
2778
|
|
2794
2779
|
string_dvar: tGVAR
|
2795
2780
|
{
|
2796
|
-
|
2797
|
-
result = s(:gvar, id.to_sym).line line
|
2781
|
+
result = wrap :gvar, val[0]
|
2798
2782
|
}
|
2799
2783
|
| tIVAR
|
2800
2784
|
{
|
2801
|
-
|
2802
|
-
result = s(:ivar, id.to_sym).line line
|
2785
|
+
result = wrap :ivar, val[0]
|
2803
2786
|
}
|
2804
2787
|
| tCVAR
|
2805
2788
|
{
|
2806
|
-
|
2807
|
-
result = s(:cvar, id.to_sym).line line
|
2789
|
+
result = wrap :cvar, val[0]
|
2808
2790
|
}
|
2809
2791
|
| backref
|
2810
2792
|
|
@@ -2813,17 +2795,13 @@ regexp_contents: none
|
|
2813
2795
|
|
2814
2796
|
ssym: tSYMBEG sym
|
2815
2797
|
{
|
2816
|
-
_, (id, line) = val
|
2817
|
-
|
2818
2798
|
lexer.lex_state = EXPR_END
|
2819
|
-
result =
|
2799
|
+
result = wrap :lit, val[1]
|
2820
2800
|
}
|
2821
2801
|
| tSYMBOL
|
2822
2802
|
{
|
2823
|
-
(id, line), = val
|
2824
|
-
|
2825
2803
|
lexer.lex_state = EXPR_END
|
2826
|
-
result =
|
2804
|
+
result = wrap :lit, val[0]
|
2827
2805
|
}
|
2828
2806
|
|
2829
2807
|
sym: fname | tIVAR | tGVAR | tCVAR
|
@@ -3287,10 +3265,10 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
|
|
3287
3265
|
}
|
3288
3266
|
| tLABEL arg_value
|
3289
3267
|
{
|
3290
|
-
|
3268
|
+
label, arg = val
|
3291
3269
|
|
3292
|
-
lit =
|
3293
|
-
result = s(:array, lit, arg).line line
|
3270
|
+
lit = wrap :lit, label
|
3271
|
+
result = s(:array, lit, arg).line lit.line
|
3294
3272
|
}
|
3295
3273
|
| tSTRING_BEG string_contents tLABEL_END arg_value
|
3296
3274
|
{
|