Compiler Construction
Programs that run on a computer are written in a computer language, and the languages used for writing computer programs have significantly evolved over time. By abstracting from the details of the underlying computer architecture, higher-level languages aim at making the process of developing a program simpler and more understandable than when using a lower-level language. Modern languages offer us a variety of different concepts for expressing (executable) programs. Domain-specific (modeling) languages are even created specifically to solve problems in a particular domain of interest. However, programs written in a higher-level language must be translated into a lower-level, executable representation, which requires various forms of compilers doing this job for us.
Details
Code | 11114 |
Type | Course |
ECTS | 5 |
Site | Bern |
Track(s) |
T1 – Distributed Software Systems |
Semester | S2025 |
Teaching
Learning Outcomes | This course will provide students with an introduction to modern compiler construction. The first two-thirds of the course will cover classical topics ranging from scanning and parsing over semantic analysis and interpretation to code generation and optimization. In the exercises, we will develop a fully functional interpreter for our own programming language. The remaining third of the course is dedicated to study the transition form classical compiler techniques into principles of model-driven software development. In the exercises, we will develop a fully functional, domain-specific modeling environment. Here are just a couple of reasons of why it is worth to take that course: The magic of computer languages:
Little languages are everywhere:
Domain-specific Languages and Model-driven Development:
|
Lecturer(s) |
Timo Kehrer |
Language | english |
Course Page | The course page in ILIAS can be found at https://ilias.unibe.ch/goto_ilias3_unibe_crs_3273357.html. |
Schedules and Rooms
Period | Weekly |
Schedule | Tuesday, 14:15 - 17:00 |
Location | UniBE |
Additional information
Comment | First Lecture |