Übersetzerbau 2 Prüfungsprotokol

Table of Contents

1. Vor der Prüfung

Ich war etwas zu früh da, und mache die Tür selbst auf. Ich darf mich gleich hinsetzen und werde gefragt ob gleich angefangen werden soll, oder wir bis ganz warten. Ich bitte darum zu warten und es wird noch ein wenig klein-gesprochen

Ich werde gefragt ob ich vorbereitet bin, und meine (Standardwitz), dass ich dafür heute gekommen bin, das herauszufinden. Das wird als lustig wahrgenommen und wir fangen bald danach an.

2. Die Prüfung selbst

2.1. Phasen eines Compilers

  • Phasen aufgezählt

2.2. Braucht man die Semantische Analyse?

Ich stocke, weil ich erst nur an Typprüfung denke. Ich werde darauf hinwiesen, dass es noch mehr als nur das gibt.

Kommt auf die Programmiersprache an, in e2 ja weil wir feststellen wollen welche Symbole die gleichen Variablen darstellen sollen.

2.3. Typ-Analyse erklären

Code Stück gegeben:

var a : int[1000];
var b : int[1000];
var g : real;

func main(): int
  var i : int;
  # ...
  g := some_func(a[i], a[b[i]]);
end

func some_func(a : int, b : int): int
  return a + b
end

2.4. Visitor Erklären

  • Wir brauchen es weil Java keine Multimethods hat
  • Papier (a5, zweiseitig) gegeben mit Code-Lücken
  • Ich vertue mich im aufschreiben vom Code (vertausche accept und visit)

2.5. Sethi-Ullman an einem Baum Erklaeren

    +_____
   /      \
  *        \
 /  \       *
a    +     / \
    / \    \ /
    b  c    +
	   / \
	   a b
  • Ershov Zahlen bestimmen
  • Was passiert wenn man nur ein Register hat

2.6. Graph-Färeben erklären

v1 := LOAD
v2 := v1
v3 := v2
v4 := v3 + v1
v5 := v2 + v4
v6 := v5 + v5

so wie der dazugehörige Graph mit Move-Kanten.

  • Allgemeinen Ansatz erklären
  • Wie hängt der Code mit dem Graphen zusammen
  • Woraus besteht der Graph (die Konten sind Lebensspannen)

2.6.1. Transferfrage: Wie kann man Graph-Färben Optimal Lösen

SMT solver sollten helfen können.

2.7. Transferfrage: Dynamische Programmierung

  • Welche Teile der Code-Generierung werden behandelt.
  • Macht es Instruktionsanordnung

3. Nach der Prüfung

Ich verlasse auf bitte das Zimmer und warte vor der Tür. Nach kurzer Zeit werde ich darum gebeten wieder hereinzukommen und werde gefragt wie ich die Prüfung fand. Ich erwähne, dass ich mich an mindestens zwei stellen vertat habe (Visitor, Graph-Färbung) also schließe ich eine 1.0 aus. Philippsen widerspricht mir und meint die Prüfung empfand er als angenehm. Ich bin überrascht und bedanke mich.

Author: Philip Kaludercic

Created: 2023-03-07 Tue 14:42

Validate