《计算机应用杂志》发表论文赏析
作者:赵迪, 华保健, 朱洪军
单位:1. 中国科学技术大学 软件学院, 合肥 230027;2. 中国科学技术大学 苏州研究院, 江苏 苏州 215123
摘要:函数式语言编译中,闭包变换和函数消除是广泛采用的高阶代码消除方法。为了提高函数式语言的运行效率,针对函数式语言编译阶段的高阶代码消除过程对目标代码效率的影响,设计并实现了一种函数式语言编译框架。该框架采用了菱形的架构,平行地使用了闭包变换与函数消除两种高阶代码消除方法。设计了一种具有代表性的函数式语言——FUN语言,并以FUN语言为基础,给出了比较框架的一个完整实现。通过该系统,对闭包变换与函数消除的效率影响进行对比实验,选取具有典型特征的测试例,分别从生成代码的规模和运行效率方面对闭包变换与函数消除两种方法的结果进行比较。实验结果表明,与闭包变换相比,使用函数消除方式所得的目标代码量更少,最多可减少33.76%的目标代码量;并且运行效率更高,最多可提高69.51%。
关键词:编译框架,函数式语言,高阶代码,闭包变换,函数消除
基金资助:国家自然科学基金青年科学基金资助项目(61202052);苏州市科技计划应用基础研究项目(SYG201406)。