Die Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Verwaltung des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Mathematik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Universität Bremen
Zeige Wirtschaftsinformatik-Format Pdf_icon Systems Engineering-Format Pdf_icon Digitale Medien-Format Pdf_icon Informatik-Format Pdf_icon

Informatik-Ansicht

Übersetzerbau


Compiler Construction
Modulnummer
BB-705.02
Bachelor
Pflicht/Wahl
Wahl Basis Ergänzung
Sonderfall
Zugeordnet zu Masterprofil
Sicherheit und Qualität
KI, Kognition, Robotik
Digitale Medien und Interaktion
Modulbereich : Praktische und Technische Informatik
Modulteilbereich : 705 Programmiersprachen und Übersetzer
Anzahl der SWS
V UE K S Prak. Proj.
3 1 0 0 0 0 4
Kreditpunkte : 6 Turnus

i. d. R. angeboten alle 2 Semester

Formale Voraussetzungen : -
Inhaltliche Voraussetzungen : Theoretische Informatik 1, Theoretische Informatik 2
Vorgesehenes Semester : ab 5. Semester
Sprache : Deutsch
Ziele :
  • Prinzipien der Strukturierung von Übersetzern und Interpretern verstehen und anwenden können
  • Konzepte und Methoden der lexikalischen, syntaktischen und kontextuellen (statisch semantischen) Analyse verstehen, anwenden, auf die Implementierung konkreter Sprachen übertragen, beurteilen und bewerten können
  • Prinzipien der Übersetzung von imperativen und objektorientierten Programmiersprachen in Maschinencode verstehen, auf die Implementierung konkreter Konzepte übertragen und die Qualität des Codes beurteilen können.
  • Prinzipien der Codeerzeugung (Registerzuteilung, Instruktionsauswahl, globale und lokale Optimierung) verstehen können
  • selbstständig und in kleinen Teams Wissen und Verständnis erwerben und darstellen können.
Inhalte :
  • Implementierung von Programmiersprachen mit Interpretern, und Übersetzern.
  • Strukturierung von Übersetzern: Plattform(un)abhängigkeit, Bootstrap, Phasen.
  • Lexikalische Analyse: reguläre Definitionen, endliche Automaten, Symboltabellen, Benutzung von flex.
  • Syntaxanalyse: kontextfreie Grammatiken, ab- und aufsteigendes Parsieren, Baumaufbau, Fehlerbehandlung, Benutzung von bison.
  • Kontext-Analyse: Attributgrammatiken, Auswerter, Vereinbarungstabellen.
  • Transformation von imperativen und objektorientierten Programmen in abstrakten Maschinencode.
  • Grundzüge der Codeerzeugung für konkrete Maschinen: globale Optimierung, Registerzuteilung, Instruktionsauswahl, lokale Optimierung.

In der Übung Anwendung der in der Vorlesung erworbenen Kenntnisse und Fähigkeiten auf spezifische Konstrukte von Programmiersprachen.

Insbesondere werden folgende theoretisch/methodische Grundlagen behandelt:

  • Theorie der regulären und kontextfreien Sprachen
  • Algorithmen zur Konstruktion von deterministischen endlichen Automaten für reguläre Definitionen
  • Theorie des LL(k) und LR(k)-Parsierens, mit automatischer Fehlerbehandlung
  • Methoden der Grammatikdefinition, -transformation und -disambiguierung.
  • Theorie der Zweistufengrammatiken und Attributgrammatiken
  • Algorithmen zum Erzeugens von Auswertern für Attributgrammatiken
  • Methoden der Spezifikation von abstrakten Datentypen, für Bezeichnertabellen und Vereinbarungstabellen
  • Methodik der rekursiven Syntax-orientierten Definition für die Transformation von Syntaxbäumen in abstrakten Maschinencode
Unterlagen (Skripte, Literatur, Programme usw.) :
  • A.V. Aho, M. S. Lam, R. Sethi, J.D. Ullman. Compilers - Prinzipien, Techniken und Werkzeuge, zweite Auflage, Bonn: Pearson Education Deutschland (2008).
  • R. Wilhelm, D. Maurer. Übersetzerbau: Theorie - Konstruktion - Generierung. Berlin: Springer, 2. Auflage (1997).

Weiteres Lehrmaterial ist auf der Webseite des Veranstaltung zu finden:

  • Folienkopien
  • Übungsaufgaben.

Übersetzer-Werkzeuge lex/flex, yacc/bison stehen im Rechnernetz des Studiengangs zur Verfügung.

Form der Prüfung : i.d.R. mündliche Prüfung
Arbeitsaufwand
Präsenz 56
Übungsbetrieb/Prüfungsvorbereitung 124
Summe 180 h
Lehrende: Dr. B. Hoffmann Verantwortlich Dr. B. Hoffmann
Zurück

Zeige Wirtschaftsinformatik-Format Pdf_icon Systems Engineering-Format Pdf_icon Digitale Medien-Format Pdf_icon Informatik-Format Pdf_icon