【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及可执行代码从一种语言到另一种语言的转换。具体来说,本 专利技术涉及代码的自动转换。
技术介绍
遗留系统(legacy system )是陈旧的计算机系统或通常包含以COBOL、 PL/I和其它古老的编程语言写成的几十亿行代码的应用程序。转换涉及将遗留的应用程序源代码转换为现代语言的进程,例如将应用 程序从COBOL转换到J2EE上的Java,或将RPG写成的应用程序转换 为.NET上的c#。有时也将转换称作现代化。将遗留的应用程序转换,i]独立的现代的技术平台具有很多优点一维护遗留应用程序的知识产权;一使得将来更容易且以较少花费对应用程序进行改进;—应用程序可以现代化为能够提供网页(Web-enablement);而且一应用程序可保持原始的样式、感觉和功能,从而使对职工的培训最小化。转换通常使用基于工作台的应用程序现代化的方法,也就是说,转换基 于一系列完全不同的工具,且通常牵涉很多对代码的人工转换。A.特里可夫(A Terekhov )和C.费霍夫(C Verhoef)在他们的名称为 实现语言转换(The Realities of Language Conversion ) (圣彼德堡州立 大学(St Petersburg State University))的论文中陈述自动化的语言变换 看起来简单,但当实际应用时是 一个极其复杂的问题n他们以这样的陈述进 行总结不存在像筒单变换这样的事情,人们应该限制他们对转换工程的质量和语义上等价的期望。
技术实现思路
本专利技术的第一方案为一种创建包括多个节点的树的.方法,该树待用于可 执行代码到不同编 ...
【技术保护点】
一种创建包括多个节点的树的方法,该树待用于可执行代码到不同编程语言的转换中,该方法包括:接收所述可执行代码;识别所述代码的每一可执行段;为所述代码的每一可执行段分配一个节点,其中每一节点属于一组预定节点类型之一,所述每一预定节点类型定义编程语言的一项唯一的通用可执行操作,每一节点的结构和内容由其节点类型定义的通用操作来确定;和链接多个节点以创建该树。
【技术特征摘要】
【国外来华专利技术】AU 2005-10-7 2005905559;AU 2005-10-19 2005905868;A1、一种创建包括多个节点的树的方法,该树待用于可执行代码到不同编程语言的转换中,该方法包括接收所述可执行代码;识别所述代码的每一可执行段;为所述代码的每一可执行段分配一个节点,其中每一节点属于一组预定节点类型之一,所述每一预定节点类型定义编程语言的一项唯一的通用可执行操作,每一节点的结构和内容由其节点类型定义的通用操作来确定;和链接多个节点以创建该树。2、 如权利要求l所述的方法,其中所述唯一的通用可执行操作为 对另一代码组元的引用;赋值语句; 数据处理语句; 条件语句;或 循环语句。3、 如权利要求1或2所述的方法,其中对于每一节点类型,其结构包 括一个或更多个子节点,其中每一子节点属于一組预定子节点类型之一,所 述每一子节点类型定义其通用可执行操作的一个可能组元。4、 如权利要求3所述的方法,其中对于每一子节点类型,其结构包括 一个或更多个再子节点,其中每一再子节点属于一组预定再子节点类型之 一,所述每一再子节点类型定义其通用可执行操作的组元的一个可能子组 元。5、 如前述任一权利要求所述的方法,其中在该树中,所述可执行代码 中使用的变量与定义变量的子节点类型相关联地出现在该树中。6、 如前述任一权利要求所述的方法,其中在该树中,所述可执行代码 中使用的数学等式与定义所述等式中使用的数学表达式的子节点类型相关 联地出现在该树中。7、 如前述任一权利要求所述的方法,其中在该树中,所述可执行代码 中使用的常量与定义常量的子节点类型相关联地出现在该树中。8、 如前述任一权利要求所述的方法,其中每一节点包括识別信息,例 如分配给所述可执行代码中的可执行段的行号。9、 如前述任一权利要求所述的方法,其中通过向每一节点分配链接信 息来将该节点链接到该树上,所述链接信息与将该节点链接到该树上所需的 其它节点有关,例如该节点的父节点和子节点的详情。10 、如前述任 一 权利要求所述的方法,其中每 一 节点具有唯 一 的标识符。11、 如前述任一权利要求所述的方法,其中每一节点进一步包括多个方12、 如前述任一权利要求所述的方法,其中每一节点进一步包括一个标 记器,该标志器能够由所述用于协助处理树的各种方法使用;例如,指示一 方法在该节点上已经被执行。13、 如前述任一权利要求所述的方法,其中所述方法进一步包括 接收与所述可执行代码相关联的声明数据;识别所述声明数据的每一声明段;为所述代码的每一声明段分配一个节点,该节点属于定义声明的节点类 型;以及将该声明节点链接到该树。14、 如前述任一权利要求所述的方法,其中所述定义声明节点的节点类 型包括以下任一个或更多个识别信息,例如分配给所述声明数据的行号; 将该节点链接到该树的链接信息; 有助于处理树的多个方法;以及 唯一的标识符。15、 一种建立解析器以创建包括多个节点的树的方法,该树待用于可执 行代码从第一编程语言到第二编程语言的转换中,该方法包括针对所述第 一编程语言,从以所述第 一编程语言编写的代码中识别出定义可执行操作的语法;为识别出的语法分配节点类型,其中每一节点类型为一组预定节点类型之一,所述每一预定节点类型定义编程语言的一项唯一的通用可执行操作;每一节点类型的结构和内容由其节点类型定义的通用操作来确定;重复该方法,直至针对所述第 一操作语言的所有可执行操作的语法都已经被识别并且都已被分配节点类型。16、 如权利要求15所述的方法,其中所述唯一的通用可执行操作为 对另一代码组元的引用;赋值语句; 数据处理语句; 条件语句;或 循环语句。17、 如权利要求15或16所述的方法,其中对于每一节点类型,其结构 包括一个或更多个子节点,其中每一子节点属于一组预定子节点类型之一, 每一子节点类型定义其通用可执行操作的一个可能组元。18、 如权利要求17所述的方法其中对于每一子节点类型,其结构包 括一个或更多个再子节点,其中每一再子节点属于一组预定再子节点类型之 一,所述每一再子节点类型定义其通用可执行操作的组元的可能子组元。19、 如权利要求15至18中任一项所述的方法,其中对于定义包括变量 用途在内的通用操作的节点类型,该通用操作的节点类型被关联到定义变量 的子节点类型。20、 如权利要求]5至19中任一项所述的方法,其中对于定义包括变量 用途在内的通用操作的节点类型,该通用操作的节点类型被关联到定义变量 的子节点类型。21、 如权利要求15至20中任一项所述的方法,其中对于定义数学等式 的通用操作的节点类型,该通用操作的节点类型被关联到定义数学表达式的 子节点类型。22、 如权利要求15至21中任一项所述的方法,其中对于定义包括常量 用途在内的通用操作的节点类型,该通用操作的节点类型被关联到定义常量 的子节点类型。23、 如权利要求15至22中任一项所述的方法,其中每一节点类型的结 构包括存储识别信息的能力,所述识别信息例如分配给所述可执行代码中的 可执行段的行号。24、 如权利要求15至23中任一项所述的方法,其中每一节点类型的结 构包括存储链接信息的能力,所述链接信息与将该节点类型如何能够链接到 其它节点相关。25、 如权利要求15至24中任一项所述的方法,其中每一节点类型的结 构具有存储该节点的唯一的标识符的能力。26、 如权利要求15至25中任一项所述的方法,其中每一节点类型进一步包括涉及如何执行各种动作的多个方法,所述动作在被置于树中时,协助 处理节点类型。27、 如权利要求15至26中任一项所述的方法,其中每一节点类型进一 步包括一个标记器,该标志器在被置于树上时,能够由所述协助处理树的多 个方法使用。28、 一种解析器,适用于执行权利要求1至14中任一项所述的方法。29、 一种解析器,其根据权利要求15至27中任一项所述的方法建立。30、 一种应用软件,其能够使计算机系统运行以执行权利要求1至14 中任一项所述的方法。31、 一种应用软件,其能够使计算机系统运行以执行权利要求15至2...
【专利技术属性】
技术研发人员:阿尔伯特唐纳德通金,鲁思埃玛通金,
申请(专利权)人:奎朴兹有限公司,
类型:发明
国别省市:AU[澳大利亚]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。