Refine
Document Type
- Bachelor Thesis (1)
- Diploma Thesis (1)
- Master's Thesis (1)
Language
- German (3)
Keywords
- Programmiersprache (3) (remove)
Neue Versionen einer Programmiersprache eröffnen neue Möglichkeiten, komplexe Zusammenhänge auszudrücken. So ermöglichte auch C++20 in dem dieser Arbeit vorausgegangenen Forschungsmodul eine Alternative zu Vererbung mit virtuellen Funktionen, welche sich in Microbenchmarks als performanter erwies. Eine Messung in einem vollwertigen Software-Projekt erfordert jedoch zunächst eine Modernisierung dessen. So ist u.a. die 3D-Engine OGRE lediglich auf dem Stand von C++11. Es stellt sich die Frage, ob der Arbeitsaufwand und die Risiken, die mit einer Modernisierung und anschließender Umsetzung der Alternative verbunden sind, letztlich zu rechtfertigen wären. Zumindest für den ersten Schritt kann dies auch unabhängig vom zweiten bestimmt werden. Detaillierte Beschreibungen und Microbenchmarks zu neuen Features können zwar oft gefunden werden, jedoch sind die exakten Hindernisse im konkreten Fall schwer einzuschätzen und die tatsächlichen Vorteile für ein vollwertiges Software-Projekt sind aus bloßen Microbenchmarks nicht direkt abzuleiten. Die vorliegende Arbeit beschreibt die mit der Umsetzung neuer Features verbundenen Hindernisse in der 3D-Engine OGRE. Anhand inkrementeller Messungen wird schließlich entschieden, welche Modernisierungen an und für sich lohnenswert sind und von welchen abzuraten ist.
Diese Diplomarbeit behandelt sowohl die theoretischen Grundlagen zur Entwicklung und Konzeption einer Programmiersprache als auch die praktische Umsetzung eines Interpreters. Es wird auf die eingesetzten Werkzeuge, sowie auf die zugrundeliegenden Mechanismen eingegangen. Anhand von Beispielen werden zuerst die Bausteine des Interpreters erläutert und später einige Konzepte wie Built-In-Funktionen und Speicherverwaltung genauer vorgestellt. Ergebnis der Diplomarbeit ist ein in C implementierter Interpreter für die entworfene Programmiersprache sowie Konzepte und Grundlagen zur Erweiterung und Weiterentwicklung der Programmiersprache.
Ziel der Bachelorarbeit ist die Erstellung einer Sprache, um parametrische CADWiederholteile beschreiben zu können. Schwerpunkt ist die Implementierung CADSystem-übergreifender Konstruktionselemente. Gleichzeitig soll diese Sprache von keinem CAD-System abhängig sein. Der langfristige Zweck dieser Entwicklung ist die Ablösung und Umwandlung der vorhandenen Geometriedateien inklusive der in den Dateien verwendeten Methoden der Norm ISO 13584-31. Für die Umsetzung ist ein geeignetes Werkzeug zu finden. Dabei muss das Umfeld des Geometrieerstellungsprozesses beachtet werden. Beeinflusst wird die Wahl auch durch die Programmierung eines prototypischen und für die Anwendung notwendigen Generators. Mit diesem werden durch Verwendung der API eines CAD-Systems Teile erzeugt, nachdem die Dateien der neuen Sprache eingelesen und interpretiert wurden. Die Sprache wird letztendlich auf Basis von Xtext, einem Framework zur Erstellung von textuellen Sprachen, umgesetzt. Weiterhin wird anhand eines Beispiels die Tauglichkeit der Sprache bewiesen.