CSC 412 - Compiler Construction
Catalog Description:The course will concentrate on the theory and practice of compiler-writing. Topics to be covered will include techniques for parsing, code generation, and optimization. Furthermore, the theoretical underpinnings of compilers such as LR parsing will be covered. Finally, the students will be exposed to compiler construction tools, and will obtain hands-on experience in building a compiler for a small programming language. Besides the listed prerequisite courses, other helpful courses include CSC 253, CSC 224, CSC 234, and MA 121.
Contact Hours:
- Lecture: 3 hours
Co-requisites: None
Restrictions: None
Coordinator: Dr. Xipeng Shen
Textbook: Engineering a Compiler
Course Outcomes:
By the end of this course students will be able to:
- design and implement algorithms for scanners, parsers, semantic analyzers, and code generators;
- critique different implementation choices and analysis approaches;
- understand the fundamental theory on regular expression, DFA, NFA, context-free and context-sensitive grammars;
- reiterate basic algorithms for register allocation, instruction scheduling, instruction selection;
- explain several common techniques used in code optimizations and the major challenges in static code optimizations;
Topics:
- Introduction
- Scanner
- Parser
- IR
- Procedure
- Code optimization
- Code shape
- Backend & Summary
See Course Listings