C-Java自动程序转换系统原型的设计和实现

来源 :上海师范大学 | 被引量 : 0次 | 上传用户:zjinboy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在经济快速发展的今天,人们对成本和效率有了更高的要求。为了打破平台对用户的束缚,充分利用已有的成果,节省重新开发的费用,平台迁移或软件重用已经变得越来越重要。 因而,源代码转换技术被广泛的运用在软件维护、遗留系统的现代化改造以及软件逆向工程等领域中。它具有重大研究价值和经济价值,不但可以避免重复劳动,提高软件生产的效率和质量,而且可以将大量的遗产系统转化为易演化系统,从而充分有效地利用这些遗留系统。 本文所阐述的就是与此相关的研究。论文中详细描述了一个C—Java转换系统原型的设计和实现。本文借鉴了编译系统的功能实现方法,通过该转换系统中各个部分功能程序相应地分析和处理,逐步地对源程序的词法、语法等方面的语言特性加以分析,将源程序代码解构为可直接进行翻译转换的语言单词符号,并对它们进行相应地转换,最终产生出可正确运行和易于理解的目标代码。 我们在文中对现有的几种移植方法进行了分析和研究。分析表明在将程序库移植到Java中和将它们与Java整合时,这些方法暴露出了各自的局限性和不足。借鉴这些经验,我们制定了转换的设计原则,并遵循这些原则设计了一套有效可行的转换规则。为了显示这种方法的可行性,我们根据设计的方案实现了一个转换系统的原型并选择一些实例来对转换后的代码进行评价。 其中,将C的指针转换为Java的引用是从C到Java进行转换的一个核心问题。基于指针的块模型,我们提供了一个改进的转换策略。实验结果表明这种方法能产生与源代码功能等价的且易于维护的代码。 目前,我们实现的转换系统已经可以把C语言描述的一些经典算法转换为Java程序,如最短路径算法,快速排序算法等。 本文所阐述的内容为实现异种程序设计语言的程序代码转换,提高程序代码的可移植性和重用性提供了有意义的思路和实现方法。
其他文献
在学习数据结构的过程中,数据关系的抽象性容易造成学习低效;在一般的程序设计中,数据结构的复杂性往往对调试程序造成一定的困难。在程序执行过程中,应用可视化技术实现算法
近年来,我国轨道交通事业的高速发展为市民的出行带来了极大的便利。与此同时,轨道交通相关技术人员和管理运营人员的需求量不断增大。列车自动监控系统(ATS)作为轨道交通运
近5年的大熊市结束了,在上证指数重上千三踏入千四的时候,投资股票重新成为现代人生活中的一个重要组成部分,股票投资已成为社会公众谈论的中心之一,而股市的健康发展和繁荣
MU-MIMO(Multiuser Multiple input Multiple output)技术是当前及正在演进的无线访问标准,如LTE,LTE-A,WIMAX和WLAN中的关键技术。Multiple User-MIMO系统在同一时间及频率范围
随着互联网的迅猛发展,流媒体服务已经成为Internet上相当重要的一种业务,而且发展迅速。流媒体具有数据量大,持续时间长,实时性要求高的特点。当并发用户数量很大时,一般的单播服
空间数据是地理信息系统的基础,整个地理信息系统都是围绕空间数据的采集、加工、存储、管理、分析和表现展开的。随着Internet网络的飞速发展和普及,万维网地理信息系统(WebGI
随着USB接口技术的发展,USB设备越来越多地走近我们的日常生活和科研工作中,给人们带来了很多方便。USB接口技术有很广泛的发展前途,研制出能用于经纬仪上的USB设备也是有必
随着Internet的发展,基于网络的应用系统越来越多,现代社会对网络的依赖日益增强,同时网络的安全也面临着巨大的挑战。面对威胁,众多安全机构研发了许多安全产品,但攻击者的
感知和识别复杂环境中人的行为是普适计算研究的热点之一,随着微型低功耗传感器的发展,传感器开始融入人类生活的各个方面,基于传感器的行为识别已经成为目前研究的热点。本
近年来,随着信息系统的广泛使用,系统安全问题受到用户越来越多的关注。访问控制作为解决安全问题的关键技术之一,在理论研究不断深化的基础上,有关的应用研究也得到了极大的