支持泛型程序设计的APLA-Delphi自动程序转换系统

来源 :江西师范大学 | 被引量 : 0次 | 上传用户:niubisile
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
有效解决“软件危机”的一种重要途径是使用形式化方法来开发软件产品。薛锦云教授在国家863和多项国家自然科学基金的资助下,根据多年从事算法程序设计理论研究的成果,提出了一种实用的开发和证明算法的方法——PAR。在该方法的指导下,我们定义了Radl(Recurrence-based Algorithm Design Language)抽象算法设计语言来描述算法规约和抽象算法,定义了Apla(Abstract Programming Language)语言来描述抽象程序。并制作了Radl到Apla,Apla到各种高级语言程序的转换工具。本项研究选用Delphi编译器使用的Object Pascal语言作为目标语言,设计和实现了支持泛型程序设计和用户自定义ADT类型的Apla→Delphi自动程序转换系统,该系统支持Apla程序到Delphi程序的自动转换和转换后的直接执行。 该转换器的源语言是Apla,目标语言是Delphi编译器所使用的Object Pascal。Apla是一种抽象算法描述语言,具有高度抽象、表达力强等特点。Apla语言把树、图、集合、序列等组合数据类型作为预定义类型,并且含有明显的语法机制支持泛型程序设计和用户自定义ADT类型。相反,Object Pascal中不能直接使用树、图、集合、序列等组合类型,而且没有明显的反映泛型程序设计思想的语法机制。如何在Delphi中很好的支持Apla的这些机制是本系统所要研究的重点和难点,Apla→Delphi自动程序转换系统的目标是使得所有正确的Apla程序都能通过转换器得到正确的Delphi程序,并且能运行得到正确结果。 在系统的研制过程中,我们吸取了一些流行软件开发工具的特点,进行了多方面的创新。如:中间变量临时生成、目标代码直接执行、动态分割显示窗口、特殊符号工具栏、类型参数化、子程序参数化等技术;并改进了系统中许多关键算法,如:多重赋值语句转换算法、代码优化算法。通过构造预定义ADT库解决了树、图、集合、序列等组合类型的直接使用问题,通过利用现有的oop技术解决了没有明显的反映泛型程序设计思想的语法机制的Delphi语言中使用泛型程序设计方法的问题,通过VC++编译器实现了整个转换系统(源代码15000多行)。 本系统使用大量经过严格PAR方法开发出来的Apla程序进行测试。这些Apla程序的开发过程得到PAR方法的正确性保证;而Delphi部件库本身采用了防卫程序设计,软件容错,软件避错等现代程序设计手段,增强了转换得到的Delphi程序的正确性。我们使用Apla描述了现有《数据结构》教科书上的绝大部分算法程序,并增加了一些难度较大的算法程序Apla描述,如:KMP算法、KLEENE算法。在这些Apla程序中,既有简单的,又有复杂的,既有非数值计算类型的,也有数值计算类型的。所有例子全部在本系统中得到直接转换和直接执行,并得到正确结果。 进一步的工作包括完善Apla→Delphi自动程序转换系统的转换机制;提高Apla→Delphi自动程序转换系统的可靠性;增加Apla转换实例,使产品的商品化程度提高,并积极准备申请专利。
其他文献
无线Ad hoc网络,又名无线自组织网络,是一种特殊的对等式网络。它没有固定的控制中心,各节点通过无线链路连接并在网络中作为路由器。传统的TCP协议在有线网络中能够良好地工作,
随着科技的发展,非真实感渲染近年来已经成为了热门课题,越来越多的学者从事非真实感渲染的技术研究。在国外对水彩画、油画等具有西画艺术特征的艺术品仿真技术已经比较成熟,然
随着计算机网络技术的飞速发展,各种科技活动和日常工作中产生的数字、文档、图表等原始数据以及按照不同需求加工的数据集和相关信息被越来越多地以数字化的形式存放在数据
基于策略的网络管理(Policy Based Network Management,PBNM)是近几年迅速发展起来的研究领域,旨在向网络管理的智能化方向发展.该文正是基于这样的技术和应用背景,开展了相
随着WEB成为人类从事社交活动的虚拟场所——基于WEB的社交网,如何开发基于WEB的社交智能正在成为实现新一代高性能WEB的重要方式.将应用软件Agents和MA(Multi-Agent)技术建
在舰艇、飞机等需要协同指挥和控制的分布式应用系统中,系统的可靠性和容错性十分重要。如何保证这些系统的高可靠性和良好的容错性,是目前分布式系统的研究热点之一。通常采
移动供应链管理(MSCM)早在上个世纪90年代末期就有人提出.随着移动商务和电信技术的不断发展,移动供应链管理已经成为目前最为新颖、最为高效的供应链管理模式.兼具供应链管
目前大到航天系统,小到手机都有嵌入式系统的身影,正因得到如此广泛的应用,想深入学习和开发嵌入式系统软件的人也越来越多,其中包括对各种不同的操作系统的研究和对一些底层系统
H.264/AVC是目前由ITU-T的视频编码专家组(VCEG)及ISO/IEC的运动图像专家组(MPEG)公布的新一代视频编码标准。由于该标准比较复杂并且相当灵活,工程设计人员必须针对具体的应
随着人们对深度学习的广泛关注和大量研究,径向基神经网络、玻尔兹曼机模型和卷积模型等大量的深度神经网络模型已被广泛应用。其中,卷积受限玻尔兹曼机(Convolutional Restrict