Modern Compiler Implementation in Java
Andrew W. Appel
Cambridge University Press, 1998