Inhalt

[ 921CGELACOK13 ] KV (*)Advanced Compiler Construction

Versionsauswahl
(*) Leider ist diese Information in Deutsch nicht verfügbar.
Workload Ausbildungslevel Studienfachbereich VerantwortlicheR Semesterstunden Anbietende Uni
3 ECTS M1 - Master 1. Jahr Informatik Hanspeter Mössenböck 2 SSt Johannes Kepler Universität Linz
Detailinformationen
Quellcurriculum Masterstudium Computer Science 2025W
Lernergebnisse
Kompetenzen
(*)Students master advanced compilation techniques such as code generation for register machines and register allocation. They understand and can apply the concepts of intermediate program representations and common optimization techniques based on them.
Fertigkeiten Kenntnisse
(*)Students are able to

  • understand the concepts of separate compilation and type checking across compilation units (K2)
  • implement a code generator producing IA32 machine code for a simple programming language (K2, K6)
  • understand and implement intermediate program representations such as abstract syntax trees, control flow graphs and instructions in static single assignment form (K2, K6)
  • implement compiler optimizations such as copy propagation and common subexpression elimination (K2, K6)
  • implement a graph-coloring register allocator (K2, K6)
(*)
  • Separate compilation
  • Code generation for register machines (IA32)
  • Intermediate program representations (abstract syntax tree, control flow graph, dominator tree, static single assignment form)
  • Common compiler optimizations (common subexpression elimination, inlining, loop unrolling, loop-invariant code motion, ...)
  • Register allocation
Beurteilungskriterien (*)Written exam towards the end of the semester plus an assessment of the programming project, which the students have to present to the lecturer.
Lehrmethoden (*)The first part of the semester presents the subject matter based on slides and examples on the blackboard. The rest of the semester is spent on the programming project.
Abhaltungssprache Englisch
Literatur (*)See http://ssw.jku.at/Teaching/Lectures/ACC/
Lehrinhalte wechselnd? Nein
Sonstige Informationen (*)This is a combined course (KV) in which theory is complemented by a programming project, where the students can choose one of several project variants.

For details see http://ssw.jku.at/Teaching/Lectures/ACC/

Äquivalenzen (*)INMAWKVUEB2: KV Übersetzerbau 2 (3 ECTS)
Präsenzlehrveranstaltung
Teilungsziffer -
Zuteilungsverfahren Direktzuteilung