parser 3.2.2.4 → 3.3.5.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
- data/lib/gauntlet_parser.rb +1 -1
- data/lib/parser/all.rb +15 -14
- data/lib/parser/ast/processor.rb +3 -1
- data/lib/parser/builders/default.rb +19 -2
- data/lib/parser/current.rb +28 -19
- data/lib/parser/lexer/literal.rb +16 -1
- data/lib/parser/lexer-F0.rb +295 -243
- data/lib/parser/lexer-F1.rb +444 -383
- data/lib/parser/macruby.rb +3 -3
- data/lib/parser/messages.rb +46 -41
- data/lib/parser/ruby18.rb +3 -3
- data/lib/parser/ruby19.rb +3 -3
- data/lib/parser/ruby20.rb +3 -3
- data/lib/parser/ruby21.rb +3 -3
- data/lib/parser/ruby22.rb +3 -3
- data/lib/parser/ruby23.rb +3 -3
- data/lib/parser/ruby24.rb +3 -3
- data/lib/parser/ruby25.rb +3 -3
- data/lib/parser/ruby26.rb +3 -3
- data/lib/parser/ruby27.rb +3 -3
- data/lib/parser/ruby30.rb +3 -3
- data/lib/parser/ruby31.rb +3 -3
- data/lib/parser/ruby32.rb +3 -3
- data/lib/parser/ruby33.rb +6764 -6879
- data/lib/parser/ruby34.rb +12589 -0
- data/lib/parser/rubymotion.rb +3 -3
- data/lib/parser/runner/ruby_parse.rb +3 -3
- data/lib/parser/runner/ruby_rewrite.rb +1 -1
- data/lib/parser/runner.rb +31 -30
- data/lib/parser/source/buffer.rb +6 -1
- data/lib/parser/source/tree_rewriter/action.rb +5 -4
- data/lib/parser/static_environment.rb +56 -9
- data/lib/parser/unknown_encoding_in_magic_comment_error.rb +15 -0
- data/lib/parser/version.rb +1 -1
- data/lib/parser.rb +54 -53
- metadata +8 -6
data/lib/parser/rubymotion.rb
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# -*- encoding:utf-8; warn-indent:false; frozen_string_literal: true -*-
|
|
2
2
|
#
|
|
3
3
|
# DO NOT MODIFY!!!!
|
|
4
|
-
# This file is automatically generated by Racc 1.
|
|
5
|
-
# from Racc grammar file "".
|
|
4
|
+
# This file is automatically generated by Racc 1.8.1
|
|
5
|
+
# from Racc grammar file "rubymotion.y".
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
require 'racc/parser.rb'
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
require_relative '../parser'
|
|
12
12
|
|
|
13
13
|
module Parser
|
|
14
14
|
class RubyMotion < Parser::Base
|
data/lib/parser/runner.rb
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'benchmark'
|
|
4
3
|
require 'find'
|
|
5
4
|
require 'optparse'
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
require_relative '../parser'
|
|
8
7
|
|
|
9
8
|
module Parser
|
|
10
9
|
|
|
@@ -64,82 +63,87 @@ module Parser
|
|
|
64
63
|
end
|
|
65
64
|
|
|
66
65
|
opts.on '--18', 'Parse as Ruby 1.8.7 would' do
|
|
67
|
-
|
|
66
|
+
require_relative 'ruby18'
|
|
68
67
|
@parser_class = Parser::Ruby18
|
|
69
68
|
end
|
|
70
69
|
|
|
71
70
|
opts.on '--19', 'Parse as Ruby 1.9.3 would' do
|
|
72
|
-
|
|
71
|
+
require_relative 'ruby19'
|
|
73
72
|
@parser_class = Parser::Ruby19
|
|
74
73
|
end
|
|
75
74
|
|
|
76
75
|
opts.on '--20', 'Parse as Ruby 2.0 would' do
|
|
77
|
-
|
|
76
|
+
require_relative 'ruby20'
|
|
78
77
|
@parser_class = Parser::Ruby20
|
|
79
78
|
end
|
|
80
79
|
|
|
81
80
|
opts.on '--21', 'Parse as Ruby 2.1 would' do
|
|
82
|
-
|
|
81
|
+
require_relative 'ruby21'
|
|
83
82
|
@parser_class = Parser::Ruby21
|
|
84
83
|
end
|
|
85
84
|
|
|
86
85
|
opts.on '--22', 'Parse as Ruby 2.2 would' do
|
|
87
|
-
|
|
86
|
+
require_relative 'ruby22'
|
|
88
87
|
@parser_class = Parser::Ruby22
|
|
89
88
|
end
|
|
90
89
|
|
|
91
90
|
opts.on '--23', 'Parse as Ruby 2.3 would' do
|
|
92
|
-
|
|
91
|
+
require_relative 'ruby23'
|
|
93
92
|
@parser_class = Parser::Ruby23
|
|
94
93
|
end
|
|
95
94
|
|
|
96
95
|
opts.on '--24', 'Parse as Ruby 2.4 would' do
|
|
97
|
-
|
|
96
|
+
require_relative 'ruby24'
|
|
98
97
|
@parser_class = Parser::Ruby24
|
|
99
98
|
end
|
|
100
99
|
|
|
101
100
|
opts.on '--25', 'Parse as Ruby 2.5 would' do
|
|
102
|
-
|
|
101
|
+
require_relative 'ruby25'
|
|
103
102
|
@parser_class = Parser::Ruby25
|
|
104
103
|
end
|
|
105
104
|
|
|
106
105
|
opts.on '--26', 'Parse as Ruby 2.6 would' do
|
|
107
|
-
|
|
106
|
+
require_relative 'ruby26'
|
|
108
107
|
@parser_class = Parser::Ruby26
|
|
109
108
|
end
|
|
110
109
|
|
|
111
110
|
opts.on '--27', 'Parse as Ruby 2.7 would' do
|
|
112
|
-
|
|
111
|
+
require_relative 'ruby27'
|
|
113
112
|
@parser_class = Parser::Ruby27
|
|
114
113
|
end
|
|
115
114
|
|
|
116
115
|
opts.on '--30', 'Parse as Ruby 3.0 would' do
|
|
117
|
-
|
|
116
|
+
require_relative 'ruby30'
|
|
118
117
|
@parser_class = Parser::Ruby30
|
|
119
118
|
end
|
|
120
119
|
|
|
121
120
|
opts.on '--31', 'Parse as Ruby 3.1 would' do
|
|
122
|
-
|
|
121
|
+
require_relative 'ruby31'
|
|
123
122
|
@parser_class = Parser::Ruby31
|
|
124
123
|
end
|
|
125
124
|
|
|
126
125
|
opts.on '--32', 'Parse as Ruby 3.2 would' do
|
|
127
|
-
|
|
126
|
+
require_relative 'ruby32'
|
|
128
127
|
@parser_class = Parser::Ruby32
|
|
129
128
|
end
|
|
130
129
|
|
|
131
130
|
opts.on '--33', 'Parse as Ruby 3.3 would' do
|
|
132
|
-
|
|
131
|
+
require_relative 'ruby33'
|
|
133
132
|
@parser_class = Parser::Ruby33
|
|
134
133
|
end
|
|
135
134
|
|
|
135
|
+
opts.on '--34', 'Parse as Ruby 3.4 would' do
|
|
136
|
+
require_relative 'ruby34'
|
|
137
|
+
@parser_class = Parser::Ruby34
|
|
138
|
+
end
|
|
139
|
+
|
|
136
140
|
opts.on '--mac', 'Parse as MacRuby 0.12 would' do
|
|
137
|
-
|
|
141
|
+
require_relative 'macruby'
|
|
138
142
|
@parser_class = Parser::MacRuby
|
|
139
143
|
end
|
|
140
144
|
|
|
141
145
|
opts.on '--ios', 'Parse as mid-2015 RubyMotion would' do
|
|
142
|
-
|
|
146
|
+
require_relative 'rubymotion'
|
|
143
147
|
@parser_class = Parser::RubyMotion
|
|
144
148
|
end
|
|
145
149
|
|
|
@@ -188,7 +192,7 @@ module Parser
|
|
|
188
192
|
end
|
|
189
193
|
|
|
190
194
|
if @parser_class.nil?
|
|
191
|
-
|
|
195
|
+
require_relative 'current'
|
|
192
196
|
@parser_class = Parser::CurrentRuby
|
|
193
197
|
end
|
|
194
198
|
end
|
|
@@ -215,14 +219,13 @@ module Parser
|
|
|
215
219
|
end
|
|
216
220
|
|
|
217
221
|
def process_all_input
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
end
|
|
222
|
+
time_start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
|
223
|
+
process_fragments
|
|
224
|
+
process_files
|
|
225
|
+
time_elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - time_start
|
|
223
226
|
|
|
224
227
|
if @benchmark
|
|
225
|
-
report_with_time(
|
|
228
|
+
report_with_time(time_elapsed)
|
|
226
229
|
end
|
|
227
230
|
end
|
|
228
231
|
|
|
@@ -273,12 +276,10 @@ module Parser
|
|
|
273
276
|
raise NotImplementedError, "implement #{self.class}##{__callee__}"
|
|
274
277
|
end
|
|
275
278
|
|
|
276
|
-
def report_with_time(
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
speed = '%.3f' % (@source_size / cpu_time / 1000)
|
|
279
|
+
def report_with_time(time_elapsed)
|
|
280
|
+
speed = '%.3f' % (@source_size / time_elapsed / 1000)
|
|
280
281
|
puts "Parsed #{@source_count} files (#{@source_size} characters)" \
|
|
281
|
-
" in #{'%.2f' %
|
|
282
|
+
" in #{'%.2f' % time_elapsed} seconds (#{speed} kchars/s)."
|
|
282
283
|
|
|
283
284
|
if defined?(RUBY_ENGINE)
|
|
284
285
|
engine = RUBY_ENGINE
|
data/lib/parser/source/buffer.rb
CHANGED
|
@@ -46,6 +46,7 @@ module Parser
|
|
|
46
46
|
# magic encoding comment or UTF-8 BOM. `string` can be in any encoding.
|
|
47
47
|
#
|
|
48
48
|
# @param [String] string
|
|
49
|
+
# @raise [Parser::UnknownEncodingInMagicComment] if the encoding is not recognized
|
|
49
50
|
# @return [String, nil] encoding name, if recognized
|
|
50
51
|
#
|
|
51
52
|
def self.recognize_encoding(string)
|
|
@@ -66,7 +67,11 @@ module Parser
|
|
|
66
67
|
return nil if encoding_line.nil? || encoding_line[0] != '#'
|
|
67
68
|
|
|
68
69
|
if (result = ENCODING_RE.match(encoding_line))
|
|
69
|
-
|
|
70
|
+
begin
|
|
71
|
+
Encoding.find(result[3] || result[4] || result[6])
|
|
72
|
+
rescue ArgumentError => e
|
|
73
|
+
raise Parser::UnknownEncodingInMagicComment, e.message
|
|
74
|
+
end
|
|
70
75
|
else
|
|
71
76
|
nil
|
|
72
77
|
end
|
|
@@ -6,9 +6,10 @@ module Parser
|
|
|
6
6
|
# @api private
|
|
7
7
|
#
|
|
8
8
|
# Actions are arranged in a tree and get combined so that:
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
9
|
+
#
|
|
10
|
+
# * Children are strictly contained by their parent
|
|
11
|
+
# * Siblings are all disjointed from one another and ordered
|
|
12
|
+
# * Only actions with `replacement == nil` may have children
|
|
12
13
|
#
|
|
13
14
|
class TreeRewriter::Action
|
|
14
15
|
attr_reader :range, :replacement, :insert_before, :insert_after
|
|
@@ -60,7 +61,7 @@ module Parser
|
|
|
60
61
|
|
|
61
62
|
##
|
|
62
63
|
# A root action has its range set to the whole source range, even
|
|
63
|
-
# though it typically
|
|
64
|
+
# though it typically does not act on that range.
|
|
64
65
|
# This method returns the action as if it was a child action with
|
|
65
66
|
# its range contracted.
|
|
66
67
|
# @return [Action]
|
|
@@ -4,9 +4,15 @@ module Parser
|
|
|
4
4
|
|
|
5
5
|
class StaticEnvironment
|
|
6
6
|
FORWARD_ARGS = :FORWARD_ARGS
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
|
|
8
|
+
ANONYMOUS_RESTARG_IN_CURRENT_SCOPE = :ANONYMOUS_RESTARG_IN_CURRENT_SCOPE
|
|
9
|
+
ANONYMOUS_RESTARG_INHERITED = :ANONYMOUS_RESTARG_INHERITED
|
|
10
|
+
|
|
11
|
+
ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE = :ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE
|
|
12
|
+
ANONYMOUS_KWRESTARG_INHERITED = :ANONYMOUS_KWRESTARG_INHERITED
|
|
13
|
+
|
|
14
|
+
ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE = :ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE
|
|
15
|
+
ANONYMOUS_BLOCKARG_INHERITED = :ANONYMOUS_BLOCKARG_INHERITED
|
|
10
16
|
|
|
11
17
|
def initialize
|
|
12
18
|
reset
|
|
@@ -27,6 +33,15 @@ module Parser
|
|
|
27
33
|
def extend_dynamic
|
|
28
34
|
@stack.push(@variables)
|
|
29
35
|
@variables = @variables.dup
|
|
36
|
+
if @variables.delete(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE)
|
|
37
|
+
@variables.add(ANONYMOUS_BLOCKARG_INHERITED)
|
|
38
|
+
end
|
|
39
|
+
if @variables.delete(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE)
|
|
40
|
+
@variables.add(ANONYMOUS_RESTARG_INHERITED)
|
|
41
|
+
end
|
|
42
|
+
if @variables.delete(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE)
|
|
43
|
+
@variables.add(ANONYMOUS_KWRESTARG_INHERITED)
|
|
44
|
+
end
|
|
30
45
|
|
|
31
46
|
self
|
|
32
47
|
end
|
|
@@ -47,6 +62,8 @@ module Parser
|
|
|
47
62
|
@variables.include?(name.to_sym)
|
|
48
63
|
end
|
|
49
64
|
|
|
65
|
+
# Forward args
|
|
66
|
+
|
|
50
67
|
def declare_forward_args
|
|
51
68
|
declare(FORWARD_ARGS)
|
|
52
69
|
end
|
|
@@ -55,28 +72,58 @@ module Parser
|
|
|
55
72
|
declared?(FORWARD_ARGS)
|
|
56
73
|
end
|
|
57
74
|
|
|
75
|
+
# Anonymous blockarg
|
|
76
|
+
|
|
58
77
|
def declare_anonymous_blockarg
|
|
59
|
-
declare(
|
|
78
|
+
declare(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE)
|
|
60
79
|
end
|
|
61
80
|
|
|
62
81
|
def declared_anonymous_blockarg?
|
|
63
|
-
declared?(
|
|
82
|
+
declared?(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) || declared?(ANONYMOUS_BLOCKARG_INHERITED)
|
|
64
83
|
end
|
|
65
84
|
|
|
85
|
+
def declared_anonymous_blockarg_in_current_scpe?
|
|
86
|
+
declared?(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def parent_has_anonymous_blockarg?
|
|
90
|
+
@stack.any? { |variables| variables.include?(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) }
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Anonymous restarg
|
|
94
|
+
|
|
66
95
|
def declare_anonymous_restarg
|
|
67
|
-
declare(
|
|
96
|
+
declare(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE)
|
|
68
97
|
end
|
|
69
98
|
|
|
70
99
|
def declared_anonymous_restarg?
|
|
71
|
-
declared?(
|
|
100
|
+
declared?(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) || declared?(ANONYMOUS_RESTARG_INHERITED)
|
|
72
101
|
end
|
|
73
102
|
|
|
103
|
+
def declared_anonymous_restarg_in_current_scope?
|
|
104
|
+
declared?(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def parent_has_anonymous_restarg?
|
|
108
|
+
@stack.any? { |variables| variables.include?(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) }
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Anonymous kwresarg
|
|
112
|
+
|
|
74
113
|
def declare_anonymous_kwrestarg
|
|
75
|
-
declare(
|
|
114
|
+
declare(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE)
|
|
76
115
|
end
|
|
77
116
|
|
|
78
117
|
def declared_anonymous_kwrestarg?
|
|
79
|
-
declared?(
|
|
118
|
+
declared?(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) || declared?(ANONYMOUS_KWRESTARG_INHERITED)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def declared_anonymous_kwrestarg_in_current_scope?
|
|
122
|
+
declared?(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def parent_has_anonymous_kwrestarg?
|
|
126
|
+
@stack.any? { |variables| variables.include?(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) }
|
|
80
127
|
end
|
|
81
128
|
|
|
82
129
|
def empty?
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Parser
|
|
4
|
+
##
|
|
5
|
+
# {Parser::UnknownEncodingInMagicComment} is raised when a magic encoding
|
|
6
|
+
# comment is encountered that the currently running Ruby version doesn't
|
|
7
|
+
# recognize. It inherits from {ArgumentError} since that is the exception
|
|
8
|
+
# Ruby itself raises when trying to execute a file with an unknown encoding.
|
|
9
|
+
# As such, it is also not a {Parser::SyntaxError}.
|
|
10
|
+
#
|
|
11
|
+
# @api public
|
|
12
|
+
#
|
|
13
|
+
class UnknownEncodingInMagicComment < ArgumentError
|
|
14
|
+
end
|
|
15
|
+
end
|
data/lib/parser/version.rb
CHANGED
data/lib/parser.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
if RUBY_VERSION =~ /^1\.[89]\./
|
|
4
|
-
|
|
4
|
+
require_relative 'parser/version'
|
|
5
5
|
raise LoadError, <<-UNSUPPORTED_VERSION_MSG
|
|
6
6
|
parser v#{Parser::VERSION} cannot run on Ruby #{RUBY_VERSION}.
|
|
7
7
|
Please upgrade to Ruby 2.0.0 or higher, or use an older version of the parser gem.
|
|
@@ -17,74 +17,75 @@ require 'ast'
|
|
|
17
17
|
# @api public
|
|
18
18
|
#
|
|
19
19
|
module Parser
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
require_relative 'parser/version'
|
|
21
|
+
require_relative 'parser/messages'
|
|
22
|
+
require_relative 'parser/deprecation'
|
|
23
23
|
|
|
24
24
|
module AST
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
require_relative 'parser/ast/node'
|
|
26
|
+
require_relative 'parser/ast/processor'
|
|
27
|
+
require_relative 'parser/meta'
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
module Source
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
31
|
+
require_relative 'parser/source/buffer'
|
|
32
|
+
require_relative 'parser/source/range'
|
|
33
|
+
|
|
34
|
+
require_relative 'parser/source/comment'
|
|
35
|
+
require_relative 'parser/source/comment/associator'
|
|
36
|
+
|
|
37
|
+
require_relative 'parser/source/rewriter'
|
|
38
|
+
require_relative 'parser/source/rewriter/action'
|
|
39
|
+
require_relative 'parser/source/tree_rewriter'
|
|
40
|
+
require_relative 'parser/source/tree_rewriter/action'
|
|
41
|
+
|
|
42
|
+
require_relative 'parser/source/map'
|
|
43
|
+
require_relative 'parser/source/map/operator'
|
|
44
|
+
require_relative 'parser/source/map/collection'
|
|
45
|
+
require_relative 'parser/source/map/constant'
|
|
46
|
+
require_relative 'parser/source/map/variable'
|
|
47
|
+
require_relative 'parser/source/map/keyword'
|
|
48
|
+
require_relative 'parser/source/map/definition'
|
|
49
|
+
require_relative 'parser/source/map/method_definition'
|
|
50
|
+
require_relative 'parser/source/map/send'
|
|
51
|
+
require_relative 'parser/source/map/index'
|
|
52
|
+
require_relative 'parser/source/map/condition'
|
|
53
|
+
require_relative 'parser/source/map/ternary'
|
|
54
|
+
require_relative 'parser/source/map/for'
|
|
55
|
+
require_relative 'parser/source/map/rescue_body'
|
|
56
|
+
require_relative 'parser/source/map/heredoc'
|
|
57
|
+
require_relative 'parser/source/map/objc_kwarg'
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
require_relative 'parser/syntax_error'
|
|
61
|
+
require_relative 'parser/clobbering_error'
|
|
62
|
+
require_relative 'parser/unknown_encoding_in_magic_comment_error'
|
|
63
|
+
require_relative 'parser/diagnostic'
|
|
64
|
+
require_relative 'parser/diagnostic/engine'
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
require_relative 'parser/static_environment'
|
|
66
67
|
|
|
67
68
|
if RUBY_ENGINE == 'truffleruby'
|
|
68
|
-
|
|
69
|
+
require_relative 'parser/lexer-F0'
|
|
69
70
|
else
|
|
70
|
-
|
|
71
|
+
require_relative 'parser/lexer-F1'
|
|
71
72
|
end
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
require_relative 'parser/lexer-strings'
|
|
74
|
+
require_relative 'parser/lexer/literal'
|
|
75
|
+
require_relative 'parser/lexer/stack_state'
|
|
76
|
+
require_relative 'parser/lexer/dedenter'
|
|
76
77
|
|
|
77
78
|
module Builders
|
|
78
|
-
|
|
79
|
+
require_relative 'parser/builders/default'
|
|
79
80
|
end
|
|
80
81
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
require_relative 'parser/context'
|
|
83
|
+
require_relative 'parser/max_numparam_stack'
|
|
84
|
+
require_relative 'parser/current_arg_stack'
|
|
85
|
+
require_relative 'parser/variables_stack'
|
|
85
86
|
|
|
86
|
-
|
|
87
|
+
require_relative 'parser/base'
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
require_relative 'parser/rewriter'
|
|
90
|
+
require_relative 'parser/tree_rewriter'
|
|
90
91
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- whitequark
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-09-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ast
|
|
@@ -210,6 +210,7 @@ files:
|
|
|
210
210
|
- lib/parser/ruby31.rb
|
|
211
211
|
- lib/parser/ruby32.rb
|
|
212
212
|
- lib/parser/ruby33.rb
|
|
213
|
+
- lib/parser/ruby34.rb
|
|
213
214
|
- lib/parser/rubymotion.rb
|
|
214
215
|
- lib/parser/runner.rb
|
|
215
216
|
- lib/parser/runner/ruby_parse.rb
|
|
@@ -241,6 +242,7 @@ files:
|
|
|
241
242
|
- lib/parser/static_environment.rb
|
|
242
243
|
- lib/parser/syntax_error.rb
|
|
243
244
|
- lib/parser/tree_rewriter.rb
|
|
245
|
+
- lib/parser/unknown_encoding_in_magic_comment_error.rb
|
|
244
246
|
- lib/parser/variables_stack.rb
|
|
245
247
|
- lib/parser/version.rb
|
|
246
248
|
- parser.gemspec
|
|
@@ -249,9 +251,9 @@ licenses:
|
|
|
249
251
|
- MIT
|
|
250
252
|
metadata:
|
|
251
253
|
bug_tracker_uri: https://github.com/whitequark/parser/issues
|
|
252
|
-
changelog_uri: https://github.com/whitequark/parser/blob/v3.
|
|
253
|
-
documentation_uri: https://www.rubydoc.info/gems/parser/3.
|
|
254
|
-
source_code_uri: https://github.com/whitequark/parser/tree/v3.
|
|
254
|
+
changelog_uri: https://github.com/whitequark/parser/blob/v3.3.5.0/CHANGELOG.md
|
|
255
|
+
documentation_uri: https://www.rubydoc.info/gems/parser/3.3.5.0
|
|
256
|
+
source_code_uri: https://github.com/whitequark/parser/tree/v3.3.5.0
|
|
255
257
|
post_install_message:
|
|
256
258
|
rdoc_options: []
|
|
257
259
|
require_paths:
|
|
@@ -267,7 +269,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
267
269
|
- !ruby/object:Gem::Version
|
|
268
270
|
version: '0'
|
|
269
271
|
requirements: []
|
|
270
|
-
rubygems_version: 3.
|
|
272
|
+
rubygems_version: 3.5.3
|
|
271
273
|
signing_key:
|
|
272
274
|
specification_version: 4
|
|
273
275
|
summary: A Ruby parser written in pure Ruby.
|