Back


CS 31003 Compilers

(Autumn Semester 2024)

Theory & Laboratory
Bivas Mitra, Abhijit Das

Teaching Assistant
Utsav Basu utsavbasu [AT] kgpian.iitkgp.ac.in
Anamitra Mukhopadhyay anamitra137 [AT] gmail.com
Salma Mandi salmamandi [AT] gmail.com
Arpan Dam ARPANDAM1 [AT] gmail.com
Tarannum Ara tarannum.ara17 [AT] gmail.com
Harsh Borse harshzf2 [AT] gmail.com
Abhijeet Singh abhis131354 [AT] gmail.com
Sugandh Pargal sugandhpargal [AT] gmail.com
Aitipamula Anirudh anirudhaitipamula [AT] gmail.com
Mradul Agrawal mradul [AT] kgpian.iitkgp.ac.in
Swarup Padhi swarup.padhi [AT] kgpian.iitkgp.ac.in


Notices

20.07.2024 First class: July 22, 2024, Mon. Venue: NC 443, Time: 8.00am. Students with ODD roll number should join this class.

Theory

       Lectures
       Evaluation

Laboratory

       Study Materials
       Evaluation
       Assignments

Theory

General Information

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

Room # : NC443
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
     Addison-Wesley

[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	

Evaluation

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

Lectures

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
6. Intermediate Code Generation
7. Target Code Generation
8. Code Optimization
9. Data Flow Analysis

Laboratory (CS39003)

General Information

Lab venue and time : Dept. of CSE (14.00-17.00)

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

Evaluation

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. Yacc tutorial

General Guidelines

Lab Assignments

1. 22.07.2024 - Assignment 0
2. 05.08.2024 - Assignment 1
3. 12.08.2024 - Assignment 2
4. 12.08.2024 - TinyC Part 1
5. 02.08.2024 - Assignment 3
4. 04.08.2024 - TinyC Part 2
5. 30.09.2024 - Assignment 4
5. 04.11.2024 - Assignment 6