Skip to content

judofyr/rubyscript

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
ipc
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

A Ruby VM implemented in JavaScript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published