Curated list of awesome resources on Compilers, Interpreters and Runtimeshttp://aalhour.com/awesome-compilershttps://github.com/aalhour/awesome-compilers----------------Video about Language designhttps://www.reddit.com/r/programming/comments/ians9l/computerphile_from_algol_60_to_pascal_video/----------------Thinking Forth (Book to read)=================Nice compiler overview talk (examples)http://venge.net/graydon/talks/CompilerTalk-2019.pdf=================opinionated functional programming language compiling to the JVM https://flix.github.io/#/research/https://flix.github.io/#/principles/================Compiler course in Edinburghhttp://www.inf.ed.ac.uk/teaching/courses/ct/19-20/=================General tail call elimination on the JVMhttp://cs.au.dk/~magnusm/papers/cc18/paper.pdf=================incremental approach to compiler constructionhttp://scheme2006.cs.uchicago.edu/11-ghuloum.pdf=================Compiler courseshttp://www.cse.chalmers.se/edu/year/2017/course/TDA283/lectures/http://www.cs.columbia.edu/~sedwards/classes/2017/4115-fall/index.htmlhttp://www.cs.dartmouth.edu/~mckeeman/cs48/index.htmlhttp://www.cl.cam.ac.uk/teaching/1718/CompConstr/materials.htmlhttp://spivey.oriel.ox.ac.uk/corner/Welcome_to_Spivey%27s_Cornerhttp://spivey.oriel.ox.ac.uk/corner/Compilers_(The_Farewell_Tour)http://spivey.oriel.ox.ac.uk/wiki2/files/compilers/book.pdfhttp://spivey.oriel.ox.ac.uk/corner/Programming_Languageshttp://www.cs.cornell.edu/courses/cs3110/2015fa/index.php#AssignmentsMagnushttp://www.cse.chalmers.se/edu/course/TDA283/Pfenninghttps://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 linkshttps://www.reddit.com/r/ProgrammingLanguages/comments/9k2hfd/introduction_to_compilers_and_language_design/http://www.craftinginterpreters.compodcast by author of above https://corecursive.com/032-bob-nystrom-on-building-an-interpreter/#Book about SSAhttp://ssabook.gforge.inria.fr/latest/book-full.pdfhttp://cs.lmu.edu/~ray/notes/ir/===============================Selfhosting Lisp compiler for Luahttps://github.com/sctb/lumen============================Basic as a DSL in Scalahttps://github.com/fogus/baysick/blob/master/src/main/scala/fogus/baysick/Baysick.scala============================Arihmetic with regexeshttp://www.drregex.com/2018/11/how-to-match-b-c-where-abc-beast-reborn.html============================Static analysis lecture noteshttps://cs.au.dk/~amoeller/spa/spa.pdf============================Pictures from the Starting Forth bookhttps://www.forth.com/starting-forth/2-stack-manipulation-operators-arithmetic/--------------------------------Java Byte Code for SCALAhttps://www.toptal.com/scala/scala-bytecode-and-the-jvm------------------Yeti - ML for the JVMhttps://mth.github.io/yeti/http://dot.planet.ee/yeti/intro.html------------------Ocaml for LLVMhttps://github.com/artagnon/rhine-ml ---------------Type inference http://www.calebh.io/Type-Inference-by-Solving-Constraints/JVM languageshttps://en.wikipedia.org/wiki/List_of_JVM_languageshttps://www.codeproject.com/Articles/50377/Create-Your-Own-Programming-LanguageSchemehttps://wespiser.com/writings/wyas/home.htmlhttp://peter.michaux.ca/index#Schemeassmebly (calculator RPN)https://dere.github.io/2017-02-12/beginners-assembly-part1/webassemblyhttps://sourceware.org/ml/binutils/2017-03/msg00044.htmlhttps://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/https://webassembly.github.io/spec/webassembly explorerhttps://mbebenita.github.io/WasmExplorer/ARMhttps://azeria-labs.com/writing-arm-assembly-part-1/JVMhttps://www.toptal.com/scala/scala-bytecode-and-the-jvmGrowing a compilerhttp://www.cs.dartmouth.edu/~mckeeman/cs48/mxcom/gem/html/GrowingCompiler.htmlfree bookshttps://github.com/vhf/free-programming-books/blob/master/free-programming-books.mdhttps://john.cs.olemiss.edu/~hcc/csci658/notes/Free_Prog_Lang_Textbooks.htmlMIPShttp://courses.missouristate.edu/kenvollmar/mars/PEGhttps://github.com/taocpp/PEGTLParserhttps://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.htmlsmall languageshttps://github.com/Michael2109/cobalthttp://www.red-lang.org/p/about.htmlhttp://craftinginterpreters.com/contents.htmlhttps://michaelhaywoodblog.wordpress.comhttps://ruslanspivak.com/lsbasi-part1/http://selfie.cs.uni-salzburg.athttps://academy.realm.io/posts/tryswift-samuel-giddins-building-tiny-compiler-swift-ios/https://legacy.gitbook.com/book/luxlang/the-lux-programming-language/detailshttps://github.com/rhysd/gocamlhttps://github.com/aalhour/awesome-compilers#educational-and-toy-projectshttps://rsms.me/hue-introautomatahttps://www7.in.tum.de/um/courses/auto/ws1314/script/autonotes.pdfReges helpershttps://regex101.comhttp://www.regular-expressions.info/tutorial.htmlRegex performance benchmarkhttps://rust-leipzig.github.io/regex/2017/03/28/comparison-of-regex-engines/https://github.com/k-takata/OnigmoSulzmannhttps://github.com/pippijn/dreml/Scala parserhttp://enear.github.io/2016/03/31/parser-combinators/ANTLR megatutorialhttps://tomassetti.me/antlr-mega-tutorial/From regex to LLVMhttps://www.youtube.com/watch?v=Ukqb6nMjFykStatic code analysishttps://medium.com/@Coder_HarryLee/videos-about-static-code-analysis-7654b40f9a3bBrainfuck compilerhttps://github.com/PurpleMyst/bf_compilerhttps://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 REPLhttps://github.com/marconilanna/REPLesent======================Minimal Static Single Assignment FormMax Wagner and Denis LohnerThis 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 functionhttps://blog.regehr.org/archives/1605