CS712/CS812
Compiler Design
Outline
- Compiler design overview (ASU: 1.1-1.6, 2.1-2.9, 3.1-3.5;
CT: 1.1-1.7, 3.1-3.2)
- Type representation and declaration processing (ASU: 6.1-6.3, 8.2;
CT: 4.2, 4.4)
- Symbol table implementation (ASU: 7.6; CT: 5.7, 6.3)
- Building and processing abstract syntax trees (ASU: 5.1-5.2;
CT: 4.1, 4.4)
- Processing expressions (ASU: 6.1-6.4, 7.4-7.5, 8.3, 8.7;
CT: 4.4, 7.1-7.6)
- Processing control structures (ASU: 8.4-8.5; CT: 7.8)
- LL parsing (ASU: 4.1-4.4; CT: 3.3)
- LR parsing (ASU: 4.7; CT: 3.4-3.5)
- Generating scanners from regular set notation (ASU: 3.5-3.9;
CT: 2.1-2.5)
- Reading language specifications (The Java Language Specification, Third Edition)
- Implementing object-oriented languages (CT: 7.10)
Note: ASU is Compilers: Principles, Techniques and Tools by
Aho, Sethi and Ullman. CT is Engineering a Compiler by
Cooper and Torczon.
Both of these books are on reserve in the Kingsbury Library.
The readings are not required. They are intended to be supplementary
to the course lectures. ASU is the "classic" reference for compiler
construction, but a bit dated. CT is a new reference, but perhaps
a bit advanced for this course. Use either one of these, or neither,
according to what works best for you.
Last modified on January 21, 2008.
Comments and questions should be directed to
hatcher@unh.edu