Compilerbau
Credits | Workload | Kontaktzeit | Selbststudium | Dauer |
---|---|---|---|---|
6 CP | 180 h | 5 SWS (75 h) | 105 h |
Teilnahmevoraussetzungen
- Beherrschung der wesentlichen Konzepte imperativer und objektorientierter Programmiersprachen sowie elementarer Programmiertechniken in diesen Sprachen (Vorlesung Programmierung)
- Kenntnis von Datenstrukturen wie Listen, Stacks, Queues und Bäumen (Vorlesung Algorithmen und Datenstrukturen)
- Kenntnis grundlegender Automatenmodelle wie endliche Automaten und Kellerautomaten (Vorlesung Formale Systeme, Automaten und Prozesse)
Lehrveranstaltungen
Veranstaltung/ Lehrform | CP | SWS | Häufigkeit | |
---|---|---|---|---|
Vorlesung Compilerbau | 6 CP | 3 SWS | WS, jährlich | |
Übung Compilerbau | 2 SWS | WS, jährlich |
Prüfungsleistung
Note
Lernergebnisse / Kompetenzen
Erwerb der folgenden Kenntnisse und Fähigkeiten:
- Verständnis der Konstruktion und Wirkungsweise von Compilern für höhere Programmiersprachen
- Kenntnisse über Methoden der Syntaxbeschreibung (reguläre Ausdrücke, kontextfreie und attributierte Grammatiken, EBNF)
- Fähigkeit zur Implementierung einfacher Compilerkomponenten (Scanner, Parser)
- Kenntnisse im Einsatz compilererzeugender Werkzeuge
Inhalte
Folgende Hauptthemen:
- Lexikalische Analyse von Programmen (Scanner)
- Syntaktische Analyse von Programmen (Parser)
- Semantische Analyse von Programmen (Attributgrammatiken)
- Zwischencode-Generierung und -Optimierung
- Werkzeuge zur Compilerkonstruktion (lex, yacc)
Alternative Wahlmodule zu diesem Modul
Dieses Modul gehört zur Gruppe "Wahlpflicht Informatik". 9 Module (bestehend aus Vorlesung und Übung) zu wählen aus dem Wahlpflichtprogramm in den vier Bereichen: „Angewandte Informatik“, „Software & Kommunikation“, „Daten- und Informationsmanagement“, „Theoretische Informatik“. In jedem Bereich sind mind. 6, höchstens jedoch 30 ECTS zu erwerben. Die Module sollten so gewählt werden, dass im 1. Studienjahr in der Regel 36 ECTS, im zweiten Studienjahr 24 ECTS erworben werden.
Angewandte Informatik
- Computational Differentiation
- Designing Interactive Systems II
- Einführung in die Computergraphik
- Einführung in High-Performance Computing
- HCI Design Patterns
Daten- und Informationsmanagement
- Datenbanken und Informationssysteme
- Einführung in die künstliche Intelligenz
- Einführung in die Wissensrepräsentation
- Implementation of Databases
- Inhaltsbasierte Ähnlichkeitssuche
- Web Engineering
Software und Kommunikation
- Architekturmodellierung von Softwaresystemen
- Datenkommunikation und Sicherhei
- Einführung in Eingebettete Systeme
- Modellbasierte Softwareentwicklung
- Verteilte Anwendungssysteme und Middleware
Theoretische Informatik
- Angewandte Automatentheorie
- Berechenbarkeit und Komplexität
- Einführung in Effiziente Algorithmen
- Funktionale Programmierung
- Logikprogrammierung
- Model Checking
Modulzuordnung
Master of Science: Fach Grundlagen der Informatik: Bereich Theoretische Informatik
Disclaimer
Bitte beachten Sie, dass im Zweifel (z.B. sich widersprechende Angaben auf der Website und dem Modulhandbuch) für Ihr Studium immer die Angaben in der aktuellen Bachelorprüfungsordnung mit den entsprechenden Anhängen verbindlich sind. Wenden Sie sich bitte an die Fachstudienberatung, wenn Ihnen Unstimmigkeiten auffallen.