一个关于使用eclipse cdt插件的调用语法分析功能的问题

2013-07-23 07:57:33 +08:00
 badboy
最近在做一个C++的代码相似检测,需要用到语法分析,想用eclipse的这个cdt插件实现,以下是网上给出的代码,我想请问下
(1) IFile 是个什么东东?如何使用?C++源代码怎么转化成IFile类型
(2) 最后return的ast变量要怎么使用?
(3) index是什么?怎么使用?
(4) 这段代码处理完后生成的语法分析树,怎么转化为纯文本供后面代码使用?
谢谢

public static IASTTranslationUnit getAST( IFile file) {
ITranslationUnit tu = CoreModelUtil.findTranslationUnit(file);
ICProject project= tu.getCProject();
IASTTranslationUnit ast=null;
try {
IIndex index = CCorePlugin.getIndexManager().getIndex(project,
IIndexManager.ADD_DEPENDENCIES | IIndexManager.ADD_DEPENDENT);

index.acquireReadLock();
try {

ast=tu.getAST(index, 0);

} finally {
index.releaseReadLock();
}

} catch (InterruptedException e) {
//log(e);
} catch (CoreException e) {
//log(e);
}
return ast;
}
3195 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/76660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX