Prüfungsprotokoll

Diplomhauptprüfung Informatik
C1852 - Praktische Informatik Teil 2
Prüfungsinhalt 1810 - Übersetzerbau
Prüfer
Beisitzer
Prof. Dr. Güting
Dr. Erwig
Datum 18. März 1998
Dauer ca. 25 min
Note 1,0

Fragen

  • Welche Aufgaben hat ein Übersetzer?
  • In welchen Aufgabenbereichen werden Übersetzer eingesetzt?
    klassische Programmiersprachen, Datenbankabfragesprachen, Seiten- und Dokumentbeschreibungssprachen, Entwurfssprachen (VLSI) usw.
  • Nennen Sie die Eigenschaften und Unterschiede von Compilern und Interpretern!
    Arbeitsweise von Compiler und Interpreter erläutert, auf Nachfrage geschildert, wie man beide Techniken auch kombinieren kann (Beispiel: Java Virtual Machine)
  • Wie werden die zu übersetzenden Sprachen beschrieben?
    kontextfreie Grammatiken
  • In welche Phasen gliedert sich der Übersetzungsprozeß?
    Lexikalische Analyse, syntaktische Analyse, semantische Analyse, Zwischencodeerzeugung, Optimierung, Codeerzeugung (wichtig ist die Nennung der jeweiligen Ein- und Ausgaben sowie der wesentlichen Arbeitsschritte)
  • Welche grundsätzlichen Strategien gibt es für die Syntaxanalyse?
    Top-Down- und Bottom-Up-Analyse, Erläuterung der jeweiligen Vorgehensweisen
  • Welche einfachste Technik für Bottom-Up-Analyse wird im Kurs vorgestellt?
    Operator-Vorrang-Analyse, Erläuterung der Analysetechnik, Hinweis auf die Einschränkungen, denen die zugrunde liegende Grammatik genügen muß
  • Was versteht man unter attributierten Grammatiken?
    Definition attributierter Grammatiken, Unterschiede zwischen S-attributierten Definitionen (nur synthetisierte Attribute), allgemeinen syntaxgesteuerten Definitionen und L-attributierten Definitionen
  • Wie werden synthetisierte und vererbte Attribute während der Syntaxanalyse behandelt?
  • Welche Aufgaben fallen bei der Verwaltung von Speicherplatz für Variablen an?
  • Wie werden - u.U. geschachtelte - Deklarationen in verschiedenen Programmiersprachen behandelt?
    Hier erläuterte ich an Hand von Fortran, C und Pascal die unterschiedlichen Varianten; wichtig ist, zu erwähnen, daß die Schachtelungstiefe nur von der statischen Schachtelung des Quellcodes und nicht etwa von der Rekursionstiefe abhängig ist
  • Wie sieht das Speicherlayout im Detail aus?
    Layout schematisch dargestellt (Code, statischer Speicher, Stack und Heap)
  • Wie werden unterschiedliche Sichtbarkeitsbereiche implementiert?
    zwei Techniken: Prozedurrahmen, Displaymechanismus

Eindruck

Nach einer Vordiploms- und einer Hauptdiplomsprüfung war dies meine dritte Prüfung bei Prof. Güting. Die Prüfung verlief in einer sehr lockeren, angenehmen Atmosphäre. Prof. Güting stellte die Fragen in recht allgemein gehaltener Form und ließ mich alles, was mir jeweils dazu einfiel, fast ohne Unterbrechungen erzählen. Die Fragen liefen im wesentlichen der Abfolge des Stoffs im Kurs entlang. Fragen zu Kurseinheit 6 (Übersetzung funktionaler Sprachen) wurden nicht gestellt; allerdings vermag ich nicht zu beurteilen, ob das die Regel ist oder eher ein Zufall war.

Aus meiner Sicht ist Prof. Güting als Prüfer uneingeschränkt zu empfehlen!

Viel Erfolg!


Copyright © 1997 Ulrich Telle, letzte Änderung: 18. März 1998