CS620T: Compilers - Principles and Implementation
Autumn 2026
Room CLT309 - Tuesdays (8:30AM - 9:55AM), Thursdays (10AM to 11:55AM)
About the Course
Description:
This course focuses on the principles of compiler design and implementation in the context of LLVM. Topics include:
- Scanning and parsing: determining the syntactic structure of a program
- Semantic routines: determining the meaning of a program and building intermediate representation
- Code generation: emitting equivalent code for the program
- Optimizations: improving the performance of a program
- Program analysis and transformation: determining interesting information about program's behavior
Details:
The course syllabus discusses most of the details of the course, including a tentative schedule of topics, exam dates, and other administrative information. Announcements, assignment links, and discussion will be posted on the Google classroom. If you have a question about a concept covered in lecture or about a detail of an assignment, check the discussion page first!
Instructor:
Nikhil Hegde
nikhilh 'at' iitdh 'dot' ac 'dot' in
TAs:
Nithin Damarla
cs25mt017 'at' iitdh 'dot' ac 'dot' in
Lecture Schedule and Notes
Some of the slides are based on those designed by Prof. Kulkarni and Prof. Aiken
- Week 1 (4/8, 6/8): Syllabus, Course Overview, Structure of a Compiler, Implementation of a Scanner; Slides
- Week 2 (11/8, ): Scanner implementation overview (howto), Parsers Slides
Quizzes, Homework Assignments, and Exams
All homework assignments are due at 11:59PM unless otherwise announced. Assignment and exam details will be posted during the semester.
Code examples are placed in Github repository here