Introduction
Part I: The Basics
1. Introduction to Compilers
2. Returning an Integer
3. Unary Operators
4. Binary Operators
5. Logical and Relational Operators
6. Local Variables
7. If Statements and Conditional Expressions
8. Compound Statements
9. Loops
10. Functions
11. Static Variables
Part II: Implementing Types
12. Long Integers
13. Unsigned Integers
14. Floating-point numbers
15. Pointers
16. Arrays and Pointer Arithmetic
17. Characters and Strings
18. Supporting Dynamic Memory Allocation
19. Structures
Part III: Optimizations
20. Optimizing TACKY Programs
21. Register Allocation
Conclusion: Next Steps
The chapters in red are included in this Early Access PDF.