Syllabus
Introduction to Compilers – Programming language basics – Syntax directed Translators, Interpreters, and Assemblers Structure of a compiler: Lexical analysis – input buffering – Recognition of Tokens – Finite Automata.
Syntax analysis – Context free grammar – writing a grammar – Top-down parsing – bottom up parsing – LR parsing. Sytax directed translation: schemes – evaluation order.
Intermediate code generation: Types and declarations – Translation of expressions – Type-checking – Control flow – Backpatching – Switch-Statements. Code generation: Basic blocks and flow graph – Optimization of basic blocks – Peephole optimization –