INTERACTIVE LAB / XSLT · DOT · SVG
Control Flow Graph для Simple
Введите программу, запустите обработку и получите граф потока управления. До настройки компилятора запрос использует приложенный AST-пример.
Simple source
func is_prime(N: Int): Bool
if N <= 1 then
return false;
end;
return true;
end
func main()
print is_prime(29);
end
Готово к запуску
CFG / SVG output
Граф появится здесь после запуска.
Simple: краткая грамматика
Загрузка…
Цель
Проверить, насколько XSLT подходит для автоматического построения графа потока управления по XML-представлению AST программ языка Simple.
Методология
- Компилятор Simple строит AST в XML. Пока путь к компилятору не настроен, используется приложенная заглушка AST.
XslCompiledTransformпреобразует AST в DOT — язык описания графов Graphviz.- Утилита
dotполучает DOT через стандартный ввод и выводит SVG, который отображается на странице.
Выводы
XSLT удобен для рекурсивного обхода дерева и формирования подписей узлов. Сложные ветвления и циклы требуют аккуратных шаблонов; поэтому серверная версия отделяет шаблон от данных AST и поручает отрисовку Graphviz.Материалы проекта
Отчёт по практике