WikiDer > Codegenerator

Codegenerator

EIN Code Generator ist ein stück Software das zielt Quelle-, Markup- oder Objektcode erstellen (zu generieren) basierend auf einer abstrakten Beschreibung. Dies kann eine Eingabedatei in dem einen oder anderen Format sein, aber auch die interne Darstellung eines (Teils eines) Programms oder Bibliothek im Arbeitsspeicher eines Compilers. Diese Technik wird häufig verwendet, um große Tabellen in Sprachen wie z C oder C , sondern ist auch ein wesentlicher Bestandteil von Compiler.

Quellcode

Besonders große Tabellen, die intern z. B. strukturiert sind in a Baumstruktur, sind sehr fehleranfällig, wenn diese Softwareentwickler "von Hand" implementiert werden, nicht nur, weil es teilweise um große Datenmengen geht, sondern auch, weil es durch die Wiederholung von eher bedeutungslosen Symbolen sehr mühsam ist und Fehler schwer zu erkennen sind. Um dies zu verhindern, wird die Tabelle in einem handlichen und vor allem lesbaren Format geschrieben, wonach ein Codegenerator diese Informationen in Quellcode umwandelt. Da der größte und fehleranfälligste Teil automatisiert ist, treten deutlich weniger Fehler auf. Der Codegenerator selbst ist in der Regel beispielsweise in einer Funktions- oder Makrosprache implementiert Python, perl, sed oder M4. Auf diese Weise kann viel Zeit und Frust gespart werden.

Objektcode

Codegeneratoren sind auch regelmäßiger Bestandteil von Compilern, deren Aufgabe es ist, den endgültigen Objektcode zu erzeugen, aber manchmal (kommentiert) Versammlung aus einer internen Beschreibung des Programms oder der Bibliothek. Daher ist die Codegenerierung der letzte Schritt des Kompilierungsprozesses. Durch die Bereitstellung eines Compilers mit mehreren Codegeneratoren mit einer gemeinsamen Schnittstelle kann Objektcode für verschiedene Prozessoren erstellt werden, so dass Kreuzzusammenstellung ist möglich. In diesem Zusammenhang spricht man von a Compiler-Backend.

Beispiele

Einige bekannte Beispiele sind: