ruby_parser 3.2.2 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.autotest +0 -2
- data/History.txt +38 -0
- data/Rakefile +2 -6
- data/lib/ruby18_parser.rb +2003 -2010
- data/lib/ruby18_parser.y +6 -8
- data/lib/ruby19_parser.rb +2016 -2004
- data/lib/ruby19_parser.y +6 -8
- data/lib/ruby20_parser.rb +2189 -2154
- data/lib/ruby20_parser.y +21 -13
- data/lib/ruby_lexer.rb +645 -812
- data/lib/ruby_parser_extras.rb +17 -46
- data/test/test_ruby_lexer.rb +1280 -1108
- data/test/test_ruby_parser.rb +101 -1
- data/test/test_ruby_parser_extras.rb +1 -63
- metadata +112 -133
- metadata.gz.sig +0 -0
data/test/test_ruby_parser.rb
CHANGED
@@ -151,6 +151,19 @@ module TestRubyParserShared
|
|
151
151
|
assert_parse rb, pt
|
152
152
|
end
|
153
153
|
|
154
|
+
def test_attrasgn_array_arg
|
155
|
+
rb = "a[[1, 2]] = 3"
|
156
|
+
pt = s(:attrasgn,
|
157
|
+
s(:call, nil, :a),
|
158
|
+
:[]=,
|
159
|
+
s(:array,
|
160
|
+
s(:lit, 1),
|
161
|
+
s(:lit, 2)),
|
162
|
+
s(:lit, 3))
|
163
|
+
|
164
|
+
assert_parse rb, pt
|
165
|
+
end
|
166
|
+
|
154
167
|
def test_block_append
|
155
168
|
head = s(:args)
|
156
169
|
tail = s(:zsuper)
|
@@ -281,6 +294,13 @@ module TestRubyParserShared
|
|
281
294
|
assert_parse rb, pt
|
282
295
|
end
|
283
296
|
|
297
|
+
def test_begin_else_return_value
|
298
|
+
rb = "begin; else 2; end"
|
299
|
+
pt = s(:lit, 2)
|
300
|
+
|
301
|
+
assert_parse rb, pt
|
302
|
+
end
|
303
|
+
|
284
304
|
def test_bug_comment_eq_begin
|
285
305
|
rb = "\n\n#\n=begin\nblah\n=end\n\n"
|
286
306
|
pt = nil
|
@@ -290,6 +310,13 @@ module TestRubyParserShared
|
|
290
310
|
assert_equal exp, processor.lexer.comments
|
291
311
|
end
|
292
312
|
|
313
|
+
def test_eq_begin_why_wont_people_use_their_spacebar?
|
314
|
+
rb = "h[k]=begin\n 42\n end"
|
315
|
+
pt = s(:attrasgn, s(:call, nil, :h), :[]=, s(:call, nil, :k), s(:lit, 42))
|
316
|
+
|
317
|
+
assert_parse rb, pt
|
318
|
+
end
|
319
|
+
|
293
320
|
def test_bug_call_arglist_parens
|
294
321
|
rb = 'g ( 1), 2'
|
295
322
|
pt = s(:call, nil, :g, s(:lit, 1), s(:lit, 2))
|
@@ -360,6 +387,14 @@ module TestRubyParserShared
|
|
360
387
|
assert_equal expected_env, processor.env.all
|
361
388
|
end
|
362
389
|
|
390
|
+
def test_lasgn_ivar_env
|
391
|
+
rb = '@a = 42'
|
392
|
+
pt = s(:iasgn, :@a, s(:lit, 42))
|
393
|
+
|
394
|
+
assert_parse rb, pt
|
395
|
+
assert_empty processor.env.all
|
396
|
+
end
|
397
|
+
|
363
398
|
def test_list_append
|
364
399
|
a = s(:lit, 1)
|
365
400
|
b = s(:lit, 2)
|
@@ -539,6 +574,13 @@ module TestRubyParserShared
|
|
539
574
|
assert_parse rb, pt
|
540
575
|
end
|
541
576
|
|
577
|
+
def test_str_pct_q
|
578
|
+
rb = "%q{a b c}"
|
579
|
+
pt = s(:str, "a b c")
|
580
|
+
|
581
|
+
assert_parse rb, pt
|
582
|
+
end
|
583
|
+
|
542
584
|
# def test_str_pct_nested_nested
|
543
585
|
# rb = "%{ { #\{ \"#\{1}\" } } }"
|
544
586
|
# assert_equal " { 1 } ", eval(rb)
|
@@ -590,6 +632,41 @@ module TestRubyParserShared
|
|
590
632
|
assert_same result.file, result.call.file
|
591
633
|
end
|
592
634
|
|
635
|
+
def test_parse_line_block_inline_comment
|
636
|
+
rb = "a\nb # comment\nc"
|
637
|
+
pt = s(:block,
|
638
|
+
s(:call, nil, :a).line(1),
|
639
|
+
s(:call, nil, :b).line(2),
|
640
|
+
s(:call, nil, :c).line(3))
|
641
|
+
|
642
|
+
# see skipped test: test_parse_line_block_inline_comment2
|
643
|
+
assert_parse rb, pt
|
644
|
+
end
|
645
|
+
|
646
|
+
def test_parse_line_block_inline_comment2
|
647
|
+
skip "I can't fix this yet. Very involved. (process_token to return lineno)"
|
648
|
+
|
649
|
+
rb = "a\nb # comment\n# another comment\nc"
|
650
|
+
pt = s(:block,
|
651
|
+
s(:call, nil, :a).line(1),
|
652
|
+
s(:call, nil, :b).line(2),
|
653
|
+
s(:call, nil, :c).line(4)).line(1)
|
654
|
+
|
655
|
+
assert_parse rb, pt
|
656
|
+
end
|
657
|
+
|
658
|
+
def test_parse_line_block_inline_comment3
|
659
|
+
skip "not yet"
|
660
|
+
|
661
|
+
rb = "\n\n\na\nb # comment\n# another comment\nc"
|
662
|
+
pt = s(:block,
|
663
|
+
s(:call, nil, :a).line(4),
|
664
|
+
s(:call, nil, :b).line(6),
|
665
|
+
s(:call, nil, :c).line(8)).line(1)
|
666
|
+
|
667
|
+
assert_parse rb, pt
|
668
|
+
end
|
669
|
+
|
593
670
|
def test_parse_line_call_no_args
|
594
671
|
rb = "f do |x, y|\n x + y\nend"
|
595
672
|
|
@@ -610,6 +687,8 @@ module TestRubyParserShared
|
|
610
687
|
rb = "def f\nend"
|
611
688
|
assert_parse_line rb, pt, 1
|
612
689
|
|
690
|
+
processor.reset
|
691
|
+
|
613
692
|
rb = "def f\n\nend"
|
614
693
|
assert_parse_line rb, pt, 1
|
615
694
|
end
|
@@ -1413,7 +1492,6 @@ module TestRubyParserShared
|
|
1413
1492
|
end
|
1414
1493
|
|
1415
1494
|
def test___ENCODING__
|
1416
|
-
# skip "lexer bug" if ruby18
|
1417
1495
|
rb = "__ENCODING__"
|
1418
1496
|
pt = if Ruby18Parser === processor then
|
1419
1497
|
s(:call, nil, :__ENCODING__)
|
@@ -2794,6 +2872,28 @@ class TestRuby20Parser < RubyParserTestCase
|
|
2794
2872
|
assert_parse rb, pt
|
2795
2873
|
end
|
2796
2874
|
|
2875
|
+
def test_defn_kwarg_lvar
|
2876
|
+
rb = "def fun(kw: :val); kw; end"
|
2877
|
+
pt = s(:defn, :fun, s(:args, s(:kwarg, :kw, s(:lit, :val))), s(:lvar, :kw))
|
2878
|
+
|
2879
|
+
assert_parse rb, pt
|
2880
|
+
end
|
2881
|
+
|
2882
|
+
def test_defn_kwarg_no_parens
|
2883
|
+
rb = "def f a: 1\nend"
|
2884
|
+
pt = s(:defn, :f, s(:args, s(:kwarg, :a, s(:lit, 1))), s(:nil))
|
2885
|
+
|
2886
|
+
assert_parse rb, pt
|
2887
|
+
end
|
2888
|
+
|
2889
|
+
def test_block_kwarg_lvar
|
2890
|
+
rb = "bl { |kw: :val| kw }"
|
2891
|
+
pt = s(:iter, s(:call, nil, :bl), s(:args, s(:kwarg, :kw, s(:lit, :val))),
|
2892
|
+
s(:lvar, :kw))
|
2893
|
+
|
2894
|
+
assert_parse rb, pt
|
2895
|
+
end
|
2896
|
+
|
2797
2897
|
def test_defn_powarg
|
2798
2898
|
rb = "def f(**opts) end"
|
2799
2899
|
pt = s(:defn, :f, s(:args, :"**opts"), s(:nil))
|
@@ -173,36 +173,6 @@ class TestEnvironment < Minitest::Test
|
|
173
173
|
assert_equal 42, @env[:blah]
|
174
174
|
end
|
175
175
|
|
176
|
-
def test_use
|
177
|
-
@env.use :blah
|
178
|
-
expected = [{ :blah => true }]
|
179
|
-
assert_equal expected, @env.instance_variable_get(:"@use")
|
180
|
-
end
|
181
|
-
|
182
|
-
def test_use_scoped
|
183
|
-
@env.use :blah
|
184
|
-
@env.extend
|
185
|
-
expected = [{}, { :blah => true }]
|
186
|
-
assert_equal expected, @env.instance_variable_get(:"@use")
|
187
|
-
end
|
188
|
-
|
189
|
-
def test_used_eh
|
190
|
-
@env.extend :dynamic
|
191
|
-
@env[:x] = :dvar
|
192
|
-
@env.use :x
|
193
|
-
assert_equal true, @env.used?(:x)
|
194
|
-
end
|
195
|
-
|
196
|
-
def test_used_eh_none
|
197
|
-
assert_equal nil, @env.used?(:x)
|
198
|
-
end
|
199
|
-
|
200
|
-
def test_used_eh_scoped
|
201
|
-
self.test_used_eh
|
202
|
-
@env.extend :dynamic
|
203
|
-
assert_equal true, @env.used?(:x)
|
204
|
-
end
|
205
|
-
|
206
176
|
def test_var_scope_dynamic
|
207
177
|
@env.extend :dynamic
|
208
178
|
assert_equal 42, @env[:blah]
|
@@ -217,30 +187,6 @@ class TestEnvironment < Minitest::Test
|
|
217
187
|
assert_equal 42, @env[:blah]
|
218
188
|
end
|
219
189
|
|
220
|
-
def test_dynamic
|
221
|
-
expected1 = {}
|
222
|
-
expected2 = { :x => 42 }
|
223
|
-
|
224
|
-
assert_equal expected1, @env.dynamic
|
225
|
-
begin
|
226
|
-
@env.extend :dynamic
|
227
|
-
assert_equal expected1, @env.dynamic
|
228
|
-
|
229
|
-
@env[:x] = 42
|
230
|
-
assert_equal expected2, @env.dynamic
|
231
|
-
|
232
|
-
begin
|
233
|
-
@env.extend :dynamic
|
234
|
-
assert_equal expected2, @env.dynamic
|
235
|
-
@env.unextend
|
236
|
-
end
|
237
|
-
|
238
|
-
assert_equal expected2, @env.dynamic
|
239
|
-
@env.unextend
|
240
|
-
end
|
241
|
-
assert_equal expected1, @env.dynamic
|
242
|
-
end
|
243
|
-
|
244
190
|
def test_all_dynamic
|
245
191
|
expected = { :blah => 42 }
|
246
192
|
|
@@ -260,14 +206,6 @@ class TestEnvironment < Minitest::Test
|
|
260
206
|
assert_equal expected, @env.all
|
261
207
|
end
|
262
208
|
|
263
|
-
def test_dynamic_eh
|
264
|
-
assert_equal false, @env.dynamic?
|
265
|
-
@env.extend :dynamic
|
266
|
-
assert_equal true, @env.dynamic?
|
267
|
-
@env.extend
|
268
|
-
assert_equal false, @env.dynamic?
|
269
|
-
end
|
270
|
-
|
271
209
|
def test_all_static_deeper
|
272
210
|
expected0 = { :blah => 42 }
|
273
211
|
expected1 = { :blah => 42, :blah2 => 24 }
|
@@ -277,7 +215,7 @@ class TestEnvironment < Minitest::Test
|
|
277
215
|
@env[:blah2] = 24
|
278
216
|
assert_equal expected1, @env.all
|
279
217
|
|
280
|
-
@env.extend
|
218
|
+
@env.extend
|
281
219
|
@env[:blah] = 27
|
282
220
|
assert_equal expected2, @env.all
|
283
221
|
|
metadata
CHANGED
@@ -1,24 +1,18 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_parser
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 3
|
8
|
-
- 2
|
9
|
-
- 2
|
10
|
-
version: 3.2.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.3.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Ryan Davis
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
|
-
cert_chain:
|
10
|
+
cert_chain:
|
17
11
|
- |
|
18
12
|
-----BEGIN CERTIFICATE-----
|
19
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
20
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
21
|
-
|
15
|
+
GRYDY29tMB4XDTEzMDkxNjIzMDQxMloXDTE0MDkxNjIzMDQxMlowRTETMBEGA1UE
|
22
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
23
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
24
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -28,146 +22,139 @@ cert_chain:
|
|
28
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
29
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
30
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
25
|
+
AQCFZ7JTzoy1gcG4d8A6dmOJy7ygtO5MFpRIz8HuKCF5566nOvpy7aHhDDzFmQuu
|
26
|
+
FX3zDU6ghx5cQIueDhf2SGOncyBmmJRRYawm3wI0o1MeN6LZJ/3cRaOTjSFy6+S6
|
27
|
+
zqDmHBp8fVA2TGJtO0BLNkbGVrBJjh0UPmSoGzWlRhEVnYC33TpDAbNA+u39UrQI
|
28
|
+
ynwhNN7YbnmSR7+JU2cUjBFv2iPBO+TGuWC+9L2zn3NHjuc6tnmSYipA9y8Hv+As
|
29
|
+
Y4evBVezr3SjXz08vPqRO5YRdO3zfeMT8gBjRqZjWJGMZ2lD4XNfrs7eky74CyZw
|
30
|
+
xx3n58i0lQkBE1EpKE0lFu/y
|
37
31
|
-----END CERTIFICATE-----
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Dependency
|
32
|
+
date: 2014-01-15 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
42
35
|
name: sexp_processor
|
43
|
-
|
44
|
-
|
45
|
-
none: false
|
46
|
-
requirements:
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
47
38
|
- - ~>
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
|
50
|
-
segments:
|
51
|
-
- 4
|
52
|
-
- 1
|
53
|
-
version: "4.1"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4.1'
|
54
41
|
type: :runtime
|
55
|
-
version_requirements: *id001
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: minitest
|
58
42
|
prerelease: false
|
59
|
-
|
60
|
-
|
61
|
-
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.1'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: minitest
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
62
52
|
- - ~>
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
segments:
|
66
|
-
- 5
|
67
|
-
- 0
|
68
|
-
version: "5.0"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.2'
|
69
55
|
type: :development
|
70
|
-
version_requirements: *id002
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rdoc
|
73
56
|
prerelease: false
|
74
|
-
|
75
|
-
|
76
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.2'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rdoc
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
77
66
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
|
80
|
-
segments:
|
81
|
-
- 4
|
82
|
-
- 0
|
83
|
-
version: "4.0"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.0'
|
84
69
|
type: :development
|
85
|
-
version_requirements: *id003
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: racc
|
88
70
|
prerelease: false
|
89
|
-
|
90
|
-
|
91
|
-
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '4.0'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: racc
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
92
80
|
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
hash: 11
|
95
|
-
segments:
|
96
|
-
- 1
|
97
|
-
- 4
|
98
|
-
- 6
|
81
|
+
- !ruby/object:Gem::Version
|
99
82
|
version: 1.4.6
|
100
83
|
type: :development
|
101
|
-
version_requirements: *id004
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: rake
|
104
84
|
prerelease: false
|
105
|
-
|
106
|
-
|
107
|
-
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.4.6
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: rake
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
108
94
|
- - <
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
segments:
|
112
|
-
- 10
|
113
|
-
version: "10"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '11'
|
114
97
|
type: :development
|
115
|
-
version_requirements: *id005
|
116
|
-
- !ruby/object:Gem::Dependency
|
117
|
-
name: hoe
|
118
98
|
prerelease: false
|
119
|
-
|
120
|
-
|
121
|
-
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - <
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '11'
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: hoe
|
106
|
+
requirement: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
122
108
|
- - ~>
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
|
125
|
-
segments:
|
126
|
-
- 3
|
127
|
-
- 6
|
128
|
-
version: "3.6"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.7'
|
129
111
|
type: :development
|
130
|
-
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.7'
|
131
118
|
description: |-
|
132
119
|
ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
|
133
120
|
racc--which does by default use a C extension). RP's output is
|
134
121
|
the same as ParseTree's output: s-expressions using ruby's arrays and
|
135
122
|
base types.
|
136
|
-
|
123
|
+
|
137
124
|
As an example:
|
138
|
-
|
125
|
+
|
139
126
|
def conditional1 arg1
|
140
127
|
return 1 if arg1 == 0
|
141
128
|
return 0
|
142
129
|
end
|
143
|
-
|
130
|
+
|
144
131
|
becomes:
|
145
|
-
|
132
|
+
|
146
133
|
s(:defn, :conditional1, s(:args, :arg1),
|
147
134
|
s(:if,
|
148
135
|
s(:call, s(:lvar, :arg1), :==, s(:lit, 0)),
|
149
136
|
s(:return, s(:lit, 1)),
|
150
137
|
nil),
|
151
138
|
s(:return, s(:lit, 0)))
|
152
|
-
|
139
|
+
|
153
140
|
Tested against 801,039 files from the latest of all rubygems (as of 2013-05):
|
154
|
-
|
141
|
+
|
155
142
|
* 1.8 parser is at 99.9739% accuracy, 3.651 sigma
|
156
143
|
* 1.9 parser is at 99.9940% accuracy, 4.013 sigma
|
157
144
|
* 2.0 parser is at 99.9939% accuracy, 4.008 sigma
|
158
|
-
email:
|
145
|
+
email:
|
159
146
|
- ryand-ruby@zenspider.com
|
160
|
-
executables:
|
147
|
+
executables:
|
161
148
|
- ruby_parse
|
162
149
|
- ruby_parse_extract_error
|
163
150
|
extensions: []
|
164
|
-
|
165
|
-
extra_rdoc_files:
|
151
|
+
extra_rdoc_files:
|
166
152
|
- History.txt
|
167
153
|
- Manifest.txt
|
168
154
|
- README.txt
|
169
|
-
files:
|
155
|
+
files:
|
170
156
|
- .autotest
|
157
|
+
- .gemtest
|
171
158
|
- History.txt
|
172
159
|
- Manifest.txt
|
173
160
|
- README.txt
|
@@ -187,42 +174,34 @@ files:
|
|
187
174
|
- test/test_ruby_lexer.rb
|
188
175
|
- test/test_ruby_parser.rb
|
189
176
|
- test/test_ruby_parser_extras.rb
|
190
|
-
- .gemtest
|
191
177
|
homepage: https://github.com/seattlerb/ruby_parser
|
192
|
-
licenses:
|
193
|
-
|
178
|
+
licenses:
|
179
|
+
- MIT
|
180
|
+
metadata: {}
|
194
181
|
post_install_message:
|
195
|
-
rdoc_options:
|
182
|
+
rdoc_options:
|
196
183
|
- --main
|
197
184
|
- README.txt
|
198
|
-
require_paths:
|
185
|
+
require_paths:
|
199
186
|
- lib
|
200
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
none: false
|
211
|
-
requirements:
|
212
|
-
- - ">="
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
hash: 3
|
215
|
-
segments:
|
216
|
-
- 0
|
217
|
-
version: "0"
|
187
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - '>='
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - '>='
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
218
197
|
requirements: []
|
219
|
-
|
220
|
-
|
221
|
-
rubygems_version: 1.8.25
|
198
|
+
rubyforge_project: ruby_parser
|
199
|
+
rubygems_version: 2.2.1
|
222
200
|
signing_key:
|
223
|
-
specification_version:
|
224
|
-
summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which
|
225
|
-
|
201
|
+
specification_version: 4
|
202
|
+
summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which
|
203
|
+
does by default use a C extension)
|
204
|
+
test_files:
|
226
205
|
- test/test_ruby_lexer.rb
|
227
206
|
- test/test_ruby_parser.rb
|
228
207
|
- test/test_ruby_parser_extras.rb
|