Команда MPS разрабатывает библиотеку Kocelot для создания DSL-ей (предметно-ориентированных языков) основанных на технологии проекционного редактирования на языке Kotlin.
Библиотека предоставляет поддержку разрабатываемых DSL-ей под JVM и Web и реализует возможности коллаборативного редактирования.
Одной из сложностей создания DSL-ей с использованием текущей библиотеки является описание структуры абстрактного синтаксического дерева кода данного DSL. На данный момент от автора языка требуется написания кода имплементации классов, описывающие типы узлов AST и другого сопутствующего boilerpate кода.
В рамках стажировки студенту предлагается реализовать compiler plugin к компилятору Kotlin, задача которого будет в генерации данного boilerpate кода по декларативному описанию типов узлов AST языка.
От студента требуется хорошее знание языка Kotlin, умение учиться и задавать вопросы.
В рамках стажировки студент имеет шанс познакомится с технологией проекционного редактирования и внутренностями компилятора Kotlin.