Universität Bremen  
  FB 3  
  AG BKB > Lehre > Übersetzer > Deutsch
English
 

Inhalt des Kurses

 
Die wenigsten InformatikerInnen schreiben jemals einen Übersetzer für eine richtige Programmiersprache. Die Modelle, Theorien und Algorithmen für die Implementierung von Programmiersprachen lassen sich aber auf viele Probleme der Softwareentwicklung anwenden.

Dieser Kurs konzentriert sich daher auf das, was jeder Informatiker über die Implementierung von Programmiersprachen wissen sollte.

Lehrziele

  • Verstehen der Funktionsweise von Übersetzern für Programmiersprachen, insbesondere der Darstellung von Datenstrukturen, Variablen und Objekten, sowie der Codeerzeugung für Ausdrücke, Befehle und Methoden.
  • Beherrschen der grundlegenden Verfahren für die lexikalische, syntaktische und kontextuelle Analyse von Programmiersprachen.

Inhalt des Kurses in Stichworten

  • Einführung: Übersetzer, Interpreter, Phasenmodell.
  • Lexikalische Analyse: Reguläre Ausdrücke, endliche Automaten,
    Implementierung von Bezeichnertabellen (hashing).
  • Syntaxanalyse: Kontextfreie Grammatiken, absteigendes Parsieren, Fehlerbehandlung,
    Konstruktion abstrakter Syntaxbäume.
  • Kontextanalyse: Identifizierung und Typisierung, syntax-orientierte Attributierung,
    Implementierung von Vereinbarungstabellen.
  • Transformation: Speicherorganisation, Variablenallokation,
    Übersetzung von Kontrollstrukturen, Prozedur- und Methodenaufrufe.
  • Codeerzeugung: Registerzuordnung und Instruktionsauswahl.
  • Codeverbesserung: Peephole-``Optimierung''.
 
   
Autor: Dr. Berthold Hoffmann
 
  AG BKB 
Zuletzt geändert am: 30. Mai 2011   impressum