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
- Algorithms for Solving Nonlinear Equations - Answer (click here)
- Introduction to Compiling Compilers - Answer (click here)
- Analysis of the source program - Answer (click here)
- The Phases of a Compiler - Answer (click here)
- Cousins of Compiler - Answer (click here)
- Grouping of the Phases - Answer (click here)
- Compiler Construction Tools - Answer (click here)
- Lexical Analysis - Answer (click here)
- Input Buffering - Answer (click here)
- Specification of Tokens - Answer (click here)
- Recognition of Tokens - Answer (click here)
- A Language For Specifying Lexical Analyzer - Answer (click here)
- Important Short Questions and Answers : Principles of Compiler Design - Lexical Analysis - Answer (click here)
SYNTAX ANALYSIS and RUN TIME ENVIRONMENTS
- Syntax Analysis - Answer (click here)
- The Role of Parser - Answer (click here)
- Context-Free Grammars - Answer (click here)
- Writing a Grammar - Answer (click here)
- Top down parsing and Bottom up Parsing - Answer (click here)
- Constructing SLR(1) Parsing Table - Answer (click here)
- Type Checking - Answer (click here)
- Specification of a Simple Type Checker - Answer (click here)
- Run-Time Environments - Source Language Issues - Answer (click here)
- Storage Organization - Answer (click here)
- Storage Allocation Strategies - Answer (click here)
- Important Short Questions and Answers: Syntax Analysis and Run-Time Environments - Answer (click here)
INTERMEDIATE CODE GENERATION
- Intermediate Languages - Answer (click here)
- Declarations - Answer (click here)
- Assignment Statements - Answer (click here)
- Boolean Expressions - Answer (click here)
- Case Statements - Answer (click here)
- Backpatching - Answer (click here)
- Procedure Calls - Answer (click here)
- Important Short Questions and Answers: Principles of Compiler Design - Intermediate Code Generation - Answer (click here)
CODE GENERATION
- Issues in the design of a code generator - Answer (click here)
- Target Machine - Answer (click here)
- Run-Time Storage Management - Answer (click here)
- Basic Blocks and Flow Graphs of Code Generation - Answer (click here)
- A Simple Code Generator - Answer (click here)
- Register Allocation and Assignment - Answer (click here)
- The Dag Representation For Basic Blocks - Answer (click here)
- Generating Code From DAGs - Answer (click here)
- Important Short Questions and Answers: Compiler Design - Code Generation - Answer (click here)
CODE OPTIMIZATION
- Code Optimization - Answer (click here)
- Principal Sources of Optimisation - Answer (click here)
- Peephole Optimization - Answer (click here)
- Optimization of Basic Blocks - Answer (click here)
- Loops in Flow Graph - Answer (click here)
- Introduction to Global Dataflow Analysis - Answer (click here)
- Code Improvig Transformations - Answer (click here)
- Glossary - Principles of Compiler Design - Answer (click here)
- Tutorial problems and worked out examples - Principles of Compiler Design - Answer (click here)
- 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
- Compilers - Principles, Techniques, & Tools - Answer (click here)
- Language Processors - Answer (click here)
- The Structure of a Compiler - Answer (click here)
- The Evolution of Programming Languages - Answer (click here)
- The Science of Building a Compiler - Answer (click here)
- Applications of Compiler Technology - Answer (click here)
- Programming Language Basics - Answer (click here)
Chapter 2 Simple Syntax Directed Translator
- A Simple Syntax-Directed Translator - Answer (click here)
- Syntax Definition - Answer (click here)
- Syntax-Directed Translation - Answer (click here)
- Parsing - Answer (click here)
- A Translator for Simple Expressions - Answer (click here)
- Lexical Analysis - Answer (click here)
- Symbol Table Per Scope and Use of Symbol Tables - Answer (click here)
- Intermediate Code Generation - Answer (click here)
Chapter 3 Lexical Analysis
- Lexical Analysis - Answer (click here)
- The Role of the Lexical Analyzer - Answer (click here)
- Input Buffering: Buffer Pairs, Sentinels - Answer (click here)
- Specification of Tokens - Answer (click here)
- Recognition of Tokens - Answer (click here)
- The Lexical-Analyzer Generator Lex - Answer (click here)
- Finite Automata - Answer (click here)
- From Regular Expressions to Automata - Answer (click here)
- Design of a Lexical-Analyzer Generator - Answer (click here)
- Optimization of DFA-Based Pattern Matchers - Answer (click here)
Chapter 4 Syntax Analysis
- Syntax Analysis - Answer (click here)
- Context-Free Grammars - Answer (click here)
- Writing a Grammar - Answer (click here)
- Top-Down Parsing - Answer (click here)
- Bottom-Up Parsing - Answer (click here)
- Introduction to LR Parsing: Simple LR - Answer (click here)
- More Powerful LR Parsers - Answer (click here)
- Using Ambiguous Grammars - Answer (click here)
- Parser Generators - Answer (click here)
Chapter 5 Syntax Directed Translation
- Syntax-Directed Translation - Answer (click here)
- Syntax-Directed Definitions - Answer (click here)
- Evaluation Orders for SDD's - Answer (click here)
- Applications of Syntax-Directed Translation - Answer (click here)
- Syntax-Directed Translation Schemes - Answer (click here)
- Implementing L-Attributed SDD's - Answer (click here)
Chapter 6 Intermediate Code Generation
- Intermediate-Code Generation - Answer (click here)
- Variants of Syntax Trees - Answer (click here)
- Three-Address Code - Answer (click here)
- Types and Declarations - Answer (click here)
- Translation of Expressions - Answer (click here)
- Type Checking - Answer (click here)
- Control Flow - Answer (click here)
- Backpatching - Answer (click here)
- Switch-Statements - Answer (click here)
- Intermediate Code for Procedures - Answer (click here)
Chapter 7 Run Time Environments
- Run-Time Environments - Answer (click here)
- Storage Organization - Answer (click here)
- Stack Allocation of Space - Answer (click here)
- Access to Nonlocal Data on the Stack - Answer (click here)
- Heap Management - Answer (click here)
- Introduction to Garbage Collection - Answer (click here)
- Introduction to Trace-Based Collection - Answer (click here)
- Short-Pause Garbage Collection - Answer (click here)
- Advanced Topics in Garbage Collection - Answer (click here)
Chapter 8 Code Generation
- Code Generation - Answer (click here)
- Issues in the Design of a Code Generator - Answer (click here)
- The Target Language - Answer (click here)
- Addresses in the Target Code - Answer (click here)
- Basic Blocks and Flow Graphs - Answer (click here)
- Optimization of Basic Blocks - Answer (click here)
- A Simple Code Generator - Answer (click here)
- Peephole Optimization - Answer (click here)
- Register Allocation and Assignment - Answer (click here)
- Instruction Selection by Tree Rewriting - Answer (click here)
- Optimal Code Generation for Expressions - Answer (click here)
- Dynamic Programming Code-Generation - Answer (click here)
Chapter 9 Machine Independent Optimizations
- Machine-Independent Optimizations - Answer (click here)
- The Principal Sources of Optimization - Answer (click here)
- Introduction to Data-Flow Analysis - Answer (click here)
- Foundations of Data-Flow Analysis - Answer (click here)
- Constant Propagation - Answer (click here)
- Partial-Redundancy Elimination - Answer (click here)
- Loops in Flow Graphs - Answer (click here)
- Region-Based Analysis - Answer (click here)
- Symbolic Analysis - Answer (click here)
Chapter 10 Instruction Level Parallelism
- Instruction-Level Parallelism - Answer (click here)
- Processor Architectures - Answer (click here)
- Code-Scheduling Constraints - Answer (click here)
- Basic-Block Scheduling - Answer (click here)
- Global Code Scheduling - Answer (click here)
- Software Pipelining Algorithm - Answer (click here)
- Scheduling Acyclic Data-Dependence and Cyclic Dependence Graphs - Answer (click here)
- Improvements to the Pipelining Algorithms - Answer (click here)
Chapter 11 Optimizing for Parallelism and Locality
- Optimizing for Parallelism and Locality - Answer (click here)
- Basic Concepts of Optimizing for Parallelism and Locality - Answer (click here)
- Matrix Multiply: An In-Depth Example - Answer (click here)
- Iteration Spaces - Answer (click here)
- Affine Array Indexes - Answer (click here)
- Data Reuse - Answer (click here)
- Array Data-Dependence Analysis - Answer (click here)
- Finding Synchronization-Free Parallelism - Answer (click here)
- Synchronization Between Parallel Loops - Answer (click here)
- Pipelining - Answer (click here)
- Locality Optimizations - Answer (click here)
- Other Uses of Affine Transforms - Answer (click here)
Chapter 12 Interprocedural Analysis
- Interprocedural Analysis - Answer (click here)
- Basic Concepts of Interprocedural Analysis - Answer (click here)
- Why Interprocedural Analysis? - Answer (click here)
- A Logical Representation of Data Flow - Answer (click here)
- A Simple Pointer-Analysis Algorithm - Answer (click here)
- Context-Insensitive Interprocedural Analysis - Answer (click here)
- Context-Sensitive Pointer Analysis - Answer (click here)
- Datalog Implementation by BDD's - Answer (click here)
No comments:
Post a Comment