In the time since the 1986 edition of this book, the world of compiler design has changed significantly. Programming languages have evolved to present new compilations problems. Computer architectures offer a variety of resources of which the compiler designer must take advantage. Perhaps most interestingly, the venerable technology of code optimization has found use outside compilers. It is no…