ruby_parser 3.2.2 → 3.3.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 +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
|