parser 2.2.3.0 → 2.3.0.pre.1
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/CHANGELOG.md +0 -19
- data/lib/parser/current.rb +0 -1
- data/lib/parser/lexer.rl +1 -1
- data/lib/parser/ruby21.y +0 -1
- data/lib/parser/ruby22.y +0 -1
- data/lib/parser/source/buffer.rb +3 -5
- data/lib/parser/version.rb +1 -1
- data/parser.gemspec +1 -3
- data/test/test_parser.rb +1 -38
- metadata +5 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7905cd349ed05fe7863ce5aaa663b8bd8fa25540
|
|
4
|
+
data.tar.gz: 38a63649de5e2c92c4b7cf914fd6ec61ea45215f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c84415fe3e6169d8ae2b354fe353dc2533a0abe135710c7031073ba115b750e3037365da5c6cde0a8d3fee8f27844db7f85789cdd896052af740a5e80decc97a
|
|
7
|
+
data.tar.gz: 798bbc468a23a191e472c98d921645cfa2dce4a174a5a22ea107e89d68a28943fd27907fcabfb199752c9b2224dee2b35ad2bbaf708984881d3c7516e7f2ecaf
|
data/CHANGELOG.md
CHANGED
|
@@ -1,25 +1,6 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
v2.2.3.0 (2015-10-08)
|
|
5
|
-
---------------------
|
|
6
|
-
|
|
7
|
-
Bugs fixed:
|
|
8
|
-
* lexer.rl: "-> a: {}": state after -> is ENDFN, not END (fixes #203). (whitequark)
|
|
9
|
-
* ruby{21,22}.y: "p -> { :hello }, a: 1 do end": lexpop cmdarg. (whitequark)
|
|
10
|
-
|
|
11
|
-
v2.2.2.6 (2015-06-30)
|
|
12
|
-
---------------------
|
|
13
|
-
|
|
14
|
-
API modifications:
|
|
15
|
-
* parser/current: link to README from syntax deviation warning. (whitequark)
|
|
16
|
-
|
|
17
|
-
v2.3.0.pre.2 (2015-06-15)
|
|
18
|
-
-------------------------
|
|
19
|
-
|
|
20
|
-
Bugs fixed:
|
|
21
|
-
* {macruby,rubymotion}.rb: add to gemspec. (whitequark)
|
|
22
|
-
|
|
23
4
|
v2.3.0.pre.1 (2015-06-13)
|
|
24
5
|
-------------------------
|
|
25
6
|
|
data/lib/parser/current.rb
CHANGED
|
@@ -3,7 +3,6 @@ module Parser
|
|
|
3
3
|
def warn_syntax_deviation(feature, version)
|
|
4
4
|
warn "warning: parser/current is loading #{feature}, which recognizes"
|
|
5
5
|
warn "warning: #{version}-compliant syntax, but you are running #{RUBY_VERSION}."
|
|
6
|
-
warn "warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri."
|
|
7
6
|
end
|
|
8
7
|
private :warn_syntax_deviation
|
|
9
8
|
end
|
data/lib/parser/lexer.rl
CHANGED
data/lib/parser/ruby21.y
CHANGED
data/lib/parser/ruby22.y
CHANGED
data/lib/parser/source/buffer.rb
CHANGED
|
@@ -40,8 +40,6 @@ module Parser
|
|
|
40
40
|
)
|
|
41
41
|
/x
|
|
42
42
|
|
|
43
|
-
NEW_LINE = "\n".freeze
|
|
44
|
-
|
|
45
43
|
##
|
|
46
44
|
# Try to recognize encoding of `string` as Ruby would, i.e. by looking for
|
|
47
45
|
# magic encoding comment or UTF-8 BOM. `string` can be in any encoding.
|
|
@@ -175,7 +173,7 @@ module Parser
|
|
|
175
173
|
raise ArgumentError, 'Source::Buffer is immutable'
|
|
176
174
|
end
|
|
177
175
|
|
|
178
|
-
@source = input.gsub("\r\n",
|
|
176
|
+
@source = input.gsub("\r\n", "\n").freeze
|
|
179
177
|
end
|
|
180
178
|
|
|
181
179
|
##
|
|
@@ -200,7 +198,7 @@ module Parser
|
|
|
200
198
|
def source_line(lineno)
|
|
201
199
|
unless @lines
|
|
202
200
|
@lines = @source.lines.to_a
|
|
203
|
-
@lines.each { |line| line.chomp!(
|
|
201
|
+
@lines.each { |line| line.chomp!("\n") }
|
|
204
202
|
|
|
205
203
|
# If a file ends with a newline, the EOF token will appear
|
|
206
204
|
# to be one line further than the end of file.
|
|
@@ -217,7 +215,7 @@ module Parser
|
|
|
217
215
|
@line_begins, index = [ [ 0, 0 ] ], 1
|
|
218
216
|
|
|
219
217
|
@source.each_char do |char|
|
|
220
|
-
if char ==
|
|
218
|
+
if char == "\n"
|
|
221
219
|
@line_begins.unshift [ @line_begins.length, index ]
|
|
222
220
|
end
|
|
223
221
|
|
data/lib/parser/version.rb
CHANGED
data/parser.gemspec
CHANGED
|
@@ -5,7 +5,7 @@ require File.expand_path('../lib/parser/version', __FILE__)
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = 'parser'
|
|
7
7
|
spec.version = Parser::VERSION
|
|
8
|
-
spec.authors = ['
|
|
8
|
+
spec.authors = ['Peter Zotov']
|
|
9
9
|
spec.email = ['whitequark@whitequark.org']
|
|
10
10
|
spec.description = 'A Ruby parser written in pure Ruby.'
|
|
11
11
|
spec.summary = spec.description
|
|
@@ -20,8 +20,6 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
lib/parser/ruby20.rb
|
|
21
21
|
lib/parser/ruby21.rb
|
|
22
22
|
lib/parser/ruby22.rb
|
|
23
|
-
lib/parser/macruby.rb
|
|
24
|
-
lib/parser/rubymotion.rb
|
|
25
23
|
)
|
|
26
24
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
27
25
|
spec.test_files = spec.files.grep(%r{^test/})
|
data/test/test_parser.rb
CHANGED
|
@@ -3175,26 +3175,6 @@ class TestParser < Minitest::Test
|
|
|
3175
3175
|
ALL_VERSIONS - %w(1.8))
|
|
3176
3176
|
end
|
|
3177
3177
|
|
|
3178
|
-
def test_send_lambda_args_noparen
|
|
3179
|
-
assert_parses(
|
|
3180
|
-
s(:block, s(:send, nil, :lambda),
|
|
3181
|
-
s(:args,
|
|
3182
|
-
s(:kwoptarg, :a, s(:int, 1))),
|
|
3183
|
-
nil),
|
|
3184
|
-
%q{-> a: 1 { }},
|
|
3185
|
-
%q{},
|
|
3186
|
-
ALL_VERSIONS - %w(1.8 1.9 mac ios))
|
|
3187
|
-
|
|
3188
|
-
assert_parses(
|
|
3189
|
-
s(:block, s(:send, nil, :lambda),
|
|
3190
|
-
s(:args,
|
|
3191
|
-
s(:kwarg, :a)),
|
|
3192
|
-
nil),
|
|
3193
|
-
%q{-> a: { }},
|
|
3194
|
-
%q{},
|
|
3195
|
-
ALL_VERSIONS - %w(1.8 1.9 mac ios 2.0))
|
|
3196
|
-
end
|
|
3197
|
-
|
|
3198
3178
|
def test_send_call
|
|
3199
3179
|
assert_parses(
|
|
3200
3180
|
s(:send, s(:lvar, :foo), :call,
|
|
@@ -5024,24 +5004,7 @@ class TestParser < Minitest::Test
|
|
|
5024
5004
|
s(:block, s(:send, nil, :a), s(:args), nil))),
|
|
5025
5005
|
%q{p ->() do a() do end end},
|
|
5026
5006
|
%q{},
|
|
5027
|
-
ALL_VERSIONS - %w(1.8 1.9 mac ios 2.0)) # no 1.9 backport
|
|
5028
|
-
end
|
|
5029
|
-
|
|
5030
|
-
def test_ruby_bug_11380
|
|
5031
|
-
assert_parses(
|
|
5032
|
-
s(:block,
|
|
5033
|
-
s(:send, nil, :p,
|
|
5034
|
-
s(:block,
|
|
5035
|
-
s(:send, nil, :lambda),
|
|
5036
|
-
s(:args),
|
|
5037
|
-
s(:sym, :hello)),
|
|
5038
|
-
s(:hash,
|
|
5039
|
-
s(:pair, s(:sym, :a), s(:int, 1)))),
|
|
5040
|
-
s(:args),
|
|
5041
|
-
nil),
|
|
5042
|
-
%q{p -> { :hello }, a: 1 do end},
|
|
5043
|
-
%q{},
|
|
5044
|
-
ALL_VERSIONS - %w(1.8 1.9 mac ios 2.0)) # no 1.9 backport
|
|
5007
|
+
ALL_VERSIONS - %w(1.8 1.9 mac ios 2.0)) # no 1.9 mac ios backport
|
|
5045
5008
|
end
|
|
5046
5009
|
|
|
5047
5010
|
def test_parser_bug_198
|
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: 2.
|
|
4
|
+
version: 2.3.0.pre.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Peter Zotov
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-06-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ast
|
|
@@ -269,7 +269,6 @@ files:
|
|
|
269
269
|
- lib/parser/lexer/explanation.rb
|
|
270
270
|
- lib/parser/lexer/literal.rb
|
|
271
271
|
- lib/parser/lexer/stack_state.rb
|
|
272
|
-
- lib/parser/macruby.rb
|
|
273
272
|
- lib/parser/macruby.y
|
|
274
273
|
- lib/parser/messages.rb
|
|
275
274
|
- lib/parser/meta.rb
|
|
@@ -284,7 +283,6 @@ files:
|
|
|
284
283
|
- lib/parser/ruby21.y
|
|
285
284
|
- lib/parser/ruby22.rb
|
|
286
285
|
- lib/parser/ruby22.y
|
|
287
|
-
- lib/parser/rubymotion.rb
|
|
288
286
|
- lib/parser/rubymotion.y
|
|
289
287
|
- lib/parser/runner.rb
|
|
290
288
|
- lib/parser/runner/ruby_parse.rb
|
|
@@ -352,9 +350,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
352
350
|
version: '0'
|
|
353
351
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
352
|
requirements:
|
|
355
|
-
- - "
|
|
353
|
+
- - ">"
|
|
356
354
|
- !ruby/object:Gem::Version
|
|
357
|
-
version:
|
|
355
|
+
version: 1.3.1
|
|
358
356
|
requirements: []
|
|
359
357
|
rubyforge_project:
|
|
360
358
|
rubygems_version: 2.4.1
|