PinnedMarc AubererBuild a Compiler — IntroductionIntroduction article for the article series “Build a Compiler”. This articles are conceived especially for beginners in the field.3 min read·Apr 2, 2024----
Marc AubererBuild 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…4 min read·Apr 2, 2024----
Marc AubererBuild a Compiler — OptimizationNow that we transformed our program to intermediate representation, we can pass it off to an optimization pipeline, that can perform one…4 min read·Apr 2, 2024----
Marc AubererBuild 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…4 min read·Apr 2, 2024----
Marc AubererBuild 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…3 min read·Apr 2, 2024----
Marc AubererBuild 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…4 min read·Apr 2, 2024----
Marc AubererBuild 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…4 min read·Apr 2, 2024----
Marc AubererBuild 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…4 min read·Apr 2, 2024----
Marc AubererCompose Generator — Update 1.5.0If you haven’t read about Compose Generator yet, visit the introduction article here. This particular article shows which features /…2 min read·Dec 16, 2021----
Marc AubererCompose Generator — Update 1.3.0If you haven’t read about Compose Generator yet, visit the introduction article here. This particular article shows which features /…3 min read·Nov 17, 2021----