Die Idee
Aus einem Programmtext in der Sprache MiniPython ist durch die beiden vorangegangenen Verarbeitungsschritte eine strukturierte Darstellung geworden.
Zunächst wurden die kleinsten sinntragenden Einheiten, so genannte "Tokens" zunächst ausfindig gemacht. Sie sind hier als graue Kästen eingezeichnet. Danach wurden diese "Tokens" zu immer größeren Blöcken zusammengefasst wurden (orange Kästen). Diese verschachtelte Struktur bildet nun eine geeignete Grundlage, um einen Assembler-Code zusammenzusetzen. Die Grundidee dabei ist recht einfach:
Jeder Sorte von Block entspricht nun eine bestimmte Wirkungsweise:- Bei einer
Zuweisungder FormVAR ZUW ZAHLmuss die richtige Zahl an die Stelle im Speicher geschrieben wird, die der zugehörigen Variable entspricht. - Bei einer
Bedingungder FormVAR GL NULLmuss die entsprechende Variable mit dem Wert 0 verglichen werden und das Ergebnis des Vergleichs irgendwo im Speicher festgehalten werden. - Bei einer
Fallunterscheidungder FormIF Bedingung DP Sequenz1 ELSE DP Sequenz2 ENDmuss zunächst die Gültigkeit der Bedingung ausgeführt werden. Dann wird je nach Ergebnis (im Speicher) die erste oder die zweite Sequenz aufgerufen.
Quellen
- [1]: MiniPython-Programm mit Struktur - Urheber: Peter Dauscher - Lizenz: inf-schule.de