Во время разработки больших и не очень проектов часто бывает необходимо посмотреть на зависимости существующих объектов. Для таких популярных языков как C++, Java, C# существуют решения в виде Uml-редакторов с поддержкой импорта исходников. Некоторые IDE (например VS) умеют сами создавать нечто подобное. Однако для D я ничего похожего не встретил. Многие писали о частичной поддержке D (например doxygen), однако как мне показалось, они просто использовали один из существующих парсеров (возможно парсер для С++), что давало откровенно говоря крайне плохой результат. Например получалось очень много функций с именем immutable, что уж говорить про методы с контрактами…
Читать дальше