UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Vorlesungsverzeichnis >> Technische Fakultät (TF) >>

Ausgewählte Kapitel aus dem Übersetzerbau (PS-AKadÜ)7.5 ECTS
(englische Bezeichnung: Selected Topics of Compiler Construction)

Modulverantwortliche/r: Michael Philippsen
Lehrende: Michael Philippsen


Startsemester: WS 2017/2018Dauer: 1 SemesterTurnus: jährlich (WS)
Präsenzzeit: 70 Std.Eigenstudium: 155 Std.Sprache: Deutsch

Lehrveranstaltungen:


Inhalt:

Themen der Vorlesung:

  • Prolog

  • Funktionale Sprachen

  • Aspektorientierte Sprachen

  • Ausnahmebehandlung

  • Binder und Lader

  • Virtuelle Maschinen

  • Automatische Speicherbereinigung

  • Prozedurale Abstraktion

  • Übersetzung für den Cell-Prozessor

  • Model Driven Development und Domain Specific Languages mit XText

Themen der Übung:

  • Ziel des Blockpraktikums ist es, das Verständnis von virtuellen Maschinen zu vertiefen. Dazu implementieren die Studierenden eine eigene virtuelle Maschine für eine Beispielprogrammiersprache, deren Grundgerüst zu Beginn des Praktikums vorgegeben wird.

Lernziele und Kompetenzen:

Die Studierenden

  • vergleichen Übersetzungstechniken für unterschiedliche Programmierparadigmen

  • skizzieren die Grundstruktur eines Interpreters für Prolog

  • beschreiben die Übersetzung funktionaler Sprachen

  • erläutern die Funktionsweise von Typinferenz

  • legen Optimierungen für die Übersetzung funktionaler Sprachen dar

  • erläutern die Konzepte aspektorientierter Sprachen

  • schildern Übersetzungtechniken und Optimierungen für aspektorientierte Sprachen

  • vergleichen Techniken zur Übersetzung von Ausnahmen

  • nennen die Aufgaben eines Binders

  • geben die Struktur unterschiedlicher Formate für ausführbare Dateien an

  • vergleichen die Funktionsweise statischer und dynamischer Bibliotheken

  • vergleichen verschiedene Ansätze zur interpretierten Ausführung von Bytecode

  • schildern, wann sich der Umstieg von interpretierter zu nativer Ausführung lohnt

  • evaluieren, welche Sprachkonstrukte zur Ausführung in einer virtuellen Maschine geeignet sind

  • illustrieren die Arbeitsweise eines Just-In-Time-Compilers

  • beschreiben die Funktionsweise von Heuristiken, die Optimierungen beim Just-In-Time-Übersetzungsvorgang auslösen

  • erläutern gängige Optimierungen für Just-In-Time-Compiler

  • beschreiben Algorithmen zur automatischen Speicherbereinigung

  • vergleichen Ansätze zur Code-Komprimierung

  • skizzieren Übersetzungstechniken für den Cell-Prozessor

  • illustrieren die Entwicklung domänenspezifischer Sprachen mit XText

  • erklären das Einlesen von Bytecode

  • implementieren einen einfachen Bytecode-Interpreter

  • setzen einen einfachen Just-In-Time-Compiler um

  • untersuchen den Wechsel zwischen Bytecode und nativem Code

  • implementieren Registervergabe mit linearem Scan

  • setzen Inlining auf Bytecode-Ebene um


Weitere Informationen:

www: https://www2.cs.fau.de/ue3

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:
Das Modul ist im Kontext der folgenden Studienfächer/Vertiefungsrichtungen verwendbar:

  1. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Wahlpflichtbereich | Säule der softwareorientierten Vertiefungsrichtungen | Vertiefungsrichtung Programmiersysteme)

Studien-/Prüfungsleistungen:

Ausgewählte Kapitel aus dem Übersetzerbau (Prüfungsnummer: 381033)
Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet
Anteil an der Berechnung der Modulnote: 100.0 %

Erstablegung: WS 2017/2018, 1. Wdh.: SS 2018, 2. Wdh.: keine Wiederholung
1. Prüfer: Michael Philippsen

UnivIS ist ein Produkt der Config eG, Buckenhof