Skip to Content

A course on Domain-Specific Languages

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.

Introduction to the field of DSLs

The best place to start is to read the blog post of Federico Tomassetti.

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.

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

Literature and resources