Compiler courses
http://www.cse.chalmers.se/edu/year/2017/course/TDA283/lectures/
http://www.cs.columbia.edu/~sedwards/classes/2017/4115-fall/index.html
http://www.cs.dartmouth.edu/~mckeeman/cs48/index.html
http://www.cl.cam.ac.uk/teaching/1718/CompConstr/materials.html
http://spivey.oriel.ox.ac.uk/corner/Welcome_to_Spivey%27s_Corner
http://spivey.oriel.ox.ac.uk/corner/Compilers_(The_Farewell_Tour)
http://spivey.oriel.ox.ac.uk/wiki2/files/compilers/book.pdf
http://spivey.oriel.ox.ac.uk/corner/Programming_Languages
http://www.cs.cornell.edu/courses/cs3110/2015fa/index.php#Assignments
Magnus
http://www.cse.chalmers.se/edu/course/TDA283/
Pfenning
https://www.cs.cmu.edu/~fp/courses/15411-f14/
https://www.cs.cmu.edu/~fp/courses/15411-f13/lectures/
https://www.cs.cmu.edu/~fp/courses/15411-f14/lectures/
===============================
Compiler book links
https://www.reddit.com/r/ProgrammingLanguages/comments/9k2hfd/introduction_to_compilers_and_language_design/
http://www.craftinginterpreters.com
Book about SSA
http://ssabook.gforge.inria.fr/latest/book-full.pdf
http://cs.lmu.edu/~ray/notes/ir/
===============================
Selfhosting Lisp compiler for Lua
https://github.com/sctb/lumen
============================
Basic as a DSL in Scala
https://github.com/fogus/baysick/blob/master/src/main/scala/fogus/baysick/Baysick.scala
============================
Arihmetic with regexes
http://www.drregex.com/2018/11/how-to-match-b-c-where-abc-beast-reborn.html
============================
Static analysis lecture notes
https://cs.au.dk/~amoeller/spa/spa.pdf
============================
Pictures from the Starting Forth book
https://www.forth.com/starting-forth/2-stack-manipulation-operators-arithmetic/
--------------------------------
Java Byte Code for SCALA
https://www.toptal.com/scala/scala-bytecode-and-the-jvm
------------------
Yeti - ML for the JVM
https://mth.github.io/yeti/
http://dot.planet.ee/yeti/intro.html
------------------
Ocaml for LLVM
https://github.com/artagnon/rhine-ml
---------------
Type inference
http://www.calebh.io/Type-Inference-by-Solving-Constraints/
JVM languages
https://en.wikipedia.org/wiki/List_of_JVM_languages
https://www.codeproject.com/Articles/50377/Create-Your-Own-Programming-Language
Scheme
https://wespiser.com/writings/wyas/home.html
http://peter.michaux.ca/index#Scheme
assmebly (calculator RPN)
https://dere.github.io/2017-02-12/beginners-assembly-part1/
webassembly
https://sourceware.org/ml/binutils/2017-03/msg00044.html
https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/
https://webassembly.github.io/spec/
webassembly explorer
https://mbebenita.github.io/WasmExplorer/
ARM
https://azeria-labs.com/writing-arm-assembly-part-1/
JVM
https://www.toptal.com/scala/scala-bytecode-and-the-jvm
Growing a compiler
http://www.cs.dartmouth.edu/~mckeeman/cs48/mxcom/gem/html/GrowingCompiler.html
free books
https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md
https://john.cs.olemiss.edu/~hcc/csci658/notes/Free_Prog_Lang_Textbooks.html
MIPS
http://courses.missouristate.edu/kenvollmar/mars/
PEG
https://github.com/taocpp/PEGTL
Parser
https://www.reddit.com/r/programming/comments/615hoz/how_to_write_a_recursive_descent_parser/
https://www.reddit.com/r/ProgrammingLanguages/comments/60gmgc/writing_a_recursive_descent_expression_parser/
http://www.craftinginterpreters.com/parsing-expressions.html
small languages
https://github.com/Michael2109/cobalt
http://www.red-lang.org/p/about.html
http://craftinginterpreters.com/contents.html
https://michaelhaywoodblog.wordpress.com
https://ruslanspivak.com/lsbasi-part1/
http://selfie.cs.uni-salzburg.at
https://academy.realm.io/posts/tryswift-samuel-giddins-building-tiny-compiler-swift-ios/
https://legacy.gitbook.com/book/luxlang/the-lux-programming-language/details
https://github.com/rhysd/gocaml
https://github.com/aalhour/awesome-compilers#educational-and-toy-projects
https://rsms.me/hue-intro
automata
https://www7.in.tum.de/um/courses/auto/ws1314/script/autonotes.pdf
Reges helpers
https://regex101.com
http://www.regular-expressions.info/tutorial.html
Regex performance benchmark
https://rust-leipzig.github.io/regex/2017/03/28/comparison-of-regex-engines/
https://github.com/k-takata/Onigmo
Sulzmann
https://github.com/pippijn/dreml/
Scala parser
http://enear.github.io/2016/03/31/parser-combinators/
ANTLR megatutorial
https://tomassetti.me/antlr-mega-tutorial/
From regex to LLVM
https://www.youtube.com/watch?v=Ukqb6nMjFyk
Static code analysis
https://medium.com/@Coder_HarryLee/videos-about-static-code-analysis-7654b40f9a3b
Brainfuck compiler
https://github.com/PurpleMyst/bf_compiler
https://www.reddit.com/r/programming/comments/8371tk/a_brainfuck_to_llvm_ir_compiler_written_in_python/
http://www.wilfred.me.uk/blog/2015/02/21/my-first-llvm-compiler/
===============================
A simple recursive regular expression matcher written in Scala.
https://github.com/marconilanna/RegexMatcher
===============================
A neat little tool to build presentations using the Scala REPL
https://github.com/marconilanna/REPLesent
======================
Minimal Static Single Assignment Form
Max Wagner and Denis Lohner
This formalization is an extension to "Verified Construction of Static Single
Assignment Form". In their work, the authors have shown that Braun et al.'s
static single assignment (SSA) construction algorithm produces minimal SSA form
for input programs with a reducible control flow graph (CFG). However Braun et
al. also proposed an extension to their algorithm that they claim produces
minimal SSA form even for irreducible CFGs.
In this formalization we support that claim by giving a mechanized proof.
As the extension of Braun et al.'s algorithm aims for removing so-called
redundant strongly connected components of phi functions, we show that this
suffices to guarantee minimality according to Cytron et al..
https://www.isa-afp.org/entries/Minimal_SSA.shtml
=========================
How Clang compiles a function
https://blog.regehr.org/archives/1605