ruby_parser 3.20.2 → 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 +44 -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 +22 -23
- 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} +32 -36
- data/lib/{ruby30_parser.rb → ruby_parser30.rb} +38 -39
- data/lib/{ruby31_parser.rb → ruby_parser31.rb} +2788 -2704
- data/lib/{ruby32_parser.rb → ruby_parser32.rb} +2735 -2741
- data/lib/ruby_parser33.rb +13577 -0
- data/lib/ruby_parser_extras.rb +36 -18
- data/test/test_ruby_lexer.rb +5 -5
- data/test/test_ruby_parser.rb +29 -19
- data/tools/munge.rb +8 -2
- data/tools/ripper.rb +14 -12
- 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 -3486
- data/lib/ruby31_parser.y +0 -3520
- data/lib/ruby32_parser.y +0 -3521
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
|
-
attr_accessor :lexer, :in_def, :in_single, :file
|
|
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
|
|
@@ -122,9 +123,9 @@ module RubyParserStuff
|
|
|
122
123
|
self.lexer = RubyLexer.new v && v.to_i
|
|
123
124
|
self.lexer.parser = self
|
|
124
125
|
self.in_kwarg = false
|
|
126
|
+
self.in_argdef = false
|
|
125
127
|
|
|
126
128
|
@env = RubyParserStuff::Environment.new
|
|
127
|
-
@comments = []
|
|
128
129
|
|
|
129
130
|
@canonicalize_conditions = true
|
|
130
131
|
|
|
@@ -566,7 +567,7 @@ module RubyParserStuff
|
|
|
566
567
|
|
|
567
568
|
def handle_encoding str
|
|
568
569
|
str = str.dup
|
|
569
|
-
has_enc = str.respond_to? :encoding
|
|
570
|
+
has_enc = str.respond_to? :encoding # TODO: remove
|
|
570
571
|
encoding = nil
|
|
571
572
|
|
|
572
573
|
header = str.each_line.first(2)
|
|
@@ -928,7 +929,7 @@ module RubyParserStuff
|
|
|
928
929
|
end
|
|
929
930
|
|
|
930
931
|
def new_class val
|
|
931
|
-
(_, line), path, superclass, _, body, (_, line_max) = val
|
|
932
|
+
(_, line, comment), path, superclass, _, body, (_, line_max) = val
|
|
932
933
|
|
|
933
934
|
path = path.first if path.instance_of? Array
|
|
934
935
|
|
|
@@ -944,7 +945,7 @@ module RubyParserStuff
|
|
|
944
945
|
|
|
945
946
|
result.line = line
|
|
946
947
|
result.line_max = line_max
|
|
947
|
-
result.comments =
|
|
948
|
+
result.comments = comment if comment
|
|
948
949
|
result
|
|
949
950
|
end
|
|
950
951
|
|
|
@@ -972,7 +973,11 @@ module RubyParserStuff
|
|
|
972
973
|
end
|
|
973
974
|
|
|
974
975
|
def new_defn val
|
|
975
|
-
|
|
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
|
|
976
981
|
|
|
977
982
|
body ||= s(:nil).line line
|
|
978
983
|
|
|
@@ -987,13 +992,14 @@ module RubyParserStuff
|
|
|
987
992
|
result.push body
|
|
988
993
|
end
|
|
989
994
|
|
|
990
|
-
result.comments =
|
|
995
|
+
result.comments = comment if comment
|
|
991
996
|
|
|
992
997
|
[result, in_def]
|
|
993
998
|
end
|
|
994
999
|
|
|
995
1000
|
def new_endless_defn val
|
|
996
|
-
|
|
1001
|
+
# not available in 2.x so we don't need to check size
|
|
1002
|
+
((_, line, comment), (name, _, in_def)), args, _, body, _, resbody = val
|
|
997
1003
|
|
|
998
1004
|
result =
|
|
999
1005
|
if resbody then
|
|
@@ -1008,13 +1014,15 @@ module RubyParserStuff
|
|
|
1008
1014
|
local_pop in_def
|
|
1009
1015
|
endless_method_name result
|
|
1010
1016
|
|
|
1011
|
-
result.comments =
|
|
1017
|
+
result.comments = comment if comment
|
|
1012
1018
|
|
|
1013
1019
|
result
|
|
1014
1020
|
end
|
|
1015
1021
|
|
|
1016
1022
|
def new_endless_defs val
|
|
1017
|
-
|
|
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
|
|
1018
1026
|
|
|
1019
1027
|
result =
|
|
1020
1028
|
if resbody then
|
|
@@ -1030,13 +1038,19 @@ module RubyParserStuff
|
|
|
1030
1038
|
local_pop in_def
|
|
1031
1039
|
endless_method_name result
|
|
1032
1040
|
|
|
1033
|
-
result.comments =
|
|
1041
|
+
result.comments = comment if comment
|
|
1034
1042
|
|
|
1035
1043
|
result
|
|
1036
1044
|
end
|
|
1037
1045
|
|
|
1038
1046
|
def new_defs val
|
|
1039
|
-
|
|
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
|
|
1040
1054
|
|
|
1041
1055
|
body ||= s(:nil).line line
|
|
1042
1056
|
|
|
@@ -1054,7 +1068,7 @@ module RubyParserStuff
|
|
|
1054
1068
|
result.push body
|
|
1055
1069
|
end
|
|
1056
1070
|
|
|
1057
|
-
result.comments =
|
|
1071
|
+
result.comments = comment if comment
|
|
1058
1072
|
|
|
1059
1073
|
[result, in_def]
|
|
1060
1074
|
end
|
|
@@ -1208,7 +1222,7 @@ module RubyParserStuff
|
|
|
1208
1222
|
end
|
|
1209
1223
|
|
|
1210
1224
|
def new_module val
|
|
1211
|
-
(_, line_min), path, _, body, (_, line_max) = val
|
|
1225
|
+
(_, line_min, comment), path, _, body, (_, line_max) = val
|
|
1212
1226
|
|
|
1213
1227
|
path = path.first if path.instance_of? Array
|
|
1214
1228
|
|
|
@@ -1223,7 +1237,7 @@ module RubyParserStuff
|
|
|
1223
1237
|
end
|
|
1224
1238
|
end
|
|
1225
1239
|
|
|
1226
|
-
result.comments =
|
|
1240
|
+
result.comments = comment if comment
|
|
1227
1241
|
result
|
|
1228
1242
|
end
|
|
1229
1243
|
|
|
@@ -1517,11 +1531,16 @@ module RubyParserStuff
|
|
|
1517
1531
|
end
|
|
1518
1532
|
end
|
|
1519
1533
|
|
|
1534
|
+
KEEP_COMMENT_TOKENS = [:kCLASS, :kMODULE, :kDEF, :tNL]
|
|
1535
|
+
|
|
1520
1536
|
def next_token
|
|
1521
1537
|
token = self.lexer.next_token
|
|
1522
1538
|
|
|
1523
1539
|
if token and token.first != RubyLexer::EOF then
|
|
1524
1540
|
self.last_token_type = token
|
|
1541
|
+
|
|
1542
|
+
self.lexer.comment = nil unless KEEP_COMMENT_TOKENS.include? token.first
|
|
1543
|
+
|
|
1525
1544
|
return token
|
|
1526
1545
|
elsif !token
|
|
1527
1546
|
return self.lexer.next_token
|
|
@@ -1581,7 +1600,6 @@ module RubyParserStuff
|
|
|
1581
1600
|
self.in_def = false
|
|
1582
1601
|
self.in_single = 0
|
|
1583
1602
|
self.env.reset
|
|
1584
|
-
self.comments.clear
|
|
1585
1603
|
self.last_token_type = nil
|
|
1586
1604
|
end
|
|
1587
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
|
|
@@ -5556,6 +5555,14 @@ module TestRubyParserShared31Plus
|
|
|
5556
5555
|
assert_case_in rb, pt
|
|
5557
5556
|
end
|
|
5558
5557
|
|
|
5558
|
+
def test_defn_forward_args__no_parens
|
|
5559
|
+
rb = "def f ...\n m(...)\nend"
|
|
5560
|
+
pt = s(:defn, :f, s(:args, s(:forward_args)),
|
|
5561
|
+
s(:call, nil, :m, s(:forward_args).line(2)).line(2))
|
|
5562
|
+
|
|
5563
|
+
assert_parse rb, pt
|
|
5564
|
+
end
|
|
5565
|
+
|
|
5559
5566
|
def test_case_in_carat_nonlocal_vars
|
|
5560
5567
|
processor.env[:a] = :lvar
|
|
5561
5568
|
|
|
@@ -5664,6 +5671,10 @@ module TestRubyParserShared32Plus
|
|
|
5664
5671
|
end
|
|
5665
5672
|
end
|
|
5666
5673
|
|
|
5674
|
+
module TestRubyParserShared33Plus
|
|
5675
|
+
include TestRubyParserShared32Plus
|
|
5676
|
+
end
|
|
5677
|
+
|
|
5667
5678
|
class Minitest::Test
|
|
5668
5679
|
def skip s = "blah"
|
|
5669
5680
|
warn "ignoring skip for %s: %s" % [name, s]
|
|
@@ -5685,28 +5696,17 @@ class TestRubyParser < Minitest::Test
|
|
|
5685
5696
|
pt = s(:call, s(:call, nil, :a), :call)
|
|
5686
5697
|
|
|
5687
5698
|
assert_equal pt, processor.parse(rb)
|
|
5688
|
-
|
|
5689
|
-
# bad syntax
|
|
5690
|
-
e = assert_raises Racc::ParseError do
|
|
5691
|
-
capture_io do
|
|
5692
|
-
processor.parse "a.("
|
|
5693
|
-
end
|
|
5694
|
-
end
|
|
5695
|
-
|
|
5696
|
-
assert_includes e.message, 'parse error on value "$" ($end)'
|
|
5697
5699
|
end
|
|
5698
5700
|
|
|
5699
|
-
def
|
|
5701
|
+
def test_parse_error
|
|
5700
5702
|
processor = RubyParser.new
|
|
5701
5703
|
|
|
5704
|
+
# bad syntax
|
|
5702
5705
|
e = assert_raises Racc::ParseError do
|
|
5703
|
-
|
|
5704
|
-
processor.parse "a -> () {"
|
|
5705
|
-
end
|
|
5706
|
+
processor.parse "a.("
|
|
5706
5707
|
end
|
|
5707
5708
|
|
|
5708
|
-
|
|
5709
|
-
assert_includes e.message, 'parse error on value "$" ($end)'
|
|
5709
|
+
assert_match(/parse error on value \S+ ..end./, e.message)
|
|
5710
5710
|
end
|
|
5711
5711
|
end
|
|
5712
5712
|
|
|
@@ -6023,6 +6023,16 @@ class TestRubyParserV32 < RubyParserTestCase
|
|
|
6023
6023
|
end
|
|
6024
6024
|
end
|
|
6025
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
|
+
|
|
6026
6036
|
RubyParser::VERSIONS.each do |klass|
|
|
6027
6037
|
v = klass.version
|
|
6028
6038
|
describe "block args arity #{v}" do
|
data/tools/munge.rb
CHANGED
|
@@ -174,6 +174,10 @@ ARGF.each_line do |line|
|
|
|
174
174
|
last_token = token
|
|
175
175
|
when /^Reading a token: / then
|
|
176
176
|
next # skip
|
|
177
|
+
when /^Reading a token$/ then # wtf?
|
|
178
|
+
next # skip
|
|
179
|
+
when /^(?:add_delayed_token|parser_dispatch)/ then # dunno what this is yet
|
|
180
|
+
next # skip
|
|
177
181
|
when /^read\s+:(\w+)/ then # read :tNL(tNL) nil
|
|
178
182
|
token = munge $1
|
|
179
183
|
next if last_token == token
|
|
@@ -212,7 +216,9 @@ ARGF.each_line do |line|
|
|
|
212
216
|
reduce_line = nil
|
|
213
217
|
stack.clear
|
|
214
218
|
when /^reduce/ then # ruby_parser side
|
|
215
|
-
|
|
219
|
+
s = munge line.chomp
|
|
220
|
+
next if s =~ /reduce\s+(\w+) --> \1/
|
|
221
|
+
puts s
|
|
216
222
|
puts
|
|
217
223
|
when /^(\w+_stack)\.(\w+)/ then
|
|
218
224
|
# TODO: make pretty, but still informative w/ line numbers etc
|
|
@@ -223,7 +229,7 @@ ARGF.each_line do |line|
|
|
|
223
229
|
# puts line
|
|
224
230
|
# TODO: make pretty, but still informative w/ line numbers etc
|
|
225
231
|
puts line.gsub("true", "1").gsub("false", "0")
|
|
226
|
-
when /^lex_state: :?([\w|]+) -> :?([\w|]+)(?: (?:at|from) (.*))?/ then
|
|
232
|
+
when /^lex_state: :?([\w|()]+) -> :?([\w|]+)(?: (?:at|from) (.*))?/ then
|
|
227
233
|
a, b, c = $1.upcase, $2.upcase, $3
|
|
228
234
|
a.gsub!(/EXPR_/, "")
|
|
229
235
|
b.gsub!(/EXPR_/, "")
|
data/tools/ripper.rb
CHANGED
|
@@ -21,18 +21,20 @@ end
|
|
|
21
21
|
ARGV.each do |path|
|
|
22
22
|
src = path == "-" ? $stdin.read : File.read(path)
|
|
23
23
|
|
|
24
|
-
sexp =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
sexp = nil
|
|
25
|
+
|
|
26
|
+
if $b then
|
|
27
|
+
sexp = Ripper.sexp src
|
|
28
|
+
else
|
|
29
|
+
rip = MySexpBuilder.new src
|
|
30
|
+
rip.yydebug = $d
|
|
31
|
+
sexp = rip.parse
|
|
32
|
+
|
|
33
|
+
if rip.error? then
|
|
34
|
+
warn "skipping"
|
|
35
|
+
next
|
|
36
|
+
end
|
|
37
|
+
end
|
|
36
38
|
|
|
37
39
|
puts "accept"
|
|
38
40
|
|
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
|