Compiler Design
Compiler Design
COMPUTER ENGINEERING
B. E. SEMESTER: VII
Subject Name: Compiler Design Subject Code: 170701
Teaching Scheme
Theory Tutorial Practical Total
Evaluation Scheme
University Exam (E) Theory Practical 70 30 Mid Sem Exam (Theory) (M) 30 Practical (Internal)
20
Sr. No. 1.
Course Contents Overview of the Translation Process, A Simple Compiler, Difference between interpreter, assembler and compiler. Overview and use of linker and loader , types of Compiler, Analysis of the Source Program, The Phases of a Compiler, Cousins of the Compiler, The Grouping of Phases, Lexical Analysis, Hard Coding and Automatic Generation Lexical Analyzers, Front-end and Back-end of compiler, pass structure Lexical Analyzer Introduction to Lexical Analyzer, Input Buffering, Specification of Tokens, Recognition of Tokens, A Language for Specifying Lexical Analyzers, Finite Automata From a Regular Expression, Design of a Lexical Analyzer Generator, Optimization of DFA Parsing Theory Top Down and Bottom up Parsing Algorithms, Top-Down Parsing, Bottom-Up Parsing, Operator-Precedence Parsing, LR Parsers, Using Ambiguous Grammars, Parser Generators, Automatic Generation of Parsers. Syntax-Directed Definitions, Construction of Syntax Trees, Bottom-Up Evaluation of S-Attributed Definitions, L-Attributed Definitions, syntax directed definitions and translation schemes Error Recovery Error Detection & Recovery, Ad-Hoc and Systematic Methods
Total Hrs 06
2.
08
3.
10
4.
06
5.
Intermediate Code Generation Different Intermediate Forms, Syntax Directed Translation Mechanisms And Attributed Mechanisms And Attributed Definition. Run Time Memory Management Source Language Issues, Storage Organization, Storage-Allocation Strategies, and Access to Non local Names, Parameter Passing, Symbol Tables, and Language Facilities for Dynamic Storage Allocation, Dynamic Storage Allocation Techniques. Code Optimization Global Data Flow Analysis, A Few Selected Optimizations like Command Sub Expression Removal, Loop Invariant Code Motion, Strength Reduction Etc. Code Generation Issues in the Design of a Code Generator, The Target Machine, Run-Time Storage Management, Basic Blocks and Flow Graphs, Next-Use Information, A Simple Code Generator, Register Allocation and Assignment, The DAG Representation of Basic Blocks, Peephole Optimization, Generating Code from DAGs, Dynamic Programming Code-Generation Algorithm, Code-Generator Generators.
06
6.
06
7.
06
8.
06
Text Books:
1. Compiler Tools Techniques - A.V.Aho, Ravi Sethi, J.D.Ullman, Addison Wesley 2. The Theory And Practice Of Compiler Writing - Trembley J.P. And Sorenson P.G. Mcgraw-Hill
Reference Books:
1. Modern Compiler Design - Dick Grune, Henri E. Bal, Jacob, Langendoen, WILEY India 2. Compiler Construction - Waite W.N. And Goos G., Springer Verlag 3. Compiler Construction-Principles And Practices - D.M.Dhamdhere, Mcmillian 4. Principles of Compiler Design, V. Raghavan, McGrawHill