预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115016793A(43)申请公布日2022.09.06(21)申请号202210441404.9(22)申请日2022.04.25(71)申请人中国平安人寿保险股份有限公司地址518000广东省深圳市福田区福田街道益田路5033号平安金融中心14、15、16、37、41、44、45、46、54、58、59层(72)发明人钟加武黄聪(74)专利代理机构广州嘉权专利商标事务所有限公司44205专利代理师尹长斌(51)Int.Cl.G06F8/41(2018.01)G06F8/51(2018.01)权利要求书2页说明书13页附图7页(54)发明名称基于语法树的代码生成方法和装置、电子设备、存储介质(57)摘要本申请实施例提供了基于语法树的代码生成方法和装置、电子设备、存储介质,属于计算机领域。该基于语法树的代码生成方法包括:获取待转换的源代码包;通过语法解析器对源代码包进行语法解析处理,得到解析内容;根据解析内容构建目标语法树;遍历目标语法树,获取每一子节点处的子代码信息和每一父节点处的上下文信息;根据子代码信息和上下文信息进行拼接处理,得到中间代码;根据获取到的代码转换指令,调用目标语言生成器;将中间代码输入至目标语言生成器进行语言转换处理,在根节点处输出目标代码。本实施例可以自动对数据库源代码包进行语言转换,且提高转换的准确率和效率。CN115016793ACN115016793A权利要求书1/2页1.基于语法树的代码生成方法,其特征在于,包括:获取待转换的源代码包;通过语法解析器对所述源代码包进行语法解析处理,得到解析内容;根据所述解析内容构建目标语法树;其中,所述目标语法树包括根节点、至少一个父节点、至少一个子节点,所述根节点连接所述至少一个父节点,每一所述父节点连接至少一个所述子节点、且每一所述子节点连接其中一个所述父节点;遍历所述目标语法树,获取每一所述子节点处的子代码信息和每一所述父节点处的上下文信息;根据所述子代码信息和所述上下文信息进行拼接处理,得到中间代码;根据获取到的代码转换指令,调用目标语言生成器;将所述中间代码输入至所述目标语言生成器进行语言转换处理,通过所述根节点输出目标代码。2.根据权利要求1所述的基于语法树的代码生成方法,其特征在于,所述语法解析器包括第一分析器和第二分析器,所述通过语法解析器对所述源代码包进行语法解析处理,得到解析内容,包括:获取所述第一分析器和所述第二分析器;将所述源代码包输入至所述第一分析器中,通过所述第一分析器对所述源代码包进行词法解析,得到第一识别信息;将所述源代码包输入至所述第二分析器中,通过所述第二分析器对所述源代码包进行语法解析,得到第二识别信息;对所述第一识别信息和所述第二识别信息进行拼接处理,得到所述解析内容。3.根据权利要求1所述的基于语法树的代码生成方法,其特征在于,所述根据所述子代码信息和所述上下文信息进行拼接处理,得到中间代码,包括:从所述子节点获取第一目标节点;其中,所述第一目标节点为当前遍历的子节点;根据所述第一目标节点筛选所述子代码信息,得到候选代码片段;根据所述目标语法树和所述第一目标节点筛选所述上下文信息,得到候选上下文片段;根据所述候选上下文片段对所述候选代码片段进行拼接处理,得到所述中间代码。4.根据权利要求3所述的基于语法树的代码生成方法,其特征在于,所述根据所述目标语法树和所述第一目标节点筛选所述上下文信息,得到候选上下文片段,包括:从所述目标语法树获取与所述第一目标节点连接的父节点,得到第二目标节点;根据所述第二目标节点对所述上下文信息进行筛选处理,得到所述候选上下文片段。5.根据权利要求4所述的基于语法树的代码生成方法,其特征在于,所述根据所述候选上下文片段对所述候选代码片段进行拼接处理,得到所述中间代码,包括:获取预设的令牌信息;根据所述令牌信息从所述第二目标节点提取所述第一目标节点的所述候选代码片段;根据所述候选上下文片段,对所述第一目标节点的拼接逻辑进行识别,得到目标拼接规则;根据所述目标拼接规则对所述候选代码片段进行拼接处理,得到所述中间代码。2CN115016793A权利要求书2/2页6.根据权利要求1至5任一项所述的基于语法树的代码生成方法,其特征在于,所述根据获取到的代码转换指令,调用目标语言生成器,包括:获取代码转换指令;解析所述代码转换指令,得到所述代码转换指令对应的目标转换信息;对所述目标转换信息与预设的生成器目录信息进行匹配处理,得到目标接口文件;根据所述目标接口文件对获取到的候选语言生成器进行筛选处理,得到所述目标语言生成器,并调用所述目标语言生成器。7.根据权利要求6所述的基于语法树的代码生成方法,其特征在于,所述方法还包括:更新所述候选语言生