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