Обобщенное и генеративное программирование — различия между версиями
Mikhail (обсуждение | вклад) (→Лекции) |
Zalim (обсуждение | вклад) (→Презентации, использованные на лекциях) |
||
| (не показано 10 промежуточных версий 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