Overview
Compilers have become part and parcel of today’s computer systems. They are responsible for making the user’s computing requirements, specified as a piece of program, understandable to the underlying machine. There tools work as interface between the entities of two different domains – the human being and the machine. The actual process involved in this transformation is quite complex. Automata Theory provides the base of the course on which several automated tools can be designed to be used at various phases of a compiler. Advances in computer architecture, memory management and operating systems provide the compiler designer large number of options to try out for efficient code generation. This course on compiler design is to address all these issues, starting from the theoretical foundations to the architectural issues to automated tools. Being primarily targeted to a one-semester course for the undergraduate students, the course will follow the current GATE syllabus, enabling the students to prepare well for the same. It can also help all other participants looking for an introduction to the domain of compiler designs and code translators.INTENDED AUDIENCE : Undergraduate students of CSE, IT, B.Sc (Computer Science), MCA, MS (Computer Science)PRE-REQUISITES : NILLINDUSTRY SUPPORT : All software industries
Syllabus
Week 1 : Introduction
Week 2 : Lexical Analysis
Week 3 : Parsing – Part I
Week 4 : Parsing – Part II
Week 5 : Parsing – Part III
Week 6 : Syntax Directed Translation
Week 7 : Type Checking and Symbol Tables
Week 8 : Runtime Environment Management – Part I
Week 9 : Runtime Environment Management – Part II
Week 10: Intermediate Code Generation – Part I
Week 11: Intermediate Code Generation – Part II
Week 12: Intermediate Code Generation – Part III
Week 2 : Lexical Analysis
Week 3 : Parsing – Part I
Week 4 : Parsing – Part II
Week 5 : Parsing – Part III
Week 6 : Syntax Directed Translation
Week 7 : Type Checking and Symbol Tables
Week 8 : Runtime Environment Management – Part I
Week 9 : Runtime Environment Management – Part II
Week 10: Intermediate Code Generation – Part I
Week 11: Intermediate Code Generation – Part II
Week 12: Intermediate Code Generation – Part III
Taught by
Prof. Santanu Chattopadhyay