`
tullyliu
  • 浏览: 30894 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何调用Eclipse CDT解析器的结果实现对C++代码的解析

阅读更多
引入org.eclipse.cdt.core的插件包后.通过如下代码则可获得某个C++源文件的解析结果

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;
	}


再对IASTTranslatonUnit ast调用 getDeclarations()方法即可获得所有的声明信息
CCorePlugin和CoreModelUtil是CDT Core提供的最重要的入口.
TranslatonUnit表示一个编译单元.可以是一个项目.一个文件.文件的一个代码块
IASTTranslatonUnit 是编译单元的AST表示.里面包含了所有的信息
2
0
分享到:
评论

相关推荐

    eclipse cdt 解析C++ AST

    下面将详细介绍Eclipse CDT解析C++ AST所涉及的关键知识点。 首先,Eclipse是一个集成开发环境(Integrated Development Environment,简称IDE),支持多种编程语言和编程范式。其中包括C/C++、Java、Scala、PHP、...

    Eclipse CDT(C & C++ Development Tooling)开发环境的搭建.pdf

    ### Eclipse CDT (C & C++ Development Tooling) 开发环境的搭建知识点解析 #### 一、概述 本文档详细介绍了如何在Windows环境下搭建Eclipse CDT (C & C++ Development Tooling) 开发环境的过程。该过程主要包括...

    Eclipse CDT API文档

    Eclipse CDT(C/C++ Development Tools)是Eclipse IDE中的一个核心插件,它为C和C++开发者提供了一套完整的集成开发环境。CDT API文档是专门为那些想要扩展或定制Eclipse CDT功能的程序员准备的,它包含了大量的...

    eclipse cdt.9.10源码

    源码中会包含构建配置和解析器的相关代码。 2. **代码编辑器**:CDT提供了强大的C/C++代码编辑器,具备语法高亮、自动完成、错误检查等功能。源码中会有编辑器的核心实现,包括语法解析、自动补全算法等。 3. **...

    eclipse cdt9.11源码

    5. **调试器**:CDT内置了强大的C/C++调试器,支持断点设置、变量查看、调用堆栈分析等,使调试过程更加直观和高效。 6. **代码导航**:通过符号索引和跨文件搜索,CDT帮助开发者快速定位和理解代码结构。 7. **...

    CDT.rar_CDT_CDT eclipse_eclipse cdt_visual c

    1. **CDT简介**:CDT是Eclipse平台上的一个开源项目,为C和C++程序员提供了丰富的开发工具,包括源代码编辑器、构建系统、调试器和项目管理工具。 2. **Eclipse集成**:CDT无缝集成于Eclipse IDE中,使得开发者可以...

    Eclipse+CDT与gdb通信原理解析.PDF

    Eclipse中的一个重要插件是CDT(C/C++ Development Tooling),它为Eclipse增加了对C/C++程序开发的支持。CDT为开发者提供了必要的工具和功能,如代码编辑、编译、调试以及版本控制等,使得在Eclipse中进行C/C++开发...

    eclipse中的cdt远程调试

    在Linux环境下,CDT通过集成传统的调试器GDB,实现了对本地及远程程序的调试能力。然而,标准的CDT插件在进行远程模块调试时遇到了挑战,主要表现为无法准确识别和处理目标设备上的线程信息,导致无法正确显示断点处...

    Eclipse 搭建C/C++开发环境 cdt-master-7.0.2

    - 使用内置的源代码编辑器编写C或C++代码,Eclipse会自动提供语法高亮、代码补全和错误检测等功能。 - 在源码中设置断点,然后选择“运行”(Run)菜单中的“调试”(Debug)选项来启动调试会话。 - 调试期间,...

    eclipse下安装cdt时出现的问题

    在Eclipse中使用CDT(C/C++ ...总之,解决Eclipse中CDT的运行问题通常涉及到检查编译器配置、运行配置、二进制解析器设置以及确保Eclipse能正确识别和找到可执行文件。通过逐步排查,大多数问题都能得到解决。

    Eclipse C、C++(CDT)开发.rar

    - 语法高亮:Eclipse CDT会根据C或C++的语法规则对代码进行颜色区分,使代码更易读。 - 代码导航:可以快速跳转到函数定义、头文件包含等,方便查看和理解代码结构。 4. **构建系统** - Makefile支持:对于...

    Eclipse C/C++开发

    3. 调试程序:在源代码中设置断点,然后选择"Run" -> "Debug As" -> "C/C++ Application",Eclipse会启动调试器,让你可以逐行执行、查看变量值、设置条件断点等。 通过以上步骤,你已经具备了在Eclipse中进行C/C++...

    CDT6.0插件源码2

    8. **语法解析和高亮**: CDT源码中包含了C/C++的语法解析器和高亮机制。通过研究这部分,开发者可以了解如何实现代码的语法分析,这对于开发其他语言的IDE插件也有借鉴意义。 9. **性能优化**: CDT6.0可能会包含...

    eclipse 开发c/c++

    C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言, 因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。 因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它...

    用Eclipse平台进行C_C++开发.pdf

    例如,开发者可以在Eclipse中创建一个新的C/C++项目,编辑源代码,然后通过CDT的构建工具链调用GCC或其他编译器进行编译。如果遇到问题,CDT的调试器(通常与GDB集成)可以帮助定位和解决问题。 在安装和运行CDT前...

    eclipse c++安装,保证教你安装成功

    - 在弹出的对话框中,选择“Tool Settings”选项卡下的“Tool Chain Editor”,添加一个新的工具链,并选择“GNU ELF Parser”作为解析器。 - 配置完成后,点击Apply and Close保存设置。 #### 四、测试C++项目 ...

    CDT6.0插件源码1

    2. **编辑器与语法高亮**:CDT的源码包含了C/C++编辑器的实现,包括语法解析、错误检测、自动完成等功能。通过研究这部分代码,可以了解到如何实现一个强大的文本编辑器,并为特定语言提供支持。 3. **构建系统集成...

Global site tag (gtag.js) - Google Analytics