论文部分内容阅读
嵌入式软件开发环境是嵌入式技术研究的重要组成部分,为了使嵌入式软件开发具有平台无关、轻量级、快捷高效、低成本等特点,文章提出了一种基于动态中间语言的解释型嵌入式系统软件开发环境框架。
文章首先研究了国内外嵌入式软件开发环境的现状和嵌入式系统的特点及发展趋势;其次分析了在程序执行方式上编译过程和解释过程的异同,并在经典分析-综合模型的基础上,研究了解释器模型各个阶段的相关技术;最后借鉴中间语言在Java和.NET中的成功应用,以现代编译理论及技术为指导,结合动态语言的特殊优势,提出了系统解决方案:以Ruby作为嵌入式软件的开发语言,利用语法制导翻译技术结合回填技术将Ruby语言源程序转换成自定义的动态中间语言,设计一个基于动态中间语言的解释型运行时环境。将动态特性引入到中间语言是文章主要的创新点。
在详细设计过程中,文章在技术细节方面也作了一些创新或改进:如程序重构器的引入和语法分析器模型的扩展,类和方法的符号表原型模式,定位语句的设计及与作用域的关联,解释型运行时中的对象-方法栈模型的设计及垃圾回收过程中使用的基于对象-方法栈的分代收集法等。
为了评估设计方案的可行性和正确性,文章实现了一个PC机上模拟的demo版本,并开发了一个简易的可视化界面,用于调试和观察研究成果。文章全部设计过程采用统一建模语言UML描述。
经测试代码验证,系统核心功能模块基本达到预期效果:动态中间语言的定义;从Ruby语言到动态中间语言的转换;动态中间语言代码的解释执行及垃圾回收;中间代码级的断点和单步调试等。下一步的工作是进一步完善动态中间语言及解释型运行时环境对Ruby高级特性的支持,进一步完善系统功能,改进相关环节算法,进一步提高解释型运行时的执行效率和安全性。