PinnedBuild a Compiler — IntroductionIntroduction article for the article series “Build a Compiler”. This articles are conceived especially for beginners in the field.Apr 2, 2024Apr 2, 2024
Build a Compiler — BackendThe job of the compiler backend is the transformation of (optimized or unoptimized) IR to the machine code for the target platform. This…Apr 2, 2024Apr 2, 2024
Build a Compiler — OptimizationNow that we transformed our program to intermediate representation, we can pass it off to an optimization pipeline, that can perform one…Apr 2, 2024Apr 2, 2024
Build a Compiler — IR GeneratorIn order to effectively optimize the program it can be beneficial to transform the program to a so called “Intermediate Representation” or…Apr 2, 2024Apr 2, 2024
Build a Compiler — Type CheckerNext, let’s look how we can guarantee a semantically correct program by checking type compatibility. This job is done by a compiler…Apr 2, 2024Apr 2, 2024
Build a Compiler — Symbol TableNow that we know that our input program is syntactically correct, we can enter semantic analysis territory. One of the most important…Apr 2, 2024Apr 2, 2024
Build a Compiler — ParserNext, we want to get an understanding of the context, in which the individual tokens are aligned, so that we can derive the program…Apr 2, 2024Apr 2, 2024
Build a Compiler — LexerBefore starting to think about our lexer, we first should define, what our demo language is supposed to do. Let’s say we just want a…Apr 2, 2024Apr 2, 2024
Compose Generator — Update 1.5.0If you haven’t read about Compose Generator yet, visit the introduction article here. This particular article shows which features /…Dec 16, 2021Dec 16, 2021
Compose Generator — Update 1.3.0If you haven’t read about Compose Generator yet, visit the introduction article here. This particular article shows which features /…Nov 17, 2021Nov 17, 2021