The course will enable the students to
Course Learning Outcomes (CLOs):
Learning Outcome (at course level) Students will be able to: | Learning and teaching strategies | Assessment Strategies |
| Approach in teaching: Interactive Lectures, Modeling, Discussions, implementing enquiry based learning, student centered approach, Through audio-visual aids
Learning activities for the students: Experiential Learning, Presentations, Discussions, Quizzes and Assignments
|
|
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.
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.
Intermediate languages – Declarations – Assignment Statements – Boolean Expressions – Case Statements – Back patching – Procedure calls
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.
ntroduction– 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.