[发明专利]代码生成方法、装置及存储介质在审

专利信息
申请号: 202111134619.8 申请日: 2021-09-27
公开(公告)号: CN115878120A 公开(公告)日: 2023-03-31
发明(设计)人: 温水石;邵俊 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 广州三环专利商标代理有限公司 44202 代理人: 熊永强;贾允
地址: 518057 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 代码 生成 方法 装置 存储 介质
【权利要求书】:

1.一种代码生成方法,其特征在于,所述方法包括:

对目标伪代码进行解析,得到解析语句;所述目标伪代码为用于修复目标应用的修复代码;

基于所述解析语句,确定目标待转换语句和非转换语句;

基于预设映射信息,确定所述目标待转换语句对应的目标节点;所述目标节点为目标语法结构的节点;所述预设映射信息表征待转换语句与节点的映射关系;

基于所述目标节点与预设节点,构建语法树;所述目标节点表征所述目标待转换语句,所述预设节点表征所述非转换语句;所述目标节点用于存储所述目标待转换语句的属性信息;

基于所述语法树,生成可执行代码。

2.根据权利要求1所述的方法,其特征在于,所述对目标伪代码进行解析,得到解析语句,包括:

基于代码解析器对所述目标伪代码进行解析,得到解析语句;

所述代码解析器的生成方法包括:

基于词法分析工具,对预设词法序列进行解析,生成词法分析代码;

基于语法分析工具,对所述待转换语句进行解析,生成语法分析代码;所述待转换语句基于所述预设词法序列生成;

基于编译器对所述词法分析代码以及所述语法分析代码进行编译,生成所述代码解析器。

3.根据权利要求2所述的方法,其特征在于,所述基于语法分析工具,对所述待转换语句进行解析,生成语法分析代码,包括:

确定所述待转换语句的目标语法结构;

基于所述语法分析工具,将所述待转换语句按照所述目标语法结构进行解析,生成所述语法分析代码。

4.根据权利要求1所述的方法,其特征在于,所述基于所述语法树,生成可执行代码之前,所述方法还包括:

构建所述语法树中各节点的方法调用函数,所述方法调用函数用于确定所述语法树中各节点的调用方法;

基于所述语法树中各节点表征的语句以及所述方法调用函数,生成可执行代码。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述可执行代码包括至少两个可执行语句,所述基于所述语法树,生成可执行代码之后,所述方法还包括:

确定所述可执行代码中当前可执行语句以及对应的当前调用方法;

获取所述可执行代码中的方法调用函数;

基于所述方法调用函数,判断第一语言对象中是否存在所述当前调用方法;

若存在,调用所述当前调用方法执行所述可执行代码。

6.根据权利要求5所述的方法,其特征在于,若所述第一语言对象中不存在所述当前调用方法,所述方法还包括:

基于所述方法调用函数,判断第二语言对象中是否存在所述当前调用方法;

若存在,调用所述当前调用方法执行所述可执行代码。

7.根据权利要求6所述的方法,其特征在于,所述当前调用方法包括形参调用方法和实参调用方法,所述调用所述当前调用方法执行所述可执行代码,包括:

基于所述形参调用方法,确定所述当前可执行语句的形参;

基于所述实参调用方法,确定所述当前可执行语句的实参;

基于所述当前可执行语句的形参以及实参,执行所述可执行代码。

8.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:

基于面向对象的点调用语法,构建所述目标伪代码;所述面向对象的点调用语法的结构包括类名、方法和形参。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111134619.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top