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

Материал из SEWiki
Перейти к: навигация, поиск
(Лекции)
(Презентации, использованные на лекциях)
 
(не показаны 4 промежуточные версии 1 участника)
Строка 1: Строка 1:
Лектор - Власьев М.
+
Лектор - Власьев Михаил Игоревич <br>
 +
mailto:michael.vlassiev@jetbrains.com
  
== Лекции ==
+
== Презентации, использованные на лекциях ==
[[Медиа:Introduction_to_MPS.pdf | Введение в МПС]] (проект с примером [[Файл:lazydemo.zip]])
+
[[Медиа:GenProg_1.pdf | Вводная лекция]] <br>
[https://docs.google.com/open?id=0B3pvyfja13p5S29iWVdYd1NZcTQ]
+
[[Медиа: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