首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到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.
一般而言,要把并行递归程序转化为等价的尾递归程序(它直接对应于循环迭代程序)是十分困难的。本文指出,具有某种性质的两类(分别称为α类和β类)并行递归程序可以转化为等价的尾递归程序,从而具有较高的时空运行效率。  相似文献   

5.
本文提出一种递归消除的方法,适于一类基于递归数据结构的程序。该方法将递归程序作为初始规约,以求解过程的状态变迁序列作迭代模式;通过数据展开和变换实现初始规约向基于序列描述规约的变换,继而用PAR形式推导出序列规约的递推关系,并以之为核心近乎机械地构造出非递归算法。树和图的两个算法实例说明了本方法的有效性。  相似文献   

6.
递归程序变换成非递归程序的方法   总被引:1,自引:0,他引:1  
王世著  郭福顺 《小型微型计算机系统》1989,10(6):《小型微型计算机系统》-1989年10卷6期-11-18.2页-《小型微型计算机系统》-1989年10卷6期-11-18.2页
本文讨论将高级语言编写的递归程序自动地变换成非递归程序的变换规则和变换算法。  相似文献   

7.
递归变换是程序自动设计中的一个研究课题。文[3,4]分别提出了几种递归变换,其可用条件中都包括单位元.我们基于文[8]的思想,讨论了对文[3,4]中几种变换的改进。  相似文献   

8.
王权于  应时  吕国斌  赵楷 《计算机科学》2010,37(3):175-177181
语义程序变换是面向语义Web服务的软件设计方法的基础,语义程序只有通过程序变换后才能被运行环境执行和调用,然而目前还缺乏有效的语义程序变换方法。针对这一问题,基于语义编程语言SPL,提出了一种面向语义Web服务的语义程序变换方法。该方法通过对语义数据类型、语义规则、语义服务和语义流程等语义信息的有效变换,不仅提高了面向服务的程序设计的灵活性和健壮性,而且有助于提高业务流程的柔性和重用性。  相似文献   

9.
一类递归算法的多种计算方案及其比较   总被引:2,自引:1,他引:1  
本文讨论一类递归算法 ,利用“递推关系”,“多步递归变换”及“函数嵌入法”等方法可得到它们的多种计算方案 ,对它们的运行效率做了比较  相似文献   

10.
本文介绍了一种报表打印程序生成系统的设计思想和实现方法。系统采用程序变换的思想,设计使用一种用来描述报表格式的报表描述语句对报表结构进行描述,由微机自动生成报表打印程序。  相似文献   

11.
在程序设计中,为了处理重复性的计算,最常用的办法是采用递归计算。理论上讲,对递归程序的处理有不同的计算规则。本文从理论上及实践上对递归程序的计算过程进行了详细的探讨,在对多种程序设计语言中关于递归程序的计算过程进行分析基础之上,对递归程序计算规则进行了总结。  相似文献   

12.
本文结合一个具体实例,较为全面地论述了利用程序变换法来实现数据库程序自动生成的若干技术细节,给出样板程序和生成器设计的方法。  相似文献   

13.
本文介绍了IBM PC/5550与IBM PC/XT/AT之间汉字变换程序的设计方法。文中分析了两类机型汉字不兼容的原因——机内码的差异;找出了相互变换的映像公式:介绍了汇编语言的转换程序和设计方法。  相似文献   

14.
程序变换的一种规范说明方法   总被引:1,自引:0,他引:1  
文中给出了一种对程序变换进行分类的方法,提出了适合于更广义程序变换描述的四元组表示,程序变换的一种规范说明方法和规范说明语言的元语言SMOPT。介绍了这一规范说明方法SMOPT在反编译系统OECLER的AB变换器的设计与实现中的应用。  相似文献   

15.
在程序设计中 ,为了处理重复性的计算 ,最常用的办法是采用递归计算。理论上讲 ,对递归程序的处理有不同的计算规则。本文从理论上及实践上对递归程序的计算过程进行了详细的探讨 ,在对多种程序设计语言中关于递归程序的计算过程进行分析基础之上 ,对递归程序计算规则进行了总结  相似文献   

16.
本文在ADL和DADL基础上发展了一种引入抽象数据类型的逻辑型和函数型程序变换语言,阐述了从逻辑型向函数型和从函数型向过程型程序的变换方法,并介绍了基于超文本技术的程序变换支撑系统。  相似文献   

17.
线性递归Da taL og 程序优化算法   总被引:2,自引:0,他引:2       下载免费PDF全文
提出了线性齐次DataLog逻辑程序的概念,并为该类程序设计了一个优化的求解算法。在此基础上提出了求解一般线性DataLog程序的优化算法,该算法利用带有的约束条件的递归调用方法,将线性DataLog程序求解问题变换成齐次程序的求解问题。算法简单,易于实现,可应用于任何线性DataLog程序的求解。  相似文献   

18.
并行化编译中递归标量的优化处理*   总被引:2,自引:0,他引:2  
提出了一种并行化编译中统一处理递归标量的通用方法.该方法将递归标量的处理转化为差分方程(组)的求解,然后利用Z变换与反Z变换来求解方程(组).提高了并行化编译器对递归标量的处理能力,有利于对串行程序的自动并行化.  相似文献   

19.
分析了递归程序的实现原理及在FoxBASE ̄+中实现递归调用的可能性,提出了递归程序工作栈的概念。利用这一概念,使FoxBASE ̄+的解释程序与应用程序协同工作,从而在FoxBASE ̄+中实现递归调用。  相似文献   

20.
基于线性表出的非奇异循环变换局部性优化方法   总被引:1,自引:0,他引:1  
夏军  戴华东  杨学军 《计算机学报》2003,26(12):1609-1620
开发程序的局部性是当今并行编译优化研究的重点之一,而程序变换是开发程序时间局部性和空间局部性的重要手段之一.该文提出了一种新的利用非奇异循环变换来优化程序局部性的局部性优化方法,即基于线性表出的循环变换.该方法利用一组最少的线性无关向量组来线性表出数组访问的下标表达式,并据此构造非奇异变换矩阵来优化数组访问的时间局部性和空间局部性.该方法能充分开发数组访问的时间局部性,能简便地确定是否能对数组访问进行时间局部性或空间局部性优化,并能对给定的嵌套循环同时进行时间局部性和空间局部性优化.实验结果表明了该文所提出的基于线性表出的非奇异循环变换局部性优化方法是有效的.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号