1.Overview of the Compiler and its Structure : Language processor, Applications of language processors, Definition-Structure-Working of compiler, the science of building compilers, Basic understanding of interpreter and assembler. Difference between interpreter and compiler. Compilation of source code into target language, Cousins of compiler, Types of compiler. (Chapter - 1) 2. Lexical Analysis : The Role of the Lexical Analyzer, Specification of Tokens, Recognition of Tokens, Input Buffering, elementary scanner design and its implementation (Lex), Applying concepts of Finite Automata for recognition of tokens. (Chapter - 2) 3. Syntax Analysis : Understanding Parser and CFG(Context Free Grammars), Left Recursion and Left Factoring of grammar Top Down and Bottom up Parsing Algorithms, Operator-Precedence Parsing, LR Parsers, Using Ambiguous Grammars, Parser Generators, Automatic Generation of Parsers. Syntax-Directed Definitions, Construction of Syntax Trees, Bottom-Up Evaluation of S-Attributed Definitions, L-Attributed Definitions, syntax directed definitions and translation schemes. (Chapters - 3, 4) 4. Error Recovery : Error Detection & Recovery, Ad-Hoc and Systematic Methods. (Chapter - 5) 5. Intermediate-Code Generation : Variants of Syntax Trees, Three-Address Code, Types and Declarations, Translation of Expressions, Type Checking, Syntax Directed Translation Mechanisms, Attributed Mechanisms And Attributed Definition. (Chapter - 6) 6. Run-Time Environments : Source Language Issues, Storage Organization. Stack Allocation of Space, Access to Nonlocal Data on the Stack, Heap Management. (Chapter - 7) 7. Code Generation and Optimization : Issues in the Design of a Code Generator, The Target Language, Addresses in the Target Code, Basic Blocks and Flow Graphs, 8. Instruction-Level Parallelism :