fastruby 0.0.19 → 0.0.20
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/CHANGELOG +8 -0
- data/{README → README.rdoc} +6 -1
- data/Rakefile +7 -7
- data/benchmarks/benchmark.rb~ +14 -2
- data/ext/fastruby_base/fastruby_base.inl +8 -4
- data/lib/fastruby/builder/inference_updater.rb +76 -0
- data/lib/fastruby/builder/inference_updater.rb~ +76 -0
- data/lib/fastruby/builder/inferencer.rb +38 -0
- data/lib/fastruby/{inliner → builder}/inliner.rb +16 -27
- data/lib/fastruby/builder/inliner.rb~ +60 -0
- data/lib/fastruby/builder/locals_inference.rb +53 -0
- data/lib/fastruby/builder/lvar_type.rb +43 -0
- data/lib/fastruby/builder/lvar_type.rb~ +44 -0
- data/lib/fastruby/builder/pipeline.rb +43 -0
- data/lib/fastruby/builder/pipeline.rb~ +43 -0
- data/lib/fastruby/{reductor → builder}/reductor.rb +6 -3
- data/lib/fastruby/builder/reductor.rb~ +42 -0
- data/lib/fastruby/builder.rb +73 -25
- data/lib/fastruby/builder.rb~ +311 -0
- data/lib/fastruby/corelib/fixnum.rb +75 -0
- data/lib/fastruby/corelib/fixnum.rb~ +146 -0
- data/lib/fastruby/corelib/integer.rb +96 -0
- data/lib/fastruby/corelib/integer.rb~ +96 -0
- data/lib/fastruby/corelib.rb +23 -0
- data/lib/fastruby/corelib.rb~ +23 -0
- data/lib/fastruby/getlocals.rb +3 -1
- data/lib/fastruby/logging.rb +2 -2
- data/lib/fastruby/modules/inferencer/infer.rb +31 -0
- data/lib/fastruby/modules/inferencer/literal.rb +42 -0
- data/lib/fastruby/modules/inliner/call.rb +327 -0
- data/lib/fastruby/{inliner/modules/call.rb → modules/inliner/call.rb~} +14 -24
- data/lib/fastruby/modules/inliner/defn.rb +41 -0
- data/lib/fastruby/modules/inliner/defn.rb~ +29 -0
- data/lib/fastruby/modules/inliner/recursive.rb +40 -0
- data/lib/fastruby/{inliner/modules/recursive.rb → modules/inliner/recursive.rb~} +1 -1
- data/lib/fastruby/modules/lvar_type/call.rb +36 -0
- data/lib/fastruby/modules/lvar_type/call.rb~ +36 -0
- data/lib/fastruby/modules/lvar_type/defn.rb +42 -0
- data/lib/fastruby/modules/lvar_type/defn.rb~ +42 -0
- data/lib/fastruby/modules/lvar_type/lasgn.rb +41 -0
- data/lib/fastruby/modules/lvar_type/lasgn.rb~ +42 -0
- data/lib/fastruby/modules/lvar_type/recursive.rb +33 -0
- data/lib/fastruby/modules/lvar_type/recursive.rb~ +33 -0
- data/lib/fastruby/{reductor/modules → modules/reductor}/case.rb +0 -0
- data/lib/fastruby/modules/reductor/fastruby_flag.rb +33 -0
- data/lib/fastruby/{reductor/modules → modules/reductor}/for.rb +0 -0
- data/lib/fastruby/{reductor/modules → modules/reductor}/nontree.rb +0 -0
- data/lib/fastruby/modules/reductor/nontree.rb~ +32 -0
- data/lib/fastruby/{reductor/modules → modules/reductor}/recursive.rb +1 -1
- data/lib/fastruby/modules/reductor/recursive.rb~ +31 -0
- data/lib/fastruby/{translator/modules → modules/translator}/block.rb +0 -0
- data/lib/fastruby/modules/translator/call.rb +344 -0
- data/lib/fastruby/{translator/modules/call.rb → modules/translator/call.rb~} +24 -3
- data/lib/fastruby/{translator/modules → modules/translator}/defn.rb +10 -9
- data/lib/fastruby/modules/translator/defn.rb~ +267 -0
- data/lib/fastruby/{translator/modules → modules/translator}/directive.rb +3 -1
- data/lib/fastruby/modules/translator/directive.rb~ +44 -0
- data/lib/fastruby/{translator/modules → modules/translator}/exceptions.rb +3 -1
- data/lib/fastruby/modules/translator/exceptions.rb~ +120 -0
- data/lib/fastruby/{translator/modules → modules/translator}/flow.rb +0 -0
- data/lib/fastruby/modules/translator/iter.rb +745 -0
- data/lib/fastruby/{translator/modules/iter.rb → modules/translator/iter.rb~} +103 -48
- data/lib/fastruby/modules/translator/literal.rb +150 -0
- data/lib/fastruby/{translator/modules/literal.rb → modules/translator/literal.rb~} +3 -3
- data/lib/fastruby/{translator/modules → modules/translator}/logical.rb +0 -0
- data/lib/fastruby/{translator/modules → modules/translator}/method_group.rb +0 -0
- data/lib/fastruby/{translator/modules → modules/translator}/nonlocal.rb +18 -6
- data/lib/fastruby/modules/translator/nonlocal.rb~ +298 -0
- data/lib/fastruby/modules/translator/static.rb +290 -0
- data/lib/fastruby/{translator/modules/static.rb → modules/translator/static.rb~} +66 -17
- data/lib/fastruby/modules/translator/variable.rb +280 -0
- data/lib/fastruby/{translator/modules/variable.rb → modules/translator/variable.rb~} +14 -44
- data/lib/fastruby/modules.rb +30 -0
- data/lib/fastruby/object.rb +42 -6
- data/lib/fastruby/object.rb~ +159 -0
- data/lib/fastruby/set_tree.rb +7 -11
- data/lib/fastruby/set_tree.rb~ +71 -0
- data/lib/fastruby/sexp_extension.rb +29 -7
- data/lib/fastruby/sexp_extension.rb~ +262 -0
- data/lib/fastruby/translator/scope_mode_helper.rb~ +138 -0
- data/lib/fastruby/translator/translator.rb +87 -92
- data/lib/fastruby/translator/translator.rb~ +1600 -0
- data/lib/fastruby/translator/translator_modules.rb +3 -1
- data/lib/fastruby/translator/translator_modules.rb~ +53 -0
- data/lib/fastruby.rb +3 -1
- data/lib/fastruby.rb~ +3 -1
- data/lib/fastruby_only/base.rb +1 -0
- data/spec/corelib/numeric/fixnum_spec.rb +110 -0
- data/spec/corelib/numeric/fixnum_spec.rb~ +104 -0
- data/spec/corelib/numeric/integer_spec.rb +173 -0
- data/spec/corelib/numeric/integer_spec.rb~ +173 -0
- data/spec/fastruby_only/base_spec.rb +74 -0
- data/spec/graph/base_spec.rb +2 -1
- data/spec/graph/base_spec.rb~ +35 -0
- data/spec/graph/path_spec.rb +2 -2
- data/spec/graph/path_spec.rb~ +48 -0
- data/spec/graph/vertex_spec.rb +2 -1
- data/spec/graph/vertex_spec.rb~ +58 -0
- data/spec/reductor/base_spec.rb +1 -1
- data/spec/ruby/block/lambda_spec.rb~ +163 -0
- data/spec/ruby/block/proc_as_block_spec.rb~ +69 -1
- data/spec/ruby/block_spec.rb~ +2 -494
- data/spec/ruby/call/base_call_spec.rb +1 -1
- data/spec/ruby/call/base_call_spec.rb~ +2 -60
- data/spec/ruby/defn/replacement_spec.rb +26 -14
- data/spec/ruby/defn/replacement_spec.rb~ +13 -3
- data/spec/ruby/exception/internal_ex_spec.rb~ +86 -0
- data/spec/ruby/integrity_spec.rb~ +35 -1
- data/spec/ruby/variable_spec.rb~ +31 -0
- data/spec/scope_mode/flow_spec.rb +1 -1
- data/spec/scope_mode/flow_spec.rb~ +109 -0
- data/spec/sugar/base_spec.rb +29 -0
- data/spec/sugar/base_spec.rb~ +16 -0
- metadata +100 -43
- data/spec/fastruby/inliner/modules/call_spec.rb +0 -0
- data/spec/fastruby/translator/modules/nonlocal_spec.rb +0 -0
- data/spec/fastruby/translator/translator_spec.rb +0 -0
- data/spec/ruby/block/arguments_spec.rb~ +0 -214
- data/spec/ruby/block/break_spec.rb~ +0 -236
- data/spec/ruby/block/next_spec.rb~ +0 -85
- data/spec/ruby/block/retry_spec.rb~ +0 -43
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
require "fastruby"
|
|
2
|
+
|
|
3
|
+
describe FastRuby, "fastruby" do
|
|
4
|
+
|
|
5
|
+
it "should trap 'no block given" do
|
|
6
|
+
fastruby "
|
|
7
|
+
class LLJ1
|
|
8
|
+
attr_accessor :a
|
|
9
|
+
|
|
10
|
+
def bar
|
|
11
|
+
yield
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def foo
|
|
15
|
+
bar # this will raise LocalJumpError
|
|
16
|
+
ensure
|
|
17
|
+
@a = 1
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
"
|
|
21
|
+
|
|
22
|
+
llj1 = LLJ1.new
|
|
23
|
+
|
|
24
|
+
lambda {
|
|
25
|
+
llj1.foo
|
|
26
|
+
}.should raise_error(LocalJumpError)
|
|
27
|
+
|
|
28
|
+
llj1.a.should be == 1
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
it "should trap 'TypeError" do
|
|
33
|
+
fastruby "
|
|
34
|
+
class LLJ2
|
|
35
|
+
attr_accessor :a
|
|
36
|
+
|
|
37
|
+
def bar
|
|
38
|
+
4::X
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def foo
|
|
42
|
+
bar # this will raise TypeError
|
|
43
|
+
ensure
|
|
44
|
+
@a = 1
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
"
|
|
48
|
+
|
|
49
|
+
llj2 = LLJ2.new
|
|
50
|
+
|
|
51
|
+
lambda {
|
|
52
|
+
llj2.foo
|
|
53
|
+
}.should raise_error(TypeError)
|
|
54
|
+
|
|
55
|
+
llj2.a.should be == 1
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it "should trap FastRuby::TypeMismatchAssignmentException" do
|
|
59
|
+
fastruby "
|
|
60
|
+
class LLJ3
|
|
61
|
+
attr_accessor :a
|
|
62
|
+
|
|
63
|
+
def bar
|
|
64
|
+
a = 0
|
|
65
|
+
lvar_type(a,Fixnum)
|
|
66
|
+
a = 'wrong value'
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def foo
|
|
70
|
+
bar # this will raise FastRuby::TypeMismatchAssignmentException
|
|
71
|
+
ensure
|
|
72
|
+
@a = 1
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
", :validate_lvar_types => true
|
|
76
|
+
|
|
77
|
+
llj3 = LLJ3.new
|
|
78
|
+
|
|
79
|
+
lambda {
|
|
80
|
+
llj3.foo
|
|
81
|
+
}.should raise_error(FastRuby::TypeMismatchAssignmentException)
|
|
82
|
+
|
|
83
|
+
llj3.a.should be == 1
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
end
|
|
@@ -2,6 +2,22 @@ require "fastruby"
|
|
|
2
2
|
|
|
3
3
|
describe FastRuby, "fastruby" do
|
|
4
4
|
|
|
5
|
+
class ::Y1
|
|
6
|
+
fastruby "
|
|
7
|
+
def foo(x)
|
|
8
|
+
i = 0
|
|
9
|
+
lvar_type(i,Fixnum)
|
|
10
|
+
i = x
|
|
11
|
+
0
|
|
12
|
+
end
|
|
13
|
+
"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should deny wrong type assignments at runtime by default" do
|
|
17
|
+
lambda {
|
|
18
|
+
::Y1.new.foo("test string")
|
|
19
|
+
}.should raise_error(FastRuby::TypeMismatchAssignmentException)
|
|
20
|
+
end
|
|
5
21
|
|
|
6
22
|
class ::Y2
|
|
7
23
|
fastruby "
|
|
@@ -37,4 +53,22 @@ describe FastRuby, "fastruby" do
|
|
|
37
53
|
}.should_not raise_error
|
|
38
54
|
end
|
|
39
55
|
|
|
40
|
-
|
|
56
|
+
|
|
57
|
+
class ::Y4
|
|
58
|
+
fastruby "
|
|
59
|
+
def foo(x)
|
|
60
|
+
x+1
|
|
61
|
+
end
|
|
62
|
+
"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should builds be re-entrants, multiple calls should not produce any error if the first call works" do
|
|
66
|
+
lambda {
|
|
67
|
+
::Y4.build([Y4,Fixnum],:foo)
|
|
68
|
+
::Y4.build([Y4,Fixnum],:foo)
|
|
69
|
+
::Y4.build([Y4,Fixnum],:foo)
|
|
70
|
+
|
|
71
|
+
::Y4.new.foo(1).should be ==2
|
|
72
|
+
}.should_not raise_error
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require "fastruby"
|
|
2
|
+
|
|
3
|
+
describe FastRuby, "fastruby" do
|
|
4
|
+
|
|
5
|
+
$u_class_number = 30
|
|
6
|
+
def self.test_defined(code,title,defined_name)
|
|
7
|
+
it "should call defined? to defined #{title} and return '#{defined_name}" do
|
|
8
|
+
classname = "::U"+$u_class_number.to_s
|
|
9
|
+
|
|
10
|
+
$u_class_number = $u_class_number + 1
|
|
11
|
+
code = "def foo; #{code}; end"
|
|
12
|
+
eval("class #{classname}
|
|
13
|
+
fastruby #{code.inspect}
|
|
14
|
+
end")
|
|
15
|
+
eval(classname).new.foo.should be == defined_name
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
test_defined "@a =17; defined? @a", "instance variable", "instance-variable"
|
|
19
|
+
|
|
20
|
+
$a = 9
|
|
21
|
+
test_defined "defined? $a", "global variable", "global-variable"
|
|
22
|
+
test_defined "a = 17; defined? a", "local variable", "local-variable"
|
|
23
|
+
test_defined "defined? Fixnum", "constant", "constant"
|
|
24
|
+
test_defined "defined? true", "true", "true"
|
|
25
|
+
test_defined "defined? false", "false", "false"
|
|
26
|
+
test_defined "defined? nil", "nil", "nil"
|
|
27
|
+
test_defined "defined? self", "self", "self"
|
|
28
|
+
test_defined "defined? print", "method", "method"
|
|
29
|
+
test_defined "defined?(if 0; 4; end)", "expression", "expression"
|
|
30
|
+
|
|
31
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
require "fastruby"
|
|
2
|
+
require "sexp"
|
|
3
|
+
require "ruby_parser"
|
|
4
|
+
require "fastruby/translator/scope_mode_helper"
|
|
5
|
+
require "fastruby/reductor/reductor"
|
|
6
|
+
|
|
7
|
+
$parser = RubyParser.new
|
|
8
|
+
|
|
9
|
+
describe FastRuby::ScopeModeHelper, "scope mode helper" do
|
|
10
|
+
|
|
11
|
+
def get_scope_mode(tree)
|
|
12
|
+
FastRuby::ScopeModeHelper.get_scope_mode(
|
|
13
|
+
FastRuby::Reductor.new.reduce(
|
|
14
|
+
FastRuby::FastRubySexp.from_sexp(tree)
|
|
15
|
+
)
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "possible read on if after call should return :dag scope mode" do
|
|
20
|
+
get_scope_mode(
|
|
21
|
+
$parser.parse "def foo(a,b,c)
|
|
22
|
+
if (a > 0)
|
|
23
|
+
c
|
|
24
|
+
end
|
|
25
|
+
end"
|
|
26
|
+
).should be == :dag
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "possible read on case after call should return :dag scope mode" do
|
|
30
|
+
get_scope_mode(
|
|
31
|
+
$parser.parse "def foo(a,b,c)
|
|
32
|
+
case (a > 0)
|
|
33
|
+
when 0
|
|
34
|
+
c
|
|
35
|
+
end
|
|
36
|
+
end"
|
|
37
|
+
).should be == :dag
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "possible read on case (on enum) after call should return :dag scope mode" do
|
|
41
|
+
get_scope_mode(
|
|
42
|
+
$parser.parse "def foo(a,b,c)
|
|
43
|
+
case (a > 0)
|
|
44
|
+
when c
|
|
45
|
+
0
|
|
46
|
+
end
|
|
47
|
+
end"
|
|
48
|
+
).should be == :dag
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it "for with local read and call should return :dag scope mode" do
|
|
52
|
+
get_scope_mode(
|
|
53
|
+
$parser.parse "def foo(a,b,c)
|
|
54
|
+
for a in b
|
|
55
|
+
foo
|
|
56
|
+
c
|
|
57
|
+
end
|
|
58
|
+
end"
|
|
59
|
+
).should be == :dag
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it "empty for with local read should return :dag scope mode (because for is a iter call to each with one argument)" do
|
|
63
|
+
get_scope_mode(
|
|
64
|
+
$parser.parse "def foo(a,b,c)
|
|
65
|
+
for a in b
|
|
66
|
+
end
|
|
67
|
+
end"
|
|
68
|
+
).should be == :dag
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
it "case with a when should act as call and local read after case when should return :dag" do
|
|
72
|
+
get_scope_mode(
|
|
73
|
+
$parser.parse "def foo(a,b,c)
|
|
74
|
+
case b
|
|
75
|
+
when c
|
|
76
|
+
end
|
|
77
|
+
a
|
|
78
|
+
end"
|
|
79
|
+
).should be == :dag
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it "case with a when should act as call and local read after case when should return :dag" do
|
|
83
|
+
get_scope_mode(
|
|
84
|
+
$parser.parse "def foo(a,b,c)
|
|
85
|
+
case b
|
|
86
|
+
when c
|
|
87
|
+
a
|
|
88
|
+
else
|
|
89
|
+
c
|
|
90
|
+
end
|
|
91
|
+
end"
|
|
92
|
+
).should be == :dag
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
it "case with two call (when) after read should return :dag scope" do
|
|
96
|
+
get_scope_mode(
|
|
97
|
+
$parser.parse "def foo(a,b,c)
|
|
98
|
+
case a
|
|
99
|
+
when b # call to a.===(b)
|
|
100
|
+
43
|
|
101
|
+
when c # read of variable c
|
|
102
|
+
439
|
|
103
|
+
end
|
|
104
|
+
end"
|
|
105
|
+
).should be == :dag
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require "fastruby"
|
|
2
|
+
|
|
3
|
+
describe FastRuby, "fastruby sexp graph" do
|
|
4
|
+
it "should allow define fastruby method using fastruby block" do
|
|
5
|
+
class FRBSUGAR1
|
|
6
|
+
fastruby do
|
|
7
|
+
def frbsugar1_foo(a)
|
|
8
|
+
_static{INT2FIX(FIX2INT(a)+1)}
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
FRBSUGAR1.new.frbsugar1_foo(100).should be == 101
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should allow define fastruby method using fastruby block with fastruby_only" do
|
|
17
|
+
class FRBSUGAR2
|
|
18
|
+
fastruby(:fastruby_only => true) do
|
|
19
|
+
def frbsugar2_foo(a)
|
|
20
|
+
_static{INT2FIX(FIX2INT(a)+1)}
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
lambda {
|
|
26
|
+
FRBSUGAR2.new.frbsugar2_foo(100)
|
|
27
|
+
}.should raise_error(NoMethodError)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require "fastruby"
|
|
2
|
+
|
|
3
|
+
describe FastRuby, "fastruby sexp graph" do
|
|
4
|
+
it "should allow define fastruby method using fastruby block" do
|
|
5
|
+
class FRBSUGAR1
|
|
6
|
+
fastruby do
|
|
7
|
+
def frbsugar1_foo(a)
|
|
8
|
+
_static{INT2FIX(FIX2INT(a)+1)}
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
FRBSUGAR1.new.frbsugar1_foo(100).should be == 101
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.20
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-04-22 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: RubyInline
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &72410660 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - =
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: 3.11.0
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *72410660
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: ruby_parser
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &72401420 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,21 +32,21 @@ dependencies:
|
|
|
32
32
|
version: 2.0.6
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *72401420
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: define_method_handler
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &72401170 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: 0.0.
|
|
43
|
+
version: 0.0.6
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *72401170
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: method_source
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &72400940 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 0.6.7
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *72400940
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: ruby2ruby
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &72400710 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,14 +65,14 @@ dependencies:
|
|
|
65
65
|
version: 1.3.1
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *72400710
|
|
69
69
|
description:
|
|
70
70
|
email: robertodarioseminara@gmail.com
|
|
71
71
|
executables: []
|
|
72
72
|
extensions:
|
|
73
73
|
- ext/fastruby_base/extconf.rb
|
|
74
74
|
extra_rdoc_files:
|
|
75
|
-
- README
|
|
75
|
+
- README.rdoc
|
|
76
76
|
files:
|
|
77
77
|
- benchmarks/benchmark5.rb
|
|
78
78
|
- benchmarks/benchmark2.rb
|
|
@@ -92,53 +92,102 @@ files:
|
|
|
92
92
|
- examples/example3.rb
|
|
93
93
|
- examples/example4.rb
|
|
94
94
|
- examples/example1.rb
|
|
95
|
+
- lib/fastruby/sexp_extension.rb~
|
|
96
|
+
- lib/fastruby/corelib.rb
|
|
95
97
|
- lib/fastruby/sexp_extension.rb
|
|
96
98
|
- lib/fastruby/object.rb
|
|
99
|
+
- lib/fastruby/builder/inliner.rb
|
|
100
|
+
- lib/fastruby/builder/lvar_type.rb
|
|
101
|
+
- lib/fastruby/builder/pipeline.rb
|
|
102
|
+
- lib/fastruby/builder/pipeline.rb~
|
|
103
|
+
- lib/fastruby/builder/inliner.rb~
|
|
104
|
+
- lib/fastruby/builder/lvar_type.rb~
|
|
105
|
+
- lib/fastruby/builder/locals_inference.rb
|
|
106
|
+
- lib/fastruby/builder/inference_updater.rb
|
|
107
|
+
- lib/fastruby/builder/inference_updater.rb~
|
|
108
|
+
- lib/fastruby/builder/inferencer.rb
|
|
109
|
+
- lib/fastruby/builder/reductor.rb~
|
|
110
|
+
- lib/fastruby/builder/reductor.rb
|
|
111
|
+
- lib/fastruby/builder.rb~
|
|
112
|
+
- lib/fastruby/modules/translator/defn.rb
|
|
113
|
+
- lib/fastruby/modules/translator/iter.rb~
|
|
114
|
+
- lib/fastruby/modules/translator/literal.rb~
|
|
115
|
+
- lib/fastruby/modules/translator/nonlocal.rb~
|
|
116
|
+
- lib/fastruby/modules/translator/iter.rb
|
|
117
|
+
- lib/fastruby/modules/translator/directive.rb
|
|
118
|
+
- lib/fastruby/modules/translator/exceptions.rb
|
|
119
|
+
- lib/fastruby/modules/translator/static.rb
|
|
120
|
+
- lib/fastruby/modules/translator/static.rb~
|
|
121
|
+
- lib/fastruby/modules/translator/method_group.rb
|
|
122
|
+
- lib/fastruby/modules/translator/exceptions.rb~
|
|
123
|
+
- lib/fastruby/modules/translator/nonlocal.rb
|
|
124
|
+
- lib/fastruby/modules/translator/variable.rb~
|
|
125
|
+
- lib/fastruby/modules/translator/variable.rb
|
|
126
|
+
- lib/fastruby/modules/translator/call.rb
|
|
127
|
+
- lib/fastruby/modules/translator/defn.rb~
|
|
128
|
+
- lib/fastruby/modules/translator/block.rb
|
|
129
|
+
- lib/fastruby/modules/translator/call.rb~
|
|
130
|
+
- lib/fastruby/modules/translator/flow.rb
|
|
131
|
+
- lib/fastruby/modules/translator/logical.rb
|
|
132
|
+
- lib/fastruby/modules/translator/directive.rb~
|
|
133
|
+
- lib/fastruby/modules/translator/literal.rb
|
|
134
|
+
- lib/fastruby/modules/inferencer/infer.rb
|
|
135
|
+
- lib/fastruby/modules/inferencer/literal.rb
|
|
136
|
+
- lib/fastruby/modules/lvar_type/recursive.rb
|
|
137
|
+
- lib/fastruby/modules/lvar_type/recursive.rb~
|
|
138
|
+
- lib/fastruby/modules/lvar_type/defn.rb
|
|
139
|
+
- lib/fastruby/modules/lvar_type/lasgn.rb
|
|
140
|
+
- lib/fastruby/modules/lvar_type/lasgn.rb~
|
|
141
|
+
- lib/fastruby/modules/lvar_type/call.rb
|
|
142
|
+
- lib/fastruby/modules/lvar_type/defn.rb~
|
|
143
|
+
- lib/fastruby/modules/lvar_type/call.rb~
|
|
144
|
+
- lib/fastruby/modules/inliner/recursive.rb
|
|
145
|
+
- lib/fastruby/modules/inliner/recursive.rb~
|
|
146
|
+
- lib/fastruby/modules/inliner/defn.rb
|
|
147
|
+
- lib/fastruby/modules/inliner/call.rb
|
|
148
|
+
- lib/fastruby/modules/inliner/defn.rb~
|
|
149
|
+
- lib/fastruby/modules/inliner/call.rb~
|
|
150
|
+
- lib/fastruby/modules/reductor/for.rb
|
|
151
|
+
- lib/fastruby/modules/reductor/recursive.rb
|
|
152
|
+
- lib/fastruby/modules/reductor/recursive.rb~
|
|
153
|
+
- lib/fastruby/modules/reductor/nontree.rb
|
|
154
|
+
- lib/fastruby/modules/reductor/fastruby_flag.rb
|
|
155
|
+
- lib/fastruby/modules/reductor/nontree.rb~
|
|
156
|
+
- lib/fastruby/modules/reductor/case.rb
|
|
97
157
|
- lib/fastruby/builder.rb
|
|
98
158
|
- lib/fastruby/inline_extension.rb
|
|
159
|
+
- lib/fastruby/corelib.rb~
|
|
99
160
|
- lib/fastruby/logging.rb
|
|
100
161
|
- lib/fastruby/sexp_extension_edges.rb
|
|
101
162
|
- lib/fastruby/exceptions.rb
|
|
102
163
|
- lib/fastruby/translator/scope_mode_helper.rb
|
|
103
164
|
- lib/fastruby/translator/translator.rb
|
|
104
|
-
- lib/fastruby/translator/
|
|
105
|
-
- lib/fastruby/translator/modules/iter.rb
|
|
106
|
-
- lib/fastruby/translator/modules/directive.rb
|
|
107
|
-
- lib/fastruby/translator/modules/exceptions.rb
|
|
108
|
-
- lib/fastruby/translator/modules/static.rb
|
|
109
|
-
- lib/fastruby/translator/modules/method_group.rb
|
|
110
|
-
- lib/fastruby/translator/modules/nonlocal.rb
|
|
111
|
-
- lib/fastruby/translator/modules/variable.rb
|
|
112
|
-
- lib/fastruby/translator/modules/call.rb
|
|
113
|
-
- lib/fastruby/translator/modules/block.rb
|
|
114
|
-
- lib/fastruby/translator/modules/flow.rb
|
|
115
|
-
- lib/fastruby/translator/modules/logical.rb
|
|
116
|
-
- lib/fastruby/translator/modules/literal.rb
|
|
165
|
+
- lib/fastruby/translator/translator_modules.rb~
|
|
117
166
|
- lib/fastruby/translator/translator_modules.rb
|
|
167
|
+
- lib/fastruby/translator/translator.rb~
|
|
168
|
+
- lib/fastruby/translator/scope_mode_helper.rb~
|
|
118
169
|
- lib/fastruby/set_tree.rb
|
|
170
|
+
- lib/fastruby/object.rb~
|
|
119
171
|
- lib/fastruby/cache/cache.rb
|
|
172
|
+
- lib/fastruby/modules.rb
|
|
120
173
|
- lib/fastruby/method_extension.rb
|
|
121
174
|
- lib/fastruby/custom_require.rb
|
|
175
|
+
- lib/fastruby/set_tree.rb~
|
|
122
176
|
- lib/fastruby/getlocals.rb
|
|
177
|
+
- lib/fastruby/corelib/fixnum.rb~
|
|
178
|
+
- lib/fastruby/corelib/integer.rb
|
|
179
|
+
- lib/fastruby/corelib/integer.rb~
|
|
180
|
+
- lib/fastruby/corelib/fixnum.rb
|
|
123
181
|
- lib/fastruby/fastruby_sexp.rb
|
|
124
|
-
- lib/fastruby/inliner/inliner.rb
|
|
125
|
-
- lib/fastruby/inliner/modules/recursive.rb
|
|
126
|
-
- lib/fastruby/inliner/modules/call.rb
|
|
127
|
-
- lib/fastruby/reductor/modules/for.rb
|
|
128
|
-
- lib/fastruby/reductor/modules/recursive.rb
|
|
129
|
-
- lib/fastruby/reductor/modules/nontree.rb
|
|
130
|
-
- lib/fastruby/reductor/modules/case.rb
|
|
131
|
-
- lib/fastruby/reductor/reductor.rb
|
|
132
182
|
- lib/fastruby.rb~
|
|
183
|
+
- lib/fastruby_only/base.rb
|
|
133
184
|
- lib/fastruby_load_path.rb
|
|
134
185
|
- lib/fastruby.rb
|
|
135
|
-
- spec/fastruby/translator/modules/nonlocal_spec.rb
|
|
136
|
-
- spec/fastruby/translator/translator_spec.rb
|
|
137
|
-
- spec/fastruby/inliner/modules/call_spec.rb
|
|
138
186
|
- spec/edges_helper.rb
|
|
139
187
|
- spec/scope_mode/base_spec.rb
|
|
140
188
|
- spec/scope_mode/exception_spec.rb
|
|
141
189
|
- spec/scope_mode/flow_spec.rb
|
|
190
|
+
- spec/scope_mode/flow_spec.rb~
|
|
142
191
|
- spec/scope_mode/block_spec.rb
|
|
143
192
|
- spec/scope_mode/optimization_spec.rb
|
|
144
193
|
- spec/scope_mode/call_spec.rb
|
|
@@ -148,19 +197,15 @@ files:
|
|
|
148
197
|
- spec/sexp2graph/flow_spec.rb
|
|
149
198
|
- spec/sexp2graph/logical_spec.rb
|
|
150
199
|
- spec/ruby/block/retry_spec.rb
|
|
151
|
-
- spec/ruby/block/arguments_spec.rb~
|
|
152
200
|
- spec/ruby/block/arguments_spec.rb
|
|
153
201
|
- spec/ruby/block/proc_spec.rb
|
|
154
202
|
- spec/ruby/block/break_spec.rb
|
|
155
|
-
- spec/ruby/block/break_spec.rb~
|
|
156
203
|
- spec/ruby/block/proc_as_block_spec.rb
|
|
157
204
|
- spec/ruby/block/next_spec.rb
|
|
158
205
|
- spec/ruby/block/lambda_spec.rb
|
|
159
206
|
- spec/ruby/block/lambda_spec.rb~
|
|
160
207
|
- spec/ruby/block/redo_spec.rb
|
|
161
208
|
- spec/ruby/block/block_as_proc_spec.rb
|
|
162
|
-
- spec/ruby/block/retry_spec.rb~
|
|
163
|
-
- spec/ruby/block/next_spec.rb~
|
|
164
209
|
- spec/ruby/block/proc_as_block_spec.rb~
|
|
165
210
|
- spec/ruby/block/callcc_spec.rb
|
|
166
211
|
- spec/ruby/base_spec.rb~
|
|
@@ -171,6 +216,7 @@ files:
|
|
|
171
216
|
- spec/ruby/exception/exc_trap_spec.rb
|
|
172
217
|
- spec/ruby/exception/ensure_spec.rb
|
|
173
218
|
- spec/ruby/exception/syntaxis_spec.rb
|
|
219
|
+
- spec/ruby/exception/internal_ex_spec.rb~
|
|
174
220
|
- spec/ruby/base_spec.rb
|
|
175
221
|
- spec/ruby/singleton_spec.rb
|
|
176
222
|
- spec/ruby/variable_spec.rb
|
|
@@ -181,6 +227,7 @@ files:
|
|
|
181
227
|
- spec/ruby/singleton_spec.rb~
|
|
182
228
|
- spec/ruby/sugar_spec.rb
|
|
183
229
|
- spec/ruby/return_spec.rb
|
|
230
|
+
- spec/ruby/variable_spec.rb~
|
|
184
231
|
- spec/ruby/flow_control/for_spec.rb
|
|
185
232
|
- spec/ruby/flow_control/case_spec.rb
|
|
186
233
|
- spec/ruby/call/base_call_spec.rb
|
|
@@ -195,19 +242,29 @@ files:
|
|
|
195
242
|
- spec/ruby/defn/replacement_spec.rb~
|
|
196
243
|
- spec/ruby/expression_spec.rb
|
|
197
244
|
- spec/ruby/control_spec.rb
|
|
245
|
+
- spec/sugar/base_spec.rb~
|
|
246
|
+
- spec/sugar/base_spec.rb
|
|
247
|
+
- spec/graph/path_spec.rb~
|
|
248
|
+
- spec/graph/base_spec.rb~
|
|
198
249
|
- spec/graph/base_spec.rb
|
|
199
250
|
- spec/graph/vertex_spec.rb
|
|
200
251
|
- spec/graph/path_spec.rb
|
|
252
|
+
- spec/graph/vertex_spec.rb~
|
|
253
|
+
- spec/fastruby_only/base_spec.rb
|
|
201
254
|
- spec/static/operator_spec.rb
|
|
202
255
|
- spec/static/base_spec.rb
|
|
203
256
|
- spec/static/flow_spec.rb
|
|
257
|
+
- spec/corelib/numeric/fixnum_spec.rb~
|
|
258
|
+
- spec/corelib/numeric/integer_spec.rb
|
|
259
|
+
- spec/corelib/numeric/integer_spec.rb~
|
|
260
|
+
- spec/corelib/numeric/fixnum_spec.rb
|
|
204
261
|
- spec/reductor/base_spec.rb
|
|
205
262
|
- ext/fastruby_base/fastruby_base.inl
|
|
206
263
|
- ext/fastruby_base/fastruby_base.c
|
|
207
264
|
- ext/fastruby_base/extconf.rb
|
|
208
265
|
- LICENSE
|
|
209
266
|
- AUTHORS
|
|
210
|
-
- README
|
|
267
|
+
- README.rdoc
|
|
211
268
|
- Rakefile
|
|
212
269
|
- TODO
|
|
213
270
|
- CHANGELOG
|
|
File without changes
|
|
File without changes
|
|
File without changes
|