- DoctorWkt/acwj: A Compiler Writing Journey – ” journey to write a self-compiling compiler for a subset of the C language. I’m also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers. But not too much theory, I want this to be a practical journey.”
Writing a compiler in Ruby, bottom up by Vidar Hokstad.
- Bootstrapping a simple compiler from nothing
- Parsing: a timeline – V3.0 [May 2018]
- An Intro to Compilers - Nicole Orchard
Compilers course by Alex Aiken. Wonder if Finite automata chapter can help
- Introduction to LLVM (for grad students).
- Let’s write an interpreter, 2, 3 upto 13 as of Apr 2017.
- Learning to write a compiler, on stack overflow
- Implementing Programming Langauges [pdf] by Aarne Ranta, 2012.
- Want to Write a Compiler? Just Read These Two Papers. by James Hague of http://prog21.dadgum.com/
- Writing a compiler in Ruby, bottom up
- Compiler Reading - Nim Forum; see answers by Araq.
- The Compiler Writer Resource Page; HN
- A simple, possibly correct LR parser for C11 by Jacques-Henri Jourdan and François Pottier. Source code in OCaml+Menhir
- How to write your own compiler by Silvano Rivoira, Politecnico di Torino, 2009
- Where Would I Even Start?: Compilers [Aug 2017].
- Writing a C Compiler, Part 1 [Nov 2017], part 2
- This is a fun thread about compiler – Challenge: Can I read your compiler in 100 lines? | Lobsters
- senselogic/COMPILER_TUTORIAL: Compiler tutorial.
- Grammatically Rooting Oneself With Parse Trees – basecs – Medium
- How an Optimizing Compiler Works – Li Haoyi; Nov 2019.
Modern Compiler Design: Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J.H. Jacobs, Koen Langendoen: 9781461446989 This looked very approachable from a few minutes of reading.
- Writing An Interpreter In Go | Thorsten Ball
- Crafting Interpreters
- Frank Krueger writes a Go compiler using F# on Twitch.
META … compilers-course-materials
- CSCI 434T Compiler Design, by Prof. Stephen Freund at Williams.edu
This tutorial covers the principles and practices for the design and implementation of compilers and interpreters. Topics include all stages of the compilation and execution process: lexical analysis; parsing; symbol tables; type systems; scope; semantic analysis; intermediate representations; run-time environments and interpreters; code generation; program analysis and optimization; and garbage collection. The course covers both the theoretical and practical implications of these topics. As a project course, students will construct a full compiler for a simple object-oriented language.