I am glad to announce the release XRuby 0.1.0 , a ruby compiler which
compiles ruby script (.rb) to java bytecode (.class). You can download
it from here: Google Code Archive - Long-term storage for Google Code Project Hosting.
XRuby 0.1.0 is the first release of XRuby. It is able to pass all tests
in samples/test.rb - a decent test suite that comes with ruby
installation.
As a compiler, XRuby compiles ruby source code so that your program can
run on top of Java Virtual Machine. For example, if you have a ruby
script like this:
class MyClass
def say_hello_three_times
3.times {puts “hello”}
end
end
MyClass.new.say_hello_three_times
You can compile it with XRuby (assuming its name is test.rb):
java -jar xruby-0.1.0.jar -c test.rb
The compiler will generate a test.jar. It can be launched as a regular
java application, with the following command:
java -jar test.jar
hello
hello
hello
For your convenience, you can also run the script directly (without -c
option), just like the classic ruby interpreter. Under the hood it
compiles the script then run the bytecode:
java -jar xruby-0.1.0.jar test.rb
hello
hello
hello
While little known, this project has been under active development for
one year and eight months. I started the project around mid 2005, and it
took me about eight months to write a ruby parser with Antlr, and then
one year to implement the compiler and runtime. Some people joined me
during the second half of 2006 and made great contribution. It is just
the beginning of an exciting journey.
We still have a long way to go before claiming XRuby is a very competent
alternative implementation of ruby. And comparing with our peers we lag
behind in implementing ruby’s built-in libraries and do not have
Ruby-Java bridge. Our next focus is to improve this situation and make
major ruby libraries and framework work under XRuby. And we hope by end
of 2007 you can use XRuby to compile your Ruby On Rails application to a
.war file and run it directly on a J2EE server.
We appreciate your feedback. Our development maillist is at:
http://groups.google.com/group/xruby-devel. The team blog is at
http://xruby.blogspot.com
Thank you and have fun.