Institut für Computersprachen
Programmiersprachen und Übersetzer
| 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 |