Tuesday, 8 May 2018

Compiler Design - Lecture Notes, Study Materials and Important questions answers



Compiler Design
- Lecture Notes, Study Materials and Important questions answers




Subject : Compiler Design

INTRODUCTION TO COMPILERS

LEXICAL ANALYSIS

SYNTAX ANALYSIS

SYNTAX DIRECTED TRANSLATION & RUN TIME ENVIRONMENT

CODE OPTIMIZATION AND CODE GENERATION

LEXICAL ANALYSIS

  1. Algorithms for Solving Nonlinear Equations - Answer (click here)
  2. Introduction to Compiling Compilers - Answer (click here)
  3. Analysis of the source program - Answer (click here)
  4. The Phases of a Compiler - Answer (click here)
  5. Cousins of Compiler - Answer (click here)
  6. Grouping of the Phases - Answer (click here)
  7. Compiler Construction Tools - Answer (click here)
  8. Lexical Analysis - Answer (click here)
  9. Input Buffering - Answer (click here)
  10. Specification of Tokens - Answer (click here)
  11. Recognition of Tokens - Answer (click here)
  12. A Language For Specifying Lexical Analyzer - Answer (click here)
  13. Important Short Questions and Answers : Principles of Compiler Design - Lexical Analysis - Answer (click here)

SYNTAX ANALYSIS and RUN TIME ENVIRONMENTS

  1. Syntax Analysis - Answer (click here)
  2. The Role of Parser - Answer (click here)
  3. Context-Free Grammars - Answer (click here)
  4. Writing a Grammar - Answer (click here)
  5. Top down parsing and Bottom up Parsing - Answer (click here)
  6. Constructing SLR(1) Parsing Table - Answer (click here)
  7. Type Checking - Answer (click here)
  8. Specification of a Simple Type Checker - Answer (click here)
  9. Run-Time Environments - Source Language Issues - Answer (click here)
  10. Storage Organization - Answer (click here)
  11. Storage Allocation Strategies - Answer (click here)
  12. Important Short Questions and Answers: Syntax Analysis and Run-Time Environments - Answer (click here)

INTERMEDIATE CODE GENERATION

  1. Intermediate Languages - Answer (click here)
  2. Declarations - Answer (click here)
  3. Assignment Statements - Answer (click here)
  4. Boolean Expressions - Answer (click here)
  5. Case Statements - Answer (click here)
  6. Backpatching - Answer (click here)
  7. Procedure Calls - Answer (click here)
  8. Important Short Questions and Answers: Principles of Compiler Design - Intermediate Code Generation - Answer (click here)

CODE GENERATION

  1. Issues in the design of a code generator - Answer (click here)
  2. Target Machine - Answer (click here)
  3. Run-Time Storage Management - Answer (click here)
  4. Basic Blocks and Flow Graphs of Code Generation - Answer (click here)
  5. A Simple Code Generator - Answer (click here)
  6. Register Allocation and Assignment - Answer (click here)
  7. The Dag Representation For Basic Blocks - Answer (click here)
  8. Generating Code From DAGs - Answer (click here)
  9. Important Short Questions and Answers: Compiler Design - Code Generation - Answer (click here)

CODE OPTIMIZATION

  1. Code Optimization - Answer (click here)
  2. Principal Sources of Optimisation - Answer (click here)
  3. Peephole Optimization - Answer (click here)
  4. Optimization of Basic Blocks - Answer (click here)
  5. Loops in Flow Graph - Answer (click here)
  6. Introduction to Global Dataflow Analysis - Answer (click here)
  7. Code Improvig Transformations - Answer (click here)
  8. Glossary - Principles of Compiler Design - Answer (click here)
  9. Tutorial problems and worked out examples - Principles of Compiler Design - Answer (click here)
  10. Important Short Questions and Answers: Code optimization - Answer (click here)

Compilers Principles Techniques and Tools by Alfred V Aho Monica S Lam Ravi Sethi Jeffrey D Ullman

Chapter 1 Introduction

  1. Compilers - Principles, Techniques, & Tools - Answer (click here)
  2. Language Processors - Answer (click here)
  3. The Structure of a Compiler - Answer (click here)
  4. The Evolution of Programming Languages - Answer (click here)
  5. The Science of Building a Compiler - Answer (click here)
  6. Applications of Compiler Technology - Answer (click here)
  7. Programming Language Basics - Answer (click here)

Chapter 2 Simple Syntax Directed Translator

  1. A Simple Syntax-Directed Translator - Answer (click here)
  2. Syntax Definition - Answer (click here)
  3. Syntax-Directed Translation - Answer (click here)
  4. Parsing - Answer (click here)
  5. A Translator for Simple Expressions - Answer (click here)
  6. Lexical Analysis - Answer (click here)
  7. Symbol Table Per Scope and Use of Symbol Tables - Answer (click here)
  8. Intermediate Code Generation - Answer (click here)

Chapter 3 Lexical Analysis

  1. Lexical Analysis - Answer (click here)
  2. The Role of the Lexical Analyzer - Answer (click here)
  3. Input Buffering: Buffer Pairs, Sentinels - Answer (click here)
  4. Specification of Tokens - Answer (click here)
  5. Recognition of Tokens - Answer (click here)
  6. The Lexical-Analyzer Generator Lex - Answer (click here)
  7. Finite Automata - Answer (click here)
  8. From Regular Expressions to Automata - Answer (click here)
  9. Design of a Lexical-Analyzer Generator - Answer (click here)
  10. Optimization of DFA-Based Pattern Matchers - Answer (click here)

Chapter 4 Syntax Analysis

  1. Syntax Analysis - Answer (click here)
  2. Context-Free Grammars - Answer (click here)
  3. Writing a Grammar - Answer (click here)
  4. Top-Down Parsing - Answer (click here)
  5. Bottom-Up Parsing - Answer (click here)
  6. Introduction to LR Parsing: Simple LR - Answer (click here)
  7. More Powerful LR Parsers - Answer (click here)
  8. Using Ambiguous Grammars - Answer (click here)
  9. Parser Generators - Answer (click here)

Chapter 5 Syntax Directed Translation

  1. Syntax-Directed Translation - Answer (click here)
  2. Syntax-Directed Definitions - Answer (click here)
  3. Evaluation Orders for SDD's - Answer (click here)
  4. Applications of Syntax-Directed Translation - Answer (click here)
  5. Syntax-Directed Translation Schemes - Answer (click here)
  6. Implementing L-Attributed SDD's - Answer (click here)

Chapter 6 Intermediate Code Generation

  1. Intermediate-Code Generation - Answer (click here)
  2. Variants of Syntax Trees - Answer (click here)
  3. Three-Address Code - Answer (click here)
  4. Types and Declarations - Answer (click here)
  5. Translation of Expressions - Answer (click here)
  6. Type Checking - Answer (click here)
  7. Control Flow - Answer (click here)
  8. Backpatching - Answer (click here)
  9. Switch-Statements - Answer (click here)
  10. Intermediate Code for Procedures - Answer (click here)

Chapter 7 Run Time Environments

  1. Run-Time Environments - Answer (click here)
  2. Storage Organization - Answer (click here)
  3. Stack Allocation of Space - Answer (click here)
  4. Access to Nonlocal Data on the Stack - Answer (click here)
  5. Heap Management - Answer (click here)
  6. Introduction to Garbage Collection - Answer (click here)
  7. Introduction to Trace-Based Collection - Answer (click here)
  8. Short-Pause Garbage Collection - Answer (click here)
  9. Advanced Topics in Garbage Collection - Answer (click here)

Chapter 8 Code Generation

  1. Code Generation - Answer (click here)
  2. Issues in the Design of a Code Generator - Answer (click here)
  3. The Target Language - Answer (click here)
  4. Addresses in the Target Code - Answer (click here)
  5. Basic Blocks and Flow Graphs - Answer (click here)
  6. Optimization of Basic Blocks - Answer (click here)
  7. A Simple Code Generator - Answer (click here)
  8. Peephole Optimization - Answer (click here)
  9. Register Allocation and Assignment - Answer (click here)
  10. Instruction Selection by Tree Rewriting - Answer (click here)
  11. Optimal Code Generation for Expressions - Answer (click here)
  12. Dynamic Programming Code-Generation - Answer (click here)

Chapter 9 Machine Independent Optimizations

  1. Machine-Independent Optimizations - Answer (click here)
  2. The Principal Sources of Optimization - Answer (click here)
  3. Introduction to Data-Flow Analysis - Answer (click here)
  4. Foundations of Data-Flow Analysis - Answer (click here)
  5. Constant Propagation - Answer (click here)
  6. Partial-Redundancy Elimination - Answer (click here)
  7. Loops in Flow Graphs - Answer (click here)
  8. Region-Based Analysis - Answer (click here)
  9. Symbolic Analysis - Answer (click here)

Chapter 10 Instruction Level Parallelism

  1. Instruction-Level Parallelism - Answer (click here)
  2. Processor Architectures - Answer (click here)
  3. Code-Scheduling Constraints - Answer (click here)
  4. Basic-Block Scheduling - Answer (click here)
  5. Global Code Scheduling - Answer (click here)
  6. Software Pipelining Algorithm - Answer (click here)
  7. Scheduling Acyclic Data-Dependence and Cyclic Dependence Graphs - Answer (click here)
  8. Improvements to the Pipelining Algorithms - Answer (click here)

Chapter 11 Optimizing for Parallelism and Locality

  1. Optimizing for Parallelism and Locality - Answer (click here)
  2. Basic Concepts of Optimizing for Parallelism and Locality - Answer (click here)
  3. Matrix Multiply: An In-Depth Example - Answer (click here)
  4. Iteration Spaces - Answer (click here)
  5. Affine Array Indexes - Answer (click here)
  6. Data Reuse - Answer (click here)
  7. Array Data-Dependence Analysis - Answer (click here)
  8. Finding Synchronization-Free Parallelism - Answer (click here)
  9. Synchronization Between Parallel Loops - Answer (click here)
  10. Pipelining - Answer (click here)
  11. Locality Optimizations - Answer (click here)
  12. Other Uses of Affine Transforms - Answer (click here)

Chapter 12 Interprocedural Analysis

  1. Interprocedural Analysis - Answer (click here)
  2. Basic Concepts of Interprocedural Analysis - Answer (click here)
  3. Why Interprocedural Analysis? - Answer (click here)
  4. A Logical Representation of Data Flow - Answer (click here)
  5. A Simple Pointer-Analysis Algorithm - Answer (click here)
  6. Context-Insensitive Interprocedural Analysis - Answer (click here)
  7. Context-Sensitive Pointer Analysis - Answer (click here)
  8. Datalog Implementation by BDD's - Answer (click here)

No comments:

Post a Comment