[发明专利]代码语言转换方法、装置、电子设备及存储介质在审
申请号: | 202110451006.0 | 申请日: | 2021-04-25 |
公开(公告)号: | CN113138767A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 何子南;王凯;邢培康;李炯 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/51 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周天宇 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 语言 转换 方法 装置 电子设备 存储 介质 | ||
本公开提供了一种代码语言转换方法,包括:获取第一代码语言的第一源代码文本,并确定第一源代码文本包含的至少一种类型的语言对象,再将每种语言对象解析成对应的序列化对象。基于第二代码语言的语法规则,将所有序列化对象编译为第二代码语言。本公开还提供一种代码语言转换装置、电子设备以及计算机可读存储介质。
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种代码语言转换方法、装置、电子设备及计算机可读存储介质。
背景技术
随着网络通信技术的快速更新换代,各领域使用的互联网系统框架和技术也在不断更新。由于不同系统框架所运用的编程语言不同,开发人员对现有的系统框架更新时,不可避免地需要转换原系统框架的代码语言。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:若采用人工转换的方法,则要求技术人员熟练掌握两种新旧语言的逻辑规则,且人工转换法需要耗费大量人力,且转换过程极易出错。若采用抽象语法树转换的方法,则需要建立完整的抽象语法树,而对于语法规则复杂的编程语言而言,构建完整抽象语法树的过程就变得极为困难。
发明内容
有鉴于此,本公开提供了一种代码语言转换方法和装置。
本公开的一个方面提供了一种代码语言转换方法,包括:获取第一代码语言的第一源代码文本;确定所述第一源代码文本包含的至少一种类型的语言对象;将每种所述语言对象解析成对应的序列化对象;基于第二代码语言的语法规则,将所有所述序列化对象编译为第二代码语言。
根据本公开的实施例,所述将每种所述语言对象解析成对应的序列化对象,包括:解析每种所述语言对象,得到每种所述语言对象包含的数据结构;将所有所述数据结构分别转化为对应的序列化对象。
根据本公开的实施例,所述确定所述第一源代码文本包含的至少一种类型的语言对象,包括:依次确定所述第一源代码文本中每条代码语言的语言类型;统计同一语言类型的代码语言,得到至少一种类型的语言对象。
根据本公开的实施例,所述确定所述第一源代码文本包含的至少一种类型的语言对象,还包括:当无法确定所述第一源代码文本中代码语言的语言类型时,将所述代码语言标记为特定语言类型;统计所述特定语言类型的代码语言,得到特定语言对象。
根据本公开的实施例,所述语言对象为SQL对象,所述基于第二代码语言的语法规则,将所有所述序列化对象编译为第二代码语言,包括:判断所述SQL对象对应的序列化对象是否包含游标;若所述SQL对象对应的序列化对象不包含游标,则按照所述第二代码语言的SQL规则,将所述序列化对象编译为第二代码语言;若所述SQL对象对应的序列化对象包含游标,则使用List对象将所述序列化对象编译为第二代码语言,所述List对象用于模拟游标动作。
根据本公开的实施例,所述语言对象为Record对象,所述将每种所述语言对象解析成对应的序列化对象,包括:通过Record解析器和Dataitem解析器解析所述Record对象,得到Record序列化对象,所述Record序列化对象包含数据结构和字段信息。
根据本公开的实施例,所述语言对象为Program对象,所述将每种所述语言对象解析成对应的序列化对象,包括:通过Program解析器解析所述Program对象,得到Program序列化对象,所述Program序列化对象包含程序属性、入口函数定义和数据结构。
根据本公开的实施例,所述语言对象为Function对象,所述将每种所述语言对象解析成对应的序列化对象,包括:通过Function解析器解析所述Function对象,得到Function序列化对象,所述Function序列化对象包含的语法树结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110451006.0/2.html,转载请声明来源钻瓜专利网。