Обобщенное и генеративное программирование — различия между версиями
Mikhail (обсуждение | вклад) (→Лекции) |
Zalim (обсуждение | вклад) (→Презентации, использованные на лекциях) |
||
(не показано 12 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
− | Лектор - Власьев | + | Лектор - Власьев Михаил Игоревич <br> |
+ | mailto:michael.vlassiev@jetbrains.com | ||
− | == | + | == Презентации, использованные на лекциях == |
− | [[ | + | [[Медиа:GenProg_1.pdf | Вводная лекция]] <br> |
− | + | [[Медиа:Introduction_to_MPS.pdf | Введение в МПС]] ([https://docs.google.com/open?id=0B3pvyfja13p5S29iWVdYd1NZcTQ проект с примером]) <br> | |
+ | [[Медиа:GenProg_2.pdf | Лекции]] <br> | ||
+ | |||
+ | [http://dl.dropbox.com/u/9957315/jetbrains.mps.demo.lazytype.zip Обновленный проект с примером] | ||
+ | |||
+ | == Задания для получения зачета (на выбор) == | ||
+ | |||
+ | 1. Калькулятор. <br> | ||
+ | Придумать и реализовать язык на котором можно было бы описывать требования к калькулятору (набор действий, расположенных на кнопках). По описанию калькулятора должна генерироваться программа на Java, реализующая этот калькулятор. | ||
+ | |||
+ | |||
+ | 2. Конечный автомат. <br> | ||
+ | Язык описания и реализация на MPS. | ||
+ | |||
+ | |||
+ | 3. Трассировка. <br> | ||
+ | Придумать и реализовать аспект для baseLanguage языка в MPS, управляющий трассировкой выполнения (logging). Небоходимо предусмотреть возможность включать трассировку вызовов методов, обращений к полям. | ||
− | |||
== Список литературы == | == Список литературы == | ||
+ | Generative Programming: Methods, Tools, and Applications <br> | ||
+ | Krysztof Czarnecki, Ulrich Eisenecker <br> | ||
+ | Addison-Wesley Professional; 1 edition (June 16, 2000) <br> | ||
+ | Перевод: Чернецки К., Айзенекер У. Порождающее программирование: методы, инструменты, применение / Пер. с англ. СПб: Питер, 2005. | ||
+ | |||
+ | |||
+ | Domain-Specific Languages <br> | ||
+ | Martin Fowler <br> | ||
+ | Addison-Wesley; 2011 <br> | ||
+ | |||
== Полезные ссылки == | == Полезные ссылки == | ||
+ | JetBrains MPS: http://www.jetbrains.com/mps <br> | ||
+ | Загрузка: http://www.jetbrains.com/mps/download/index.html <br> | ||
+ | Руководство: http://confluence.jetbrains.net/display/MPSD25/MPS+User's+Guide <br> | ||
+ | Отчеты об ошибках писать сюда: http://youtrack.jetbrains.com/issues/MPS <br> |
Текущая версия на 22:23, 28 декабря 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