Eclipse CDT ast 和 model 包之间的区别
Posted
技术标签:
【中文标题】Eclipse CDT ast 和 model 包之间的区别【英文标题】:Difference between Eclipse CDT ast and model packages 【发布时间】:2016-11-10 11:19:22 【问题描述】:作为研究项目的一部分,我使用 Eclipse CDT 分析 C/C++ 源代码。我注意到 CDT 的API 有两个“可访问”接口包:
(1) 包org.eclipse.cdt.core.dom.ast
(2) 包org.eclipse.cdt.core.model
我假设(1)是用于AST遍历,但是(2)的目的是什么?
【问题讨论】:
【参考方案1】:“模型”是比 AST 更详细的源代码模型。它对变量、函数、类和预处理器指令等实体进行建模,但对语句和表达式等其他事物不建模。它用于生成大纲视图、项目资源管理器的内容以及其他一些视图中的条目,例如调用层次结构和类型层次结构。
我相信该模型早于 AST,并且至少它的一些用途可以重写为使用 AST。
【讨论】:
以上是关于Eclipse CDT ast 和 model 包之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 Eclipse CDT MinGW 工具链使用 mingw32-g++.exe?