Compiler Design Fundamentals
Unlock the secrets of compiler design, from lexical analysis to code generation, and build the skills to create your own language processors.
...
Share
Introduction to Compilers and Lexical Analysis
Unit 1: Compiler Basics and Structure
What is a Compiler?
Compiler Phases Overview
Compiler Front-End
Compiler Back-End
Compiler vs Interpreter
Unit 2: Lexical Analysis Fundamentals
Lexical Analysis Intro
Tokens, Lexemes, Patterns
Regular Expressions Intro
Writing Regular Exp.
Lexical Errors
Syntax Analysis: Parsing Techniques
Unit 1: Context-Free Grammars
Intro to Grammars
Grammar Components
Derivations
Parse Trees
Ambiguity
Unit 2: Top-Down Parsing
Top-Down Parsing Intro
Recursive Descent
LL(k) Grammars
FIRST and FOLLOW Sets
LL(1) Parsing Example
Unit 3: Bottom-Up Parsing
Bottom-Up Intro
Shift-Reduce Parsing
LR Parsers
SLR Parsing
LALR Parsing
Unit 4: Parser Generators
Parser Generators Intro
Using Yacc/Bison
Lex Integration
Error Handling in Yacc
AST Generation
Semantic Analysis and Intermediate Code Generation
Unit 1: Symbol Tables
Symbol Table Intro
Symbol Table Operations
Scope Management
Symbol Table Implementation
Error Handling
Unit 2: Type Checking
Type Systems Intro
Type Expressions
Type Equivalence
Type Inference
Type Conversion
Unit 3: Intermediate Code Generation
ICG Intro
Three-Address Code
Static Single Assignment
Abstract Syntax Trees
Intermediate Code Opt
Code Optimization and Code Generation
Unit 1: Introduction to Code Optimization
Optimization Overview
Basic Blocks
Control Flow Graphs
Data Flow Analysis
Reaching Definitions
Unit 2: Machine-Independent Optimizations
Common Subexpressions
Copy Propagation
Dead Code Elimination
Loop Optimization
Strength Reduction
Unit 3: Machine-Dependent Optimizations and Code Generation
Instruction Selection
Register Allocation
Instruction Scheduling
Peephole Optimization
Code Generation
Unit 4: Modern Compiler Tools and Trends
LLVM Overview
Using GCC
Compiler Frameworks
Polyhedral Compilation
JIT Compilation