Inkrementaler Compilerkurs: Von Tiger zu x86-64 Assembler in OCaml
2025-04-05
Dies ist ein sehr praxisorientierter Compilerkurs mit dem Ziel, einen Compiler zu bauen, der die höhere Programmiersprache Tiger in x86-64 Maschinencode übersetzt. Der Kurs verwendet OCaml und betont testgetriebene Entwicklung, Versionskontrolle und Code-Wiederverwendung. Es wird ein iterativer, inkrementeller Entwicklungsansatz verwendet, bei dem Sprache und Compiler schrittweise erweitert werden, wobei der tagless-final Stil für verbesserte Erweiterbarkeit genutzt wird. Der Kurs behandelt Standardthemen von Compilerkursen wie Parsing, Typprüfung, Optimierung und Assemblergenerierung, jedoch auf eine nicht-traditionelle Weise.
Entwicklung
inkrementelle Entwicklung