Eclipse CDT ast和模型包之间的区别

时间:2016-11-10 11:19:23

标签: c++ c eclipse eclipse-cdt

我使用Eclipse CDT来分析C / C ++源代码,作为研究项目的一部分。我注意到CDT的API有两个"可访问的"接口:

(1)包裹org.eclipse.cdt.core.dom.ast

(2)包裹org.eclipse.cdt.core.model

我假设(1)用于AST遍历,但(2)的目的是什么?

1 个答案:

答案 0 :(得分:0)

“模型”是比AST更详细的源代码模型。它为变量,函数,类和预处理程序指令等实体建模,但不对语句和表达式等其他内容进行建模。它用于生成Outline视图,Project Explorer的内容以及其他一些视图中的条目,如Call Hierarchy和Type Hierarchy。

我相信该模型早于AST,并且至少可以重写其中的一些用法来改为使用AST。