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