Institut für Computersprachen
Programmiersprachen und Übersetzer

Detailinformation

( Fenster schließen )


Diplomarbeit
Titel Übersetzung von Forth in Maschinensprache
Autor Pirker, Christian
Erscheinungsjahr 1995
Inventardatum 09.10.1995
Abstract Forth ist eine erweiterbare und interaktive Sprache. Sie stellt zwei programmierersichtbare Stacks (Daten- und Rücksprungstack) zur Verfügung. Die Befehle (Wörter) bearbeiten die Daten auf den Stacks. Die Effizienz der Stackzugriffe und des Programmflusses bestimmen zum großen Teil das Laufzeitverhalten der Forth-Umsetzungen. Im Rahmen dieser Arbeit erfolgt die Umsetzung eines Übersetzers, der Maschinencode für MIPS RISC Prozessoren erzeugt. Mit modernen Übersetzungstechniken werden die Forth Programme in Maschinencode übersetzt. Dieser Code ist sofort ausführbar. Der Maschinencode-Übersetzer konstruiert einen Datenflußgraphen für jeden Grundblock des Forth Programms. Einfache Befehlsauswahls-, Befehlsanordnungs- und Registerbelegungsalgorithmen erzeugen dann den Maschinencode. Die Algorithmen versuchen die Speicherzugriffe auf Stacks zu minimieren. Das Aktualisieren der Stackpointer wird nur durchgeführt, wenn es nötig ist. Der gesamte Maschinencode-Übersetzer ist in Forth geschrieben und kann sich selbst übersetzen. Der Übersetzer ist in den Interpreter integriert, sodaß auch Interpreterworte bearbeitet werden können. Die vom Maschinencode-Übersetzer erzeugten Programme sind im Bereich von 13 bis 196% schneller als die interpretierten Programme. Die Übersetzung in Maschinencode dauert aber momentan um 220% länger als die Übersetzung in den interpretierten Zwischencodes.
Status Verfügbar

( Fenster schließen )