TDDD55 · 4 credits · Basic level (G2F) · Informationsteknologi, Datateknik
Compilers and Interpreters
Active · next start HT 2026
86%
passed the latest ordinary exam
TEN1 · 12 Jan 2026 · 7 students
88%
passed the ordinary exams, all sittings over the last 5 years
TEN1 · 32 students
Part of 4 programmes
Exam
TEN1 Written examination
- 5
- 4
- 3
- U
Ordinary exams
88% passed · 32 students
- 86%7
- 100%11
- 100%5
- 67%9
Re-exams
No sittings with at least 5 students.
- Get 4 or 5: 69% (32 students)
Show small sittings (6)
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
- 100%2
- 50%2
- 100%2
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 · 28 students
- 100%13
- 100%10
- 100%5
Later rounds
100% passed · 7 students
- 100%7
- Pass a later round: 100% (7 students), compared with 100% (28 students) on the ordinary exam
Show small sittings (3)
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%1
- 100%4
About the course
Aim
The aim of this course is to give a basic 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 basic semantic analysis and syntax-directed translation
- construct and implement a top-down parser for a given context-free grammar,
- use a generator to build a lexical analyzer, apply a parser generator, and
- implement simple intermediate code generation from abstract syntax trees
Content
Different types of translators such as compilers and preprocessors. Grammars and formal languages. Lexical and syntax analysis. Intermediate code generation. The course also gives a brief introduction to: Memory management and run-time organization. Code generation and code optimization. Basic usage of compiler construction tools. Criteria for language design. The labs contain exercises in hand-implementation and usage of tools for construction of smaller parts of a compiler, such as lexer, parser, generation of intermediate code.
- Examiner
- Adrian Pop
- Scheduled hours
- 32 h
- Main field of study
- Informationsteknologi, Datateknik