[发明专利]代码转换无效
申请号: | 200680023203.6 | 申请日: | 2006-06-27 |
公开(公告)号: | CN101208660A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 阿尔伯特·唐纳德·通金;鲁思·埃玛·通金 | 申请(专利权)人: | 奎朴兹有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 陆弋;宋志强 |
地址: | 澳大利亚新*** | 国省代码: | 澳大利亚;AU |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 转换 | ||
技术领域
本发明涉及可执行代码从一种语言到另一种语言的转换。具体来说,本发明涉及代码的自动转换。
背景技术
遗留系统(legacy system)是陈旧的计算机系统或通常包含以COBOL、PL/I和其它古老的编程语言写成的几十亿行代码的应用程序。
转换涉及将遗留的应用程序源代码转换为现代语言的进程,例如将应用程序从COBOL转换到J2EE上的Java,或将RPG写成的应用程序转换为.NET上的c#。有时也将转换称作现代化。
将遗留的应用程序转换到独立的现代的技术平台具有很多优点:
-维护遗留应用程序的知识产权;
-使得将来更容易且以较少花费对应用程序进行改进;
-应用程序可以现代化为能够提供网页(Web-enablement);而且
-应用程序可保持原始的样式、感觉和功能,从而使对职工的培训最小化。
转换通常使用基于工作台的应用程序现代化的方法,也就是说,转换基于一系列完全不同的工具,且通常牵涉很多对代码的人工转换。
A.特里可夫(A Terekhov)和C.费霍夫(C Verhoef)在他们的名称为“实现语言转换(The Realities of Language Conversion)”(圣彼德堡州立大学(St Petersburg State University))的论文中陈述:自动化的语言变换看起来简单,但当实际应用时是一个极其复杂的问题。他们以这样的陈述进行总结:不存在像简单变换这样的事情,人们应该限制他们对转换工程的质量和语义上等价的期望。
发明内容
本发明的第一方案为一种创建包括多个节点的树的方法,该树待用于可执行代码到不同编程语言的转换中,该方法包括:
接收所述可执行代码;
识别所述代码的每一可执行段;
为所述代码的每一可执行段分配一个节点,其中每一节点属于一组预定节点类型之一,所述每一预定节点类型定义编程语言的一项唯一的通用可执行操作,每一节点的结构和内容由其节点类型定义的通用操作来确定;和
链接多个节点以创建该树。
通过将各执行段削减到其基本含义,各种语言之间的语法区别就不会在创建的树中反映出来,该树随后用于将代码转换到不同的编程语言。如果代码的两个部分实现同一组可执行操作,即便它们是由不同语言写成的,代码的这两个部分也会生成相同的树。这样,由于相同的方法可以应用于多种编程语言,因此使代码转换变得容易,并避免了对独立的中间语言的需求。
所述唯一的通用可执行操作可以是:
对另一代码组元的引用;
赋值语句;
数据处理语句;
条件语句;或
循环语句。
对于每一节点类型,其结构包括一个或更多个子节点,其中每一子节点属于一组预定子节点类型之一,所述每一子节点类型定义其通用可执行操作的一个可能组元。
例如,定义赋值语句的可执行操作的节点类型,可以构建为包括子节点类型的第一子节点以及子节点类型的第二子节点,该第一子节点类型定义赋值操作的目标组元,第二子节点类型定义赋值操作赋值组元。
对于每一子节点类型,其结构包括一个或更多个再子节点,其中每一再子节点属于一组预定再子节点类型之一,所述每一再子节点类型定义其通用可执行操作的组元的一个可能子组元。
例如,上述第二子节点可以具有一组预定再子节点类型,其可包括一个定义变量或数学表达式的再子节点。
在该树中,所述可执行代码中使用的变量会与定义变量的子节点类型相关联地出现在该树中。
在该树中,所述可执行代码中使用的数学等式会与定义所述等式中使用的数学表达式的子节点类型相关联地出现在该树中。
在该树中,所述可执行代码中使用的常量会与定义常量的子节点类型相关联地出现在该树中。
每一节点可包括识别信息,例如分配给所述可执行代码中的可执行段的行号。
通过向每一节点分配链接信息来将该节点链接到该树上,所述链接信息与将该节点链接到该树上所需的其它节点有关,例如该节点的父节点和子节点的详情。
每一节点可具有唯一的标识符。一个节点可通过拥有该节点相关的父节点或子节点的唯一的ID,来链接到该树。
每一节点可进一步包括多个方法,这多个方法涉及如何执行用于协助处理树的各种动作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奎朴兹有限公司,未经奎朴兹有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680023203.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:游戏成绩评价方法和装置
- 下一篇:可佩戴的电子设备的系统和方法