Im Projekt Arte-Fakt wurde basierend auf dem Bauhaus-Projekt die
Infrastruktur für zum Teil sprachunabhängige Transformationen auf
Quellcodeebene (Refactorings) entwickelt unter besonderer Beachtung der
Präprozessorproblematik in C und C++.
Für die Durchführung eines Refactorings muss der zu transformierende
Quellcode zunächst in die Bauhaus-interne Programmrepräsentation IML
(InterMediate Language) überführt werden. Die IML ist ein abstrakter
Syntaxbaum, in dem in unterschiedlichen Programmiersprachen
geschriebener Code als vereinheitlichte Zwischendarstellung abgebildet
wird. Die für die Überführung aus dem Quelltext in die IML benötigte
Funktionalität war durch mehrere in das Bauhaus-Projekt integrierte
Tools (Frontends) bereits gegeben. Die eigentlichen Refactorings wurden
dann als eine Manipulation der IML unter Berücksichtigung der
spezifischen Vor- und Nachbedingungen umgesetzt. Hierbei durften
möglichst wenige Informationen über den Ursprungscode verloren gehen, da
diese unverzichtbar für ein quelltextnahes Unparsen sind, d.h. für die
Zurückführung der transformierten IML in ihre entsprechende
Textrepräsentation.
Das Verstehen und Anpassen bestehender Tools sowie die Integration der
selbst konzipierten und umgesetzten Lösungen in das Bauhaus-Projekt
bildeten weitere Schwerpunkte.
Produktbeschreibung
Durch Arte-Fakt wurde das Bauhaus-Projekt um eine erste
Transformationskomponente auf Quellcodeebene bestehend aus einem
Refactoring-Modul und einem Unparse-Modul sowie um Analysen basierend
auf Präprozessor-Informationen erweitert. Für die entwickelten Tools
wurden textuelle Benutzungsschnittstellen geschrieben, die wiederum in
ein bereits bestehendes Tool mit graphischer Oberfläche integriert wurden.
Für weitere Informationen siehe:
ARTE-FAKT Homepage