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'а).