Inhaltsverzeichnis

Ausgewählte Kapitel aus dem Übersetzerbau

Allgemein

Angenehme Atmosphäre. Wie üblich stehen Papier und Stift bereit. Erster Teil der Prüfung geht über das Praktikum. Es wird (zumindest bei mir) alles vom ersten und letzten Tag gefragt, warum man was gemacht hat, worauf man geachtet hat, und potentiell auch warum die Implementierung kaputt geht wenn man xyz nicht beachtet. Das ist sehr angenehm, insbesondere wenn man verstanden hat, was man da die letzte Woche etwa 50 Stunden lang gemacht hat ;)

Prüfungsverlauf

Praktikum

F: Was haben wir im Praktikum gemacht?

F: Wie funktioniert ein Interpreter?

F: Vor und Nachteile?

F: Wie kann man es besser machen?

F: Noch bessere Variante?

F: Was macht JIT1?

F: Was braucht die Trampolinfunktion alles?

F: Was, wenn man nun in einer While(true)-Schleife steckt, die interpretiert wird, kann man die dann Optimieren weil die laueft ja dann ewig?

F: Hu, hoert sich kompliziert an, alles Rueckgaengig zu machen und die konzeptionelle Schachtel fuer alle Programmcounter usw zu bauen, das dann alles richtig zu machen

F: Was macht JIT2?

F: Verbesserungen?

F: Verbesserungen?

F: Was macht JIT3?

Linker und Lader

F: Statische Shared Librarys, wie funktionieren die, welche Vor- und Nachteile gibts da?

F: Es gibt da auch noch so eine Tabelle…

F: Wenn man nun groessere API-Aenderungen hat, muss man dann neu Binden?

Watermarking

F: Was ist der Unterschied zwischen statischem und dynamischen Verfahren?

F: Kannst du jeweils Beispiele nennen?

F: Was ist das Problem insbesondere an statischen Verfahren?

Funktionale Sprachen

F: Wir wollen nun E3 schreiben, dass Funktional ist. Was muss man hierbei beachten?

Exceptions

F: Worauf achtet man bei der Uebersetzung von Exceptions besonders?

F: Welche Varianten haben wir kennengelernt, um Ausnahmen zu uebersetzen?

F: Letzte Frage, warum brauchen wir angepasste Datenflussanalysen fuer den Faktorisierten Kontrollflussgraphen?