Nächste Seite:
Einleitung
Compilerbau
Vorlesung
Wintersemester 2008, 09, 10
Johannes Waldmann, HTWK Leipzig
Einleitung
.
Beispiel
Inhalt
Sprachverarbeitung
Compiler und andere Werkzeuge
Phasen eines Compilers
Methoden und Modelle
Anwendungen von Techniken des Compilerbaus
Literatur
Organisation
Projekt-Themen
Beispiel: Interpreter (I)
Beispiel: Interpreter (II)
Interpreter (Übung)
Umgebungen
Semantische Bereiche
Continuations
Unterprogramme
Beispiele
Der Lambda-Kalkül
Interpreter mit Funktionen
Semantik
Testfall (1)
Mehrstellige Funktionen
Let und Lambda
Rekursion?
Testfall (2)
Fixpunkte
Motivation
Rekursion
Existenz von Fixpunkten
Funktionen als CPO
Funktionen als CPO, Beispiel
Daten als Funktionen
letrec
letrec nach rec
Fixpunkt-Kombinatoren
Lambda-Kalkül als universelles Modell
Zustand/Speicher
Motivation
Speicher
Speicher-Aktionen als Monade
Auswertung von Ausdrücken
Änderung der Hilfsfunktionen
Rekursion
Rekursion (semantisch)
Rekursion (operational)
Speicher--Übung
Monaden
Die Konstruktorklasse Monad
Do-Notation für Monaden
Die Zustands-Monade
List als Monade
Kombinator-Parser
Datentyp für Parser
Elementare Parser (I)
Monadisches Verketten von Parsern
Elementare Parser (II)
Kombinatoren für Parser (I)
Kombinator-Parser und Grammatiken
Robuste Parser-Bibliotheken
Asymmetrische Komposition
Nichtdeterminismus einschränken
Fehlermeldungen
Pretty-Printing (I)
Pretty-Printing (II)
Parameterübergabe (call by ...)
Einleitung
Wertübergabe (CBV)
Call by name
Simulation von CBN in CBV
Bedarfsauswertung (lazy evaluation)
Einschätzung
Ablaufsteuerung/Continuations
Definition
Motivation
CPS für Linearisierung
CPS für Resultat-Tupel
CPS/Tupel-Beispiel
CPS für Ablaufsteuerung
Semantik für CPS
Semantik
CPS als Monade
CPS-Transformation
CPS-Transformation: Spezifikation
CPS-Transformation: Zielsyntax
Beispiel
Transformation f. Applikation
Transformation f. Abstraktion
Namen
Namen (II)
Vereinfachungen
Teilweise Auswertung
Partial Evaluation
Partial Evaluation (II)
Plan f. Compiler
Transformationen
Closure Conversion
Motivation
Spezifikation
closure passing style
Transformation
Zuweisungen und Closures
Vergleich mit inneren Klassen
Lifting
Spezifikation
Realisierung
Registervergabe
Motivation
Plan (I)
Plan (II)
Registerbenutzung
Typen
Grundlagen
Inferenz-Systeme
Inferenz-Systeme (Beispiel 1)
Inferenz-Systeme (Beispiel 2)
Inferenz von Werten
Inferenz mit Umgebungen
Inferenzsystem für Typen (Syntax)
Inferenzsystem für Typen (Semantik)
Inferenz für Let
Applikation und Abstraktion
Eigenschaften des Typsystems
Polymorphe Typen
Motivation
Typ-Argumente (Beispiel)
Typ-Argumente (Regeln)
Inferenz allgemeingültige Formeln
Typen und Daten
Typ-Rekonstruktion
Motivation
Realisierung mit Constraints
Substitutionen (Definition)
Substitutionen: Produkt
Substitutionen: Ordnung
Unifikation--Definition
Unifikation--Algorithmus
Unifikation--Komplexität
Inferenzregeln f. Rekonstruktion (Plan)
Inferenzregeln f. Rekonstrukion
Rekonstruktion polymorpher Typen
Implementierung
Anhang
Prüfungsvorbereitung
Über dieses Dokument ...
Johannes Waldmann 2011-01-23