[发明专利]代码语言转换方法、装置、电子设备及存储介质在审
申请号: | 202110451006.0 | 申请日: | 2021-04-25 |
公开(公告)号: | CN113138767A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 何子南;王凯;邢培康;李炯 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/51 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周天宇 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 语言 转换 方法 装置 电子设备 存储 介质 | ||
1.一种代码语言转换方法,包括:
获取第一代码语言的第一源代码文本;
确定所述第一源代码文本包含的至少一种类型的语言对象;
将每种所述语言对象解析成对应的序列化对象;
基于第二代码语言的语法规则,将所有所述序列化对象编译为第二代码语言。
2.根据权利要求1所述的方法,其中,所述将每种所述语言对象解析成对应的序列化对象,包括:
解析每种所述语言对象,得到每种所述语言对象包含的数据结构;
将所有所述数据结构分别转化为对应的序列化对象。
3.根据权利要求1所述的方法,其中,所述确定所述第一源代码文本包含的至少一种类型的语言对象,包括:
依次确定所述第一源代码文本中每条代码语言的语言类型;
统计同一语言类型的代码语言,得到至少一种类型的语言对象。
4.根据权利要求3所述的方法,其中,所述确定所述第一源代码文本包含的至少一种类型的语言对象,还包括:
当无法确定所述第一源代码文本中代码语言的语言类型时,将所述代码语言标记为特定语言类型;
统计所述特定语言类型的代码语言,得到特定语言对象。
5.根据权利要求1所述的方法,其中,所述语言对象为SQL对象,所述基于第二代码语言的语法规则,将所有所述序列化对象编译为第二代码语言,包括:
判断所述SQL对象对应的序列化对象是否包含游标;
若所述SQL对象对应的序列化对象不包含游标,则按照所述第二代码语言的SQL规则,将所述序列化对象编译为第二代码语言;
若所述SQL对象对应的序列化对象包含游标,则使用List对象将所述序列化对象编译为第二代码语言,所述List对象用于模拟游标动作。
6.根据权利要求1或2所述的方法,其中,所述语言对象为Record对象,所述将每种所述语言对象解析成对应的序列化对象,包括:
通过Record解析器和Dataitem解析器解析所述Record对象,得到Record序列化对象,所述Record序列化对象包含数据结构和字段信息。
7.根据权利要求1或2所述的方法,其中,所述语言对象为Program对象,所述将每种所述语言对象解析成对应的序列化对象,包括:
通过Program解析器解析所述Program对象,得到Program序列化对象,所述Program序列化对象包含程序属性、入口函数定义和数据结构。
8.根据权利要求1或2所述的方法,其中,所述语言对象为Function对象,所述将每种所述语言对象解析成对应的序列化对象,包括:
通过Function解析器解析所述Function对象,得到Function序列化对象,所述Function序列化对象包含的语法树结构。
9.一种代码语言转换装置,包括:
获取模块,用于获取第一代码语言的第一源代码文本;
确定模块,用于确定所述第一源代码文本包含的至少一种类型的语言对象;
解析模块,用于将每种所述语言对象解析成对应的序列化对象;以及
编译模块,用于基于第二代码语言的语法规则,将所有所述序列化对象编译为第二代码语言。
10.根据权利要求9所述的装置,其中,所述解析模块包括:
第一解析单元,用于解析每种所述语言对象,得到每种所述语言对象包含的数据结构;
转化单元,用于将所有所述数据结构分别转化为对应的序列化对象。
11.根据权利要求9所述的装置,其中,所述确定模块包括:
确定单元,用于依次确定所述第一源代码文本中每条代码语言的语言类型;
第一统计单元,用于统计同一语言类型的代码语言,得到至少一种类型的语言对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110451006.0/1.html,转载请声明来源钻瓜专利网。