Engineering a compiler - Cooper, Keith D. (Elsevier, 2008)