621.401 (15S) Compiler Construction
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 ÜbersetzerbauTopics
- 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 InformatikOther 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 LabTopics
- 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 scienceOther 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 schemePosition 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)
-
Übersetzerbau (
2.0h PR / 3.0 ECTS)
-
Subject: Praktische und Technische Informatik (LI 2.2)
(Compulsory subject)
-
Stage two
- 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)
-
Übersetzerbau (
2.0h PR / 4.0 ECTS)
-
Subject: Übersetzerbau
(Compulsory elective)
- 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)
-
Übersetzerbau (
2.0h PR / 4.0 ECTS)
-
Subject: Übersetzerbau
(Compulsory subject)
- 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)
-
Übersetzerbau (
2.0h UE / 4.0 ECTS)
-
Subject: Vertiefung Informatik
(Compulsory subject)
- 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)
-
Übersetzerbau (
2.0h PR / 4.0 ECTS)
-
Subject: Übersetzerbau
(Compulsory elective)
- 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)
-
Übersetzerbau (
2.0h PR / 4.0 ECTS)
-
Subject: Übersetzerbau
(Compulsory elective)
- 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)
-
Übersetzerbau (
2.0h PR / 4.0 ECTS)
-
Subject: Softwareentwicklung
(Compulsory subject)
-
Stage two
- 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)
-
Kurs (Übersetzerbau) (
2.0h KU / 3.0 ECTS)
-
Module: Übersetzerbau
-
Subject: Informatics and Software Engineering
(Compulsory elective)
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)