Tentalabbet

TDDE66 · 6 credits · Advanced level (A1N) · Informationsteknologi, Datateknik, Datavetenskap

Compiler Construction

Active · next start HT 2026

100%

passed the latest ordinary exam

TEN1 · 12 Jan 2026 · 16 students

100%

passed the ordinary exams, all sittings over the last 5 years

TEN1 · 32 students

0%

Harder than 0% of courses at advanced level

Compared with 285 courses at the same level, ordinary exams over the last three academic years. 32 students.

Part of 4 programmes

Exam

TEN1 Written examination

  • 5
  • 4
  • 3
  • U

Ordinary exams

100% passed · 32 students

  • 100%16
  • 100%16

Re-exams

No sittings with at least 5 students.

  • Get 4 or 5: 88% (32 students)
Show small sittings (4)

Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.

  • 100%1
  • 100%2
  • 100%1
  • 67%3

Other modules

Partial exams, hand-ins and labs. They are not part of the figures at the top.

Hand-in or lab

LAB1 Laboratory Work

  • G

Main rounds

100% passed · 32 students

  • 100%11
  • 100%21

Later rounds

100% passed · 8 students

  • 100%8
  • Pass a later round: 100% (8 students), compared with 100% (32 students) on the ordinary exam
Show small sittings (1)

Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.

  • 100%2

About the course

Aim

The aim of this course is to give a comprehensive introduction to the theoretical and practical issues underlying the design and implementation of compilers. After the completion of the course you should be able to:

  • explain and apply fundamental principles and techniques of compiler design
  • explain and use methods for lexical analysis, top-down and bottom-up parsing
  • explain and use methods for semantic analysis, syntax-directed translation, code optimization
  • explain methods and theory for construction of lexer and parser generators, code generator generators
  • explain methods for generation and optimization of code for RISC-based architectures
  • construct and implement a top-down parser and a bottom-up parser for a given context-free grammar
  • use lexer and parser generators to build a lexical analyzer and a parser for a real compiler
  • explain and use methods for machine code generation
  • design and implement a complete compiler including: lexer, parser, memory management, semantic analysis, optimization, and machine code generation

Content

  • Different types of translators such as compilers and preprocessors.
  • Methods for lexical analysis and syntax analysis.
  • Management of declarations.
  • Different types of internal representations.
  • Memory management and run-time organization.
  • Code generation and code optimization, especially with regards to RISC processors.
  • Methods for handling errors.
  • Compiler construction and compiler generation tools.
  • Language design.

A complete compiler for a Pascal-like language is constructed during the laboratory sessions. Certain modules of this compiler will be automatically generated using compiler generation tools, whereas other parts will be implemented by hand.

Examiner
Adrian Pop
Scheduled hours
48 h
Main field of study
Informationsteknologi, Datateknik, Datavetenskap
Syllabus on Studieinfo ↗