0% found this document useful (0 votes)
49 views12 pages

Autumn Semester: 2011 - 2012: Instructor: Department

This document provides information about the compilers course CS31003 at IIT Kharagpur for the autumn semester of 2011-2012. It outlines the class schedule, test and marking scheme, syllabus, instructor details, teaching assistants, and recommended textbooks. The course will cover topics in compilers including lexical analysis, syntax analysis, semantic analysis, code generation and optimization. It is taught by Professor Goutam Biswas and has 39 theory classes, 13 lab classes, and exams on August 24, September 23, and November 18.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views12 pages

Autumn Semester: 2011 - 2012: Instructor: Department

This document provides information about the compilers course CS31003 at IIT Kharagpur for the autumn semester of 2011-2012. It outlines the class schedule, test and marking scheme, syllabus, instructor details, teaching assistants, and recommended textbooks. The course will cover topics in compilers including lexical analysis, syntax analysis, semantic analysis, code generation and optimization. It is taught by Professor Goutam Biswas and has 39 theory classes, 13 lab classes, and exams on August 24, September 23, and November 18.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

' $

Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 1

Compilers: CS31003

 
Autumn Semester: 2011 - 2012 

Instructor: Goutam Biswas


Department: Computer Science
and Engineering
Compilers Laboratory: CS39003

& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 2

Class, Test & Marks Distribution

• Expected number of theory classes: 39, laboratory


classes: 13.
• Class Test & Assignments - 24th Aug., 2011 (class
test) - 20 marks
• Mid-Sem. Exam. - 23rd Sept., 2011 - 30 marks
• End-Sem. Exam. - 18t h Nov., 2011 - 50 marks
• Attendance - Institute Rule

& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 3

Class Timings

Class Room No. CS-119


Day Time
Monday 09:30 to 10:25
Wednesday 07:30 to 08:25 (extra)
Wednesday 08:30 to 09:25
Thursday 09:30 to 10:25

& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 4

Syllabus - Compiles (CS31003)

The aim is to learn the basic design and


implementation of a simple compiler for a small
imperative language. It is also essential to learn
the underlying theories.

& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 5

Syllabus - Compiles (CS31003)

• Introduction: Phases of compilation and overview.


• Lexical Analysis (scanner): Regular languages, finite
automata, regular expressions, from regular
expressions to finite automata, scanner generator (lex,
flex).
• Syntax Analysis (Parser): Context-free languages and
grammars, push-down automata, LL(1) gram-mars
and top-down parsing, operator grammars, LR(O),
SLR(1), LR(1), LALR(1) grammars and bottom-up
parsing, ambiguity and LR parsing, LALR(1) parser
generator (yacc, bison)
& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 6

Syllabus - Compiles (CS31003)

• Semantic Analysis: Attribute grammars, syntax


directed definition, evaluation and flow of attribute in
a syntax tree.
• Symbol Table: Its structure, symbol attributes and
management
• Run-time environment: Procedure activation,
parameter passing, value return, memory allocation,
and scope.
• Intermediate Code Generation: Translation of
different language features, different types of

& %
intermediate forms.
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 7

Syllabus - Compiles (CS31003)

• Code Improvement (optimization): Analysis:


control-flow, data-flow dependence etc.; Code
improvement local optimization, global optimization,
loop optimization, peep-hole optimization etc.
Architecture dependent code improvement:
instruction scheduling (for pipeline), loop
optimization (for cache memory) etc.
• Register allocation and target code generation
• Advanced topics: Type systems, data abstraction,
compilation of Object Oriented features and
non-imperative programming languages.
& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 8

Instructor

Name Tel. No. email


Goutam Biswas 281910 (o) [email protected]
277399 (r) [email protected]
81014 57316 (m)

• Coordinates: Department of Computer Science and


Engineering, 1st Floor, Room No. 207.
• Web Page: http://cse.iitkgp.ac.in/∼goutam/

& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 9

Teaching Assistant (TA)

Name Tel. No. email


Bhanu Kishore Diddi 7501463408 bhanukishore22@· · ·

Manaal Faruqui 9932900944 manaalfar@· · ·

Soma Saha 9231737881 buria soma@yahoo· · ·

Avijit Das 9831290675 avijit.nits@· · ·

Anshul Gupta 9735451554 anshulluhsna@· · ·

Gaurab Basu 9432274087 basugaurab88@· · ·

cse· · · ≡ cse.iitkgp.ernet.in, @ · · · ≡ gmail.com,


yahoo· · · ≡ yahoo.co.in
& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 10

Text Books

• Compilers Principles, Techniques, and Tools, by A. V.


Aho, Monica S. Lam, R. Sethi, & J. D. Ullman, 2nd ed.,
ISBN 978-81317-2101-8, Pearson Ed., 2008(text book)
• Engineering a Compiler, by Keith D. Cooper & Linda
Troczon, (2nd ed.) ISBN 81-8147-369-8, Morgan
Kaufmann, Elsevier, 2004 (1st reference)
• Programming Language Pragmatics, by Michael L.
Scott, ISBN 81-312-0737-4, Morgan Kaufmann,
Elsevier, 2006
• Compiler design, by Santanu Chattopadhyay, ISBN
81-203-2725-X, PHI, 2005
& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 11

Text Books

• Advanced Compiler Design and Implementation by,


Steven S. Muchnick, ISBN 981-4066-24-9, Morgan
Kaufmann, Elsevier, 2000
• Optimizing Compilers for Modern Architectures, by
Randy Allen & Ken Kennedy, ISBN 81-8147-366-3,
Morgan Kaufmann, Elsevier, 2002
• Modern Compiler Implementation in C, by Andrew
W. Appel, ISBN 81-7596-071-X, CUP
• Practice and Principles of Compiler Building with C,
by Henk Alblas & Albert Nymeyer, ISBN
81-203-1362-3, PHI
& %
Lect 0 Goutam Biswas
' $
Compilers: CS31003 Computer Sc & Engg: IIT Kharagpur 12

Text Books

• Introduction to Compiling Techniques A first course


using ANSI C, Lex and Yacc, by J. P. Bennett, ISBN
0-07-053073-4, TMH
• lex & yacc by, John R levine, Tony Mason & Doug
Brown, ISBN 81-7366-062-X, SPD - O’Reilly
• Principles of Compiler Design, by V Raghavan, ISBN:
978-0-07-014471-2, McGraw Hill.

& %
Lect 0 Goutam Biswas

You might also like