【问题标题】:How to save the clang AST?如何保存 clang AST?
【发布时间】:2020-09-22 06:12:13
【问题描述】:

我正在做一些需要使用 c 代码 AST 的项目。我正在考虑使用clang。比如,

clang -Xclang -ast-dump file_name.c
clang -Xclang -ast-print file_name.c

但是,这些命令只能将 ast 打印到命令中。如何将 AST 保存为文件,例如 .xml?

【问题讨论】:

  • 如何将输出通过管道传输到文件中?
  • 我投票结束这个问题,因为它针对一个常见问题,重定向。

标签: c clang abstract-syntax-tree


【解决方案1】:

libclang 允许您将已解析的翻译单元保存为序列化的表示形式,以后可以将其读回内存中。看看clang_saveTranslationUnitclang_parseTranslationUnit2。 Python 绑定也存在类似的工具。

【讨论】:

  • 这种方法更好,因为它以结构化格式保存。稍后您可以使用任何支持 clang 绑定的语言来加载它。为什么没有标记为答案?
猜你喜欢
  • 2013-09-04
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多