Compilers Principles, Techniques, & Tools

Online Study Material, Lecturing Notes, Assignment, Reference, Wiki and important questions and answers

Compilers Principles, Techniques, & Tools


Chapter 1 : Introduction


=> Compilers - Principles, Techniques, & Tools
=> Language Processors
=> The Structure of a Compiler
=> The Evolution of Programming Languages
=> The Science of Building a Compiler
=> Applications of Compiler Technology
=> Programming Language Basics

Chapter 2 : Simple Syntax Directed Translator


=> A Simple Syntax-Directed Translator
=> Syntax Definition
=> Syntax-Directed Translation
=> Parsing
=> A Translator for Simple Expressions
=> Lexical Analysis
=> Symbol Table Per Scope and Use of Symbol Tables
=> Intermediate Code Generation

Chapter 3 : Lexical Analysis


=> Lexical Analysis
=> The Role of the Lexical Analyzer
=> Input Buffering: Buffer Pairs, Sentinels
=> Specification of Tokens
=> Recognition of Tokens
=> The Lexical-Analyzer Generator Lex
=> Finite Automata
=> From Regular Expressions to Automata
=> Design of a Lexical-Analyzer Generator
=> Optimization of DFA-Based Pattern Matchers

Chapter 4 : Syntax Analysis


=> Syntax Analysis
=> Context-Free Grammars
=> Writing a Grammar
=> Top-Down Parsing
=> Bottom-Up Parsing
=> Introduction to LR Parsing: Simple LR
=> More Powerful LR Parsers
=> Using Ambiguous Grammars
=> Parser Generators

Chapter 5 : Syntax Directed Translation


=> Syntax-Directed Translation
=> Syntax-Directed Definitions
=> Evaluation Orders for SDD's
=> Applications of Syntax-Directed Translation
=> Syntax-Directed Translation Schemes
=> Implementing L-Attributed SDD's

Chapter 6 : Intermediate Code Generation


=> Intermediate-Code Generation
=> Variants of Syntax Trees
=> Three-Address Code
=> Types and Declarations
=> Translation of Expressions
=> Type Checking
=> Control Flow
=> Backpatching
=> Switch-Statements
=> Intermediate Code for Procedures

Chapter 7 : Run Time Environments


=> Run-Time Environments
=> Storage Organization
=> Stack Allocation of Space
=> Access to Nonlocal Data on the Stack
=> Heap Management
=> Introduction to Garbage Collection
=> Introduction to Trace-Based Collection
=> Short-Pause Garbage Collection
=> Advanced Topics in Garbage Collection

Chapter 8 : Code Generation


=> Code Generation
=> Issues in the Design of a Code Generator
=> The Target Language
=> Addresses in the Target Code
=> Basic Blocks and Flow Graphs
=> Optimization of Basic Blocks
=> A Simple Code Generator
=> Peephole Optimization
=> Register Allocation and Assignment
=> Instruction Selection by Tree Rewriting
=> Optimal Code Generation for Expressions
=> Dynamic Programming Code-Generation

Chapter 9 : Machine Independent Optimizations


=> Machine-Independent Optimizations
=> The Principal Sources of Optimization
=> Introduction to Data-Flow Analysis
=> Foundations of Data-Flow Analysis
=> Constant Propagation
=> Partial-Redundancy Elimination
=> Loops in Flow Graphs
=> Region-Based Analysis
=> Symbolic Analysis

Chapter 10 : Instruction Level Parallelism


=> Instruction-Level Parallelism
=> Processor Architectures
=> Code-Scheduling Constraints
=> Basic-Block Scheduling
=> Global Code Scheduling
=> Software Pipelining Algorithm
=> Scheduling Acyclic Data-Dependence and Cyclic Dependence Graphs
=> Improvements to the Pipelining Algorithms

Chapter 11 : Optimizing for Parallelism and Locality


=> Optimizing for Parallelism and Locality
=> Basic Concepts of Optimizing for Parallelism and Locality
=> Matrix Multiply: An In-Depth Example
=> Iteration Spaces
=> Affine Array Indexes
=> Data Reuse
=> Array Data-Dependence Analysis
=> Finding Synchronization-Free Parallelism
=> Synchronization Between Parallel Loops
=> Pipelining
=> Locality Optimizations
=> Other Uses of Affine Transforms

Chapter 12 : Interprocedural Analysis


=> Interprocedural Analysis
=> Basic Concepts of Interprocedural Analysis
=> Why Interprocedural Analysis?
=> A Logical Representation of Data Flow
=> A Simple Pointer-Analysis Algorithm
=> Context-Insensitive Interprocedural Analysis
=> Context-Sensitive Pointer Analysis
=> Datalog Implementation by BDD's



Privacy Policy, Terms and Conditions, DMCA Policy and Compliant, Contact

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.