Text this: Principles of compiler design