public
Description:
Homepage:
Clone URL: git://github.com/miura1729/yarv2llvm.git
yarv2llvm / README
100644 59 lines (41 sloc) 1.499 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
yarv2llvm -- Yarv to LLVM Translater
 
-- Description
  yarv2llvm is Yarv to LLVM translater.
  yarv2llvm will try for type inference.
 
-- Install
  yarv2llvm has need of llvmruby of ruby gem version
  (http://github.com/tombagby/llvmruby/tree/master)
  
   1. Install llvmruby
 
   2. Copy yarv2llvm.rb and ./lib/*.* to any directory which is in
      the ruby library path.
 
  yarv2llvm need ruby1.9.2 or later.
  If you want to use ruby 1.9.1, you must install methopara
  (http://github.com/genki/methopara/tree/master).
 
-- Usage
 
   require 'yarv2llvm'
   YARV2LLVM::compile("Method definition in string")
   method(args)
 
   For example
 
    require 'yarv2llvm'
    YARV2LLVM::compile('def fact(n);if n == 0 then 1 else n * fact(n -1);end;end')
    p fact(5) # -> 120
 
 
   You can also use yarv2llvm as subset Ruby compler.
   For example
 
    ruby19 yarv2llvm.rb bm_so_nbody.rb
    -0.169074947
    -0.169083520
 
-- Limit
   yarv2llvm accepts very small subset of ruby.
   I will grow the subset yarv2llvm accepts.
   The subset of current version appears "test/test_compile.rb" .
 
-- BUGS
  If you apply bad program for yarv2llvm, you must break the code from
  yarv2llvm.
 
-- Author
   Miura Hideki (miura1729)
   e-mail: m-72 at tf6.so-net.ne.jp
   blog: http://d.hatena.ne.jp/miura1729 (in Japanese)
 
-- License
 
 under the Ruby's License
 
 "sample/ao-render.rb" is under BSD3
 Original version was written by Syoyo Fujita.