621.401 (15S) Compiler Construction

Sommersemester 2015

Registration deadline has expired.

First course session
05.03.2015 10:00 - 12:00 V.1.08 On Campus
... no further dates known

Overview

Lecturer
Course title german Übersetzerbau
Type Practical class (continuous assessment course )
Hours per Week 2.0
ECTS credits 4.0
Registrations 12 (30 max.)
Organisational unit
Language of instruction English
Course begins on 05.03.2015
Remarks (english) First class: March 5, 10:15 am.

Time and place

List of events is loading...

Course Information

Intended learning outcomes

Studierende können die Konzepte des Übersetzerbaus anwenden, um einen konkreten Compiler zu entwickeln, und dessen Design und Funktionsweise erklären.

Teaching methodology including the use of eLearning tools

Studierende erhalten wöchentliche Aufgaben zum Compilerprojekt sowie zur Compilertheorie. Die Lösungen zu letzteren Aufgaben sind im Praktikum mündlich zu präsentieren. Für das Compilerprojekt sind Abgaben zu fünf Meilensteinen vorgesehen. Am Semesterende ist zudem von jedem/r Teilnehmer/in ein Bericht über das Compilerprojekt abzugeben.

Course content

Praktikum Übersetzerbau

Topics

  • Implementierung eines Compilers
  • Lexikalische Analyse, endliche Automaten
  • Kontextfreie Grammatiken, Kellerautomaten
  • Syntaktische Analyse (Parser)
  • Syntax-gesteuerte Übersetzung, attributierte Grammatiken
  • Statische Korrektheitsprüfung
  • Laufzeitumgebungen
  • Code-Erzeugung

Teaching objective

Studierende sollen: * einen Compiler für eine prozedurale Programmiersprache mittels Java entwickeln (Gruppen von 2-3 Studierenden); * Übungsaufgaben zur Vorlesung bearbeiten (Einzelarbeit).

Prior knowledge expected

Programmieren in Java Rechnerorganisation Einführung in die theoretische Informatik

Other materials

Kursmaterial wird in Moodle bereitgestellt.

Literature

Aho – Lam – Sethi – Ullman: Compilers, 2nd ed., Pearson, 2006. Deutsche Auflage (2008) ist in der "Lehrbuchsammlung" der Universitätsbibliothek verfügbar.

Intended learning outcomes

Students can apply the concepts of compiler construction to developing a concrete compiler, and explain its design and functional issues.

Teaching methodology including the use of eLearning tools

Students are assigned weekly homework exercises related to both the compiler project and compiler theory. Solutions are to be presented in class. For the compiler project, code is to be submitted corresponding to five milestones. At the end of the semester, a report about the compiler project has to be submitted by every participant.

Course content

Compiler Construction Lab

Topics

  • Implementing a compiler
  • Lexical analysis, finite automata
  • Context-free grammars, push-down automata
  • Syntactical analysis (parsing)
  • Syntax-directed translation, attribute grammars
  • Static correctness checking
  • Run-time environments
  • Code generation

Teaching objective

Students should: * develop a compiler for a procedural programming language using Java (groups of 2-3 students); * work on exercises referring to lecture content (individual work).

Prior knowledge expected

Programming in Java Computer organization Introduction to theoretical computer science

Other materials

Course material provided in Moodle.

Literature

Aho – Lam – Sethi – Ullman: Compilers, 2nd ed., Pearson, 2006. German edition (2008) available in "Lehrbuchsammlung" of local library.

Examination information

Im Fall von online durchgeführten Prüfungen sind die Standards zu beachten, die die technischen Geräte der Studierenden erfüllen müssen, um an diesen Prüfungen teilnehmen zu können.

Examination topic(s)

* Abgabe von Programmcode und Bericht zum entwickelten Compiler. * Mündliche Präsentation der Lösungen zu den Übungsaufgaben.

Examination topic(s)

* Code submissions and a written report about the developed compiler. * Oral presentation of solutions to exercises.

Grading scheme

Grade / Grade grading scheme

Position in the curriculum

  • Teacher training programme Computer Sciences and Computer Sciences Management (Secondary School Teacher Accreditation) (SKZ: 884, Version: 04W.7)
    • Stage two
      • Subject: Praktische und Technische Informatik (LI 2.2) (Compulsory subject)
        • Übersetzerbau ( 2.0h PR / 3.0 ECTS)
          • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Bachelorstudium Informatik (SKZ: 521, Version: 09W.3)
    • Subject: Übersetzerbau (Compulsory elective)
      • Übersetzerbau ( 2.0h PR / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Bachelor's degree programme Informatics (SKZ: 521, Version: 03W.1)
    • Subject: Übersetzerbau (Compulsory subject)
      • Übersetzerbau ( 2.0h PR / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Master's degree programme Applied Informatics (SKZ: 911, Version: 13W.1)
    • Subject: Vertiefung Informatik (Compulsory subject)
      • Übersetzerbau ( 2.0h UE / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Masterstudium Informatik (SKZ: 921, Version: 09W.1)
    • Subject: Übersetzerbau (Compulsory elective)
      • Übersetzerbau ( 2.0h PR / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Master's degree programme Informatics (SKZ: 921, Version: 03W.1)
    • Subject: Übersetzerbau (Compulsory elective)
      • Übersetzerbau ( 2.0h PR / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Diploma programme Informatics (SKZ: 880, Version: 02W)
    • Stage two
      • Subject: Softwareentwicklung (Compulsory subject)
        • Übersetzerbau ( 2.0h PR / 4.0 ECTS)
          • 621.401 Compiler Construction (2.0h PR / 4.0 ECTS)
  • Bachelor's degree programme Information Technology (SKZ: 289, Version: 06W.1)
    • Subject: Informatics and Software Engineering (Compulsory elective)
      • Module: Übersetzerbau
        • Kurs (Übersetzerbau) ( 2.0h KU / 3.0 ECTS)
          • 621.401 Compiler Construction (2.0h PR / 3.0 ECTS)

Equivalent courses for counting the examination attempts

Sommersemester 2024
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2023
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2022
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2021
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2020
  • 621.401 PR Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2019
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2018
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2017
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2016
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2014
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2013
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2012
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2011
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)