136x Filetype PDF File size 0.14 MB Source: www.bvmengineering.ac.in
4CP01: COMPILER DESIGN CREDITS - 4 (LTP: 3, 0, 1) Course objective: To introduce various design concepts of Compiler. Teaching and Assessment Scheme: Teaching Scheme Credits Assessment Scheme (Hours per Week) Total L T P C Theory Marks Practical Marks Marks ESE CE ESE CE 3 0 2 4 60 40 20 30 150 Course Contents: Unit Topics Teaching No Hours 1 Introduction to Language Translators: 6 Language Translators; Elements of Assembly Language Programming; Design of the Assembler; Assembler Design Criteria; Types of Assemblers; Working of assembler; Introduction to linker and loader; Compilers; Analysis of the source program; The phases of Compiler; Cousins of Compiler; The grouping of phases; Compiler construction tools 2 Lexical Analyzer: 8 Introduction to Lexical Analyzer; Input Buffering; Specification of Tokens; Recognition of Tokens; A Language for Specifying Lexical Analyzers; Finite Automata from a Regular Expression; Design of a Lexical Analyzer Generator; Optimization of DFA; LEX and YACC tools 3 Syntax Analysis and Syntax-Directed Definitions (SDD): 14 The role of the parser; Context-free grammars; Writing a grammar; Top- down parsing; Bottom-up Parsing; LR parsers; Construction of Syntax Trees; Bottom-Up Evaluation of S-Attributed definitions; L-Attributed Definitions; Syntax Directed Definitions and translation schemes; Error Detection & Recovery; Ad-Hoc and Systematic Methods 4 Intermediate Code Generation: 03 Different Intermediate Forms; Syntax Directed Translation Mechanisms and Attributed Mechanisms and Attributed Definition 5 Run Time Memory Management: Source Language Issues; Storage 05 Organization; Storage Allocation Strategies and Access to Non local Names; Parameter Passing; Symbol Tables; Language Facilities for Dynamic Storage Allocation; Dynamic Storage Allocation Techniques Unit Topics Teaching No Hours 6 Code Optimization: 04 Global Data Flow Analysis; A Few Selected Optimizations like Command Sub Expression Removal; Loop Invariant Code Motion; Strength Reduction 7 Code Generation: 05 Issues in the Design of a Code Generator; The Target Machine; Run-Time Storage Management; Basic Blocks and Flow Graphs; Next-Use Information; A Simple Code Generator; Register Allocation and Assignment; The DAG Representation of Basic Blocks; Peephole Optimization; Generating Code from DAGs; Design of specifications for compilers Total 45 List of References: 1. A.V.Aho, Ravi Sethi, J.D.Ullman, “Compilers – principles; Techniques and Tools”, Pearson 2. Trembley J.P., Sorenson P.G., “The Theory and Practice of Compiler Writing”, Mcgraw-Hill 3. Steven S. Muchnick, “Advanced Compiler Design & Implementation”, Morgan Kaufmann Publishers. 4. V. Raghavan, “Principles of Compiler Design “, McGrawHill Course Outcomes (COs): At the end of this course students will be able to... 1. Discuss the concepts of Language Translators and applications 2. Explain error recovery techniques 3. Illustrate code optimization phase of Compiler 4. Identify suitable data structures in various phases of Compiler 5. Implement phases of Compiler 6. Explain issues related to code generation
no reviews yet
Please Login to review.