UnivIS
Information system of Friedrich-Alexander-University Erlangen-Nuremberg © Config eG 
FAU Logo
  Collection/class schedule    module collection Home  |  Legal Matters  |  Contact  |  Help    
search:      semester:   
 
 Layout
 
printable version

 
 
Module Description Sheet (PDF)

 
 
 Also in UnivIS
 
course list

lecture directory

 
 
events calendar

job offers

furniture and equipment offers

 
 

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

Modulverantwortliche/r: Michael Philippsen
Lehrende: Michael Philippsen


Start semester: WS 2014/2015Duration: 1 semesterCycle: jährlich (WS)
Präsenzzeit: 70 Std.Eigenstudium: 155 Std.Language: Deutsch

Lectures:


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:

  1. Informatik (Master of Science)
    (Po-Vers. 2010 | Wahlpflichtbereich | Säule der softwareorientierten Vertiefungsrichtungen | Vertiefungsmodul 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 2014/2015, 1. Wdh.: SS 2015, 2. Wdh.: keine Wiederholung
1. Prüfer: Michael Philippsen

UnivIS is a product of Config eG, Buckenhof