Syllabus

Course Code: MCA-20-24    Course Name: Elective-I - (iii) Compiler Design

MODULE NO / UNIT COURSE SYLLABUS CONTENTS OF MODULE NOTES
1 Compilers and Translators, Need of Translators, Tools used for compilation, Structure of Compiler, Single-Pass and Multi-Pass Compilers, Bootstrapping, Compiler Construction Tools, Phases of Compilation process, Classification of grammars.
Lexical Analysis: Design, Finite Automata and Regular Expressions, Process of Lexical Analysis, Lexical Analyzer generators, Derivations and parse trees.
2 Parsing Techniques: Top down Parsing- Predictive Parsers, Left Recursion and its removal, Recursive Descent Parsers, LL Grammars.
Bottom-up parsing: Shift Reduce Parsing, Operator Precedence Parsing, LR Parsers, LR grammars, Comparison of parsing methods, Parser Generators.
3 Semantic Analysis: Syntax-Directed Translation Schemes.
Building Symbol Table, Data Structures for symbol table, representing scope information. An overview of Run-time Storage Administration.
Error Detection and Recovery: Errors, Lexical-Phase Errors, Syntactic Phase Errors, Semantic Errors.
4 Intermediate Source Forms: Postfix Notation, Syntax Trees, Triples & Quadruples.
Code Optimization: Potential cases of Code Optimization, Optimization of basic blocks, Local and Global optimizations, Code Improving Transformation.
Code Generator: Issues in the design of a code generator.
Copyright © 2020 Kurukshetra University, Kurukshetra. All Rights Reserved.