Information Technology Program
News & Events
Industry Advisory Board
Lec-Lab MW 05:00pm-06:20pm
Times are for SPRING 2017
No Syllabus Found
(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.
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...
Open Lab Hours
Faculty Job Opportunities
Schedule of Classes
Maps & Directions
Copyright USC 2017 All Rights Reserved