Этот проект как то пересекается с идеями из Дракон «языка» и существующими редакторами для него?
В том числе с возможностью кодогенерации из блок-схем на различные языки, как например в редакторе Степана Митькина «DRAKON Editor» сделанного на TCL/Tk и его форка — программа Дмитрия Бардынина «DrakonBar» — используется и для Ардуино платформы.
P.S. Для Дракона ещё пишутся какие то редакторы из информации с его форума.
Я рассматривал Дракон в первой части.
Мне Дракон не подошел потому, что работа с кодом как с текстом затруднена. Если работа ведется в команде, которая, в основном, работает традиционным способом, то практически отсутствует возможность интеграции. Плюс инфраструктура вроде контроля версий хорошо работает с текстом, но не с графикой. Как вы заметили, это кодогенерация, а сгенерированный код плохо подходит для анализа человеком.
Поэтому я попробовал сделать инструмент, в котором оба варианта представления кода — и текст и графика — совершенно равноправны.
Когда, в любительских целях, делал простой графический редактор узлов, то мне понравился yEd Graph Editor и в своей программе сделал экспорт и импорт в один из форматов файлов данного редактора.
yEd я тоже пользовался и продукт мне понравился.
Такую функциональность я не рассматривал для возможной реализации. Особого смысла не видно. Одна из сильных сторон того, что делает Codimension в том, что любое изменение в тексте мгновенно без всяких усилий отображается и на графическом представлении. А что делать с картинкой в yEd, когда она сложная и нужно внести изменение в середине, которое приводит к необходимости переместить половину диаграммы? Опять делать экспорт? Получается, что остается только функциональность просмотра. А просмотр и так есть в Codimension.
Нет, C/C++ не рендерится. Проблема в парсере исходного текста. Синтаксис C/C++ гораздо сложнее и, кроме того, имеется препроцессор, который может перевернуть все с ног на голову. Для проекта в свободное время сложность парсера слишком высока.
Автоматическая визуализация python-кода. Часть четвертая: поддержка документирования