Vorlesung 10 Thomas

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Kreativaufgabe: LOOP, WHILE, GOTO - Compiler

Grammatik

Grammatik

Parser

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

Beweisidee Beweisidee Einzelheiten


  • 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"

IF Beispiel LOOP 1 IF Beispiel LOOP 2 IF Beispiel LOOP 2

Persönliche Werkzeuge