Sunteți pe pagina 1din 4

Compilers Principles, Techniques, & Tools

Lecture Notes, Study Materials and Important questions answers

Subject : Compilers Principles, Techniques, &


Tools
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)

S-ar putea să vă placă și