Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A(n incomplete) Javascript implementation in Ruby!
JavaScript Ruby
Pull request Compare This branch is 188 commits behind master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
samples
test
.gitignore
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.