Thursday, September 16, 2010

CS1352 PRINCIPLES OF COMPILER DESIGN


ANNA UNIVERSITY CHENNAI: CHENNAI – 600 025
B.E DEGREE PROGRAMME COMPUTER SCIENCE AND ENGINEERING
(Offered in Colleges affiliated to Anna University)
CURRICULUM AND SYLLABUS – REGULATIONS – 2004 SEMESTER
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

0 comments:

Post a Comment