[发明专利]代码生成方法、装置及存储介质在审
申请号: | 202111134619.8 | 申请日: | 2021-09-27 |
公开(公告)号: | CN115878120A | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 温水石;邵俊 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;贾允 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 生成 方法 装置 存储 介质 | ||
本申请公开了一种代码生成方法、装置及存储介质,可以应用于云技术、人工智能、智慧交通、车联网等各种场景,所述方法包括:对目标伪代码进行解析,得到解析语句;目标伪代码为用于修复目标应用的修复代码;基于解析语句,确定目标待转换语句和非转换语句;基于预设映射信息,确定目标待转换语句对应的目标节点;目标节点为目标语法结构的节点;预设映射信息表征待转换语句与节点的映射关系;基于目标节点与预设节点,构建语法树;基于语法树,生成可执行代码。本申请对伪代码进行转换和翻译,使其变成可执行代码,实现了用更少的代码量去完成相同的功能,提高了编码效率和代码的可读性。
技术领域
本申请涉及计算机技术领域,尤其涉及一种代码生成方法、装置及存储介质。
背景技术
现有技术的热补丁编码,需要记住的函数较多,例如replaceMethod、callObjcInstanceMethod、callObjcClassMethod等众多函数,且需要记住函数中每个参数的含义,容易出现编码错误;且代码数量大,编码效率低下;
因此,有必要提供一种代码生成方法、装置及存储介质,提高可执行代码的生成效率。
发明内容
本申请提供了一种代码生成方法、装置及存储介质,可以提高可执行代码的生成效率。
一方面,本申请提供了一种代码生成方法,所述方法包括:
对目标伪代码进行解析,得到解析语句;所述目标伪代码为用于修复目标应用的修复代码;
基于所述解析语句,确定目标待转换语句和非转换语句;
基于预设映射信息,确定所述目标待转换语句对应的目标节点;所述目标节点为目标语法结构的节点;所述预设映射信息表征待转换语句与节点的映射关系;
基于所述目标节点与预设节点,构建语法树;所述目标节点表征所述目标待转换语句,所述预设节点表征所述非转换语句;所述目标节点用于存储所述目标待转换语句的属性信息;
基于所述语法树,生成可执行代码。
另一方面提供了一种代码生成装置,所述装置包括:
解析语句确定模块,用于对目标伪代码进行解析,得到解析语句;所述目标伪代码为用于修复目标应用的修复代码;
目标待转换语句确定模块,用于基于所述解析语句,确定目标待转换语句和非转换语句;
目标节点确定模块,用于基于预设映射信息,确定所述目标待转换语句对应的目标节点;所述目标节点为目标语法结构的节点;所述预设映射信息表征待转换语句与节点的映射关系;
语法树构建模块,用于基于所述目标节点与预设节点,构建语法树;所述目标节点表征所述目标待转换语句,所述预设节点表征所述非转换语句;所述目标节点用于存储所述目标待转换语句的属性信息;
代码生成模块,用于基于所述语法树,生成可执行代码。
另一方面提供了一种代码生成设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的代码生成方法。
另一方面提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的代码生成方法。
另一方面提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行以实现如上所述的代码生成方法。
本申请提供的代码生成方法、装置及存储介质,具有如下技术效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111134619.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于线性调频兰姆波的裂纹评价方法
- 下一篇:一种用于测试内存信号的测试板