Vorlesung 10 Thomas
Aus ProgrammingWiki
Inhaltsverzeichnis |
Kreativaufgabe: LOOP, WHILE, GOTO - Compiler
Grammatik
Parser
Compiler
LOOP -> WHILE
- LOOP Syntax
- Wertzuweisung x_i~:=x_j~+c~x_i~:=x_j~-c
- Sequenz P_1:P_2
- Zyklus \mathrm{P} ist ein LOOP-Programm, dann ist \mathrm{LOOP}~x_i~\mathrm{DO}~\mathrm{P}~ \mathrm{END} auch ein LOOP Programm
- minimalistische Syntaktik wird nicht geparst, Bsp: x_i := x_j
- LOOP kann mit WHILE Simuliert werden
- x_i~:=~x_j;~\mathrm {WHILE}~x_i~\neq~0~\mathrm{DO}~x_i~:=~x_i~-~1;~\mathrm{P}~\mathrm{END}
WHILE -> WHILE
- WHILE Syntax
- \mathrm {WHILE}~x_i~\neq~0~\mathrm{DO}~\mathrm{P}~\mathrm{END}
GOTO -> WHILE
- GOTO Syntax
- Wertzuweisung x_i~:=x_j~+c~x_i~:=x_j~-c
- unbedingter Sprung: \mathrm{GOTO}~M_i
- bedingter Sprung: \mathrm{IF}~x_i~=~\mathrm{c}~\mathrm{THEN}~\mathrm{GOTO}~M_j
- Stopanweisung: \mathrm{HALT}
Idee zu GOTO -> WHILE
- Entwicklung eines zweiten/dritten Compilers
- 1ter Compiler -> Loop, GOTO, WHILE -> LOOP, WHILE Syntax
- 2/3ter Compiler -> LOOP, WHILE -> WHILE
- Beispiel: IF Anweisungen von LOOP zu WHILE
- Prüfung ob Loop, GOTO, WHILE -> LOOP -> WHILE "einfacher"






