Generative Programming 14 HW4 — различия между версиями
Материал из SEWiki
Mikhail (обсуждение | вклад) м |
Mikhail (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
Описать генератор, который сможет сгенерить код вида: | Описать генератор, который сможет сгенерить код вида: | ||
− | + | ||
− | class A{ | + | class A { |
public List<Class> getDependencies(){ | public List<Class> getDependencies(){ | ||
return Arrays.asList(B.class); | return Arrays.asList(B.class); | ||
} | } | ||
− | } | + | } |
− | class B{ | + | |
+ | class B{ | ||
public List<Class> getDependencies(){ | public List<Class> getDependencies(){ | ||
return Collections.emptyList(); | return Collections.emptyList(); | ||
} | } | ||
− | + | } | |
− | + | ||
Не обязательно, но полезно: попробуйте реализовать какой-нибудь аспект редактирования. Например, подсветку или outline view (все есть в примере на сайте spoofax'а). | Не обязательно, но полезно: попробуйте реализовать какой-нибудь аспект редактирования. Например, подсветку или outline view (все есть в примере на сайте spoofax'а). |
Текущая версия на 19:40, 2 декабря 2014
Spoofax: dependency graph, срок сдачи до 16.12.2014
Описать в Spoofax язык для системы, в которой есть
1. Именованные компоненты
2. Бинарное понятие зависимости компонент
То есть, по сути, ориентированный граф с именованными вершинами
Описать генератор, который сможет сгенерить код вида:
class A { public List<Class> getDependencies(){ return Arrays.asList(B.class); } }
class B{ public List<Class> getDependencies(){ return Collections.emptyList(); } }
Не обязательно, но полезно: попробуйте реализовать какой-нибудь аспект редактирования. Например, подсветку или outline view (все есть в примере на сайте spoofax'а).