Vorlesung 10 Grüning

Aus ProgrammingWiki

Kreativaufgabe LoopGotoWhile-Compiler Seite 48

Loop:

- Wobei dabei das "LOOP xz" nur mit "WHILE xz != 0" erstetzt wird. Das ergibt validen WHILE-Code, jdeoch wird die Semantik höchst wahrscheinlich verfälscht.


While:

- \neq wird als "!=" dargestellt


Goto:

- Um geparst zu werden muss auf jeder Zeile des GOTO-Programms eine Marke stehen.

- GOTO-Programm muss in der Form: M1: A1; M2: A2; ... ; Mk: Ak vorliegen um semantisch richtig kompiliert zu werden.

- xz = c wird aktuell mit xz - c != 0 übersetzt was inhaltlich nicht stimmt. Das richtige Vergleichen ist jedoch sehr umfangreich.

- Neue Hilfsvariablen müssten noch dynamisch ermittelt werden und nicht fest immer wieder zum Einsatz kommen:

 - x90 = Nullregister
 - x100 = große WHILE-Schleife
 - x101 = if mit LOOP
 - x102 = Hilfe für While-Simulation von LOOP

- xz > k müsste noch implementiert werden.

GotoToWhile.png