Crafting a compiler - Fischer, Charles N. (Benjamin-Cummings Series in Computer Science, 1988)