GenProg14 — различия между версиями
Mikhail (обсуждение | вклад) (→Домашние задания) |
Mikhail (обсуждение | вклад) (→Лекции) |
||
Строка 24: | Строка 24: | ||
28.10.2014: | 28.10.2014: | ||
− | [[Медиа: L14_8.pdf | Aspect programming]]<br/> | + | [[Медиа: L14_8.pdf | Aspect programming]]. (Здесь последняя версия [[Медиа: L14_8_project.zip |проекта]] практического занятия по генератору).<br/> |
11.11.2014: | 11.11.2014: |
Версия 00:53, 5 ноября 2014
Преподаватели - Власьев Михаил Игоревич (mailto:michael.vlassiev@jetbrains.com),
Лекции
09.09.2014:
О чем курс
16.09.2014:
Введение в MPS, проект mps.demolazy
23.09.2014:
Domain engineering
30.09.2014:
Практическое занятие. Моделирование калькулятора: MPS проект
07.10.2014:
Продолжение моделирования калькулятора (проект), Domain implementation, generation.
14.10.2014:
Практическое занятие по написанию генератора. (проект)
21.10.2014:
Продолжение практического занятия.
28.10.2014:
Aspect programming. (Здесь последняя версия проекта практического занятия по генератору).
11.11.2014:
Домашние задания
1. Моделирование домена таймеров/секундомеров, срок сдачи до 21.10
2. Генерация HTML-расписания, срок сдачи до 13.11
Необходимо реализовать язык описания расписания и генератор моделей на этом языке в HTML-страницы с расписанием
В языке записи добавляются в любом порядке, в расписании они должны появляться отсортированными по времени начала лекции
Модель на языке должна выглядеть так:
lectures Monday lecture Programming at: 10:00-11:00 in room: 123 presenter: Vasily Pupkin lecture Maths at: 9:00-9:20 in room: 234 presenter: Vasily Pupkin jr. lecture History at: 12:00-13:00 in room: 123 presenter: Vasily Pupkin
Генерировать проще всего в язык xml, уже описанный в MPS. Чтобы язык можно было использовать в генераторе, подключите его к генераторной модели (ctrl-L или из model properties диалога) Первые два принятых решения получают дополнительно +1 балл. Еще +1 балл получит одно решение, где будет создаваться не .xml, а .html файл. Решение не может получить +2 балла.
Проекты со сделанными заданиями присылать мне на michael.vlassiev@jetbrains.com. Они оцениваются по 4-балльной системе (2-5). При получении дополнительного балла возможна оценка 6. Задания, отправленные после срока сдачи, получают на 1 балл меньше.
Зачет будет выставляться по результатам трех домашних заданий и одной контрольной работы (контрольная работа - с весом 2.0).
Результаты
здесь.
Если Вы заметили ошибку в этой таблице - никогда не поздно о ней сообщить, поправим.
Список литературы
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
Отчеты об ошибках MPS писать сюда: http://youtrack.jetbrains.com/issues/MPS