此工具经测试gcc10和gcc12都可用,太久远的版本可能不适用,linux平台和windows平台都可以运行。
工具地址:gcc-original-to-dot
这是我用C++编写的工具。将 gcc -fdump-tree-all-raw
选项生成的 .orignal 文件转换成能被 graphviz 用来生成图片的 dot 文件。
编译:
g++ -O3 gen-ast-dot -o genASTDot
使用:
./genASTDot example.c.005t.original
这个命令会生成 ast.dot 文件
然后使用 dot -Tpng ast.dot -o ast.png
命令生成 AST 图;(需要安装 graphviz)
示例:
typedef struct {
char* name;
int age;
} Student;
Student creatStudent(){
Student stu;
stu.name = "Tom";
stu.age = 16;
return stu;
}