Text this: The Theory of parsing, translation, and compiling