共查询到20条相似文献,搜索用时 24 毫秒
1.
关于横向程序变换的若干研究 总被引:5,自引:0,他引:5
本文对我们近几年来在递归程序等价变换方面之一系列研究工作做了分类总结,所提出的一些新变换模式和技术进一步丰富了人们对横向程序变换技术的认识。 软件自动化是计算机科学的前沿课题之一,其主要研究途径有:演绎综合途径、程序变换途径、实例推广途径和过程化途径,其中尤以程序变换途径得到研究工作者更多的关注。程序变换大体上可分为横向变换和 纵向变换两大类,所谓横向变换是指在相似的抽象级上将一个语言成分转化为另一个与之等价但效率更高的语言成分。 横向程序变换的研究可追溯到1966年Cooper首次提出的Cooper变换,而英国爱丁堡大学的Burstall和Darlington的研究以及他们所研制的ZAP系统是目前这方面最有代表性的工作。 本文对横向程序变换作了较深入的探讨,其中有相当多一部分递归程序等价变换模式是笔者及其同事们近几年来陆续提出的。 我们将采用函数式递归程序模型作为讨论的基础(参阅[12]之第七章),并把递归程序变换模式分成若干类型加以阐述,限于篇幅,我们只简要叙述各类变换的输入模式、输出模式、可用性条件和应用示例,有关变换的正确性证明(采用结构归纳法)将不在此列出(感兴趣的读者可参阅有关文献)。 相似文献
2.
3.
Mathematica在横向程序变换中的应用 总被引:3,自引:0,他引:3
本文讨论用Mathematica的两大核心工作机制即模式匹配和规则来实现横向程序变换,以两类不同的递归程序变换的抽象模式为例,本文设计了相应的Mathematica程序包将非尾递归的程序变换成为相应的尾递归形式,然后利用Mathematica3.0提供的MathLink机制,在VB5.0的环境下实现它们的应用。 相似文献
4.
蔡经球 《小型微型计算机系统》1989,10(11):32-36
一般而言,要把并行递归程序转化为等价的尾递归程序(它直接对应于循环迭代程序)是十分困难的。本文指出,具有某种性质的两类(分别称为α类和β类)并行递归程序可以转化为等价的尾递归程序,从而具有较高的时空运行效率。 相似文献
5.
本文提出一种递归消除的方法,适于一类基于递归数据结构的程序。该方法将递归程序作为初始规约,以求解过程的状态变迁序列作迭代模式;通过数据展开和变换实现初始规约向基于序列描述规约的变换,继而用PAR形式推导出序列规约的递推关系,并以之为核心近乎机械地构造出非递归算法。树和图的两个算法实例说明了本方法的有效性。 相似文献
6.
7.
递归变换是程序自动设计中的一个研究课题。文[3,4]分别提出了几种递归变换,其可用条件中都包括单位元.我们基于文[8]的思想,讨论了对文[3,4]中几种变换的改进。 相似文献
8.
9.
一类递归算法的多种计算方案及其比较 总被引:2,自引:1,他引:1
蔡经球 《小型微型计算机系统》2000,21(3):253-256
本文讨论一类递归算法 ,利用“递推关系”,“多步递归变换”及“函数嵌入法”等方法可得到它们的多种计算方案 ,对它们的运行效率做了比较 相似文献
10.
本文介绍了一种报表打印程序生成系统的设计思想和实现方法。系统采用程序变换的思想,设计使用一种用来描述报表格式的报表描述语句对报表结构进行描述,由微机自动生成报表打印程序。 相似文献
11.
在程序设计中,为了处理重复性的计算,最常用的办法是采用递归计算。理论上讲,对递归程序的处理有不同的计算规则。本文从理论上及实践上对递归程序的计算过程进行了详细的探讨,在对多种程序设计语言中关于递归程序的计算过程进行分析基础之上,对递归程序计算规则进行了总结。 相似文献
12.
本文结合一个具体实例,较为全面地论述了利用程序变换法来实现数据库程序自动生成的若干技术细节,给出样板程序和生成器设计的方法。 相似文献
13.
14.
程序变换的一种规范说明方法 总被引:1,自引:0,他引:1
刘宗田 《计算机研究与发展》1998,35(1):87-90
文中给出了一种对程序变换进行分类的方法,提出了适合于更广义程序变换描述的四元组表示,程序变换的一种规范说明方法和规范说明语言的元语言SMOPT。介绍了这一规范说明方法SMOPT在反编译系统OECLER的AB变换器的设计与实现中的应用。 相似文献
15.
在程序设计中 ,为了处理重复性的计算 ,最常用的办法是采用递归计算。理论上讲 ,对递归程序的处理有不同的计算规则。本文从理论上及实践上对递归程序的计算过程进行了详细的探讨 ,在对多种程序设计语言中关于递归程序的计算过程进行分析基础之上 ,对递归程序计算规则进行了总结 相似文献
16.
刘宗田 《计算机工程与设计》1994,(5):3-11,19
本文在ADL和DADL基础上发展了一种引入抽象数据类型的逻辑型和函数型程序变换语言,阐述了从逻辑型向函数型和从函数型向过程型程序的变换方法,并介绍了基于超文本技术的程序变换支撑系统。 相似文献
17.
18.
19.
分析了递归程序的实现原理及在FoxBASE ̄+中实现递归调用的可能性,提出了递归程序工作栈的概念。利用这一概念,使FoxBASE ̄+的解释程序与应用程序协同工作,从而在FoxBASE ̄+中实现递归调用。 相似文献
20.
基于线性表出的非奇异循环变换局部性优化方法 总被引:1,自引:0,他引:1
开发程序的局部性是当今并行编译优化研究的重点之一,而程序变换是开发程序时间局部性和空间局部性的重要手段之一.该文提出了一种新的利用非奇异循环变换来优化程序局部性的局部性优化方法,即基于线性表出的循环变换.该方法利用一组最少的线性无关向量组来线性表出数组访问的下标表达式,并据此构造非奇异变换矩阵来优化数组访问的时间局部性和空间局部性.该方法能充分开发数组访问的时间局部性,能简便地确定是否能对数组访问进行时间局部性或空间局部性优化,并能对给定的嵌套循环同时进行时间局部性和空间局部性优化.实验结果表明了该文所提出的基于线性表出的非奇异循环变换局部性优化方法是有效的. 相似文献