Station - Ein Interpreter für strukturierte MyWhile-Programme
Aufgabe des Interpreters
Aufgabe des Interpretes ist es, strukturierte MyWhile-Programme (Schritt für Schritt) auszuführen.
Die Arbeitsweise des Interpreters soll am dolgenden Beispiel-Programm verdeutlicht werden.
[
['=', ('VAR', 'x'), [('NAT', '24')]],
['=', ('VAR', 'y'), [('NAT', '15')]],
['=', ('VAR', 'd'), ['-', ('VAR', 'x'), ('VAR', 'y')]],
['while', ['!=', ('VAR', 'd'), ('NAT', '0')],
[
['if', ['>', ('VAR', 'd'), ('NAT', '0')],
[
['=', ('VAR', 'x'), ['-', ('VAR', 'x'), ('VAR', 'y')]]
],
[
['=', ('VAR', 'y'), ['-', ('VAR', 'y'), ('VAR', 'x')]]
]
],
['=', ('VAR', 'd'), ['-', ('VAR', 'x'), ('VAR', 'y')]]
]
]
]
Der Interpreter transformiert jeweils das noch auszuführende Restprogramm und den aktuellen Variablenzustand:
Restprogramm:
[
['=', ('VAR', 'x'), [('NAT', '24')]],
...
]
Variablenzustand:
{}