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
- Assignments
- Getting Help
- Vagrant
- Peer Reviewing and Seminars
- Discussions
- Grades
- People
- Quizzes
Fall 2022 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 in 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.
The course is rather new (third time we give it) and all course details are designed from scratch. Hence, we in the teacher team are looking forward to interacting with you all extensively during this period. What we can offer you is a challenging and fun course, where you will definitely 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, who is the course responsible and the examiner for the course.
Welcome!
David Broman