Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
ooc interpreter in ruby. Purely for shits and giggles and possibly experimentation. Don't assume it's entirely compliant.
C Ruby Other
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

ooc-in-ruby: ooc interpreter written primarily in ruby

...and a lot of automagically-generated C. The hell if I'm duplicating all of that.

The idea is to write as much of it as possible in ruby.

I gave up writing a custom parser for now, so it uses nagaqueen. Hellooooo, 9,350 SLOC of generated C, tied together with 33 SLOC of hand-written C.

Good news: this means I should be albe to get away with ./ && ./generate-boilerplate.rb and coding some ruby any time nagaqueen changes.

Building it

Here's all the files related to generating the shitton of C and compiling it all.

  • ./util/ tries to find NagaQueen.c, copies it to ./nagaqueen/nagaqueen.c.
  • ./util/generate-boilerplate.rb: generates approximately 960 lines of ruby/C interop boilerplate in ./nagaqueen/boilerplate.h.
  • ./util/generate-nagaqueen-boilerplate.rb: generates approximately 590 lines of ruby/C interop boilerplate in ./lib/nagaqueen-methods.rb.
  • ./build.rb: builds this monstrous thing.
  • ./test.rb: test this monstrous thing.

In most cases, all you should need is ./build.rb and ./test.rb.

Something went wrong with that request. Please try again.