Material for the Creating a Compiler video lesson series.
# Compiler Series

## Chapter 1: Introduction

### Episode 0: Introduction

Video link: https://youtu.be/KwpcOYKfXZc  
Alternative video link: https://youtu.be/96XKY7IRjVM  
Alternative video link: https://youtu.be/WI6Mb1Oh0Xs  
Episode date: 2017-11-18  

Files: `ep0/`

## Chapter 2: Parser and Lexer

### Episode 1: Parser and Lexer

Video link: https://youtu.be/eF9qWbuQLuw  
Episode date: 2017-12-29  

Files: `ep1/`

## Chapter 3: Abstract Syntax Tree

### Episode 2: AST optimizations

Video link: https://youtu.be/QSPaL4aVjRo  
Episode date: 2018-01-29  

Files: `ep2/`

## Chapter 4: Intermediate Representation

### Episode 3: Three-address code

Video link: https://youtu.be/fDKfdyDWdE4  
Episode date: 2018-02-15  

Files: `ep3/`

### Episode 4A: Optimizing IR

Video link: https://youtu.be/wdOpIIzxiNA  
Episode date: 2018-04-08  

Files: `ep4/`

### Episode 4B: Register Renumbering

Video link: https://youtu.be/NOFDr3HjuuQ  
Episode date: 2018-04-29  

Files: `ep5/`

## Chapter 5: Code Generator

(Preliminary episode plan)

### Episode 5A: Fundamental Principles

Video link: https://youtu.be/bIvi6FNyiJA  
Episode date: 2018-06-18

Files: `ep6/`

### Episode 5B: Data Implementation

Video link: https://youtu.be/KNYCUJOzj5c  
Episode date: 2018-10-19

Files: `ep6/`

### Episode 5C: Engine Implementation

Video link: TBA  
Episode date: TBA

Files: `ep6/`

### Episode 5D: Tests and Afterthoughts

Video link: TBA  
Episode date: TBA

Files: `ep6/`
