论文部分内容阅读
部分求值是一种程序转换技术,它的目的是根据部分输入来例化一个程序。作为程序优化方法的部分求值技术,通过程序变换把一个具有一般计算功能的程序系统变成为一个专用的程序系统,提高了程序的执行效率。部分求值技术中一个关键环节就是绑定时间分析(BTA),BTA的主要目的是在给定的输入条件(已知输入参数的动静态划分)下,把程序结构(变量,表达式,语句,函数)划分为例化时间已知和运行时间已知,也就是根据程序输入变量的动静态划分决定程序中其余变量和表达式的动静态划分,判断哪些表达式可以在部分求值时间求值,哪些在程序运行时求值。绑定时间分析进行的越精确,部分求值的效果就越好,所以说绑定时间分析在很大程度上影响了部分求值的整体效率。 本文主要介绍了针对Java语言中的部分语句、表达式和数组类型变量的BTA方面的分析、设计和实现,接着完成了标注程序的生成。最后,通过编写数个有代表性的测试程序例,主要测试了循环、条件语句以及数组变量的BTA结果以及标注程序的生成。