Bolt bauen: Mein Weg zu einem produktionsreifen Compiler

2025-01-24
Bolt bauen: Mein Weg zu einem produktionsreifen Compiler

Dieser Beitrag, der erste einer Serie, beschreibt die Erfahrung des Autors beim Bau von Bolt, einer Java-artigen, konkurrenten, objektorientierten Programmiersprache. Er erläutert die Motivation hinter der Erstellung eines Compilers anhand der Analogie eines Telegrafenbediener, der Sprache in Morsecode übersetzt. Der Autor behandelt die wichtigsten Compilerphasen wie Lexing, Parsing, Typprüfung und Codegenerierung und hebt dabei die erweiterten Funktionen von Bolt hervor, wie Objekte, Klassen, Vererbung, Methodenüberschreibung, Nebenläufigkeit und Generika. Der Artikel diskutiert statische vs. dynamische Typisierung und die Rolle von LLVM und erklärt, wie Bolt in LLVM IR kompiliert wird, um Optimierungen und die Generierung von Maschinencode zu ermöglichen. Einzigartig an Bolt ist die doppelte Typprüfungsphase, die die Nebenläufigkeitssicherheit gewährleistet. Die Serie verspricht ein praktisches Tutorial zum Bau eines Compilers, das über einfache Beispielsprachen hinausgeht.

Entwicklung