affiliate marketing

Saturday 17 December 2011

PRINCIPLES OF COMPILER DESIGN


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

No comments:

Post a Comment