Syllabus  |   Lectures  |   Downloads  |   FAQ  |   Ask a question  |  
Course Co-ordinated by IISc Bangalore
Coordinators
 
Prof. Y.N. Srikanth
IISc Bangalore

 

Download Syllabus in PDF format



Untitled Document
 

This course aims to teach students the principles involved in compiler design. It will cover all the basic components of a compiler but not the advanced material on optimizations and machine code generation. The treatment will be at the level of a graduate course.

Module No
Topic
No. of Hours
1
An overview of a compiler
1
2
Lexical Analysis
3
3
Syntax Analysis
7
4
Semantic Analysis
5
5
Intermediate Code Generation
3.5
6
Run-Time Environments
3
7
Local Optimizations
1
8
Machine Code Generation
4
9
Global Register Allocation
2.5
10
Machine-independent Optimization
6.5
11
Instruction Scheduling and Software Pipelining
2
12
Automatic Parallelization
1.5
Total Hrs
40

    An undergraduate course in automata theory and good knowledge of programming and Linux. No prior knowledge of compiler design will be assumed.


  • A.V. Aho, M.S. Lam, R. Sethi, and J.D. Ullman, Compilers: Principles, Techniques, and Tools, Pearson Education, 2007 (second ed.).

  • K.D. Cooper, and L. Torczon, Engineering a Compiler, Elsevier, 2004.


    Mini projects involving compiler implementation.



Important: Please enable javascript in your browser and download Adobe Flash player to view this site
Site Maintained by Web Studio, IIT Madras. Contact Webmaster: nptel@iitm.ac.in