Skip to content
A Ruby VM implemented in JavaScript
Ruby JavaScript
Find file
Failed to load latest commit information.
bin
ipc First version Jul 31, 2011
lib Better exception thrown on missing constant Aug 1, 2011
test Add RubySpec and MSpec #8 Aug 1, 2011
.gitignore Add .gitignore Jul 31, 2011
.gitmodules Add RubySpec and MSpec #8 Aug 1, 2011
README.md Update README.md for the new file layout Aug 1, 2011
Rakefile `rake check` checks how many opcodes we support Aug 1, 2011
opcodes `rake check` checks how many opcodes we support Aug 1, 2011
test.rb First version Jul 31, 2011

README.md

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

Something went wrong with that request. Please try again.