Codegenerierung
Als Kodegenerierung oder Codegenerierung wird die automatische Erzeugung von Quelltext in einer bestimmten Programmiersprache bezeichnet.
Beispiele für die Codegenerierung sind:
- Die Erzeugung eines Quelltextes aus einem Diagramm, einem Modell, beispielsweise einem Programmablaufplan, einem Struktogramm oder einem UML-Modell, oder aus sonstigen in Metadaten gespeicherten Beschreibungen, um den Kosten- und Zeitaufwand zu senken oder die Qualität der Softwareentwicklung zu erhöhen (siehe auch unter modellgetriebene Architektur, Universal Application und CASE)
- Assembler, welche aus Assemblercode Maschinencode erzeugen
- Compiler, welche aus Code in einer Hochsprache Assembler-Code, Maschinencode oder Bytecode erzeugen
- Die Wiederherstellung eines Quelltextes aus dem übersetzten Programm mittels Reverse Engineering
- Die automatische Erzeugung aus vorhandenem Code oder vorhandenen Programmteilen, beispielsweise die Erstellung einer IDL-Schnittstelle aus einer Java-Schnittstelle
- Die Erzeugung der Implementierung einer abstrakten Beschreibung beispielsweise bei Application-Server-Frameworks wie J2EE
- Die automatische Erzeugung neuer Quelltexte aus Kommentaren und Anmerkungen (Metadaten) in bestehenden Quelltexten, beispielsweise in Java mittels XDoclet oder Annotationen
- Im Bereich eingebetteter Systeme (z. B. Fahrzeugsteuergeräte) die automatische Erzeugung von Seriencode mit einem Codegenerator
Softwaregenerator
Ein Softwaregenerator oder auch Codegenerator ist ein Stück Software, das über eine problemangepasste Beschreibungssprache komplexere Software erzeugt. Diese Beschreibung kann ein grafisches oder textuelles Modell sein. Er ist somit ein Hilfsmittel zur Effektivierung des Softwareentwicklungsprozesses. Ein Beispiel sind Generatoren, die aus der Beschreibungssprache UML komplette Klassenhierarchien in der gewünschten objektorientierte Zielsprache (z. B.: C++, Java) erzeugen. Der aus dem Codegenerator erzeugte Quellcode dient in diesem Falle als Schnittstelle für einen Nutzer, wohingegen das Diagramm ein Metamodell definiert.