函数式语言LFC的Supercompilation技术研究
文献类型:学位论文
作者 | 郑丽丽 |
学位类别 | 硕士 |
答辩日期 | 2010-06-08 |
授予单位 | 中国科学院研究生院 |
授予地点 | 北京 |
导师 | 陈海明 |
关键词 | 监督式编译,LFC,Refal,类型,解释器 |
学位专业 | 计算机软件与理论 |
中文摘要 | 监督式编译技术是提高程序运行效率的自动优化技术。虽被提出 40 多年,却不被多数人熟知。为了研究监督式编译,并扩展它的应用,对监督式编译技术做了详细的分析,并将监督式编译应用于函数式语言LFC. 目前最为成熟的监督式编译是基于 Refal 的监督式编译系统。为了将 Refal监督式编译应用于 LFC 语言,详细分析了 Refal 语言和 LFC 语言的语法,数据结构,模式匹配的求值规则等。并提出了将现有的监督式编译应用于 LFC 语言的方法。 监督式编译应用于 LFC的第一种方法是将 LFC程序转换为能够被监督式编译系统优化的程序,即 Refal 程序。为提高程序转换的效率,提出了介于LFC和Refal 之间的中间语言表达形式。根据优化技术中优化器自应用的研究,提出了监督式编译应用于LFC的第二种方法,即利用监督式编译器优化LFC中间语言的解释器和源程序。 由于实验中所使用的监督式编译系统是基于无类型语言 Refal 的 SCP, 而LFC 的类型由上下文无关文法定义。因此,程序转换过程中需对 LFC 程序进行类型检查。对函数定义中的模式使用静态类型检查,判断模式的类型是否为类型声明的子类型;对于程序运行中输入参数的类型检查,提出了新的方法,即将 LFC中的文法转换为 Refal 函数 Filter。程序运行时的输入首先被该函数使用。 实验表明, Filter 函数使得输入参数类型和文法所定义类型一致。同时,结果表明,利用解释器优化 LFC 程序的方法是可行的。针对两种方法的实验结果,分析了影响优化结果的因素。最后,总结并提出了下一步的工作。 |
学科主题 | 计算机软件 |
语种 | 中文 |
公开日期 | 2010-07-14 |
源URL | [http://124.16.136.157/handle/311060/2849] ![]() |
专题 | 软件研究所_计算机科学国家重点实验室 _学位论文 |
推荐引用方式 GB/T 7714 | 郑丽丽. 函数式语言LFC的Supercompilation技术研究[D]. 北京. 中国科学院研究生院. 2010. |
入库方式: OAI收割
来源:软件研究所
浏览0
下载0
收藏0
其他版本
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。