Code-Generator

Code-Generator

Ein Codegenerator ist ein Computerprogramm für die Softwareentwicklung. Er übersetzt Modelle, die in UML, XML, Struktogrammen oder einer anderen formalen Sprache erstellt wurden, in die Programmiersprache (C, C++, Assembler, …) der gewählten Zielplattform. Er erzeugt schnell und fehlerfrei Quellcode (Codegenerierung), der danach mit anderen Programmteilen zu einem Programm verbunden wird.

Das Erzeugnis eines Codegenerators wird (wenn auch selten) als Generat bezeichnet.

Im Compilerbau ist der Codegenerator der Teil eines Compilers, der während des Kompiliervorgangs Maschinencode erzeugt.

Die Steuerung eines Codegenerators erfolgt dabei entweder manuell, also direkt durch den Programmierer, oder automatisiert über eine spezielle formale Sprache, die die Formulierung des Problems im Vergleich zur Zielsprache stark vereinfacht.

Inhaltsverzeichnis

Automatisierte Codegeneratoren

Einfache Varianten arbeiten auf der Basis der Quelldateien und ersetzen so genannte Makroaufrufe mit vorgefertigten Textbausteinen. Der Präprozessor ist hierfür ein Beispiel. Andere Varianten generieren vollständig neue Quelldateien, indem sie Metainformationen verarbeiten. Metainformationen beschreiben den Vorgang der Codeerzeugung sowie Eigenschaften des zu erstellenden Programmcodes auf einer höheren Ebene (siehe auch Model Driven Architecture) und liegen entweder in separaten Dateien (wie beispielsweise beim Parsergenerator) oder in Form von Anmerkungen (auch: Attribute, Annotationen) innerhalb des bestehenden Programmcodes vor. Der generierte Code wird, anders als bei manuell gesteuerten Codegeneratoren, vor oder während des Kompiliervorgangs automatisch erzeugt. Die Programmiersprachen C# und Java bieten eigene Sprachkonstrukte dafür an (sogenannte Annotationen).

Manuell gesteuerte Codegeneratoren

Manuell gesteuerte Codegeneratoren sind Teil einer integrierten Entwicklungsumgebung (IDE) oder eines CASE-Werkzeugs. Häufig sind sie über eine grafische Benutzeroberfläche (GUI) bedienbar. Der Programmierer kann dabei seinen Programmcode interaktiv, und zwar entweder ausschließlich durch Nutzung des Codegenerators oder ergänzt durch manuelle Programmierung, zusammensetzen. Neben der reinen Codegenerierung bieten manche Codegeneratoren Round Trip Engineering-Funktionen d.h. das Einlesen und eine zusammengefasste grafische Darstellung des manuell erstellten sowie des generierten Programmcodes an.

Werkzeuge

Siehe auch

Literatur

  • Krzysztof Czarnecki and Ulrich W. Eisenecker: Generative Programming: Methods, Tools, and Applications. Addison Wesley, 2000. 
  • Thomas Stahl, Markus Völter, Sven Efftinge: Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management. 2. Auflage. Dpunkt Verlag, Mai 2007, ISBN 978-3898644488. 
  • Georg Pietrek, Jens Trompeter (Hrsg.), Modellgetriebene Softwareentwicklung. MDA und MDSD in der Praxis, Entwickler-Press, gebundene Ausgabe, ISBN 978-3939084112

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • code generator — kodo generatorius statusas T sritis automatika atitikmenys: angl. code generator vok. Codeerzeuger, m; Codegenerator, m; Kodeerzeuger, m; Kodegenerator, m; Textgeber, m rus. генератор кода, m pranc. générateur de code, m …   Automatikos terminų žodynas

  • Generator — may refer to: * Electrical generator * Engine generator, an electrical generator, but with its own engine. * Generator (mathematics), any of several closely related usages in mathematics.Music * Generator (song), a song by The Foo Fighters *… …   Wikipedia

  • Code generation (compiler) — In computer science, code generation is the process by which a compiler s code generator converts some intermediate representation of source code into a form (e.g., machine code) that can be readily executed by a machine (often a computer).… …   Wikipedia

  • Code generation — may refer to: Code generation (compiler), a mechanism to produce the executable form of computer programs, such as machine code, in some automatic manner Automatic programming (source code generation), the act of generating source code based on… …   Wikipedia

  • Code De Golay — En théorie des codes, un code de Golay est un code correcteur d erreurs pouvant être binaire ou tertiaire, nommé en l honneur de son inventeur, Marcel J. E. Golay. Il y a deux types de code de Golay binaire. Le code binaire étendu de Golay encode …   Wikipédia en Français

  • Code de golay — En théorie des codes, un code de Golay est un code correcteur d erreurs pouvant être binaire ou tertiaire, nommé en l honneur de son inventeur, Marcel J. E. Golay. Il y a deux types de code de Golay binaire. Le code binaire étendu de Golay encode …   Wikipédia en Français

  • Code Synthesis — Tools CC is a software development company located in Cape Town, South Africa. The company revolves around the development and licencing of ODB, a compiler based object relational mapping (ORM) system for C++, CodeSynthesis XSD, an open source,… …   Wikipedia

  • Generator matrix — In coding theory, a generator matrix is a basis for a linear code, generating all its possible codewords.If the matrix is G and the linear code is C , : w =cGwhere w is a unique codeword of the linear code C , c is a unique row vector, and a… …   Wikipedia

  • Generator (computer science) — In computer science, a generator is a special routine that can be used to control the iteration behaviour of a loop. A generator is very similar to a function that returns an array, in that a generator has parameters, can be called, and generates …   Wikipedia

  • Generator Gawl — Infobox animanga/Header name = Generator Gawl caption = Clockwise from top: Ryuko Saito, Masami, Koji, Ryo and Gawl ja name = ジェネレイター ガウル ja name trans = Jenereitā Gauru genre = Adventure, Drama, Science FictionInfobox animanga/Anime title =… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”