Crafting a compiler - Fischer, Charles N. (Addison-Wesley, 2010)