如何用clang获取变量定义的字面位置

时间:2015-05-15 09:48:14

标签: python clang libclang

我有以下情况。

some_header.h

#define SOME_VARS \
  int first_var; \
  char other_var;

source_file.c

#include "some_header.h"

SOME_VARS

现在有了clang,我可以转储AST并看到它知道字面定义这些变量的位置:

clang -Xclang -ast-dump -fsyntax-only source_file.c

TranslationUnitDecl 0x8007f4c0 <<invalid sloc>>
|-TypedefDecl 0x8007f790 <<invalid sloc>> __builtin_va_list 'char *'
|-VarDecl 0x8007f7d0 <./some_header.h:2:3, col:7> first_var 'int'
                      -------------------------- this is the part i'm looking for
`-VarDecl 0x8007f810 <line:3:3, col:8> other_var 'char'
                     ----------------- and this

我正在尝试使用libclang和python获取此信息,但到目前为止我一直没有成功。

我需要在哪里查找此信息?这个inforamiton是否可以在C接口中使用,但可能还没有移植到Python?

0 个答案:

没有答案