Unit I Notion and Concepts Introduction to compilers Design issues, passes, phases, symbol table Preliminaries Memory management, Operating system support for compiler, Lexical Analysis Tokens, Regular Expressions, Process of Lexical analysis, Block Schematic, Automatic construction of lexical analyzer using LEX, LEX features and specification. (Chapter - 1) Unit II Parsing Syntax Analysis CFG, top-down and bottom-up parsers, RDP, Predictive parser, SLR, LR(1), LALR parsers, using ambiguous grammar, Error detection and recovery, automatic construction of parsers using YACC, Introduction to Semantic analysis, Need of semantic analysis, type checking and type conversion. (Chapter - 2) Unit III Syntax Translation Schemes Syntax Directed Translation - Attribute grammar, S and L attributed grammar, bottom up and top down evaluations of S and L attributed grammar, Syntax directed translation scheme, Intermediate code - need, types : Syntax Trees, DAG, Three-Address codes : Quadruples, Triples and Indirect Triples, Intermediate code generation of declaration statement and assignment statement. (Chapter - 3) Unit IV Run-time Storage Management Storage Management - Static, Stack and Heap, Activation Record, static and control links, parameter passing, return value, passing array and variable number of arguments, Static and Dynamic scope, Dangling Pointers, translation of control structures - if, if-else statement, Switch-case, while, do -while statements, for, nested blocks, display mechanism, array assignment, pointers, function call and return. Translation of OO constructs : Class, members and Methods. (Chapter - 4) Unit V Code Generation Code Generation - Issues in code generation, basic blocks, flow graphs, DAG representation of basic blocks, Target machine description, peephole optimization, Register allocation and Assignment, Simple code generator, Code generation from labeled tree, Concept of code generator. (Chapter - 5) Unit VI Code Optimization Need for Optimization, local, global and loop optimization, Optimizing transformations, compile time evaluation, common sub-expression elimination, variable propagation, code movement, strength reduction, dead code elimination, DAG based local optimization, Introduction to global data flow analysis, Data flow equations and iterative data flow analysis. (Chapter - 6)