Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A(n incomplete) Javascript implementation in Ruby!
JavaScript Ruby

This branch is 87 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
Gemfile
LICENSE
README.md
compile.rb
disasm.rb
parse.rb
repl.js
repl.rb
runner.rb
test.js
test.rb
twostroke.gemspec

README.md

Twostroke

Twostroke is a Javascript implementation written in pure Ruby. It currently consists of:

  • A parser (which works, but is in need of an overhaul)
  • Two compilers:
    • One that targets Javascript, perfect for obfuscation
    • And another that targets TSASM - Twostroke's internal bytecode format
  • A VM that runs TSASM bytecode
  • A minimal Javascript standard library implementation (also in need of some love)
  • A test suite containing:
    • Some tests written for Twostroke
    • Underscore.js's complete test suite (minus the cases relying on the DOM)

Why use Twostroke?

It's cool:

repl

It actually works:

yep, that's unmodified underscore.js:

tests lol

Something went wrong with that request. Please try again.