Welcome to ECE Compiler Course, Fall 2023!
last update:Latest News
- Submit your teaching evaluation by Dec 10 and get one bonus point
- No class on Fri, Dec 8th
- Late submissions will be accepted until 5pm Fri, Dec 8th (no late penalty)
- Final Exam info released - Dec 1st
- No class from Monday, 20th to Monday, Nov 27th - Happy Thanksgiving!
- Step 8 is released - Nov 10th
- Midterm 2 info released - Oct 23rd
- PSet 4 is released - Oct 16th
- PSet 3 is released - Oct 2nd
- Midterm 1 info released - Sep 20th
- PSet 2 is released - Sep 5th
- Steps 1-7 are released - Sep 3rd
- PSet 1 is released - Aug 24th
- Step 0 is released! - Mon, Aug, 21st
- Course website is now live!! - Tue, Aug 8th
Course Description
This course focuses on the design and construction of compilers and other translators. Topics include:
- Compilation goals and organization of a translator
- Grammars and languages
- Symbol tables, lexical analysis and syntax analysis (parsing)
- Error handling, intermediate and final code generation
- Assemblers and interpreters
- An introduction to optimization
Emphasis is on engineering a compiler or interpreter for a small programming language, typically a C or Pascal subset. Projects involve the stepwise implementation (and documentation) of such a system.
Course Details
All students in both on-campus and online sections will have access to these online course materials:
- Website (one-stop shop, reference implementation)
- Brightspace (lecture videos, quizzes, grades): 468, 573
- Gradescope (problem sets): 468, 573
- Piazza (Q&A): 468/573, 595
Instructors
Xiaokang Qiu
- Office: BHEE 329
- Email Address: xkqiu (at) purdue (dot) edu
- Office Hours: MW 12:25-1:25 (in-person), Th 2:00-3:00 (virtual)
Teaching Assistants
Pranab Dash
- Office: BHEE 317
- Email Address: dashp (at) purdue (dot) edu
- Office Hours: TuTh 10:00-12:00 (in-person), WF 9:30-10:30 (virtual)
Jason Jones
- Office: BHEE 208
- Email Address: jone2078 (at) purdue (dot) edu
- Office Hours: M 2:00-3:00 (Hybrid), Tu 3:00-5:00 (Virtual)