CS 31003 Compilers

(Autumn Semester 2022)

Theory & Laboratory
Bivas Mitra, Pralay Mitra

Teaching Assistant
Debasree Das debasreedas1994 [AT]
Salma Mandi salmamandi [AT]
Arpan Dam ARPANDAM1 [AT]
Suryansh Kumar suryanshkumar3 [AT]
B Smayan Das smayanrut99 [AT]
Ishan Sharma ishans996 [AT]
Abhinav Bohra abhinavbohra09 [AT]
Kandi Vishnu Vardhan Reddy vishnuvardhanreddykandi [AT]
Dibya Kanti Haldar dibyohaldar72 [AT]
Purnima Gautam purnimagautam94 [AT]


15.09.2022 Lab Assignment 4 is up.
13.09.2022 Extra class on Sep. 15 (Thu) from 16.00-17.00 after the Compilers Lab. Venue: NR321
07.09.2022 Extra class on Sep. 8 (Thu) from 15.55-17.00. Venue: NR321
29.08.2022 Class Test 1 and Lab Quiz 1 have been scheduled on Sep 1, 14.00-17.00. Venue: Dept. of CSE.
25.08.2022 Lab Assignment 3 is up.
11.08.2022 Lab Assignment 2 is up.
4.08.2022 Lab Assignment 1 is up.
1.08.2022 First class: Aug 2, 2022, Tue. Venue: NC 341, Time: 8.00am. Students with ODD roll number should join this class (Section 1).




       Study Materials


General Information

Lectures : MON(11:00-12:00), TUE(8:00-10:00)

Room # : NC341
Units : 3-0-2
Credits : 3 (Theory)
Contact : Room #322 (CSE), Phone 82358

Important!: Class attendance is mandatory! Any time your attendance falls below 85%, you have 100% chance of being de-registered irrespective of your class performance, CGPA etc!

Attendance Policy

If you are not present in the class (or do not respond), when I call by your name (may be randomly or sequentially....surprise!), you will lose 1.5 credit (instead of one) for the attendance for that week. If that happens twice in a week, you will be marked as absent for the entire week (i.e. you will lose all the three credits for attendance for that week).

Text Books (Theory and Lab):

[1]  Aho, A. V., Sethi, R. and Ullman, J. D.
     Compilers - Principles, Techniques and Tools

[2] Advanced Compiler Design Implementation
    Steven S. Muchnick
    Elsevier, 2003

[3] Compiler Design in C, Allen Holub

[4] Modern compiler implementation in C by Appel

[5] System Software: An Introduction to Systems Programming
    Leland L. Beck,  Addison-Wesley.
[6] Systems Programming,  John J. Donovan, 
    McGraw - Hill Education	


Teacher's Assessment (Class Test I & II, Attendance) : 20
Mid-sem : 30
End-sem : 50


Slides just contain very informal outlines of the topics; details will be discussed in the class.

1. Course Details
2. Compiler overview
3. Lexical Analysis
4. Syntax Analysis & Parser
5. Syntax-Directed Translation

Laboratory (CS39003)

General Information

Lab venue and time : NR321, THU (14.00-17.00)

Units : 3-0-2
Credits : 2 (Lab)


Regular Assignments: 60 (Individual weight of each assignment will be announced later)
Lab Tests: 40 (Two Lab Quizzes)

Study Materials

1. Understanding x86-64 Assembly
2. x86-64 Machine Programming
3. Using Assembly Language in Linux
4. Creating Library
5. Lex tutorial
6. Bison/YACC tutorial

General Guidelines

Lab Assignments

1. 04.08.2022 - Assignment 1
2. 11.08.2022 - Assignment 2
3. 25.08.2022 - Assignment 3
4. 15.09.2022 - Assignment 4