• Stars
    star
    527
  • Rank 81,074 (Top 2 %)
  • Language Yacc
  • License
    BSD 2-Clause "Sim...
  • Created over 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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/

More Repositories

1

that_editor

*That* editor.
C++
356
star
2

that_terminal

It’s that terminal! This project was mostly created (or started) in a livestream series.
NASL
277
star
3

cpp_parallelization_examples

The study & production material for https://www.youtube.com/watch?v=Pc8DfEyAxzg
C++
173
star
4

TinyDeflate

A deflate/gzip decompressor that requires minimal amount of memory to work
C++
170
star
5

speech_synth_series

Let’s Create a Speech Synthesizer
PHP
103
star
6

fft

A collection of Fast Fourier Transform algorithms implemented in C++20.
SourcePawn
101
star
7

password_codecs

Collection of password encoders and decoders created with the video series at: https://www.youtube.com/playlist?list=PLzLzYGEbdY5nEFQsxzFanSDv_38Hz0w7B
C++
84
star
8

adlmidi

ADLMIDI is a MIDI player that uses OPL3 emulation.
C++
56
star
9

tinyprintf

printf replacement for embedded programming
C++
51
star
10

crt-filter

The CRT filter that I used in my "what is that editor" video
C++
49
star
11

nescom

NES assembler and particularly clever disassembler
C++
43
star
12

dirr

ls replacement, friendlier than ls
C++
31
star
13

lvm2defrag

PHP
24
star
14

animmerger

Animation merging, quantizing and dithering swiss army knife
C++
18
star
15

nandcombinator

Exhaustive 2-input NAND combinations research tool
C++
17
star
16

viewnes

NES graphics/data hex inspection tool
PHP
13
star
17

tokumaru

Codemasters/Tokumaru NES tile compressor+decompressor
C++
5
star
18

6502delay

Collection of 6502 delay code generators
4
star
19

hy-ohte

Helsingin yliopisto: OHTE Harjoitustyö
3
star
20

polytrain

JavaScript
2
star
21

cysex21

This is just a mandatory exercise for the Cybersecurity course in University of Helsinki. It is not meant to be useful for any practical purpose.
PHP
2
star