Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » Übersetzerbau 2 2015-07-27   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:hauptstudium:ls2:ueb2-2015-07-27 [28.07.2015 23:38] – Letzter Teil F30pruefungen:hauptstudium:ls2:ueb2-2015-07-27 [29.07.2015 00:04] (aktuell) F30
Zeile 1: Zeile 1:
 ====== Übersetzerbau 2 2015-07-27 ====== ====== Übersetzerbau 2 2015-07-27 ======
-**Fach:** Optimierungen in Übersetzern (7,5 ECTS)+**Fach:** Optimierungen in Übersetzern
  
 **Prüfer:** Prof. Philippsen **Prüfer:** Prof. Philippsen
Zeile 6: Zeile 6:
 **Beisitzer:** Jakob Krainz **Beisitzer:** Jakob Krainz
  
-In dieser Konstellation stellt v.a. der Beisitzer die Fragen (hab ich bei Philippsen auch schon anders erlebt). Der Prüfer selbst mischt sich nur an einigen Stellen ein. Papier und Stift liegen bereit und werden im Rahmen der Prüfung auch benutzt.+In dieser Konstellation stellt v.a. der Beisitzer die Fragen (hab ich bei Philippsen auch schon anders erlebt), der Prüfer selbst mischt sich nur an einigen Stellen ein. Papier und Stift liegen bereit und werden im Rahmen der Prüfung auch benutzt.
  
 ===== Fragen ===== ===== Fragen =====
Zeile 55: Zeile 55:
 **B:** Hast du da mal Beispiele? **B:** Hast du da mal Beispiele?
  
-**S:** Garbage removel (das geht aber ansich auch ohne Kontrollflussgraph), Kopienfortschreibung, Konstantenpropagation.+**S:** Garbage removal (das geht aber ansich auch ohne Kontrollflussgraph), Kopienfortschreibung, Konstantenpropagation.
  
 **B:** Was kann man noch tun? **B:** Was kann man noch tun?
Zeile 91: Zeile 91:
 **B:** Wozu kann man die Dominatoren gebrauchen? **B:** Wozu kann man die Dominatoren gebrauchen?
  
-**S:** Zum Schleifen finden.+**S:** Kontrollflussbahängigkeit erkennen.
  
-**B:** Wozu sonst noch?+**B:** Das ist zu allgemein. Was geht da genau? 
 + 
 +**S:** Knoten ist kontrollflussbhängig, wenn er im inversen Kontrollflussgraphen in der Dominanzgrenze liegt. 
 + 
 +**B:** Was ist denn eine Dominanzgrenze? 
 + 
 +**S:** Menge von Knoten, bei denen der Vorgänger dominiert wird, der Knoten selbst aber nicht mehr. 
 + 
 +**B:** Wozu kann man Dominanz sonst noch verwenden?
  
 **S:** … [Hier musste ich länger nachdenken, „so herum“ hatte ich noch nie drüber nachgedacht.] Bestimmte Optimierungen brauchen die Dominanz auch. **S:** … [Hier musste ich länger nachdenken, „so herum“ hatte ich noch nie drüber nachgedacht.] Bestimmte Optimierungen brauchen die Dominanz auch.
Zeile 103: Zeile 111:
 **P:** Denken Sie mal eher ans Stichwort SSA-Form. **P:** Denken Sie mal eher ans Stichwort SSA-Form.
  
-**S:** Ahh ja, zur Herstellung ist SSA-Form ist eine Möglichkeit, an den Dominanzgrenzen Phi-Funktionen einzufügen.+**S:** Ahh ja, zur Herstellung der SSA-Form ist eine Möglichkeit, an den Dominanzgrenzen Phi-Funktionen einzufügen.
  
 **B:** Wonach müssen wir suchen, um Schleifen zu finden? **B:** Wonach müssen wir suchen, um Schleifen zu finden?
Zeile 131: Zeile 139:
 **B:** Skizzier mal eine. **B:** Skizzier mal eine.
  
-**S:** //(Beispiel aus den Vorlesungsfolien gezeichnet.//+**S:** //(Beispiel aus den Vorlesungsfolien gezeichnet.)//
  
 **B:** Wie findet man schleifen? **B:** Wie findet man schleifen?
Zeile 173: Zeile 181:
 **B:** Warum nicht? **B:** Warum nicht?
  
-**S:** Zwei Probleme – verlorener Tausch und verlorene Probleme?+**S:** Zwei Probleme – verlorener Tausch und verlorene Kopie.
  
 **B:** Was ist das Grundproblem dahinter? **B:** Was ist das Grundproblem dahinter?
Zeile 209: Zeile 217:
 **B:** OK, lassen wir das. Was kann man sonst noch für Optimierungen machen? **B:** OK, lassen wir das. Was kann man sonst noch für Optimierungen machen?
  
-**S:** oder Schleifentransformationen oder -restrukturierungen.+**S:** Schleifentransformationen oder -restrukturierungen.
  
 **B:** Und sonst mit Schleifen? **B:** Und sonst mit Schleifen?
Zeile 225: Zeile 233:
 **B:** Was heißt das? Wie sind die genauen Bedingungen? **B:** Was heißt das? Wie sind die genauen Bedingungen?
  
-**S:** Konstant, außerhalb der Schleife definiert oder selbst schleifeninvariant.+**S:** Alle Opernaden konstant, außerhalb der Schleife definiert oder selbst schleifeninvariant.
  
 **B:** Wann kann man den Code dann herausziehen? **B:** Wann kann man den Code dann herausziehen?
Zeile 233: Zeile 241:
 **P:** //(Schmerzverzerrtes Gesicht)// Nö. **P:** //(Schmerzverzerrtes Gesicht)// Nö.
  
-**B:** Schauen wir's uns mal an dem Beispiel an. Diese Instruktion hier ist schleifeninvariant, darf ich sie herausziehen.+**B:** Schauen wir's uns mal an dem Beispiel an. Diese Instruktion hier ist schleifeninvariant, darf ich sie herausziehen?
  
 **S:** Ja. **S:** Ja.
Zeile 253: Zeile 261:
 **S:** Wenn Sie so fragen, wrsl. nicht. Aber ich bin mir relativ sicher, dass das so auf einer Folie stand. **S:** Wenn Sie so fragen, wrsl. nicht. Aber ich bin mir relativ sicher, dass das so auf einer Folie stand.
  
-**P:** Was kann denn schiefgehen? Wenn ich ''a * b'' vorziehe nichts. Aber bei ''a / b'', wenn ''b'' null ist… darf ich das?+**P:** Was kann denn schiefgehen? Wenn ich ''a * b'' vorziehenichts. Aber bei ''a / b'', wenn ''b'' null ist… darf ich das?
  
-**S:** Kommt drauf an, welche Bedingungen an Äquivalenz der Programme gestellt werden. Der Fehler tritt dann halt an einer anderen Stelle auf. Obwohl, wenn der jeweilige Pfad eigtl. gar nicht ausgeführt worden wäre, hätte das auch gut gehen können. Also hat man ein anderen Verhalten.+**S:** Kommt drauf an, welche Bedingungen an Äquivalenz der Programme gestellt werden. Der Fehler tritt dann halt an einer anderen Stelle auf. Obwohl, wenn der jeweilige Pfad eigtl. gar nicht ausgeführt worden wäre, hätte das auch gut gehen können. Also hat man ein anderen Verhalten und darf das nicht.
  
-**B:** Was sind denn Iterationsvariablen?+**B:** Was sind denn Induktionsvariablen?
  
 **S:** Einfache und abhängige: Bei einfachen wird pro Iteration ein konstanter Faktor addiert oder subtrahiert; abhängige lassen sich durch Multiplikation mit und Addition von einem konstantem Faktor aus den einfachen berechnen. **S:** Einfache und abhängige: Bei einfachen wird pro Iteration ein konstanter Faktor addiert oder subtrahiert; abhängige lassen sich durch Multiplikation mit und Addition von einem konstantem Faktor aus den einfachen berechnen.
 +
 +===== Bewertung =====
 +Nachdem man wieder herein gebeten wird, fragt einen Philippsen immer, was man sich selbst geben würde. Merke: Nur laut nachdenken gilt nicht. Es reicht auch nicht aus, auf den Einwurf „Auf die Frage kann man sich vorbereiten“ mit „1,0“ zu antworten – eine konkrete, ernst gemeinte Zahl muss auf den Tisch.
 +
 +Letztenendes war die Note im erwarteten Bereich, relativ gut und für das Modul sowie den Verlauf der Prüfung absolut zufriedenstellend.