Lerninhalte |
In der Vorlesung werden Techniken vorgestellt mit denen Hochsprachenprogramme in ablauffähige Programme überführt werden können. Im ersten Teil werden für den Übersetzer- und Interpreterbau typische Themen wie lexikalische Analyse, Syntaxanalyse, Semantikanalyse, Programmanalyse unter Verwendung von Datenflussanalysen, und Optimierungsformen angesprochen. Im zweiten Teil wird das Prinzip der SSA-Form (Static Single Assignment-Form) eingeführt und gezeigt wie diese Art der Zwischencoderepräsentation genutzt werden kann um Optimierungen ohne vorab ausgeführte Programmanalysen durchzuführen. In den Übungen wird begleitend von den Studierenden ein Compiler für die Sprache JavaSST erzeugt. Bei JavaSST handelt es sich um eine Untersprache von Java, die zwar vom Programmaufbau klein gehalten ist, jedoch schon zur Programmierung mächtiger Algorithmen verwendet werden kann. |