我正在使用 clang 进行一些分析,我需要在 AST 中找到声明的父级。例如,在下面的代码中int x,我想得到它的父级,它应该是函数声明:
int main(int x) { return 0 }
我知道在这个链接http://comments.gmane.org/gmane.comp.compilers.clang.devel/2152 中提到有一个 ParentMap 类来跟踪父节点。但是,这仅代表 Stmt* -> Stmt* 的映射,我需要找到声明的父级。有谁知道我怎么能做到这一点?
我想用 Cypher 删除两个节点之间的重复关系,其中节点之间存在多个关系。例如,给出:
a->r1->b
a->r2->b
a->r2->b
a->r3->b
Run Code Online (Sandbox Code Playgroud)
我预计:
a->r1->b
a->r2->b
a->r3->b
Run Code Online (Sandbox Code Playgroud)
我已经研究过类似的问题,但他们假设两个节点之间的所有关系都是相同的,因此您可以简单地保留一个并删除其余的,这在我的情况下不起作用。