CS 9353 PRINCIPLES OF COMPILER DESIGN REGULATIONS 2008 syllabus and question papers
ANNA UNIVERSITY :: CHENNAI 600 025
REGULATIONS – 2008
CURRICULUM FOR B.E. COMPUTER SCIENCE AND ENGINEERING
AIM:
To understand the design and implementation of a simple compiler.
OBJECTIVES:
- To understand the functions of the various phases of a complier
- To learn the overview of the design of lexical analyzer and parser
- To study the design of the other phases in detail.
- To learn the use of compiler construction tools.
UNIT I BASICS OF COMPILATION 9
Compilers – Analysis of source program – Phases of a compiler – Grouping of phases – Compiler Construction tools – Lexical Analyzer: Token specification -Token Recognition- A language for Specifying lexical analyzer– Top down parser : Table implementation of Predictive Parser - Bottom-up Parser : SLR(1) Parser - Parser generators.
UNIT II TYPE CHECKING AND RUNTIME ENVIRONMENTS 9
Syntax directed definitions – Construction of syntax trees – Type systems – Specification of a simple type checker - Equivalence of type expressions – Type conversions – Attribute grammar for a simple type checking system – Runtime Environments: Source language issues – Storage organization – Storage allocation strategies – Parameter
passing.
UNIT III INTERMEDIATE CODE GENERATION 9
Intermediate languages – Declarations – Assignment statements – Boolean expressions– Case statements – Backpatching – Procedure calls.
UNIT IV CODE GENERATION 9
Issues in the design of a code generator – The target machine – Runtime storage management – Basic blocks and flow graphs – Next-use information – A simple code generator – Register allocation and assignment – The DAG representation of basic blocks – Generating code from DAG – Dynamic programming code generation algorithm
– Code-generator generators.
UNIT V CODE OPTIMIZATION 9
Principal sources of optimization – Peephole optimization – Optimization of basic blocks– Loops in flow graphs – Introduction to global data flow analysis – Iterative solution of data flow equations – Code improving transformations – Dealing with aliases.
TOTAL: 45 PERIODS
TEXT BOOK:
1. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman. “Compilers Principles, Techniques and Tools”. Pearson Education, 2008.
REFERENCES
1. Steven S. Muchnick, “Advanced Compiler Design Implementation”, Morgan Koffman, 1997.
2. Charles N. Fischer, Richard J. Leblanc, “Crafting a Compiler with C”, Benjamin Cummings, 1991.
3. Allen Holub, “Compiler Design in C”, Prentice Hall of India, 1990
0 comments :
Post a Comment