Stud.IP Uni Oldenburg
University of Oldenburg
28.05.2022 22:43:10
inf019 - Compiler Construction (Complete module description)
Original version English Download as PDF
Module label Compiler Construction
Module code inf019
Credit points 6.0 KP
Workload 180 h
Institute directory Department of Computing Science
Applicability of the module
  • Bachelor's Programme Computing Science (Bachelor) > Wahlpflichtbereich Praktische Informatik
  • Master of Education Programme (Gymnasium) Computing Science (Master of Education) > Wahlpflichtmodule (Praktische Informatik)
Responsible persons
Lehrenden, Die im Modul (Authorized examiners)
Vogel-Sonnenschein, Ute (Module responsibility)
Prerequisites
Skills to be acquired in this module
Professional competence
The students:
  • name the structure of a compiler and each part of the compiling process of a programming language
  • describe the standards of each phase of a compiling process
  • understand and evaluate typical characteristics as well as advantages and disadvantages of different methods of the compilation stages
  • practically apply the learned methods of the compilation stages
  • evaluate the use of a compilation generator


Methodological competence
The students:
  • link the automata theory and the formal language concepts regarding the compiler construction


Social competence
The students:
  • develop and present solutions of given problems in small teams
Module contents
The module provides all steps of a compiler: scanner, parser, semantic analysis, intermediate code generation, code optimisation and machine code generation. Each step is introduced by its current methods. For the parsing step LL-Parser and LR-Parser are presented. The code optimisation step is introduced by different procedures with different conditions for the register optimisation. The lecture essentially follows the book of Aho, Lam, Sethi, Ullman which can validly be described as a compiler construction classic.

During practice the introduced methods are practically deepened by small examples and tasks, which the students must carry out independently. A compiler generator (typically ANTLR) is used to demonstrate the practical use of such a tool to the students.
Reader's advisory
Essential:
  • Handout


Recommented:
  • Aho, Lam, Sethi, Ullman: Compilers. Principles, Techniques, and Tools, 2nd ed., Addison Wesley, 2006
Links
Language of instruction German
Duration (semesters) 1 Semester
Module frequency jährlich
Module capacity unlimited
Modullevel / module level AS (Akzentsetzung / Accentuation)
Modulart / typ of module Wahlpflicht / Elective
Lehr-/Lernform / Teaching/Learning method V+Ü
Vorkenntnisse / Previous knowledge Theoretische Informatik II
Course type Comment SWS Frequency Workload of compulsory attendance
Lecture
2 WiSe 28
Exercises
2 WiSe 28
Total time of attendance for the module 56 h
Examination Time of examination Type of examination
Final exam of module
At the end of the lecture period
Oral exam