Обобщенное и генеративное программирование

Материал из SEWiki
Перейти к: навигация, поиск

Лектор - Власьев Михаил Игоревич
mailto:michael.vlassiev@jetbrains.com

Презентации, использованные на лекциях

Вводная лекция
Введение в МПС (проект с примером)
Лекции

Обновленный проект с примером

Задания для получения зачета (на выбор)

1. Калькулятор.
Придумать и реализовать язык на котором можно было бы описывать требования к калькулятору (набор действий, расположенных на кнопках). По описанию калькулятора должна генерироваться программа на Java, реализующая этот калькулятор.


2. Конечный автомат.
Язык описания и реализация на MPS.


3. Трассировка.
Придумать и реализовать аспект для baseLanguage языка в MPS, управляющий трассировкой выполнения (logging). Небоходимо предусмотреть возможность включать трассировку вызовов методов, обращений к полям.


Список литературы

Generative Programming: Methods, Tools, and Applications
Krysztof Czarnecki, Ulrich Eisenecker
Addison-Wesley Professional; 1 edition (June 16, 2000)
Перевод: Чернецки К., Айзенекер У. Порождающее программирование: методы, инструменты, применение / Пер. с англ. СПб: Питер, 2005.


Domain-Specific Languages
Martin Fowler
Addison-Wesley; 2011


Полезные ссылки

JetBrains MPS: http://www.jetbrains.com/mps
Загрузка: http://www.jetbrains.com/mps/download/index.html
Руководство: http://confluence.jetbrains.net/display/MPSD25/MPS+User's+Guide
Отчеты об ошибках писать сюда: http://youtrack.jetbrains.com/issues/MPS