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.