Generative Programming 14 HW4 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: «Spoofax: dependency graph, срок сдачи до 16.12.2014 Описать в Spoofax язык для системы, в которой есть 1. Именов…»)
 
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
 
Spoofax: dependency graph, срок сдачи до 16.12.2014
 
Spoofax: dependency graph, срок сдачи до 16.12.2014
  
Описать в Spoofax язык для системы, в которой есть
+
Описать в Spoofax язык для системы, в которой есть<br>
1. Именованные компоненты
+
1. Именованные компоненты<br>
2. Бинарное понятие зависимости компонент  
+
2. Бинарное понятие зависимости компонент<br>
То есть, по сути, ориентированный граф с именованными вершинами
+
То есть, по сути, ориентированный граф с именованными вершинами<br>
  
 
Описать генератор, который сможет сгенерить код вида:
 
Описать генератор, который сможет сгенерить код вида:
{code}
+
 
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();
 
   }
 
   }
}
+
}  
{code}
+
  
 
Не обязательно, но полезно: попробуйте реализовать какой-нибудь аспект редактирования. Например, подсветку или 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'а).