表驱动代码生成技术在编译器中的应用❋
2015-08-07齐晓斌
微处理机 2015年3期
关键词:信息
林 卓,齐晓斌,卫 进
(中航工业西安航空计算技术研究所,西安710119)
表驱动代码生成技术在编译器中的应用❋
林 卓,齐晓斌,卫 进
(中航工业西安航空计算技术研究所,西安710119)
针对MDA(模型驱动架构)领域的新背景,结合编译器技术,提出了一种基于表驱动的代码自动生成技术。该技术应用在编译器后端,实现中间代码到目标代码的生成,尤其当目标代码数量大、结构复杂时,该技术的优势将会更加明显。经过实验验证,表驱动代码生成技术在具有通用代码生成技术优势的同时,不仅提高了生成效率,而且降低了代码的耦合度和逻辑控制复杂度。以数据为中心,实现了数据与控制相分离,使整个系统具有良好的可维护性和扩展性。
表驱动;代码自动生成;编译器
1 引 言
编译器主要实现翻译功能,以一种程序语言作为输入,以另一种等价的程序作为输出[1],输出的程序可以是汇编语言也可以是其他高级语言。传统的编译器一般以汇编语言作为输出,而某些新型编译器则使用其他成熟的程序语言作为目标语言,这种编译器的输入一般比较简单,甚至只是单一的模型描述文件,而生成的目标代码则是功能强大的框架代码程序,不仅文件数量大,而且组织层次复杂。在模型驱动的体系结构中,新型编译器的应用越来越广泛。
面对这种新的应用场景,传统编译技术显的力不从心,尤其在编译器后端实现从中间表示到目标语言映射时暴露出效率低、代码可维护性差等缺点。……
登录APP查看全文
