A toy programming language for a compilers class implemented in ruby