UnivIS
Information system of Friedrich-Alexander-University Erlangen-Nuremberg © Config eG 
FAU Logo
  Collection/class schedule    module collection Home  |  Legal Matters  |  Contact  |  Help    
search:      semester:   
 
 Layout
 
printable version

 
 
 Also in UnivIS
 
course list

lecture directory

 
 
events calendar

job offers

furniture and equipment offers

 
 
Informations- und Kommunikationstechnik (Master of Science) >>

  Grundlagen des Übersetzerbaus (inf2-ueb)

Lecturer
Prof. Dr. Michael Philippsen

Details
Vorlesung
2 cred.h, ECTS studies, ECTS credits: 7,5
nur Fachstudium, Sprache Deutsch, Es ist keine Anmeldung erforderlich.
Time and place: Tue 8:15 - 9:45, 1.84

Fields of study
WF IuK-BA 5-6 (ECTS-Credits: 7,5)
WF CE-BA-TW 5-7 (ECTS-Credits: 7,5)
WPF CE-MA-INF 1-4 (ECTS-Credits: 7,5)
WPF INF-MA ab 1 (ECTS-Credits: 7,5)
WPF INF-BA-W 5-6 (ECTS-Credits: 7,5)
WPF IuK-MA-ES-INF 1-4 (ECTS-Credits: 7,5)

Contents
Auf den ersten Blick erscheint es wenig sinnvoll, sich mit Übersetzerbau zu beschäftigen. Andere Themen scheinen wesentlich näher an der direkten Anwendbarkeit in der industriellen Praxis. Der erste Blick täuscht:
  • Übersetzer gehören wohl zu den am gründlichsten studierten mittelgroßen sequentiellen Software-Systemen. Man kann viel aus den Erfahrungen lernen, die im Laufe der Jahre gesammelt wurden.

  • In den Übungen, die die Vorlesung begleiten, werden Sie selbst einen (kleinen) Übersetzer entwickeln.

  • Für viele Teilnehmer wird dieses Projekt das erste größere Software-Projekt sein. Viele der Algorithmen aus dem Grundstudium werden angewendet.

  • Bei jedem von Ihnen verwendeten Übersetzer gehen Sie in der Regel davon aus, dass richtiger Coder erzeugt wird. In der Vorlesung erfahren Sie, wie das geforderte hohe Maß an Korrektheit und Zuverlässigkeit erreicht wird.

  • Sie erlangen ein Verständnis für Konzepte von Programmiersprachen und verstehen, welcher Maschinen-Code aus Sprachkonstrukten gemacht wird. Mit diesem Wissen im Hinterkopf verbessern Sie Ihre Fähigkeit, gute und effiziente Programme zu schreiben.

  • Übersetzer werden nicht nur für Programmiersprachen benötigt. Spezielle Übersetzer braucht man in vielen Bereichen des täglichen Informatik-Lebens z.B. zur Textformatierung, für Programmtransformationen, für aspektorientiertes Programmieren, für die Verarbeitung von XML, ...

  • Es gehört zu einer Ingenieur-Ausbildung, in der Lage zu sein, diejenigen Werkzeuge selbst zu fertigen, die man verwendet. Für Informatiker gehört daher ein Verständnis vom Innenleben eines Übersetzers zum Rüstzeug.

Themen der Vorlesung:

  • Übersetzungsprinzipien für imperative Sprachen

  • Struktur eines Übersetzers

  • Symbolentschlüssler und Zerteiler (Scanner und Parser)

  • Abstrakter Syntaxbaum

  • Symboltabellen, Umgebungen

  • Attributgrammatiken

  • Semantische Analyse, Typprüfung

  • Automatische Speicherbereinigung

  • Code-Erzeugung

  • Register Optimization

Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt: https://www.studon.fau.de

ECTS information:
Title:
Compiler Construction

Credits: 7,5

Contents
At first glance, it may appear less important to focus on compiler construction. Other areas seem to be much more applicable to current tasks in industrial practice. But appearences are deceptive:
  • Compilers are among the most thoroughly studied middle-sized sequential software systems. Hence, there is a lot to learn from the experience made in the past.

  • In the exercises that accompany this lecture, you will construct your own (small) compiler.

  • For many participants, this project will be their first bigger software project.

  • Normally, you expect every compiler you use to generate correct code. In the lecture, you will learn how one can achieve the required degree of correctness and reliability.

  • You will gain an understanding of the concepts of programming languages and of how high-level language features are translated into machine code. Keeping this knowledge at the back of your mind, you will improve your capability to write good and efficient programs.

  • Compilers are used not only for programming languages. Special compilers are needed in many areas of every-day life in computer science, e.g. for text formatting, program transformations, aspect oriented programming, XML processing etc.

  • Every engineer should be able to build the tools he/she is using. For computer scienctists, this requires an in-depth understanding of the guts of compilers.

Topics covered in the lecture:

  • Principles to compile imperative programming languages

  • The structure of a compiler

  • Scanner and Parser

  • Abstract syntax tree

  • Symbol tables, environments

  • Attributed grammars

  • Semantic analysis, type checking

  • Automatic garbage collection

  • Code generation

  • Register Optimization

Additional information
Expected participants: 27
www: https://www.studon.fau.de

Assigned lectures
UE: Übungen zu Grundlagen des Übersetzerbaus
Lecturer: Dipl.-Inf. Stefan Kempf
www: https://www.studon.fau.de

Verwendung in folgenden UnivIS-Modulen
Startsemester WS 2012/2013:
Grundlagen des Übersetzerbaus (PS-UE1)

Department: Chair of Computer Science 2 (Programming Systems)
UnivIS is a product of Config eG, Buckenhof