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