CS1352 Principles of Compiler Design Syllabus

CS1352        PRINCIPLES OF COMPILER DESIGN              3 1 0 100

AIM
At the end of the course the student will be able to design and implement a simple compiler.

OBJECTIVES
•    To understand, design and implement a lexical analyzer.
•    To understand, design and implement a parser.
•    To understand, design code generation schemes.
•    To understand optimization of codes and runtime environment.

UNIT I        INTRODUCTION TO COMPILING                    9   
Compilers – Analysis of the source program – Phases of a compiler – Cousins of the Compiler – Grouping of Phases – Compiler construction tools - Lexical Analysis -
Role of Lexical Analyzer – Input Buffering – Specification of Tokens.
   
UNIT II        SYNTAX ANALYSIS                              9                       
Role of the parser –Writing Grammars –Context-Free Grammars – Top Down parsing - Recursive Descent Parsing - Predictive Parsing – Bottom-up parsing - Shift Reduce Parsing – Operator Precedent Parsing - LR Parsers - SLR Parser - Canonical LR Parser - LALR Parser.

UNIT III    INTERMEDIATE CODE GENERATION                 9
Intermediate languages – Declarations – Assignment Statements – Boolean Expressions – Case Statements – Back patching – Procedure calls.

UNIT IV    CODE GENERATION                             9   
Issues in the design of code generator – The target machine – Runtime Storage management – Basic Blocks and Flow Graphs – Next-use Information – A simple Code generator – DAG representation of Basic Blocks – Peephole Optimization.

UNIT V     CODE OPTIMIZATION AND RUN TIME ENVIRONMENTS        9
Introduction– Principal Sources of Optimization – Optimization of basic Blocks – Introduction to Global Data Flow Analysis – Runtime Environments – Source Language issues – Storage Organization – Storage Allocation strategies – Access to non-local names – Parameter Passing. 
 
TUTORIAL                                         15

TOTAL : 60
    TEXT BOOK
1.    Alfred Aho, Ravi Sethi, Jeffrey D Ullman, “Compilers Principles, Techniques and Tools”, Pearson Education Asia, 2003.

    REFERENCES
1.    Allen I. Holub “Compiler Design in C”, Prentice Hall of India, 2003.
2.    C. N. Fischer and R. J. LeBlanc, “Crafting a compiler with C”, Benjamin Cummings, 2003.
3.    J.P. Bennet, “Introduction to Compiler Techniques”, Second Edition, Tata McGraw-Hill, 2003.
4.    Henk Alblas and Albert Nymeyer, “Practice and Principles of Compiler Building with C”, PHI, 2001.
5.    Kenneth C. Louden, “Compiler Construction: Principles and Practice”, Thompson Learning, 2003

Previous
Next Post »

If you still didn't find what you're looking for, you can search this website below: