Automatisierung der Übersetzung

Zielsetzung

Die Übersetzung von Programmen aus einer Hochsprache in die zu verwendende Maschinensprache ist ein Vorgang, der in aller Regel automatisiert abläuft. Wir werden die einzelnen Schritte dieses komplexen Vorgangs hier am Beispiel verdeutlichen. Eine tiefergehende Betrachtung gibt es im Kapitel Entwicklung eines Compilers - MiniPython.

Als Beispiel betrachten wir nochmals das folgende MiniPython-Programm:

x = 2
y = 3
p = 0
while y != 0:
    p = p + x
    y = y - 1
#end

Im letzten Abschnitt wurde zu diesem Programm das entsprechende Bonsai-Assemblerprogramm erstellt.

0: inc 0
1: inc 0
2: inc 1
3: inc 1
4: inc 1
5: tst 1
6: jmp 8
7: jmp 23
8: tst 0
9: jmp 11
10: jmp 15
11: dec 0
12: inc 2
13: inc 3
14: jmp 8
15: tst 3
16: jmp 18
17: jmp 21
18: dec 3
19: inc 0
20: jmp 15
21: dec 1
22: jmp 5
23: hlt
#0
#0
#0
#0

Beachte, dass die Entwicklung im letzten Abschnitt "manuell" erfolgte. Im Folgenden sollen die einzelnen Schritte mit geeigneten Programmeinheiten durchgeführt werden.

Zum Experimentieren kannst du im Folgenden das Simulationsprogramm CompilerMiniPythonBonsai verwenden.

X

Fehler melden

X

Suche