parser 3.2.2.3 → 3.3.0.5
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/parser/all.rb +1 -0
- data/lib/parser/builders/default.rb +37 -10
- data/lib/parser/current.rb +14 -5
- 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 +2 -2
- data/lib/parser/messages.rb +46 -41
- data/lib/parser/ruby18.rb +2 -2
- data/lib/parser/ruby19.rb +2 -2
- data/lib/parser/ruby20.rb +2 -2
- data/lib/parser/ruby21.rb +2 -2
- data/lib/parser/ruby22.rb +2 -2
- data/lib/parser/ruby23.rb +2 -2
- data/lib/parser/ruby24.rb +2 -2
- data/lib/parser/ruby25.rb +2 -2
- data/lib/parser/ruby26.rb +2 -2
- data/lib/parser/ruby27.rb +2 -2
- data/lib/parser/ruby30.rb +2 -2
- data/lib/parser/ruby31.rb +2 -2
- data/lib/parser/ruby32.rb +2 -2
- data/lib/parser/ruby33.rb +6782 -6897
- data/lib/parser/ruby34.rb +12589 -0
- data/lib/parser/rubymotion.rb +2 -2
- data/lib/parser/runner.rb +5 -0
- data/lib/parser/source/comment/associator.rb +7 -7
- data/lib/parser/static_environment.rb +12 -0
- data/lib/parser/version.rb +1 -1
- metadata +7 -6
data/lib/parser/rubymotion.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
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.7.
|
5
|
-
# from Racc grammar file "".
|
4
|
+
# This file is automatically generated by Racc 1.7.3
|
5
|
+
# from Racc grammar file "rubymotion.y".
|
6
6
|
#
|
7
7
|
|
8
8
|
require 'racc/parser.rb'
|
data/lib/parser/runner.rb
CHANGED
@@ -133,6 +133,11 @@ module Parser
|
|
133
133
|
@parser_class = Parser::Ruby33
|
134
134
|
end
|
135
135
|
|
136
|
+
opts.on '--34', 'Parse as Ruby 3.4 would' do
|
137
|
+
require 'parser/ruby34'
|
138
|
+
@parser_class = Parser::Ruby34
|
139
|
+
end
|
140
|
+
|
136
141
|
opts.on '--mac', 'Parse as MacRuby 0.12 would' do
|
137
142
|
require 'parser/macruby'
|
138
143
|
@parser_class = Parser::MacRuby
|
@@ -95,10 +95,11 @@ module Parser
|
|
95
95
|
end
|
96
96
|
|
97
97
|
##
|
98
|
-
# Same as {associate}, but
|
99
|
-
# result even in presence
|
98
|
+
# Same as {associate}, but uses `node.loc` instead of `node` as
|
99
|
+
# the hash key, thus producing an unambiguous result even in presence
|
100
|
+
# of equal nodes.
|
100
101
|
#
|
101
|
-
# @return [Hash<Parser::Source::
|
102
|
+
# @return [Hash<Parser::Source::Map, Array<Parser::Source::Comment>>]
|
102
103
|
#
|
103
104
|
def associate_locations
|
104
105
|
@map_using = :location
|
@@ -106,11 +107,10 @@ module Parser
|
|
106
107
|
end
|
107
108
|
|
108
109
|
##
|
109
|
-
# Same as {associate}, but
|
110
|
-
#
|
111
|
-
# of equal nodes.
|
110
|
+
# Same as {associate}, but compares by identity, thus producing an unambiguous
|
111
|
+
# result even in presence of equal nodes.
|
112
112
|
#
|
113
|
-
# @return [Hash<Parser::Source::
|
113
|
+
# @return [Hash<Parser::Source::Node, Array<Parser::Source::Comment>>]
|
114
114
|
#
|
115
115
|
def associate_by_identity
|
116
116
|
@map_using = :identity
|
@@ -63,6 +63,10 @@ module Parser
|
|
63
63
|
declared?(ANONYMOUS_BLOCKARG)
|
64
64
|
end
|
65
65
|
|
66
|
+
def parent_has_anonymous_blockarg?
|
67
|
+
@stack.any? { |variables| variables.include?(ANONYMOUS_BLOCKARG) }
|
68
|
+
end
|
69
|
+
|
66
70
|
def declare_anonymous_restarg
|
67
71
|
declare(ANONYMOUS_RESTARG)
|
68
72
|
end
|
@@ -71,6 +75,10 @@ module Parser
|
|
71
75
|
declared?(ANONYMOUS_RESTARG)
|
72
76
|
end
|
73
77
|
|
78
|
+
def parent_has_anonymous_restarg?
|
79
|
+
@stack.any? { |variables| variables.include?(ANONYMOUS_RESTARG) }
|
80
|
+
end
|
81
|
+
|
74
82
|
def declare_anonymous_kwrestarg
|
75
83
|
declare(ANONYMOUS_KWRESTARG)
|
76
84
|
end
|
@@ -79,6 +87,10 @@ module Parser
|
|
79
87
|
declared?(ANONYMOUS_KWRESTARG)
|
80
88
|
end
|
81
89
|
|
90
|
+
def parent_has_anonymous_kwrestarg?
|
91
|
+
@stack.any? { |variables| variables.include?(ANONYMOUS_KWRESTARG) }
|
92
|
+
end
|
93
|
+
|
82
94
|
def empty?
|
83
95
|
@stack.empty?
|
84
96
|
end
|
data/lib/parser/version.rb
CHANGED
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.0.5
|
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-01-21 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
|
@@ -249,9 +250,9 @@ licenses:
|
|
249
250
|
- MIT
|
250
251
|
metadata:
|
251
252
|
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.
|
253
|
+
changelog_uri: https://github.com/whitequark/parser/blob/v3.3.0.5/CHANGELOG.md
|
254
|
+
documentation_uri: https://www.rubydoc.info/gems/parser/3.3.0.5
|
255
|
+
source_code_uri: https://github.com/whitequark/parser/tree/v3.3.0.5
|
255
256
|
post_install_message:
|
256
257
|
rdoc_options: []
|
257
258
|
require_paths:
|
@@ -267,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
268
|
- !ruby/object:Gem::Version
|
268
269
|
version: '0'
|
269
270
|
requirements: []
|
270
|
-
rubygems_version: 3.
|
271
|
+
rubygems_version: 3.5.3
|
271
272
|
signing_key:
|
272
273
|
specification_version: 4
|
273
274
|
summary: A Ruby parser written in pure Ruby.
|