CS31003/CS39003 Compilers: Theory and Laboratory | Autumn 2025 |
Tentative schedule
Timing: Slot C3 [Mon (10:00am–11:00am), Wed (08:00am–10:00am)] Theory
Section 1 Students with even roll numbers
Instructor: Abhijit Das
Classroom: NC241Section 2 Students with odd roll numbers
Instructor: Aritra Hazra
Classroom: NC341Lab: Software Labs, Old Building, Slot J [Mon (02:00pm–05:00pm)]
Teaching Assistants
Ashwin Prasanth
Budagam Devichand
Chepuri Naga Venkata Varsha
Chinmay Bhusari
Chityala Raviteja
Harsh Sharma
Hunny Chandra
Kaushal Kumar Singh
Narayan Sharma
Raj Pajesh Parikh
Shivang Agrawal
Sunandan AdhikaryNotices and Announcements
- May 15, 2025
- We can accept a few non-CSE students in the theory course. The only selection criterion is the applicants' CGPAs.
For space limitations, we cannot accept any non-CSE student in the lab.Tentative Coverage (Theory)
- Introduction
- Lexical analysis
- Parsing
- Syntax directed translation
- Intermediate code generation
- Target code generation
- Optimization
Books and References
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd edition, Addison-Wesley, 2006 [Indian edition by Pearson, 2014]
- Allen I. Holub, Compiler Design in C, Prentice-Hall, 1990
- Andrew W. Appel, Modern Compiler Implementation in C, Cambridge University Press, 1998
- Steven S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997
- John R. Levine, Doug Brown, Tony Mason, Unix Programming Tools: lex & yacc, second edition, O'Reilly, 1992
Tests
- Class Test 1: End of August
- Class Test 2: Beginning of November
- Mid-Semester Test: To be decided by the Institute
- End-Semester Test: To be decided by the Institute
- Lab Test 1: End of August
- Lab Test 2: Beginning of November
Lab Assignments and Tests
# Topic Date posted More info Warm-up assignment Introduction: A hand-written interpreter for strings 21-Jul-2025 Solution Tutorial on LEX 28-Jul-2025 Slides
Examples: 1 | 2 | 3 | 4 | 5 | 6Submission site