Building a compiler in Ruby