ruby_parser 3.1.0 → 3.1.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.
- data.tar.gz.sig +0 -0
- data/History.txt +13 -0
- data/README.txt +6 -1
- data/bin/ruby_parse_extract_error +11 -1
- data/lib/ruby19_parser.rb +1 -5
- data/lib/ruby19_parser.y +1 -5
- data/lib/ruby_lexer.rb +5 -2
- data/lib/ruby_parser_extras.rb +4 -4
- data/test/test_ruby_parser.rb +7 -0
- metadata +7 -7
- metadata.gz.sig +2 -1
data.tar.gz.sig
CHANGED
|
Binary file
|
data/History.txt
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
=== 3.1.1 / 2012-12-19
|
|
2
|
+
|
|
3
|
+
* 1 minor enhancement:
|
|
4
|
+
|
|
5
|
+
* Added MOVE_TIMEOUT env var for ruby_parse_extract_error to move slow files to a sibling directory
|
|
6
|
+
|
|
7
|
+
* 4 bug fixes:
|
|
8
|
+
|
|
9
|
+
* 1.9: Fixed lexing of "0o". (whitequark)
|
|
10
|
+
* 1.9: Fixed parsing of unary plus on literals. (whitequark)
|
|
11
|
+
* Added timeout arg to RubyParser#process to pass through to the real parser
|
|
12
|
+
* Updated Synopsis to reflect new options for running RP. (louismullie)
|
|
13
|
+
|
|
1
14
|
=== 3.1.0 / 2012-12-06
|
|
2
15
|
|
|
3
16
|
* 2 minor enhancements:
|
data/README.txt
CHANGED
|
@@ -43,7 +43,12 @@ becomes:
|
|
|
43
43
|
|
|
44
44
|
== SYNOPSIS:
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
RubyParser.new.parse "1+1"
|
|
47
|
+
# => s(:call, s(:lit, 1), :+, s(:lit, 1))
|
|
48
|
+
|
|
49
|
+
You can also use Ruby19Parser, Ruby18Parser, or RubyParser.for_current_ruby:
|
|
50
|
+
|
|
51
|
+
RubyParser.for_current_ruby.parse "1+1"
|
|
47
52
|
# => s(:call, s(:lit, 1), :+, s(:lit, 1))
|
|
48
53
|
|
|
49
54
|
== REQUIREMENTS:
|
|
@@ -4,11 +4,14 @@ $d ||= false
|
|
|
4
4
|
$d ||= ENV["DELETE"]
|
|
5
5
|
$t ||= false
|
|
6
6
|
$t ||= ENV["DELETE_TIMEOUT"]
|
|
7
|
+
$m ||= false
|
|
8
|
+
$m ||= ENV["MOVE_TIMEOUT"]
|
|
7
9
|
$q ||= false
|
|
8
10
|
$q ||= ENV["QUIET"]
|
|
9
11
|
|
|
10
12
|
require 'rubygems'
|
|
11
13
|
require 'ruby_parser'
|
|
14
|
+
require 'fileutils'
|
|
12
15
|
|
|
13
16
|
ARGV.push "-" if ARGV.empty?
|
|
14
17
|
|
|
@@ -96,7 +99,14 @@ def process file
|
|
|
96
99
|
rescue Timeout::Error
|
|
97
100
|
$exit = 1
|
|
98
101
|
warn "TIMEOUT parsing #{file}. Skipping."
|
|
99
|
-
|
|
102
|
+
|
|
103
|
+
if $m then
|
|
104
|
+
dir = File.join $m, File.dirname(file)
|
|
105
|
+
FileUtils.mkdir_p dir
|
|
106
|
+
FileUtils.move file, dir
|
|
107
|
+
elsif $t then
|
|
108
|
+
File.unlink file
|
|
109
|
+
end
|
|
100
110
|
rescue StandardError, SyntaxError, Racc::ParseError => e
|
|
101
111
|
$exit = 1
|
|
102
112
|
warn ""
|
data/lib/ruby19_parser.rb
CHANGED
|
@@ -4117,11 +4117,7 @@ def _reduce_215(val, _values, result)
|
|
|
4117
4117
|
end
|
|
4118
4118
|
|
|
4119
4119
|
def _reduce_216(val, _values, result)
|
|
4120
|
-
|
|
4121
|
-
result = val[1]
|
|
4122
|
-
else
|
|
4123
|
-
result = new_call val[1], :"+@"
|
|
4124
|
-
end
|
|
4120
|
+
result = new_call val[1], :"+@"
|
|
4125
4121
|
|
|
4126
4122
|
result
|
|
4127
4123
|
end
|
data/lib/ruby19_parser.y
CHANGED
data/lib/ruby_lexer.rb
CHANGED
|
@@ -188,7 +188,7 @@ class RubyLexer
|
|
|
188
188
|
self.string_buffer = []
|
|
189
189
|
|
|
190
190
|
case
|
|
191
|
-
when src.scan(/(-?)(['"
|
|
191
|
+
when src.scan(/(-?)([\'\"\`])(.*?)\2/) then
|
|
192
192
|
term = src[2]
|
|
193
193
|
func |= STR_FUNC_INDENT unless src[1].empty?
|
|
194
194
|
func |= case term
|
|
@@ -200,7 +200,7 @@ class RubyLexer
|
|
|
200
200
|
STR_XQUOTE
|
|
201
201
|
end
|
|
202
202
|
string_buffer << src[3]
|
|
203
|
-
when src.scan(/-?(['"
|
|
203
|
+
when src.scan(/-?([\'\"\`])(?!\1*\Z)/) then
|
|
204
204
|
rb_compile_error "unterminated here document identifier"
|
|
205
205
|
when src.scan(/(-?)(\w+)/) then
|
|
206
206
|
term = '"'
|
|
@@ -249,6 +249,9 @@ class RubyLexer
|
|
|
249
249
|
|
|
250
250
|
def int_with_base base
|
|
251
251
|
rb_compile_error "Invalid numeric format" if src.matched =~ /__/
|
|
252
|
+
rb_compile_error "numeric literal without digits" if
|
|
253
|
+
ruby19 and src.matched =~ /0o/i
|
|
254
|
+
|
|
252
255
|
self.yacc_value = src.matched.to_i(base)
|
|
253
256
|
return :tINTEGER
|
|
254
257
|
end
|
data/lib/ruby_parser_extras.rb
CHANGED
|
@@ -108,7 +108,7 @@ class RPStringScanner < StringScanner
|
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
module RubyParserStuff
|
|
111
|
-
VERSION = '3.1.
|
|
111
|
+
VERSION = '3.1.1' unless constants.include? "VERSION" # SIGH
|
|
112
112
|
|
|
113
113
|
attr_accessor :lexer, :in_def, :in_single, :file
|
|
114
114
|
attr_reader :env, :comments
|
|
@@ -1286,10 +1286,10 @@ class RubyParser
|
|
|
1286
1286
|
@p19 = Ruby19Parser.new
|
|
1287
1287
|
end
|
|
1288
1288
|
|
|
1289
|
-
def process(s, f = "(string)") # parens for emacs *sigh*
|
|
1290
|
-
@p19.process s, f
|
|
1289
|
+
def process(s, f = "(string)", t = 10) # parens for emacs *sigh*
|
|
1290
|
+
@p19.process s, f, t
|
|
1291
1291
|
rescue Racc::ParseError
|
|
1292
|
-
@p18.process s, f
|
|
1292
|
+
@p18.process s, f, t
|
|
1293
1293
|
end
|
|
1294
1294
|
|
|
1295
1295
|
alias :parse :process
|
data/test/test_ruby_parser.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby_parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 1
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 3
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 3.1.
|
|
9
|
+
- 1
|
|
10
|
+
version: 3.1.1
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Ryan Davis
|
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
|
36
36
|
FBHgymkyj/AOSqKRIpXPhjC6
|
|
37
37
|
-----END CERTIFICATE-----
|
|
38
38
|
|
|
39
|
-
date: 2012-12-
|
|
39
|
+
date: 2012-12-19 00:00:00 Z
|
|
40
40
|
dependencies:
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: sexp_processor
|
|
@@ -107,11 +107,11 @@ dependencies:
|
|
|
107
107
|
requirements:
|
|
108
108
|
- - ~>
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
hash:
|
|
110
|
+
hash: 15
|
|
111
111
|
segments:
|
|
112
112
|
- 3
|
|
113
|
-
-
|
|
114
|
-
version: "3.
|
|
113
|
+
- 4
|
|
114
|
+
version: "3.4"
|
|
115
115
|
type: :development
|
|
116
116
|
version_requirements: *id005
|
|
117
117
|
description: |-
|
metadata.gz.sig
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
�����߱PjGdz�ޠ�;�?��Ns2��'rB;�]�%�a��eEJ�9v�^_ޅ��s�Y-d>`ٸ=�,�= /0�'�`�6�x3 Fķ�7Z�5�)�9��pY���zvnh�H��x)b:!H�. ���(����`��uom�W�S>C����_E���(!��p�=��"c����Bg!�V1���[r����:
|
|
2
|
+
�*�k�ӒV禈�P�
|