Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » Analysephase   (Übersicht)

  • Prüfer: Philippsen
  • Beisitzer: Baer
  • Prüfungsdauer: 30 Minuten

Analysephase

  • Was ist der Unterschied zwischen Namens- und Symboltabelle?
  • Kann man auch ohne Namenstabelle einen Compiler bauen? Kann man auch ohne Symboltabelle einen Compiler bauen?

Beispielcode

  • Gegeben ist folgender Code.
int foo(int x, real y, int z) {
   return x + y;
}

int foo(int x, int y, int z) {
   return x + y + z;
}

int main() {
   int x = 10;
   int y = 100;
   foo(x, 47 / 11, 100);
}
  • Wie funktioniert da die Typanalyse von foo(x, 47 / 11, 100);
  • Woher weiß ich, welches der beiden foo ausgewählt wird?
  • Wie klappt das mit/ohne Prototypen? (Hier ist keine klare Aufteilung Namens- und Typanalyse möglich. Die beiden Phasen müssen verzahnt verlaufen.)

Abbildungsphase

  • Was kommt dann? (Abbildungsphase mit Transformationen und Zwischencodegenerierung)
  • Warum will man Zwischensprachen haben?

Codierungsphase

  • Welche Verfahren zur Codegenerierung gibt es?
  • Baumtransformation, wie funktioniert das?
  • Wir haben Zwischencode, warum verwenden wir jetzt wieder einen Baum? Woher kommt der?
  • Gegeben war ein Ausdrucksbaum und eine Maschinengrammatik, man sollte das Baumtransformationsverfahren anwenden.

Visitor

  • Was ist die Idee des Besuchsentwurfsmuster?
  • Wie schaut die Klassenhierarchie für das Besuchsentwurfsmuster aus?

Allgemein

Lief sehr schlecht, die Note eigentlich zu gut. Auch schön?