Compiler
Was ist der Hauptvorteil einer Zwischendarstellung (IR), die im Compiler intern weder von der Quellsprache noch von der CPU abhängt?
- AMit einer Zwischendarstellung kann ohne Lesen des Quellcodes kompiliert werden
- BDie Zwischendarstellung kann von der CPU direkt ausgeführt werden, sodass keine Maschinencode-Erzeugung nötig ist
- CDas sprachspezifische Frontend und das CPU-spezifische Backend lassen sich trennen, und auch die Optimierungen können gemeinsam genutzt werden
Antwort und Erläuterung anzeigen
Antwort: C. Das sprachspezifische Frontend und das CPU-spezifische Backend lassen sich trennen, und auch die Optimierungen können gemeinsam genutzt werden
Sollen M Sprachen und N CPUs unterstützt werden, wären ohne gemeinsame Zwischendarstellung M×N Compiler nötig; mit ihr genügen M Frontends (Sprache zur Zwischendarstellung) und N Backends (Zwischendarstellung zur CPU). Auch ein Großteil der Optimierungen muss nur einmal auf der Zwischendarstellung implementiert werden und gilt für alle Sprachen und CPUs. Die Zwischendarstellung ist nicht direkt von der CPU ausführbar und muss am Ende in Maschinencode umgesetzt werden.