/rubyscript

A Ruby VM implemented in JavaScript

Primary LanguageRuby

RubyScript

RubyScript is a YARV-to-JavaScript compiler which aims to be able to run Ruby in the browser. Although at the moment we're mostly focused on running it on Node.js.

Getting Started

You need:

  • Ruby 1.9.2 -- Tested on ruby 1.9.2p180
  • Node.js -- Tested on v0.4.9

Then run:

$ cat test.rb
p 123
$ bin/rubyscript-node test.rb
123

Exploring

lib/rubyscript/yarv/compiler.rb

Uses RubyVM::InstructionSequence to compile Ruby to YARV bytecode to JavaScript (which depends on the runtime files described below).

lib/rubyscript/base.js

This defines the object-system of Ruby in JavaScript, including objects, classes, modules, inheritence, singleton classes, mixins and simple lookup.

lib/rubyscript/yarv/base.js

Extends the base with (mostly) YARV specific, rather important, methods.

lib/rubyscript/core.js

Extends the base with core methods (Kernel, Fixnum etc...)

lib/rubyscript/yarv/runner.js

Runs compiled YARV bytecode.

bin/rubyscript

Hooks everything together