Compiler Development


Times Offered Syllabus
Lec-Lab MW 05:00pm-06:20pm

Times are for SPRING 2017
No Syllabus Found
Prerequisites Technologies Studied

(These Courses must be Completed)
Practical applications of techniques used to develop a compiler. Topics include scanners/parsers, intermediate representations, optimization, and the back-end.
Course Description
This course is designed to provide students with a fundamental understanding of how compilers are created. As the focus of most present-day compiler development is on optimization and the back-end, this course will tilt more towards these concepts, though it will touch on the major front-end concepts.

Furthermore, although compilers are the primary topic of this course, it is also the intent to provide students with the extremely valuable experience of working with an existing large-scale code base (specifically LLVM). This includes the requirement to utilize some test-driven development practices.
Why Students Take ITP-439
In this course students will learn:
- Recursive descent parsing
- Semantics and generation of LLVM IR
- Basic LLVM optimization passes
- Basic data-flow analysis in LLVM
- Basic register allocation in LLVM
Course is Part of...
Computer Programming (MINOR)
Computer Programming (SPECIALIZATION)
Register Contact Advisor


Sanjay Madhav