Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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.
lib
nagaqueen
test
util
.gitignore
README.md
build.rb
test.rb

README.md

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 ./get-nagaqueen.sh && ./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/get-nagaqueen.sh: 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.