Compiler Construction - Krishnamurthi, Shriram; Odersky, Martin (Springer Berlin Heidelberg, 2007)