所以我正在研究一种语言,主要是出于好奇,我想看看我是否可以可视化文件的抽象语法树。环顾四周后,我发现了 graphviz dot,将我的 AST prettyprinter 转换为能够输出为这种格式:
digraph G {
main -> parse -> execute;
main -> init;
main -> cleanup;
execute -> make_string;
execute -> printf
init -> make_string;
main -> printf;
execute -> compare;
}
但我的问题是,当我跑步时
dot -Tpng dotf.gv -o graph.png
在输入文件上,我最终得到一个宽度为 8000 像素的文件,这不切实际。见这里。
我不知道是否可以修复,但如果有人可以,我将不胜感激。