The document outlines the course outcomes and syllabus for a Compiler Design course. The 5 course outcomes cover: understanding compiler phases and tools like LEX and YACC; parser types and construction of parsing tables; syntax-directed translation and attributes; symbol table organization; and code generation and optimization techniques. The syllabus is divided into 5 units that will be taught over 8 lectures each, covering topics like lexical analysis, parsing, syntax-directed translation, symbol tables, code generation, and optimizations.
The document outlines the course outcomes and syllabus for a Compiler Design course. The 5 course outcomes cover: understanding compiler phases and tools like LEX and YACC; parser types and construction of parsing tables; syntax-directed translation and attributes; symbol table organization; and code generation and optimization techniques. The syllabus is divided into 5 units that will be taught over 8 lectures each, covering topics like lexical analysis, parsing, syntax-directed translation, symbol tables, code generation, and optimizations.
The document outlines the course outcomes and syllabus for a Compiler Design course. The 5 course outcomes cover: understanding compiler phases and tools like LEX and YACC; parser types and construction of parsing tables; syntax-directed translation and attributes; symbol table organization; and code generation and optimization techniques. The syllabus is divided into 5 units that will be taught over 8 lectures each, covering topics like lexical analysis, parsing, syntax-directed translation, symbol tables, code generation, and optimizations.
The document outlines the course outcomes and syllabus for a Compiler Design course. The 5 course outcomes cover: understanding compiler phases and tools like LEX and YACC; parser types and construction of parsing tables; syntax-directed translation and attributes; symbol table organization; and code generation and optimization techniques. The syllabus is divided into 5 units that will be taught over 8 lectures each, covering topics like lexical analysis, parsing, syntax-directed translation, symbol tables, code generation, and optimizations.
At the end of course , the student will be able to: Acquire knowledge of different phases and passes of the compiler and also able to use the K3, K6 CO 1 compiler tools like LEX, YACC, etc. Students will also be able to design different types of compiler tools to meet the requirements of the realistic constraints of compilers. Understand the parser and its types i.e. Top-Down and Bottom-up parsers and construction of K2, K6 CO 2 LL, SLR, CLR, and LALR parsing table. Implement the compiler using syntax-directed translation method and get knowledge about the K4, K5 CO 3 synthesized and inherited attributes. Acquire knowledge about run time data structure like symbol table organization and different K2, K3 CO 4 techniques used in that. Understand the target machine’s run time environment, its instruction set for code generation K2, K4 CO 5 and techniques used for code optimization. DETAILED SYLLABUS 3-0-0 Unit Topic Proposed Lecture Introduction to Compiler: Phases and passes, Bootstrapping, Finite state machines and regular expressions and their applications to lexical analysis, Optimization of DFA-Based Pattern Matchers I implementation of lexical analyzers, lexical-analyzer generator, LEX compiler, Formal grammars 08 and their application to syntax analysis, BNF notation, ambiguity, YACC. The syntactic specification of programming languages: Context free grammars, derivation and parse trees, capabilities of CFG. Basic Parsing Techniques: Parsers, Shift reduce parsing, operator precedence parsing, top down parsing, predictive parsers Automatic Construction of efficient Parsers: LR parsers, the canonical II 08 Collection of LR(0) items, constructing SLR parsing tables, constructing Canonical LR parsing tables, Constructing LALR parsing tables, using ambiguous grammars, an automatic parser generator, implementation of LR parsing tables. Syntax-directed Translation: Syntax-directed Translation schemes, Implementation of Syntax- directed Translators, Intermediate code, postfix notation, Parse trees & syntax trees, three address III code, quadruple & triples, translation of assignment statements, Boolean expressions, statements 08 that alter the flow of control, postfix translation, translation with a top down parser. More about translation: Array references in arithmetic expressions, procedures call, declarations and case statements. Symbol Tables: Data structure for symbols tables, representing scope information. Run-Time IV Administration: Implementation of simple stack allocation scheme, storage allocation in block 08 structured language. Error Detection & Recovery: Lexical Phase errors, syntactic phase errors semantic errors. Code Generation: Design Issues, the Target Language. Addresses in the Target Code, Basic V Blocks and Flow Graphs, Optimization of Basic Blocks, Code Generator. Code optimization: 08 Machine-Independent Optimizations, Loop optimization, DAG representation of basic blocks, value numbers and algebraic laws, Global Data-Flow analysis. Text books: 1. Aho, Sethi & Ullman, "Compilers: Principles, Techniques and Tools”, Pearson Education 2. K. Muneeswaran,Compiler Design,First Edition,Oxford University Press 3. J.P. Bennet, “Introduction to Compiler Techniques”, Second Edition, McGraw-Hill,2003. 4. Henk Alblas and Albert Nymeyer, “Practice and Principles of Compiler Building with C”, PHI, 2001. 5. V Raghvan, “ Principles of Compiler Design”, McGraw-Hill, 6. Kenneth Louden,” Compiler Construction”, Cengage Learning. 7. Charles Fischer and Ricard LeBlanc,” Crafting a Compiler with C”, Pearson Education
Curriculum & Evaluation Scheme CS & CSE (V & VI semester) 5