fastruby 0.0.19 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. data/CHANGELOG +8 -0
  2. data/{README → README.rdoc} +6 -1
  3. data/Rakefile +7 -7
  4. data/benchmarks/benchmark.rb~ +14 -2
  5. data/ext/fastruby_base/fastruby_base.inl +8 -4
  6. data/lib/fastruby/builder/inference_updater.rb +76 -0
  7. data/lib/fastruby/builder/inference_updater.rb~ +76 -0
  8. data/lib/fastruby/builder/inferencer.rb +38 -0
  9. data/lib/fastruby/{inliner → builder}/inliner.rb +16 -27
  10. data/lib/fastruby/builder/inliner.rb~ +60 -0
  11. data/lib/fastruby/builder/locals_inference.rb +53 -0
  12. data/lib/fastruby/builder/lvar_type.rb +43 -0
  13. data/lib/fastruby/builder/lvar_type.rb~ +44 -0
  14. data/lib/fastruby/builder/pipeline.rb +43 -0
  15. data/lib/fastruby/builder/pipeline.rb~ +43 -0
  16. data/lib/fastruby/{reductor → builder}/reductor.rb +6 -3
  17. data/lib/fastruby/builder/reductor.rb~ +42 -0
  18. data/lib/fastruby/builder.rb +73 -25
  19. data/lib/fastruby/builder.rb~ +311 -0
  20. data/lib/fastruby/corelib/fixnum.rb +75 -0
  21. data/lib/fastruby/corelib/fixnum.rb~ +146 -0
  22. data/lib/fastruby/corelib/integer.rb +96 -0
  23. data/lib/fastruby/corelib/integer.rb~ +96 -0
  24. data/lib/fastruby/corelib.rb +23 -0
  25. data/lib/fastruby/corelib.rb~ +23 -0
  26. data/lib/fastruby/getlocals.rb +3 -1
  27. data/lib/fastruby/logging.rb +2 -2
  28. data/lib/fastruby/modules/inferencer/infer.rb +31 -0
  29. data/lib/fastruby/modules/inferencer/literal.rb +42 -0
  30. data/lib/fastruby/modules/inliner/call.rb +327 -0
  31. data/lib/fastruby/{inliner/modules/call.rb → modules/inliner/call.rb~} +14 -24
  32. data/lib/fastruby/modules/inliner/defn.rb +41 -0
  33. data/lib/fastruby/modules/inliner/defn.rb~ +29 -0
  34. data/lib/fastruby/modules/inliner/recursive.rb +40 -0
  35. data/lib/fastruby/{inliner/modules/recursive.rb → modules/inliner/recursive.rb~} +1 -1
  36. data/lib/fastruby/modules/lvar_type/call.rb +36 -0
  37. data/lib/fastruby/modules/lvar_type/call.rb~ +36 -0
  38. data/lib/fastruby/modules/lvar_type/defn.rb +42 -0
  39. data/lib/fastruby/modules/lvar_type/defn.rb~ +42 -0
  40. data/lib/fastruby/modules/lvar_type/lasgn.rb +41 -0
  41. data/lib/fastruby/modules/lvar_type/lasgn.rb~ +42 -0
  42. data/lib/fastruby/modules/lvar_type/recursive.rb +33 -0
  43. data/lib/fastruby/modules/lvar_type/recursive.rb~ +33 -0
  44. data/lib/fastruby/{reductor/modules → modules/reductor}/case.rb +0 -0
  45. data/lib/fastruby/modules/reductor/fastruby_flag.rb +33 -0
  46. data/lib/fastruby/{reductor/modules → modules/reductor}/for.rb +0 -0
  47. data/lib/fastruby/{reductor/modules → modules/reductor}/nontree.rb +0 -0
  48. data/lib/fastruby/modules/reductor/nontree.rb~ +32 -0
  49. data/lib/fastruby/{reductor/modules → modules/reductor}/recursive.rb +1 -1
  50. data/lib/fastruby/modules/reductor/recursive.rb~ +31 -0
  51. data/lib/fastruby/{translator/modules → modules/translator}/block.rb +0 -0
  52. data/lib/fastruby/modules/translator/call.rb +344 -0
  53. data/lib/fastruby/{translator/modules/call.rb → modules/translator/call.rb~} +24 -3
  54. data/lib/fastruby/{translator/modules → modules/translator}/defn.rb +10 -9
  55. data/lib/fastruby/modules/translator/defn.rb~ +267 -0
  56. data/lib/fastruby/{translator/modules → modules/translator}/directive.rb +3 -1
  57. data/lib/fastruby/modules/translator/directive.rb~ +44 -0
  58. data/lib/fastruby/{translator/modules → modules/translator}/exceptions.rb +3 -1
  59. data/lib/fastruby/modules/translator/exceptions.rb~ +120 -0
  60. data/lib/fastruby/{translator/modules → modules/translator}/flow.rb +0 -0
  61. data/lib/fastruby/modules/translator/iter.rb +745 -0
  62. data/lib/fastruby/{translator/modules/iter.rb → modules/translator/iter.rb~} +103 -48
  63. data/lib/fastruby/modules/translator/literal.rb +150 -0
  64. data/lib/fastruby/{translator/modules/literal.rb → modules/translator/literal.rb~} +3 -3
  65. data/lib/fastruby/{translator/modules → modules/translator}/logical.rb +0 -0
  66. data/lib/fastruby/{translator/modules → modules/translator}/method_group.rb +0 -0
  67. data/lib/fastruby/{translator/modules → modules/translator}/nonlocal.rb +18 -6
  68. data/lib/fastruby/modules/translator/nonlocal.rb~ +298 -0
  69. data/lib/fastruby/modules/translator/static.rb +290 -0
  70. data/lib/fastruby/{translator/modules/static.rb → modules/translator/static.rb~} +66 -17
  71. data/lib/fastruby/modules/translator/variable.rb +280 -0
  72. data/lib/fastruby/{translator/modules/variable.rb → modules/translator/variable.rb~} +14 -44
  73. data/lib/fastruby/modules.rb +30 -0
  74. data/lib/fastruby/object.rb +42 -6
  75. data/lib/fastruby/object.rb~ +159 -0
  76. data/lib/fastruby/set_tree.rb +7 -11
  77. data/lib/fastruby/set_tree.rb~ +71 -0
  78. data/lib/fastruby/sexp_extension.rb +29 -7
  79. data/lib/fastruby/sexp_extension.rb~ +262 -0
  80. data/lib/fastruby/translator/scope_mode_helper.rb~ +138 -0
  81. data/lib/fastruby/translator/translator.rb +87 -92
  82. data/lib/fastruby/translator/translator.rb~ +1600 -0
  83. data/lib/fastruby/translator/translator_modules.rb +3 -1
  84. data/lib/fastruby/translator/translator_modules.rb~ +53 -0
  85. data/lib/fastruby.rb +3 -1
  86. data/lib/fastruby.rb~ +3 -1
  87. data/lib/fastruby_only/base.rb +1 -0
  88. data/spec/corelib/numeric/fixnum_spec.rb +110 -0
  89. data/spec/corelib/numeric/fixnum_spec.rb~ +104 -0
  90. data/spec/corelib/numeric/integer_spec.rb +173 -0
  91. data/spec/corelib/numeric/integer_spec.rb~ +173 -0
  92. data/spec/fastruby_only/base_spec.rb +74 -0
  93. data/spec/graph/base_spec.rb +2 -1
  94. data/spec/graph/base_spec.rb~ +35 -0
  95. data/spec/graph/path_spec.rb +2 -2
  96. data/spec/graph/path_spec.rb~ +48 -0
  97. data/spec/graph/vertex_spec.rb +2 -1
  98. data/spec/graph/vertex_spec.rb~ +58 -0
  99. data/spec/reductor/base_spec.rb +1 -1
  100. data/spec/ruby/block/lambda_spec.rb~ +163 -0
  101. data/spec/ruby/block/proc_as_block_spec.rb~ +69 -1
  102. data/spec/ruby/block_spec.rb~ +2 -494
  103. data/spec/ruby/call/base_call_spec.rb +1 -1
  104. data/spec/ruby/call/base_call_spec.rb~ +2 -60
  105. data/spec/ruby/defn/replacement_spec.rb +26 -14
  106. data/spec/ruby/defn/replacement_spec.rb~ +13 -3
  107. data/spec/ruby/exception/internal_ex_spec.rb~ +86 -0
  108. data/spec/ruby/integrity_spec.rb~ +35 -1
  109. data/spec/ruby/variable_spec.rb~ +31 -0
  110. data/spec/scope_mode/flow_spec.rb +1 -1
  111. data/spec/scope_mode/flow_spec.rb~ +109 -0
  112. data/spec/sugar/base_spec.rb +29 -0
  113. data/spec/sugar/base_spec.rb~ +16 -0
  114. metadata +100 -43
  115. data/spec/fastruby/inliner/modules/call_spec.rb +0 -0
  116. data/spec/fastruby/translator/modules/nonlocal_spec.rb +0 -0
  117. data/spec/fastruby/translator/translator_spec.rb +0 -0
  118. data/spec/ruby/block/arguments_spec.rb~ +0 -214
  119. data/spec/ruby/block/break_spec.rb~ +0 -236
  120. data/spec/ruby/block/next_spec.rb~ +0 -85
  121. 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
- end
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
@@ -2,7 +2,7 @@ require "fastruby"
2
2
  require "sexp"
3
3
  require "ruby_parser"
4
4
  require "fastruby/translator/scope_mode_helper"
5
- require "fastruby/reductor/reductor"
5
+ require "fastruby/builder/reductor"
6
6
 
7
7
  $parser = RubyParser.new
8
8
 
@@ -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.19
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-02-15 00:00:00.000000000Z
12
+ date: 2012-04-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: RubyInline
16
- requirement: &77624300 !ruby/object:Gem::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: *77624300
24
+ version_requirements: *72410660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: ruby_parser
27
- requirement: &77624040 !ruby/object:Gem::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: *77624040
35
+ version_requirements: *72401420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: define_method_handler
38
- requirement: &77623780 !ruby/object:Gem::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.5
43
+ version: 0.0.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *77623780
46
+ version_requirements: *72401170
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: method_source
49
- requirement: &77613160 !ruby/object:Gem::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: *77613160
57
+ version_requirements: *72400940
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: ruby2ruby
60
- requirement: &77612930 !ruby/object:Gem::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: *77612930
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/modules/defn.rb
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