A course on Domain-Specific Languages

Igor Dejanovic

Created: 2021-11-16 Tue 15:01

1. Base information

  • Professor: dr Igor Dejanović (igord at uns ac rs)
  • Both practical and theoretical parts of the course are handled by the course professor.
  • Consultations may be scheduled via e-mail.

2. Course project

  • Practical part of the course is fulfilled by implementing a DSL for the domain of student’s choosing.
  • The language must be implemented in textX using Python.
  • It must have a code generator or interpreter.
  • Optionally a Visual Studio Code plugin may be developed to make using the language easier. See the textX-LS project.

3. Theoretical part of the exam

Is fulfilled by oral exam. The student must show the basic knowledge of the DSL field.

The examination is based on the Markus Völter’s book (see the last slide). Relevant chapters are:

  • Introduction to DSLs
  • Conceptual Foundations
  • Concrete and Abstract Syntax
  • Scoping and Linking
  • Constraints
  • Type Systems
  • Transformation and Generation

4. Literature and resources