Compilers: Principles, Techniques, and Tools

You will find that this textbook uses a modular structure for flexible learning.