ID2202 Compilers and Execution Environments
Welcome to the course in Compilers and Execution Environments!
All Canvas information is accessible from the menu to the left. However, if you have problems accessing the menu, all pages are also accessible below.
- Announcements
- Course Memo
- Important Dates
- Literature and Resources
- Reading Guidelines
- Lectures
- Assignment Tasks and Workflow
- Getting Help
- Vagrant
- Peer Reviewing and Seminars
- Discussions
- Grades
- People
- Quizzes
Fall 2023 edition
In this course, you will learn how a compiler works. You will learn about compiler theory, for instance, regular expressions, parsing theory, optimization algorithms, code generation strategies, garbage collection, and more. Moreover, you will gain significant practical experience designing and implementing a complete compiler from scratch. You will develop a compiler for a rather small language called Cigrid, which is a subset of C/C++, specifically designed for teaching. Your compiler will compile into x86 assembly code, such that you can benchmark your optimization strategies against a state-of-the-art compiler, such as GCC or Clang.
This course is rather new. This year we have combined two different compiler courses previously taught at KTH. Hence, we in the teacher team look forward to extensively interacting with you during this period. What we can offer you is a challenging and fun course, where you will learn a lot!
The schedule for the complete course can be found here.
Questions?
If you have any questions about the course content, exercises etc., the best way to get quick answers is to post the questions on the Canvas discussion forum. We will try to answer your questions as soon as possible. If you have any questions or feedback about the course structure, etc., please do not hesitate to send an email directly to David Broman dbro@kth.se (examiner) or Philipp Haller phaller@kth.se (course responsible).
Welcome!
David and Philipp