What it is about
You engage with the meaning (semantics) of various language constructs and how they are implemented in compilers and runtime systems. In the end you will be able to analyze language features, compare them, and, if necessary, reproduce them in another language model as well as extend compilers to support these constructs.
What you will be able to do
- Understanding the semantics of selected language constructs
- Assessing the implementation consequences for compilers and runtime
- Analyzing and comparing different language approaches
- Re-encoding concepts of one language into another
- Extending existing compilers with the constructs discussed
What the module consists of
- LectureConveying concepts, examples and live programming for deeper understanding
- Exercise (2h, additionally offered)Accompanying tasks for deepening, application and implementation practice
Teaching method
- Pre-fabricated video lessons (~15 min)Enable independent preparation at one's own pace
- In-person discussions and live programmingClarification of open questions and deepening through examples
- Collaborative problem solving in seminarsHands-on experience through interactive demonstrations
- Practice problems for individual workTraining of implementation skills and simulation of missing language features