Entwicklung eines Modulkonzeptes für einen MIEC-Compiler

  • Daniel Kogler

Studienabschlussarbeit: Masterarbeit

Abstract

Diese Masterarbeit beschäftigt sich mit der Erweiterung eines MIEC-Compilers, der die
Programmiersprache MiniIEC (MIEC) in PROL16-Maschinencode übersetzt. Ziel der
Arbeit ist die Implementierung eines Modulkonzepts, das die Kapselung von Funktionen
und Variablen in Module ermöglicht sowie die Unterstützung von Funktionsaufrufen mit
Parametern und Rückgabewerten in der MIEC-Sprache.
Die Arbeit beginnt mit einer Einführung in die Grundlagen und theoretischen Hintergründe des Compilerbaus, darunter attributierte Grammatiken (ATG), Scanner, Parser,
Zwischendarstellung und Codegenerierung. Anschließend werden existierende Modulkonzepte komplexerer Sprachen untersucht und verschiedene Modulkonzepte für MIEC
diskutiert. Die konkrete Implementierung und Integration eines dieser Modulkonzepte
wird genauer beschrieben, gefolgt von umfangreichen Tests des erweiterten Systems.
Das implementierte Konzept kann mit angepasster MIEC-Grammatik und diversen Erweiterungen im Compiler die wesentlichen Ziele erreichen. Es ermöglicht das Auslagern
von Funktionen und Variablen in separate Moduldateien, welche von einem Hauptprogramm importiert werden können. Es können nur gesamte Modulinhalte importiert
werden, und eine vollwertige Datenkapselung zum Verstecken von Implementierungsdetails ist nicht möglich. Außerdem ergibt sich kein Vorteil hinsichtlich der Compilezeit,
da bei Änderungen im Quellcode alle Dateien neu compiliert werden müssen, um das
Zusammenfügen in der Zwischendarstellung zu ermöglichen.
Die Ergebnisse der Arbeit zeigen den erweiterten Funktionsumfang der MIEC-Sprache
und bieten tiefere Einblicke in die Funktionsweise des erweiterten Compilers. Die Arbeit
schließt mit einer Bewertung der Ergebnisse und einem Ausblick auf mögliche zukünftige
Erweiterungen.
Datum der Bewilligung2024
OriginalspracheDeutsch (Österreich)
Betreuer/-inFranz Leopold Wiesinger (Betreuer*in)

Zitieren

'