问题描述
本人在做编译原理实验时候,使用了Graphviz
进行抽象语法树的输出。但是当输出的结点的label
为< > >= <=
时,会出现报错Error: bad label format。并且原本符号的位置也会变成数字
解决方法
根据报错信息,怀疑是叶子结点的形式导致的问题,根据官方文档Node Shapes | Graphviz — 节点形状 |图形可视化
观察叶子结点的产生代码可以得知现在的叶子结点的shape为record,已经不被支持,所以根据推荐修改为shape=none, margin=0。之后问题解决
// agsafeset(node, (char *)"shape", (char *)"record", (char *)"");
agsafeset(node, (char *)"shape", (char *)"none", (char *)"");
agsafeset(node, (char *)"margin", (char *)"0", (char *)"");