[发明专利]一种软件源码语言翻译系统及方法有效

专利信息
申请号: 201410376235.0 申请日: 2014-08-03
公开(公告)号: CN104391730B 公开(公告)日: 2017-07-11
发明(设计)人: 杨朝晖;马满材;李洋;邓高超;周波;李善平;孙建伶 申请(专利权)人: 浙江网新恒天软件有限公司
主分类号: G06F9/45 分类号: G06F9/45;G06F9/44;G06F17/30
代理公司: 杭州求是专利事务所有限公司33200 代理人: 邱启旺
地址: 310012 浙江省杭*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 软件 源码 语言 翻译 系统 方法
【说明书】:

技术领域

发明涉及计算机程序语言编译领域,尤其涉及一种软件源码语言翻译系统及方法。

背景技术

计算机软件发展过程中,开发软件所用的程序语言不断更新换代。迄今为止软件领域积累了非常大量的,使用早期程序语言编写的软件程序。维护和扩展陈旧程序语言编写的软件效率低下,并且熟练使用这些程序语言的程序员也日益减少。为推进业务持续发展,需要将软件程序从旧的程序语言翻译为等价的新的程序语言的实现。

程序语言翻译的过程繁琐、内容单调重复并且容易出错,适合借助自动化翻译工具实施。自动化翻译工具的开发存在以下待解决的问题:首先,由于存在翻译需求的源语言和目标语言种类繁多,为其中每种组合开发一套自动化翻译工具必然存在功能重复开发的浪费。其次,即使需要翻译的源语言相同,同样风格的翻译结果也不能满足不同用户的对目标语言程序的结构和书写风格的要求。

因此该领域需要解决如下的技术问题:如何在软件源码语言翻译中支持灵活高效地定制所翻译的源语言和目标语言的种类和代码风格。

发明内容

本发明的目的在于针对现有技术的不足,提供一种软件源码语言翻译系统及方法。

本发明的目的是通过以下技术方案来实现的:一种软件源码语言翻译系统,包括:程序对象模型管理模块:用于管理作为翻译中间产物的程序对象模型,对程序对象模型的管理包括模型的创建、存储、查询和修改;其中,所述程序对象模型包括语法树和符号信息表;对语法树的管理包括创建语法树节点,设置语法树节点属性,读取语法树节点属性,设置语法树节点间父子关系,根据语法树节点间父子关系遍历语法树节点;对符号信息表的管理包括创建基本符号信息表,创建符号对象,删除符号对象,设置符号对象属性,按符号名称查询基本符号信息表,设置基本符号信息表级联关系,按符号名称查询级联的符号信息表,设置符号对象与语法树节点的定义关联和引用关联;

转换规则库:用于管理源码解析规则,模型转换规则和代码生成规则;其中源码解析规则,包括程序语法规则和符号定义规则;所述程序语法规则以EBNF范式的形式描述程序语言中合法的语法单元和层次关系;所述符号定义规则描述语法树节点与符号对象的对应关系;模型转换规则为<模式部,条件部,动作部>三元组形式;其中模式部描述该规则所能转换的语法树节点类型和子树结构;条件部描述满足模式的语法树子树中各节点属性需要进一步满足的条件;动作部描述模式及条件均满足时,相应生成的新语法树子树,以及对应填入符号信息表中的符号对象;代码生成规则为<模式部,目标模板部>的二元组形式;其中模式部用于描述指定结构的语法子树,当模式匹配时提取模式中指定位置的变量;目标模板部描述相应生成的文本的目标代码模板,在模式部匹配语法子树时提取的变量用于填充模板中的占位符;转换规则库模块对规则的管理包括规则的创建、删除、查看、编辑、导入和导出;

源码解析模块:分别与转换规则库和程序对象模型管理模块相连,用于从转换规则库取得定制的源码解析规则并予以执行,逐个解析程序源码,通过调用程序对象模型管理模块创建和保存等价的结构化的程序对象模型;所述解析程序源码,包括使用词法解析程序将源码切分为词法单元,使用语法解析程序分析词法单元序列表达的语法结构,组织反映语法结构的语法树,以及遍历语法树,从中提取其中的符号定义和引用信息;

程序对象模型转换引擎:分别与转换规则库和程序对象模型管理模块相连,用于从转换规则库取得定制的模型转换规则并予以执行,对程序对象模型实施转换;所述程序对象模型的转换包括语法树的转换和符号信息表的转换;所述语法树的转换是指改变语法树的结构和属性的操作,包括修改语法树节点属性,修改语法树节点间父子关系,创建和插入新的语法树节点,删除语法树节点;所述符号信息表的转换是指改变符号信息表所记录的符号信息的操作,包括修改符号对象属性,创建和插入新的符号对象,删除符号对象,修改符号信息表级联关系;

目标语言生成模块:分别与转换规则库和程序对象模型管理模块相连,从转换规则库取得定制的代码生成规则并予以执行,生成目标语言源代码;该模块包含目标代码模板引擎和源代码-目标代码关联模块;其中,所述目标代码模板引擎根据代码生成规则,从程序对象模型的语法树节点中提取属性信息,包括读取语法树节点本身属性,以及查询语法树节点相关联的符号对象属性;所提取属性信息用于填充指定的代码模板,生成该语法树节点对应的目标代码;在执行代码生成规则的同时,源代码-目标代码关联模块记录语法树节点对应的源代码以及生成的目标代码,用于对比查看翻译前后的代码,使用户可以审查源码翻译的有效性。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江网新恒天软件有限公司,未经浙江网新恒天软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410376235.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top