20-00-1013-pr Compiler Tooling

Veranstaltungsdetails

Lehrende: Prof. Dr. Christian Bischof

Veranstaltungsart: Praktikum

Orga-Einheit: FB20 Informatik

Anzeige im Stundenplan: CoTo

Fach:

Anrechenbar für:

Semesterwochenstunden: 4

Unterrichtssprache: Deutsch und Englisch

Min. | Max. Teilnehmerzahl: - | -

Lehrinhalte:
Moderne Compiler zielen primär darauf ab, effizienten Code für eine bestimmte Plattform zu generieren und hierfür nutzen sie fortgeschrittene Analysis- und Transformationswerkzeuge. Eine solche Infrastruktur ist aber auch nützlich für Quellcodetransformation, z.B. für Werkzeuge, die Codes annotieren, instrumentieren, oder in eine kanonische Form bringen. Die Entwicklung solcher Werkzeuge ist für die C++ Sprache aufgrund ihrer Komplexität eine Herausforderung. Eine offene Compiler Infrastruktur, die in einer Vielzahl von Forschungs- und Produktionscompilern genutzt wird, ist die LLVM Infrastruktur (www.llvm.org). Ein vielgenutztes Front-End für C, C++ und objective C ist Clang, welches mächtige Mechanismen für die Extraktion von Information aus dem abstrakten Syntaxbaum zur Verfügung stellt, und so Modifikationen des Quellcodes wie auch die Generierung der Zwischenrepräsentation von LLVM ermöglicht.

Die Studierenden arbeiten mit verschiedenen Komponenten und Techniken des Clang/LLVM Frameworks und implementieren praktische Übungen für Quelltransformationen. Die Clang/LLVM Techniken beinhalten insbesondere die Handhabung und Matching Techniken auf dem abstrakten Syntaxbaum von Clang. Beispiele von Quelltransformationen werden verschiedene Facetten von Code-Erweiterung under -Refactoring beinhalten, z.B. für die Instrumentierung paralleler Codes, für die Übermittlung von Information zwischen der statischen Analyse und der Laufzeitumgebung von (parallelen) Codes, oder für Code Refactoring um bestimmte Coding Standards einzuhalten.

Voraussetzungen:
Vorlesung Einführung in Compilerbau (EiCB), Vorlesung System- and Parallel Programming (SPP), Kentnisse von C++

Online-Angebote:
moodle

Literatur
Termine
Datum Von Bis Raum Lehrende
1 Do, 5. Nov. 2020 13:00 14:30 >Digitaler Veranstaltungstermin Prof. Dr. Christian Bischof
Übersicht der Kurstermine
  • 1
Lehrende
Prof. Dr. Christian Bischof