ruby_parser 3.13.1 → 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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.autotest +18 -29
  4. data/History.rdoc +312 -0
  5. data/Manifest.txt +16 -15
  6. data/README.rdoc +13 -9
  7. data/Rakefile +237 -106
  8. data/bin/ruby_parse +3 -1
  9. data/bin/ruby_parse_extract_error +9 -4
  10. data/compare/normalize.rb +54 -6
  11. data/debugging.md +172 -0
  12. data/gauntlet.md +107 -0
  13. data/lib/rp_extensions.rb +15 -36
  14. data/lib/rp_stringscanner.rb +20 -51
  15. data/lib/ruby_lexer.rb +515 -812
  16. data/lib/ruby_lexer.rex +33 -27
  17. data/lib/ruby_lexer.rex.rb +64 -31
  18. data/lib/ruby_lexer_strings.rb +638 -0
  19. data/lib/ruby_parser.rb +46 -36
  20. data/lib/{ruby_parser.yy → ruby_parser2.yy} +1400 -488
  21. data/lib/ruby_parser20.rb +10953 -0
  22. data/lib/ruby_parser21.rb +10978 -0
  23. data/lib/ruby_parser22.rb +11119 -0
  24. data/lib/ruby_parser23.rb +11160 -0
  25. data/lib/ruby_parser24.rb +11209 -0
  26. data/lib/ruby_parser25.rb +11209 -0
  27. data/lib/ruby_parser26.rb +11231 -0
  28. data/lib/ruby_parser27.rb +12960 -0
  29. data/lib/{ruby26_parser.y → ruby_parser3.yy} +1652 -521
  30. data/lib/ruby_parser30.rb +13292 -0
  31. data/lib/ruby_parser31.rb +13625 -0
  32. data/lib/ruby_parser32.rb +13577 -0
  33. data/lib/ruby_parser33.rb +13577 -0
  34. data/lib/ruby_parser_extras.rb +988 -474
  35. data/test/test_ruby_lexer.rb +1339 -1155
  36. data/test/test_ruby_parser.rb +4255 -2103
  37. data/test/test_ruby_parser_extras.rb +39 -4
  38. data/tools/munge.rb +52 -13
  39. data/tools/ripper.rb +24 -6
  40. data.tar.gz.sig +0 -0
  41. metadata +73 -56
  42. metadata.gz.sig +0 -0
  43. data/lib/ruby20_parser.rb +0 -6869
  44. data/lib/ruby20_parser.y +0 -2431
  45. data/lib/ruby21_parser.rb +0 -6944
  46. data/lib/ruby21_parser.y +0 -2449
  47. data/lib/ruby22_parser.rb +0 -6968
  48. data/lib/ruby22_parser.y +0 -2458
  49. data/lib/ruby23_parser.rb +0 -6987
  50. data/lib/ruby23_parser.y +0 -2460
  51. data/lib/ruby24_parser.rb +0 -6994
  52. data/lib/ruby24_parser.y +0 -2466
  53. data/lib/ruby25_parser.rb +0 -6994
  54. data/lib/ruby25_parser.y +0 -2466
  55. data/lib/ruby26_parser.rb +0 -7012
@@ -16,11 +16,11 @@ class TestStackState < Minitest::Test
16
16
  p = RubyParser.latest
17
17
  s = nil
18
18
 
19
- out, err = capture_io do
19
+ out, err = capture_io {
20
20
  s = p.handle_encoding str
21
- end
21
+ }
22
22
 
23
- assert_equal orig_str.sub(/\357\273\277/, ''), s
23
+ assert_equal orig_str.sub(/\357\273\277/, ""), s
24
24
 
25
25
  exp_err = ""
26
26
 
@@ -162,7 +162,7 @@ end
162
162
 
163
163
  class TestEnvironment < Minitest::Test
164
164
  def deny t
165
- assert ! t
165
+ assert !t
166
166
  end
167
167
 
168
168
  def setup
@@ -224,3 +224,38 @@ class TestEnvironment < Minitest::Test
224
224
  assert_equal expected0, @env.all
225
225
  end
226
226
  end
227
+
228
+ class Fake20
229
+ include RubyParserStuff
230
+
231
+ def initialize
232
+ end
233
+
234
+ def s(*a) # bypass lexer/lineno stuff that RP overrides in
235
+ Kernel.send :s, *a
236
+ end
237
+ end
238
+
239
+ class TestValueExpr < Minitest::Test
240
+ def assert_value_expr exp, input
241
+ assert_equal exp, Fake20.new.value_expr(input.line(1))
242
+ end
243
+
244
+ def assert_remove_begin exp, input
245
+ assert_equal exp, Fake20.new.remove_begin(input.line(1))
246
+ end
247
+
248
+ def test_value_expr
249
+ assert_value_expr s(:nil), s(:begin)
250
+ assert_value_expr s(:nil), s(:begin, s(:nil))
251
+ assert_value_expr s(:nil), s(:begin, s(:begin, s(:nil)))
252
+ assert_value_expr s(:begin, s(:nil), s(:nil)), s(:begin, s(:nil), s(:nil))
253
+ end
254
+
255
+ def test_remove_begin
256
+ assert_remove_begin s(:nil), s(:begin)
257
+ assert_remove_begin s(:nil), s(:begin, s(:nil))
258
+ assert_remove_begin s(:nil), s(:begin, s(:begin, s(:nil)))
259
+ assert_remove_begin s(:begin, s(:nil), s(:nil)), s(:begin, s(:nil), s(:nil))
260
+ end
261
+ end
data/tools/munge.rb CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/ruby -ws
1
+ #!/usr/bin/env ruby -ws
2
2
 
3
3
  $v ||= false
4
4
 
@@ -76,12 +76,31 @@ def munge s
76
76
 
77
77
  # other
78
78
 
79
+ 'kTERMINATOR', "tSTRING_END",
80
+ '"kTERMINATOR"', "tSTRING_END",
81
+ 'kTRCURLY', "tSTRING_DEND",
82
+
83
+ '"symbol literal"', "tSYMBEG",
84
+ '"string literal"', "tSTRING_BEG",
85
+ '"backtick literal"', "tXSTRING_BEG",
86
+ '"regexp literal"', "tREGEXP_BEG",
87
+ '"word list"', "tWORDS_BEG",
88
+ '"verbatim word list"', "tQWORDS_BEG",
89
+ '"symbol list"', "tSYMBOLS_BEG",
90
+ '"verbatim symbol list"', "tQSYMBOLS_BEG",
91
+ '"terminator"', "tSTRING_END",
92
+ '"\'}\'"', "tSTRING_DEND",
93
+
94
+ '"string literal"',"tSTRING_BEG",
95
+ '"literal content"', "tSTRING_CONTENT",
96
+ /\$/, "", # try to remove these lumps?
97
+
79
98
  'tLBRACK2', "tLBRACK", # HACK
80
99
 
81
100
  "' '", "tSPACE", # needs to be later to avoid bad hits
82
101
 
83
102
  "/* empty */", "none",
84
- /^\s*$/, "none",
103
+ /^\s*$/, "",
85
104
 
86
105
  "keyword_BEGIN", "klBEGIN",
87
106
  "keyword_END", "klEND",
@@ -89,6 +108,7 @@ def munge s
89
108
  /\bk_([a-z_]+)/, proc { "k#{$1.upcase}" },
90
109
  /modifier_(\w+)/, proc { "k#{$1.upcase}_MOD" },
91
110
  "kVARIABLE", "keyword_variable", # ugh
111
+ "tCONST", "kCONST",
92
112
 
93
113
  # 2.6 collapses klBEGIN to kBEGIN
94
114
  "klBEGIN", "kBEGIN",
@@ -112,12 +132,16 @@ def munge s
112
132
  '"do (for condition)"', "kDO_COND",
113
133
  '"do (for lambda)"', "kDO_LAMBDA",
114
134
  '"do (for block)"', "kDO_BLOCK",
135
+ '"local variable or method"', "tIDENTIFIER",
115
136
 
116
137
  /\"(\w+) \(modifier\)\"/, proc { |x| "k#{$1.upcase}_MOD" },
117
138
  /\"(\w+)\"/, proc { |x| "k#{$1.upcase}" },
139
+ /\"`(\w+)'\"/, proc { |x| "k#{$1.upcase}" },
118
140
 
119
141
  /@(\d+)(\s+|$)/, "",
120
142
  /\$?@(\d+) */, "", # TODO: remove?
143
+
144
+ /_EXPR/, "",
121
145
  ]
122
146
 
123
147
  renames.each_slice(2) do |(a, b)|
@@ -128,7 +152,11 @@ def munge s
128
152
  end
129
153
  end
130
154
 
131
- s.strip.squeeze " "
155
+ if s.empty? then
156
+ nil
157
+ else
158
+ s.strip.squeeze " "
159
+ end
132
160
  end
133
161
 
134
162
  ARGF.each_line do |line|
@@ -142,19 +170,23 @@ ARGF.each_line do |line|
142
170
  when /^Reading a token: Next token is token (.*?) \(\)/ then
143
171
  token = munge $1
144
172
  next if last_token == token
145
- puts "next token is %p (%p)" % [token, last_token]
173
+ puts "next token is %p" % [token]
146
174
  last_token = token
147
175
  when /^Reading a token: / then
148
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
149
181
  when /^read\s+:(\w+)/ then # read :tNL(tNL) nil
150
182
  token = munge $1
151
183
  next if last_token == token
152
- puts "next token is %p (%p)" % [token, last_token]
184
+ puts "next token is %p" % [token]
153
185
  last_token = token
154
- when /^Next token is token (\S+)/ then
186
+ when /^Next token is token ("[^"]+"|\S+)/ then
155
187
  token = munge $1
156
188
  next if last_token == token
157
- puts "next token is %p (%p)" % [token, last_token]
189
+ puts "next token is %p" % [token]
158
190
  last_token = token
159
191
  when /^read\s+false/ then # read false($end) "$end"
160
192
  puts "next token is EOF"
@@ -162,6 +194,8 @@ ARGF.each_line do |line|
162
194
  # do nothing
163
195
  when /^.:scan=>\["([^"]+)"/ then
164
196
  puts "scan = %p" % [$1]
197
+ when /^.:getch=>\["([^"]+)/ then
198
+ puts "SCAN = %p" % [$1]
165
199
  when /^Reducing stack by rule (\d+) \(line (\d+)\):/ then
166
200
  reduce_line = $2.to_i
167
201
  when /^ \$\d+ = (?:token|nterm) (.+) \(.*\)/ then
@@ -170,7 +204,7 @@ ARGF.each_line do |line|
170
204
  when /^-> \$\$ = (?:token|nterm) (.+) \(.*\)/ then
171
205
  stack << "none" if stack.empty?
172
206
  item = munge $1
173
- x = stack.map { |s| s.strip }.join " "
207
+ x = stack.compact.map { |s| munge s.strip }.compact.join " "
174
208
  if x != item then # prevent kdef -> kdef
175
209
  if $v && reduce_line then
176
210
  puts "reduce #{x} --> #{item} at #{reduce_line}".squeeze " "
@@ -182,7 +216,9 @@ ARGF.each_line do |line|
182
216
  reduce_line = nil
183
217
  stack.clear
184
218
  when /^reduce/ then # ruby_parser side
185
- puts munge line.chomp
219
+ s = munge line.chomp
220
+ next if s =~ /reduce\s+(\w+) --> \1/
221
+ puts s
186
222
  puts
187
223
  when /^(\w+_stack)\.(\w+)/ then
188
224
  # TODO: make pretty, but still informative w/ line numbers etc
@@ -193,11 +229,14 @@ ARGF.each_line do |line|
193
229
  # puts line
194
230
  # TODO: make pretty, but still informative w/ line numbers etc
195
231
  puts line.gsub("true", "1").gsub("false", "0")
196
- when /^lex_state: :?([\w|]+) -> :?([\w|]+)(?: (?:at|from) (.*))?/ then
197
- if $3 && $v then
198
- puts "lex_state: #{$1.upcase} -> #{$2.upcase} at #{$3}"
232
+ when /^lex_state: :?([\w|()]+) -> :?([\w|]+)(?: (?:at|from) (.*))?/ then
233
+ a, b, c = $1.upcase, $2.upcase, $3
234
+ a.gsub!(/EXPR_/, "")
235
+ b.gsub!(/EXPR_/, "")
236
+ if c && $v then
237
+ puts "lex_state: #{a} -> #{b} at #{c}"
199
238
  else
200
- puts "lex_state: #{$1.upcase} -> #{$2.upcase}"
239
+ puts "lex_state: #{a} -> #{b}"
201
240
  end
202
241
  when /debug|FUCK/ then
203
242
  puts line.chomp
data/tools/ripper.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby -ws
2
2
 
3
- $d ||= false
4
- $p ||= false
3
+ $b ||= false # bug mode -- ripper is buggy, use Ripper.sexp
4
+ $d ||= false # debug -- turn on yydebug
5
+ $p ||= false # Use pp
5
6
 
6
7
  require "ripper/sexp"
7
8
  require "pp" if $p
@@ -11,14 +12,31 @@ if ARGV.empty? then
11
12
  ARGV << "-"
12
13
  end
13
14
 
15
+ class MySexpBuilder < Ripper::SexpBuilderPP
16
+ def on_parse_error msg
17
+ Kernel.warn msg
18
+ end
19
+ end
20
+
14
21
  ARGV.each do |path|
15
22
  src = path == "-" ? $stdin.read : File.read(path)
16
- rip = Ripper::SexpBuilderPP.new src
17
- rip.yydebug = $d
18
23
 
19
- sexp = rip.parse
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
20
38
 
21
- puts "accept" unless rip.error?
39
+ puts "accept"
22
40
 
23
41
  if $p then
24
42
  pp sexp
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.1
4
+ version: 3.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDPjCCAiagAwIBAgIBAzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
13
+ MIIDPjCCAiagAwIBAgIBCDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
14
14
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTE4MTIwNDIxMzAxNFoXDTE5MTIwNDIxMzAxNFowRTETMBEGA1UE
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
- AQCbJwLmpJR2PomLU+Zzw3KRzH/hbyUWc/ftru71AopZ1fy4iY9J/BW5QYKVYwbP
26
- V0FSBWtvfI/RdwfKGtuGhPKECZgmLieGuZ3XCc09qPu1bdg7i/tu1p0t0c6163ku
27
- nDMDIC/t/DAFK0TY9I3HswuyZGbLW7rgF0DmiuZdN/RPhHq2pOLMLXJmFclCb/im
28
- 9yToml/06TJdUJ5p64mkBs0TzaK66DIB1Smd3PdtfZqoRV+EwaXMdx0Hb3zdR1JR
29
- Em82dBUFsipwMLCYj39kcyHWAxyl6Ae1Cn9r/ItVBCxoeFdrHjfavnrIEoXUt4bU
30
- UfBugfLD19bu3nvL+zTAGx/U
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: 2019-03-26 00:00:00.000000000 Z
32
+ date: 2024-01-16 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: sexp_processor
@@ -37,42 +37,62 @@ dependencies:
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '4.9'
40
+ version: '4.16'
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.9'
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
51
65
  requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '10'
52
69
  - - "<"
53
70
  - !ruby/object:Gem::Version
54
- version: '11'
71
+ version: '15'
55
72
  type: :development
56
73
  prerelease: false
57
74
  version_requirements: !ruby/object:Gem::Requirement
58
75
  requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '10'
59
79
  - - "<"
60
80
  - !ruby/object:Gem::Version
61
- version: '11'
81
+ version: '15'
62
82
  - !ruby/object:Gem::Dependency
63
83
  name: oedipus_lex
64
84
  requirement: !ruby/object:Gem::Requirement
65
85
  requirements:
66
86
  - - "~>"
67
87
  - !ruby/object:Gem::Version
68
- version: '2.5'
88
+ version: '2.6'
69
89
  type: :development
70
90
  prerelease: false
71
91
  version_requirements: !ruby/object:Gem::Requirement
72
92
  requirements:
73
93
  - - "~>"
74
94
  - !ruby/object:Gem::Version
75
- version: '2.5'
95
+ version: '2.6'
76
96
  - !ruby/object:Gem::Dependency
77
97
  name: rdoc
78
98
  requirement: !ruby/object:Gem::Requirement
@@ -93,39 +113,25 @@ dependencies:
93
113
  - - "<"
94
114
  - !ruby/object:Gem::Version
95
115
  version: '7'
96
- - !ruby/object:Gem::Dependency
97
- name: racc
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: 1.4.6
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: 1.4.6
110
116
  - !ruby/object:Gem::Dependency
111
117
  name: hoe
112
118
  requirement: !ruby/object:Gem::Requirement
113
119
  requirements:
114
120
  - - "~>"
115
121
  - !ruby/object:Gem::Version
116
- version: '3.17'
122
+ version: '4.2'
117
123
  type: :development
118
124
  prerelease: false
119
125
  version_requirements: !ruby/object:Gem::Requirement
120
126
  requirements:
121
127
  - - "~>"
122
128
  - !ruby/object:Gem::Version
123
- version: '3.17'
129
+ version: '4.2'
124
130
  description: |-
125
131
  ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
126
- racc--which does by default use a C extension). RP's output is
127
- the same as ParseTree's output: s-expressions using ruby's arrays and
128
- base types.
132
+ racc--which does by default use a C extension). It outputs
133
+ s-expressions which can be manipulated and converted back to ruby via
134
+ the ruby2ruby gem.
129
135
 
130
136
  As an example:
131
137
 
@@ -148,6 +154,10 @@ description: |-
148
154
  * 1.8 parser is at 99.9739% accuracy, 3.651 sigma
149
155
  * 1.9 parser is at 99.9940% accuracy, 4.013 sigma
150
156
  * 2.0 parser is at 99.9939% accuracy, 4.008 sigma
157
+ * 2.6 parser is at 99.9972% accuracy, 4.191 sigma
158
+ * 3.0 parser has a 100% parse rate.
159
+ * Tested against 2,672,412 unique ruby files across 167k gems.
160
+ * As do all the others now, basically.
151
161
  email:
152
162
  - ryand-ruby@zenspider.com
153
163
  executables:
@@ -159,6 +169,7 @@ extra_rdoc_files:
159
169
  - Manifest.txt
160
170
  - README.rdoc
161
171
  - debugging.md
172
+ - gauntlet.md
162
173
  files:
163
174
  - ".autotest"
164
175
  - History.rdoc
@@ -169,28 +180,29 @@ files:
169
180
  - bin/ruby_parse_extract_error
170
181
  - compare/normalize.rb
171
182
  - debugging.md
183
+ - gauntlet.md
172
184
  - lib/.document
173
185
  - lib/rp_extensions.rb
174
186
  - lib/rp_stringscanner.rb
175
- - lib/ruby20_parser.rb
176
- - lib/ruby20_parser.y
177
- - lib/ruby21_parser.rb
178
- - lib/ruby21_parser.y
179
- - lib/ruby22_parser.rb
180
- - lib/ruby22_parser.y
181
- - lib/ruby23_parser.rb
182
- - lib/ruby23_parser.y
183
- - lib/ruby24_parser.rb
184
- - lib/ruby24_parser.y
185
- - lib/ruby25_parser.rb
186
- - lib/ruby25_parser.y
187
- - lib/ruby26_parser.rb
188
- - lib/ruby26_parser.y
189
187
  - lib/ruby_lexer.rb
190
188
  - lib/ruby_lexer.rex
191
189
  - lib/ruby_lexer.rex.rb
190
+ - lib/ruby_lexer_strings.rb
192
191
  - lib/ruby_parser.rb
193
- - lib/ruby_parser.yy
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
194
206
  - lib/ruby_parser_extras.rb
195
207
  - test/test_ruby_lexer.rb
196
208
  - test/test_ruby_parser.rb
@@ -200,8 +212,10 @@ files:
200
212
  homepage: https://github.com/seattlerb/ruby_parser
201
213
  licenses:
202
214
  - MIT
203
- metadata: {}
204
- post_install_message:
215
+ metadata:
216
+ homepage_uri: https://github.com/seattlerb/ruby_parser
217
+ bug_tracker_uri: https://github.com/seattlerb/ruby_parser/issues
218
+ post_install_message:
205
219
  rdoc_options:
206
220
  - "--main"
207
221
  - README.rdoc
@@ -211,15 +225,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
225
  requirements:
212
226
  - - ">="
213
227
  - !ruby/object:Gem::Version
214
- version: '0'
228
+ version: '2.6'
229
+ - - "<"
230
+ - !ruby/object:Gem::Version
231
+ version: '4'
215
232
  required_rubygems_version: !ruby/object:Gem::Requirement
216
233
  requirements:
217
234
  - - ">="
218
235
  - !ruby/object:Gem::Version
219
236
  version: '0'
220
237
  requirements: []
221
- rubygems_version: 3.0.2
222
- signing_key:
238
+ rubygems_version: 3.5.3
239
+ signing_key:
223
240
  specification_version: 4
224
241
  summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which
225
242
  does by default use a C extension)
metadata.gz.sig CHANGED
Binary file