Course Code | CS 302 |
Course Name | Introduction to Compilation Techniques |
Offered to | UG |
Pre-requisites | |
Lecture | 3 |
Tutorial | 0 |
Practical | 0 |
Credit | 6 |
Reference | Text Book: Compilers Principles, Techniques and Tools (2nd Edition) by Aho, Sethi, Lam, Ullman |
Description | Description: This course helps the students to learn all the phases of a standard compiler in detail and the students learn to develop a compiler. Syllabus: Phases of a compiler, interpreter, scope, parameter passing mechanisms Lexical analysis, symbol table, language, regular expression, grammar, finite automaton, difficulties in lexical analysis Syntax analysis, context-free languages, push-down automata, top-down parsing, left factoring, left recursion elimination, ambiguity, LL(1) grammar, bottom-up parsing, LR parsing, SLR, CLR, advantages and disadvantages Semantic analysis, synthesized attributes, attribute evaluation strategy, Attributed translation grammar, type checking, type conversion Intermediate code generation, three-address code, syntax tree, triple, quadruple, translation of boolean expressions into three-address code, backpatching Code optimization, basic block, flow graph, local optimization, global optimization, code motion, common-subexpression elimination, peephole optimization, introduction to data-flow analysis Code generation, instruction selection, instruction reordering, register allocation, a simple target machine model. |