| Unit I |
INTRODUCTION TO COMPILERS |
8 |
|
- Overview of compiler and translator |
|
|
- Types of Compiler |
|
|
- Analysis of the Source Program |
|
|
- The Phases of a compiler |
|
|
- Grouping of phases |
|
|
- Cousins of the Compiler |
|
|
- Design of lexical Analysis |
|
|
- Compiler writing tools |
|
|
- Cross compiler- bootstrapping |
|
| Unit II |
SYNTAX ANALYSIS |
8 |
|
- Review of Context-Free Grammars |
|
|
- Derivation trees and Parse Trees |
|
|
- Ambiguity |
|
|
- Top- Down Parsing |
|
|
- Recursive Descent parsing |
|
|
- Predictive parsing |
|
|
- LL(1) Grammars |
|
|
- Bottom-Up Parsing |
|
|
- Shift Reduce parsing |
|
|
- Operator precedence parsing (Concepts only) |
|
|
- LR parsing |
|
|
- Constructing SLR parsing tables |
|
|
- Constructing Canonical LR parsing tables |
|
|
- Constructing LALR parsing tables |
|
| Unit III |
SEMANTIC ANALYSIS |
8 |
|
- Need of semantic analysis |
|
|
- Abstract Parse trees for Expressions, variables, statements, functions, and class declarations |
|
|
- Syntax directed definitions |
|
|
- Syntax directed translation schemes for declaration processing, type analysis, scope analysis |
|
|
- Symbol Tables (ST) |
|
|
- Organization of ST for block structure and non-block structured languages |
|
|
- Symbol Table management |
|
| Unit IV |
INTERMEDIATE CODE GENERATION AND ERROR RECOVERY |
8 |
|
- Intermediate code generation |
|
|
- Intermediate languages |
|
|
- Design issues |
|
|
- Translation of different language features |
|
|
- Different types of intermediate forms |
|
|
- Error Handling and Recovery in Syntax Analyzer |
|
|
- YACC-Design of a syntax Analyzer for a Sample Language |
|
| Unit V |
CODE OPTIMIZATION |
8 |
|
- Principal Sources of Optimization |
|
|
- DAG- Optimization of Basic Blocks |
|
|
- Global Data Flow Analysis |
|
|
- Efficient Data Flow Algorithms |
|
|
- Issues in Design of a Code Generator |
|
|
- A Simple Code Generator Algorithm |
|
|
- Recent trends and Compiler tools |
|
|
- Advanced topics & its Application |
|
|
- Virtual Machines and Interpretation Techniques |
|
|
- Just-In-Time (JIT) and Adaptive Compilation |
|