【问题标题】:How do I generate an AST from a string of C++ using Clang?如何使用 Clang 从 C++ 字符串生成 AST?
【发布时间】:2016-09-13 13:08:04
【问题描述】:

我正在尝试使用 Clang 来操作 C++ 源代码,但我在发现 API 时遇到了麻烦。

我想获取一串 C++ 源代码并从中生成一个 AST;类似:

auto myAst = clang::parse("auto x = 1 + 1;"); 

是否有一个最小的工作示例?

【问题讨论】:

标签: c++ parsing clang abstract-syntax-tree


【解决方案1】:

你可以试试下面的代码:

std::unique_ptr<ASTUnit> AST(tooling::buildASTFromCode("auto x = 1 + 1;"));
TranslationUnitDecl *DC = AST->getASTContext().getTranslationUnitDecl();
if (DC) {
   llvm::errs() << "---------dump begin----------\n";
   DC->dump();
   llvm::errs() << "---------dump end----------\n";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 2011-07-05
    • 2014-08-12
    • 2013-05-05
    • 2022-11-24
    • 2016-06-02
    相关资源
    最近更新 更多