Lehrveranstaltungshandbuch Compilerbau und Domänenspezifische Sprachen
Verantwortlich: Andreas Schwenk, M.Sc.
Lehrveranstaltung
Befriedigt Modul (MID)
Organisation
Version |
erstellt |
2018-09-18 |
VID |
1 |
gültig ab |
WS 2012/13 |
gültig bis |
|
|
|
Bezeichnung |
Lang |
Compilerbau und Domänenspezifische Sprachen |
LVID |
F07_CBDSL |
LVPID (Prüfungsnummer) |
|
|
Semesterplan (SWS) |
Vorlesung |
2 |
Übung (ganzer Kurs) |
1 |
Übung (geteilter Kurs) |
|
Praktikum |
|
Projekt |
1 |
Seminar |
|
Tutorium (freiwillig) |
0 |
|
|
Präsenzzeiten |
Vorlesung |
30 |
Übung (ganzer Kurs) |
15 |
Übung (geteilter Kurs) |
|
Praktikum |
|
Projekt |
15 |
Seminar |
|
Tutorium (freiwillig) |
0 |
|
|
max. Teilnehmerzahl |
Übung (ganzer Kurs) |
|
Übung (geteilter Kurs) |
|
Praktikum |
|
Projekt |
30 |
Seminar |
|
|
Gesamtaufwand: 150
Unterrichtssprache
Niveau
Notwendige Voraussetzungen
- Erweiterte Kenntnisse in mindestens einer imperativen Programmiersprache
Literatur
- Fowler, Martin: "Domain-specific languages", Pearson Education
- Aho, Alfred V., Ravi Sethi, and Jeffrey D. Ullman: "Compilers, Principles, Techniques", Addison Wesley
- Wirth, Niklaus: "Compiler construction", Addison-Wesley
Dozenten
Wissenschaftliche Mitarbeiter
Zeugnistext
Compilerbau und Domänenspezifische Sprachen
Kompetenznachweis
Form |
sMP |
Regelfall (bei großer Prüfungszahl: sK) |
Intervall: 2/Jahr
Lehrveranstaltungselemente
Vorlesung / Übung
Lernziele
Lerninhalte (Kenntnisse)
- Formale Sprachen
- Reguläre Sprachen
- Reguläre Ausdrücke
- Endliche Automaten
- Kontextfreie Sprachen
- Kellerautomaten
- Backus-Naur-Form
- Deterministisch kontextfreie Sprachen
- Chomsky Hierarchie
- Parsing
- Top-Down Parsing
- Bottom-Up Parsing
- Parsergeneratoren
- Compiler Front Ends
- Lexikalische Analyse
- Syntaktische Analyse
- Semantische Analyse
- Zwischencodeerzeugung
- Compiler Middle Ends
- Compiler Back Ends
- Computerarchitekturen
- Maschinencodeerzeugung
- Registerbelegung
- Automatische Parallelisierung
- Relevante Datenstrukturen
- Abstrakter Syntaxbaum
- Symboltabelle
- Eingebettete domänenspezifische Sprachen
- Externe domänenspezifische Sprachen
- Compiler Korrektheit
- Grundlagen der natürlichen Sprachverarbeitung
Fertigkeiten
- Theoretische Konzepte verstehen
- Praktische Problemstellungen mittels Toolchains aus dem Kontext des Compilerbaus lösen
- GNU Autotools
- GNU Compiler-Collection (GCC)
- Clang
- LLVM Backend
- Flex
- GNU Bison
- Eigenschaften von natürlichen und formalen Sprachen unterscheiden
- Domänenspezifische Sprachen entwerfen
- Aufwand und Ertrag der Erstellung domänenspezifischer Sprachen bewerten
- unterliegende Domäne ontologisch auffassen
- Sprachdokumentationen formulieren
- Ausdrucksstärke von Sprachen bewerten
- Domänenspezifische Sprachen implementieren
- Entwurfsmuster anwenden
- Language Workbenches erzeugen
- Überprüfung der Sprachspezifikation auf Korrektheit
Begleitmaterial
- elektronische Vortragsfolien zur Vorlesung
- elektronische Übungsaufgabensammlung
- elektronische Entwicklungswerkzeuge; als virtuelle Maschine bereitgestellt
- elektronische Tutorials für Selbststudium
- Quizfragen zur Überprüfung des Wissensstands
Besondere Voraussetzungen
Besondere Literatur
Besonderer Kompetenznachweis
Form |
bK |
2-3 eTests je 20min (je 1x wiederholbar) |
bÜA |
Präsenzübung und Selbstlernaufgaben |
Beitrag zum LV-Ergebnis |
bK |
Voraussetzung für bPA |
bÜA |
unbenotet |
Intervall: 1/Jahr
Projekt
Lernziele
Fertigkeiten
- Entwurf und Implementation einer neuen domänenspezifischen Sprache
- Anforderungen formulieren
- Testprogramme definieren
- Parser implementieren
- Integration eines Frameworks aus der Zieldomäne bzw. Codegenerierung umsetzen
- Verifikation; z.B. unterstützt durch Hamcrest
- Präsentation einer wissenschaftlichen Publikation aus dem Kontext der Lehrveranstaltung
- forschungsnahe Fachliteratur verstehen
- komplexe Sachverhalte didaktisch aufbereiten
Handlungskompetenz demonstrieren
- komplexe Aufgaben im Team bewältigen
- Präsentation und Verteidigung von Projektergebnissen
Begleitmaterial
- elektronische Projektaufgabe
- elektronische Entwicklungswerkzeuge
- Tutorials
Besondere Voraussetzungen
Besondere Literatur
- Onlinedokumentation zu den eingesetzten Tools; insbesondere zu Eclipse Xtext
Besonderer Kompetenznachweis
Form |
bPA |
3 Präsenztermine |
sMB |
15min Ergebnispräsentation zu bPA; 8min Präsentation Paper |
Beitrag zum LV-Ergebnis |
bPA |
Testat |
sMB |
zu bPA |
Intervall: 1/Jahr
Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki?
Feedback senden