ruby_parser 3.20.3 → 3.21.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
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +32 -0
- data/Manifest.txt +14 -24
- data/README.rdoc +3 -3
- data/Rakefile +113 -115
- data/compare/normalize.rb +2 -0
- data/lib/ruby_lexer.rb +9 -16
- data/lib/ruby_lexer.rex.rb +1 -2
- data/lib/ruby_parser.rb +15 -13
- data/lib/{ruby_parser.yy → ruby_parser2.yy} +3 -10
- data/lib/{ruby20_parser.rb → ruby_parser20.rb} +9 -12
- data/lib/{ruby21_parser.rb → ruby_parser21.rb} +9 -12
- data/lib/{ruby22_parser.rb → ruby_parser22.rb} +9 -12
- data/lib/{ruby23_parser.rb → ruby_parser23.rb} +9 -12
- data/lib/{ruby24_parser.rb → ruby_parser24.rb} +9 -12
- data/lib/{ruby25_parser.rb → ruby_parser25.rb} +9 -12
- data/lib/{ruby26_parser.rb → ruby_parser26.rb} +9 -12
- data/lib/{ruby27_parser.rb → ruby_parser27.rb} +9 -12
- data/lib/{ruby3_parser.yy → ruby_parser3.yy} +7 -33
- data/lib/{ruby30_parser.rb → ruby_parser30.rb} +11 -35
- data/lib/{ruby31_parser.rb → ruby_parser31.rb} +11 -35
- data/lib/{ruby32_parser.rb → ruby_parser32.rb} +11 -35
- data/lib/ruby_parser33.rb +13577 -0
- data/lib/ruby_parser_extras.rb +34 -17
- data/test/test_ruby_lexer.rb +5 -5
- data/test/test_ruby_parser.rb +21 -19
- data.tar.gz.sig +0 -0
- metadata +41 -51
- metadata.gz.sig +0 -0
- data/lib/ruby20_parser.y +0 -2707
- data/lib/ruby21_parser.y +0 -2724
- data/lib/ruby22_parser.y +0 -2735
- data/lib/ruby23_parser.y +0 -2737
- data/lib/ruby24_parser.y +0 -2745
- data/lib/ruby25_parser.y +0 -2745
- data/lib/ruby26_parser.y +0 -2760
- data/lib/ruby27_parser.y +0 -3360
- data/lib/ruby30_parser.y +0 -3508
- data/lib/ruby31_parser.y +0 -3542
- data/lib/ruby32_parser.y +0 -3543
data/lib/ruby_parser_extras.rb
CHANGED
@@ -30,11 +30,11 @@ class Sexp
|
|
30
30
|
end
|
31
31
|
|
32
32
|
module RubyParserStuff
|
33
|
-
VERSION = "3.
|
33
|
+
VERSION = "3.21.0"
|
34
34
|
|
35
35
|
attr_accessor :lexer, :in_def, :in_single, :file, :in_argdef
|
36
36
|
attr_accessor :in_kwarg
|
37
|
-
attr_reader :env
|
37
|
+
attr_reader :env
|
38
38
|
|
39
39
|
##
|
40
40
|
# Canonicalize conditionals. Eg:
|
@@ -92,6 +92,7 @@ module RubyParserStuff
|
|
92
92
|
[k, true]
|
93
93
|
}.to_h
|
94
94
|
|
95
|
+
# TODO: remove
|
95
96
|
has_enc = "".respond_to? :encoding
|
96
97
|
|
97
98
|
# This is in sorted order of occurrence according to
|
@@ -125,7 +126,6 @@ module RubyParserStuff
|
|
125
126
|
self.in_argdef = false
|
126
127
|
|
127
128
|
@env = RubyParserStuff::Environment.new
|
128
|
-
@comments = []
|
129
129
|
|
130
130
|
@canonicalize_conditions = true
|
131
131
|
|
@@ -567,7 +567,7 @@ module RubyParserStuff
|
|
567
567
|
|
568
568
|
def handle_encoding str
|
569
569
|
str = str.dup
|
570
|
-
has_enc = str.respond_to? :encoding
|
570
|
+
has_enc = str.respond_to? :encoding # TODO: remove
|
571
571
|
encoding = nil
|
572
572
|
|
573
573
|
header = str.each_line.first(2)
|
@@ -929,7 +929,7 @@ module RubyParserStuff
|
|
929
929
|
end
|
930
930
|
|
931
931
|
def new_class val
|
932
|
-
(_, line), path, superclass, _, body, (_, line_max) = val
|
932
|
+
(_, line, comment), path, superclass, _, body, (_, line_max) = val
|
933
933
|
|
934
934
|
path = path.first if path.instance_of? Array
|
935
935
|
|
@@ -945,7 +945,7 @@ module RubyParserStuff
|
|
945
945
|
|
946
946
|
result.line = line
|
947
947
|
result.line_max = line_max
|
948
|
-
result.comments =
|
948
|
+
result.comments = comment if comment
|
949
949
|
result
|
950
950
|
end
|
951
951
|
|
@@ -973,7 +973,11 @@ module RubyParserStuff
|
|
973
973
|
end
|
974
974
|
|
975
975
|
def new_defn val
|
976
|
-
|
976
|
+
if val.size == 4 then
|
977
|
+
((_, line, comment), (name, _line, in_def)), args, body, (_, line_max) = val
|
978
|
+
else
|
979
|
+
(_, line, comment), (name, line), in_def, args, body, (_, line_max) = val
|
980
|
+
end
|
977
981
|
|
978
982
|
body ||= s(:nil).line line
|
979
983
|
|
@@ -988,13 +992,14 @@ module RubyParserStuff
|
|
988
992
|
result.push body
|
989
993
|
end
|
990
994
|
|
991
|
-
result.comments =
|
995
|
+
result.comments = comment if comment
|
992
996
|
|
993
997
|
[result, in_def]
|
994
998
|
end
|
995
999
|
|
996
1000
|
def new_endless_defn val
|
997
|
-
|
1001
|
+
# not available in 2.x so we don't need to check size
|
1002
|
+
((_, line, comment), (name, _, in_def)), args, _, body, _, resbody = val
|
998
1003
|
|
999
1004
|
result =
|
1000
1005
|
if resbody then
|
@@ -1009,13 +1014,15 @@ module RubyParserStuff
|
|
1009
1014
|
local_pop in_def
|
1010
1015
|
endless_method_name result
|
1011
1016
|
|
1012
|
-
result.comments =
|
1017
|
+
result.comments = comment if comment
|
1013
1018
|
|
1014
1019
|
result
|
1015
1020
|
end
|
1016
1021
|
|
1017
1022
|
def new_endless_defs val
|
1018
|
-
|
1023
|
+
# not available in 2.x so we don't need to check size
|
1024
|
+
((_, line, comment), recv, _, _, (name, line, in_def)), \
|
1025
|
+
args, _, body, _, resbody = val
|
1019
1026
|
|
1020
1027
|
result =
|
1021
1028
|
if resbody then
|
@@ -1031,13 +1038,19 @@ module RubyParserStuff
|
|
1031
1038
|
local_pop in_def
|
1032
1039
|
endless_method_name result
|
1033
1040
|
|
1034
|
-
result.comments =
|
1041
|
+
result.comments = comment if comment
|
1035
1042
|
|
1036
1043
|
result
|
1037
1044
|
end
|
1038
1045
|
|
1039
1046
|
def new_defs val
|
1040
|
-
|
1047
|
+
if val.size == 4 then
|
1048
|
+
((_, line, comment), recv, _, _, (name, line, in_def)), \
|
1049
|
+
args, body, (_, line_max) = val
|
1050
|
+
else
|
1051
|
+
(_, line, comment), recv, (name, _), in_def, \
|
1052
|
+
args, body, (_, line_max) = val
|
1053
|
+
end
|
1041
1054
|
|
1042
1055
|
body ||= s(:nil).line line
|
1043
1056
|
|
@@ -1055,7 +1068,7 @@ module RubyParserStuff
|
|
1055
1068
|
result.push body
|
1056
1069
|
end
|
1057
1070
|
|
1058
|
-
result.comments =
|
1071
|
+
result.comments = comment if comment
|
1059
1072
|
|
1060
1073
|
[result, in_def]
|
1061
1074
|
end
|
@@ -1209,7 +1222,7 @@ module RubyParserStuff
|
|
1209
1222
|
end
|
1210
1223
|
|
1211
1224
|
def new_module val
|
1212
|
-
(_, line_min), path, _, body, (_, line_max) = val
|
1225
|
+
(_, line_min, comment), path, _, body, (_, line_max) = val
|
1213
1226
|
|
1214
1227
|
path = path.first if path.instance_of? Array
|
1215
1228
|
|
@@ -1224,7 +1237,7 @@ module RubyParserStuff
|
|
1224
1237
|
end
|
1225
1238
|
end
|
1226
1239
|
|
1227
|
-
result.comments =
|
1240
|
+
result.comments = comment if comment
|
1228
1241
|
result
|
1229
1242
|
end
|
1230
1243
|
|
@@ -1518,11 +1531,16 @@ module RubyParserStuff
|
|
1518
1531
|
end
|
1519
1532
|
end
|
1520
1533
|
|
1534
|
+
KEEP_COMMENT_TOKENS = [:kCLASS, :kMODULE, :kDEF, :tNL]
|
1535
|
+
|
1521
1536
|
def next_token
|
1522
1537
|
token = self.lexer.next_token
|
1523
1538
|
|
1524
1539
|
if token and token.first != RubyLexer::EOF then
|
1525
1540
|
self.last_token_type = token
|
1541
|
+
|
1542
|
+
self.lexer.comment = nil unless KEEP_COMMENT_TOKENS.include? token.first
|
1543
|
+
|
1526
1544
|
return token
|
1527
1545
|
elsif !token
|
1528
1546
|
return self.lexer.next_token
|
@@ -1582,7 +1600,6 @@ module RubyParserStuff
|
|
1582
1600
|
self.in_def = false
|
1583
1601
|
self.in_single = 0
|
1584
1602
|
self.env.reset
|
1585
|
-
self.comments.clear
|
1586
1603
|
self.last_token_type = nil
|
1587
1604
|
end
|
1588
1605
|
|
data/test/test_ruby_lexer.rb
CHANGED
@@ -584,7 +584,7 @@ class TestRubyLexer < Minitest::Test
|
|
584
584
|
:tNL, nil, EXPR_BEG,
|
585
585
|
:tINTEGER, 2, EXPR_NUM)
|
586
586
|
|
587
|
-
assert_equal "# one\n# two\n", @lex.
|
587
|
+
assert_equal "# one\n# two\n", @lex.comment
|
588
588
|
end
|
589
589
|
|
590
590
|
def test_yylex_comment_begin
|
@@ -592,13 +592,13 @@ class TestRubyLexer < Minitest::Test
|
|
592
592
|
nil,
|
593
593
|
:tINTEGER, 42, EXPR_NUM)
|
594
594
|
|
595
|
-
assert_equal "=begin\nblah\nblah\n=end\n", @lex.
|
595
|
+
assert_equal "=begin\nblah\nblah\n=end\n", @lex.comment
|
596
596
|
end
|
597
597
|
|
598
598
|
def test_yylex_comment_begin_bad
|
599
599
|
refute_lex("=begin\nblah\nblah\n")
|
600
600
|
|
601
|
-
|
601
|
+
assert_nil @lex.comment
|
602
602
|
end
|
603
603
|
|
604
604
|
def test_yylex_comment_begin_not_comment
|
@@ -617,13 +617,13 @@ class TestRubyLexer < Minitest::Test
|
|
617
617
|
def test_yylex_comment_begin_space
|
618
618
|
assert_lex3("=begin blah\nblah\n=end\n", nil)
|
619
619
|
|
620
|
-
assert_equal "=begin blah\nblah\n=end\n", @lex.
|
620
|
+
assert_equal "=begin blah\nblah\n=end\n", @lex.comment
|
621
621
|
end
|
622
622
|
|
623
623
|
def test_yylex_comment_end_space_and_text
|
624
624
|
assert_lex3("=begin blah\nblah\n=end blab\n", nil)
|
625
625
|
|
626
|
-
assert_equal "=begin blah\nblah\n=end blab\n", @lex.
|
626
|
+
assert_equal "=begin blah\nblah\n=end blab\n", @lex.comment
|
627
627
|
end
|
628
628
|
|
629
629
|
def test_yylex_comment_eos
|
data/test/test_ruby_parser.rb
CHANGED
@@ -500,7 +500,7 @@ module TestRubyParserShared
|
|
500
500
|
exp = rb.strip + "\n"
|
501
501
|
|
502
502
|
refute_parse rb
|
503
|
-
assert_equal exp, processor.lexer.
|
503
|
+
assert_equal exp, processor.lexer.comment
|
504
504
|
end
|
505
505
|
|
506
506
|
def test_bug_cond_pct
|
@@ -1722,11 +1722,10 @@ module TestRubyParserShared
|
|
1722
1722
|
|
1723
1723
|
assert_equal "# class comment\n", sexp.comments
|
1724
1724
|
act = sexp.find_nodes(:defn).map(&:comments)
|
1725
|
-
exp = [
|
1725
|
+
exp = [nil, "# Returns a list of things\n"]
|
1726
1726
|
|
1727
1727
|
assert_equal exp, act
|
1728
|
-
|
1729
|
-
assert_equal "", processor.lexer.comments
|
1728
|
+
assert_nil processor.lexer.comment
|
1730
1729
|
end
|
1731
1730
|
|
1732
1731
|
def test_parse_if_not_canonical
|
@@ -5672,6 +5671,10 @@ module TestRubyParserShared32Plus
|
|
5672
5671
|
end
|
5673
5672
|
end
|
5674
5673
|
|
5674
|
+
module TestRubyParserShared33Plus
|
5675
|
+
include TestRubyParserShared32Plus
|
5676
|
+
end
|
5677
|
+
|
5675
5678
|
class Minitest::Test
|
5676
5679
|
def skip s = "blah"
|
5677
5680
|
warn "ignoring skip for %s: %s" % [name, s]
|
@@ -5693,28 +5696,17 @@ class TestRubyParser < Minitest::Test
|
|
5693
5696
|
pt = s(:call, s(:call, nil, :a), :call)
|
5694
5697
|
|
5695
5698
|
assert_equal pt, processor.parse(rb)
|
5696
|
-
|
5697
|
-
# bad syntax
|
5698
|
-
e = assert_raises Racc::ParseError do
|
5699
|
-
capture_io do
|
5700
|
-
processor.parse "a.("
|
5701
|
-
end
|
5702
|
-
end
|
5703
|
-
|
5704
|
-
assert_includes e.message, 'parse error on value "$" ($end)'
|
5705
5699
|
end
|
5706
5700
|
|
5707
|
-
def
|
5701
|
+
def test_parse_error
|
5708
5702
|
processor = RubyParser.new
|
5709
5703
|
|
5704
|
+
# bad syntax
|
5710
5705
|
e = assert_raises Racc::ParseError do
|
5711
|
-
|
5712
|
-
processor.parse "a -> () {"
|
5713
|
-
end
|
5706
|
+
processor.parse "a.("
|
5714
5707
|
end
|
5715
5708
|
|
5716
|
-
|
5717
|
-
assert_includes e.message, 'parse error on value "$" ($end)'
|
5709
|
+
assert_match(/parse error on value \S+ ..end./, e.message)
|
5718
5710
|
end
|
5719
5711
|
end
|
5720
5712
|
|
@@ -6031,6 +6023,16 @@ class TestRubyParserV32 < RubyParserTestCase
|
|
6031
6023
|
end
|
6032
6024
|
end
|
6033
6025
|
|
6026
|
+
class TestRubyParserV33 < RubyParserTestCase
|
6027
|
+
include TestRubyParserShared33Plus
|
6028
|
+
|
6029
|
+
def setup
|
6030
|
+
super
|
6031
|
+
|
6032
|
+
self.processor = RubyParser::V33.new
|
6033
|
+
end
|
6034
|
+
end
|
6035
|
+
|
6034
6036
|
RubyParser::VERSIONS.each do |klass|
|
6035
6037
|
v = klass.version
|
6036
6038
|
describe "block args arity #{v}" do
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -10,9 +10,9 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBCDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTI0MDEwMjIxMjEyM1oXDTI1MDEwMTIxMjEyM1owRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -22,14 +22,14 @@ cert_chain:
|
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
AQCygvpmncmkiSs9r/Kceo4bBPDszhTv6iBi4LwMReqnFrpNLMOWJw7xi8x+3eL2
|
26
|
+
XS09ZPNOt2zm70KmFouBMgOysnDY4k2dE8uF6B8JbZOO8QfalW+CoNBliefOTcn2
|
27
|
+
bg5IOP7UoGM5lC174/cbDJrJnRG9bzig5FAP0mvsgA8zgTRXQzIUAZEo92D5K7p4
|
28
|
+
B4/O998ho6BSOgYBI9Yk1ttdCtti6Y+8N9+fZESsjtWMykA+WXWeGUScHqiU+gH8
|
29
|
+
S7043fq9EbQdBr2AXdj92+CDwuTfHI6/Hj5FVBDULufrJaan4xUgL70Hvc6pTTeW
|
30
|
+
deKfBjgVAq7EYHu1AczzlUly
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2024-01-16 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: sexp_processor
|
@@ -45,6 +45,20 @@ dependencies:
|
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '4.16'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: racc
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.5'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.5'
|
48
62
|
- !ruby/object:Gem::Dependency
|
49
63
|
name: rake
|
50
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,20 +93,6 @@ dependencies:
|
|
79
93
|
- - "~>"
|
80
94
|
- !ruby/object:Gem::Version
|
81
95
|
version: '2.6'
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: racc
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '1.5'
|
89
|
-
type: :development
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '1.5'
|
96
96
|
- !ruby/object:Gem::Dependency
|
97
97
|
name: rdoc
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,14 +119,14 @@ dependencies:
|
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: '4.
|
122
|
+
version: '4.2'
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '4.
|
129
|
+
version: '4.2'
|
130
130
|
description: |-
|
131
131
|
ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
|
132
132
|
racc--which does by default use a C extension). It outputs
|
@@ -184,35 +184,25 @@ files:
|
|
184
184
|
- lib/.document
|
185
185
|
- lib/rp_extensions.rb
|
186
186
|
- lib/rp_stringscanner.rb
|
187
|
-
- lib/ruby20_parser.rb
|
188
|
-
- lib/ruby20_parser.y
|
189
|
-
- lib/ruby21_parser.rb
|
190
|
-
- lib/ruby21_parser.y
|
191
|
-
- lib/ruby22_parser.rb
|
192
|
-
- lib/ruby22_parser.y
|
193
|
-
- lib/ruby23_parser.rb
|
194
|
-
- lib/ruby23_parser.y
|
195
|
-
- lib/ruby24_parser.rb
|
196
|
-
- lib/ruby24_parser.y
|
197
|
-
- lib/ruby25_parser.rb
|
198
|
-
- lib/ruby25_parser.y
|
199
|
-
- lib/ruby26_parser.rb
|
200
|
-
- lib/ruby26_parser.y
|
201
|
-
- lib/ruby27_parser.rb
|
202
|
-
- lib/ruby27_parser.y
|
203
|
-
- lib/ruby30_parser.rb
|
204
|
-
- lib/ruby30_parser.y
|
205
|
-
- lib/ruby31_parser.rb
|
206
|
-
- lib/ruby31_parser.y
|
207
|
-
- lib/ruby32_parser.rb
|
208
|
-
- lib/ruby32_parser.y
|
209
|
-
- lib/ruby3_parser.yy
|
210
187
|
- lib/ruby_lexer.rb
|
211
188
|
- lib/ruby_lexer.rex
|
212
189
|
- lib/ruby_lexer.rex.rb
|
213
190
|
- lib/ruby_lexer_strings.rb
|
214
191
|
- lib/ruby_parser.rb
|
215
|
-
- lib/
|
192
|
+
- lib/ruby_parser2.yy
|
193
|
+
- lib/ruby_parser20.rb
|
194
|
+
- lib/ruby_parser21.rb
|
195
|
+
- lib/ruby_parser22.rb
|
196
|
+
- lib/ruby_parser23.rb
|
197
|
+
- lib/ruby_parser24.rb
|
198
|
+
- lib/ruby_parser25.rb
|
199
|
+
- lib/ruby_parser26.rb
|
200
|
+
- lib/ruby_parser27.rb
|
201
|
+
- lib/ruby_parser3.yy
|
202
|
+
- lib/ruby_parser30.rb
|
203
|
+
- lib/ruby_parser31.rb
|
204
|
+
- lib/ruby_parser32.rb
|
205
|
+
- lib/ruby_parser33.rb
|
216
206
|
- lib/ruby_parser_extras.rb
|
217
207
|
- test/test_ruby_lexer.rb
|
218
208
|
- test/test_ruby_parser.rb
|
@@ -245,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
235
|
- !ruby/object:Gem::Version
|
246
236
|
version: '0'
|
247
237
|
requirements: []
|
248
|
-
rubygems_version: 3.
|
238
|
+
rubygems_version: 3.5.3
|
249
239
|
signing_key:
|
250
240
|
specification_version: 4
|
251
241
|
summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which
|
metadata.gz.sig
CHANGED
Binary file
|