Compiler
Lernen Sie anhand von Multiple-Choice-Fragen, wie Compiler arbeiten: lexikalische Analyse und Parsing, Zwischendarstellungen in SSA-Form, Optimierungen wie Constant Folding und Schleifenabrollen sowie Registerzuteilung.
Die Fragen zu diesem Thema folgen in Kürze.
Compiler: Das Wichtigste
Ein Compiler übersetzt von Menschen geschriebene Programme in Maschinencode, den eine CPU ausführen kann. Er durchläuft die lexikalische Analyse, die den Quelltext in Tokens zerlegt, das Parsing, das gemäß der Grammatik einen Baum aufbaut, und die semantische Analyse, die Typen und Namen prüft, bevor er das Programm in eine Zwischendarstellung (IR) umwandelt.
Auf der IR wendet er Optimierungen wie Constant Folding, Eliminierung gemeinsamer Teilausdrücke, Inlining, Schleifenabrollen und Vektorisierung an und erzeugt dann durch Registerzuteilung und Befehlsplanung Code, der zur CPU passt. Wer diese Optimierungen versteht, weiß, wie man schnellen Code schreibt und die Hardware optimal ausnutzt.