A Practical Approach to Compiler Construction | Des Watson