Отладка связывания и визуализация
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.03.17 02:39
Оценка: 24 (1)
#Имя: Nitra.Debug.Visualization
Отлаживать связывание и разрешение имен (резолв) можно с помощью утилиты Nitra.Visualizer.exe.

Она позволяет просматривать AST и зависимые свойства вычисленные на нем. В частности это позволяет понять причину неверного связывания или разрешения имен.

Ролик ниже демонстрирует как это делается. Так же в нем показана новая фичи — визуализация в виде диаграммы. Она доступна для любого объекта реализующего метод ToDot(). Этот метод должен возвращать представление графа в виде DSL под названием DOT. Его описание можно прочесть здесь. Данный файл компилируется в .svg, записывается в файл и открывается в приложении ассоциированном с .svg (по умолчанию — броузер). Пример сгенерированного, в ролике приведенном ниже, файла.

Немного улучшил представление для TableScope-ов. Теперь они представляются в виде таблиц (пример). В предыдущей версии каждый символ порождал отдельный прямоугольник и стрелочку. В таблицах большим числом имен это выглядело не очень хорошо.

Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 04.04.2017 20:46 VladD2 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.