Обобщенное и генеративное программирование — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Презентации, использованные на лекциях)
Строка 3: Строка 3:
  
 
== Презентации, использованные на лекциях ==
 
== Презентации, использованные на лекциях ==
[[Медиа:Introduction_to_MPS.pdf | Введение в МПС]] ([https://docs.google.com/open?id=0B3pvyfja13p5S29iWVdYd1NZcTQ  проект с примером])
+
[[Медиа:GenProg_1.pdf | Вводная лекция]] <br>
 +
[[Медиа:Introduction_to_MPS.pdf | Введение в МПС]] ([https://docs.google.com/open?id=0B3pvyfja13p5S29iWVdYd1NZcTQ  проект с примером]) <br>
 +
[[Медиа:GenProg_2.pdf | Лекции]] <br>
  
 
== Задания для получения зачета (на выбор) ==
 
== Задания для получения зачета (на выбор) ==

Версия 11:16, 30 ноября 2012

Лектор - Власьев Михаил Игоревич
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