Course Description
-
Course Name
Compiler Construction
-
Host University
Vrije Universiteit Amsterdam
-
Location
Amsterdam, The Netherlands
-
Area of Study
Computer Science
-
Language Level
Taught In English
-
Course Level Recommendations
Upper
ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.
-
ECTS Credits
6 -
Recommended U.S. Semester Credits3
-
Recommended U.S. Quarter Units4
Hours & Credits
-
Overview
COURSE OBJECTIVE
Get hands-on experience with the internals of modern compilers.COURSE CONTENT
This course gives an introduction to the internals of modern compilers and allows students to gather practical, hands-on experience on building compiler components with weekly assignments. The course will focus on the design of all the major components of a modern compiler pipeline: frontend (focus on lexing and parsing), intermediate representation or IR (focus on optimizations and transformations), and backend (focus on code generation). The course emphasises what compiler builders encounter in practice rather than the details of all manners of parsing algorithms. Specifically, the assignments will focus on building a simple compiler for a C-like language using the LLVM compiler framework. All the assignments build on top of the given framework and require localized extensions in Python and/or C++ to implement language features, optimizations, transformations, and code generation features.Note: this is a very intensive, hands-on course. It is important to be able to start immediately. For this, you need access to a computer with the VirtualBox x86 virtualization environment installed.
TEACHING METHODS
Lectures, PracticalTYPE OF ASSESSMENT
AssignmentsRECOMMENDED BACKGROUND KNOWLEDGE
Basic knowledge of Python and C/C++ is strongly recommended.
Course Disclaimer
Courses and course hours of instruction are subject to change.
Some courses may require additional fees.