[发明专利]代码转换方法及装置、电子设备、存储介质有效
申请号: | 201810541370.4 | 申请日: | 2018-05-30 |
公开(公告)号: | CN110554875B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 张鑫淼;李一山;纪伟;赵玉涛;张岩 | 申请(专利权)人: | 北京三快在线科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 袁礼君;王卫忠 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 转换 方法 装置 电子设备 存储 介质 | ||
本公开提供了一种代码转换方法及装置、电子设备、计算机可读存储介质,属于计算机技术领域。该方法包括:将源代码拆分为多个源词素,并确定各所述源词素的语法类型;基于各所述源词素的语法类型,通过预设词素表将各所述源词素映射为目标语言的词素;根据各所述源词素映射得到的目标语言的词素,生成基于所述目标语言的代码。本公开可以实现自动化的代码转换,提高软件或程序产品开发过程中代码转换工作的效率,减少人力成本,并降低人为错误导致的风险,并且具有较好的可扩展性与通用性。
技术领域
本公开涉及计算机技术领域,尤其涉及一种代码转换方法及装置、电子设备、计算机可读存储介质。
背景技术
在软件或程序产品的开发过程中,常常需要对已有的项目、模板等进行代码转换,以适应不同的应用环境、对接不同的操作系统等。
现有的代码转换多数基于手动转换,依赖于开发人员理解源代码的逻辑并手动改写为目标代码,当产品规模较大时需要大量的人力,并且手动转换代码也面临着人为失误导致的错改、漏改等风险,进而影响产品的开发质量。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种代码转换方法及装置、电子设备、计算机可读存储介质,进而至少在一定程度上克服由于现有技术的限制和缺陷而导致的代码转换需要大量人力且容易出错的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种代码转换方法,包括:将源代码拆分为多个源词素,并确定各所述源词素的语法类型;基于各所述源词素的语法类型,通过预设词素表将各所述源词素映射为目标语言的词素;根据各所述源词素映射得到的目标语言的词素,生成基于所述目标语言的代码。
在本公开的一种示例性实施例中,将源代码拆分为多个源词素,并确定各所述源词素的语法类型包括:对所述源代码进行结构分析,生成由各所述源词素组成的抽象语法树;根据各所述源词素处于所述抽象语法树中的节点位置,确定各所述源词素的语法类型。
在本公开的一种示例性实施例中,还包括:获取预设语言的语法规则及预设语言的词素集合,所述预设语言至少包括所述源代码的语言与所述目标语言;获取自定义的语法规则及自定义的词素集合;基于所述预设语言的语法规则及所述自定义的语法规则,对所述预设语言的词素集合及所述自定义的词素集合进行语法类型的分类,以获得所述预设词素表。
在本公开的一种示例性实施例中,基于各所述源词素的语法类型,通过预设词素表将各所述源词素映射为目标语言的词素包括:在所述预设词素表中查找所述目标语言中与各所述源词素的语法类型相同的词素;将各所述源词素映射为所述语法类型相同的词素。
在本公开的一种示例性实施例中,基于各所述源词素的语法类型,通过预设词素表将各所述源词素映射为目标语言的词素包括:根据各所述源词素的语法类型,将所述抽象语法树转换为通用语法树;通过所述预设词素表将所述通用语法树的各节点映射为所述目标语言的词素。
在本公开的一种示例性实施例中,所述源词素包含无法映射为所述目标语言的词素的特殊词素;所述方法还包括:在所述源代码中将所述特殊词素进行突出显示。
在本公开的一种示例性实施例中,所述源代码的语言与所述目标语言包括高级编程语言或汇编语言。
根据本公开的一个方面,提供一种代码转换装置,包括:语法分析模块,用于将源代码拆分为多个源词素,并确定各所述源词素的语法类型;词素映射模块,用于根据各所述源词素的语法类型,通过预设词素表将各所述源词素映射为目标语言的词素;代码生成模块,用于根据各所述源词素映射得到的目标语言的词素,生成基于所述目标语言的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810541370.4/2.html,转载请声明来源钻瓜专利网。