[发明专利]代码存储方法及代码存储装置有效
申请号: | 201710282808.7 | 申请日: | 2017-04-26 |
公开(公告)号: | CN106970820B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 陈洋 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 存储 方法 装置 | ||
1.一种代码存储方法,其特征在于,包括:
获取文件代码,并对所述文件代码进行语法解析,以获取所述文件代码的抽象语法树;
获取所述抽象语法树的每个节点的动态函数信息以及动态函数的至少一个调用函数信息;其中所述动态函数信息包括包名信息、编译单元信息、类名信息、动态函数名信息以及动态函数参数类型信息;所述调用函数信息包括调用函数名信息、调用函数参数类型信息以及调用函数的子函数信息;
使用第一预设规则将所述动态函数信息转化为动态函数标识码,并使用第二预设规则将所述调用函数信息转化为调用函数标识码;
将所述动态函数标识码、动态函数信息以及对应的至少一个调用函数标识码封装为节点标识信息;
对所述文件代码以及对应的抽象语法树的节点标识信息进行存储操作;
接收节点解析指令,并根据所述节点解析指令获取所述文件代码的抽象语法树的对应节点的节点标识信息;
使用所述第一预设规则,获取所述节点标识信息对应的动态函数信息;使用所述第二预设规则,获取所述节点标识信息对应的调用函数信息;以及
使用所述动态函数信息和所述调用函数信息,对所述节点对应的动态函数进行展示,以便对所述动态函数进行解析操作;
其中所述调用函数信息的调用函数名信息和调用函数参数类型信息用于表示所述动态函数与所述调用函数的调用关系,所述调用函数信息的调用函数的子函数信息用于表示所述调用函数和所述调用函数的子函数的继承关系。
2.根据权利要求1所述的代码存储方法,其特征在于,所述对所述文件代码进行语法解析,以获取所述文件代码的抽象语法树的步骤包括:
对所述文件代码进行扫描,生成所述文件代码的单词符号串;
根据预设语法规则,将所述文件代码的单词符号串组成所述文件代码的语法单位;以及
基于所述文件代码的语法单元,生成所述文件代码的抽象语法树。
3.根据权利要求1所述的代码存储方法,其特征在于,所述使用第一预设规则将所述动态函数信息转化为动态函数标识码的步骤包括:
使用第一非可逆加密算法,将所述动态函数信息转化为具有唯一性的动态函数标识码;
所述使用第二预设规则将所述调用函数信息转化为调用函数标识码的步骤包括:
使用第二非可逆加密算法,将所述调用函数信息转化为具有唯一性的调用函数标识码。
4.根据权利要求3所述的代码存储方法,其特征在于,所述使用第二非可逆加密算法,将所述调用函数信息转化为具有唯一性的调用函数标识码的步骤包括:
通过编译工具JDT.ASTParser,获取所述调用函数信息的详细信息;以及
使用第二非可逆加密算法,将所述调用函数信息的详细信息转化为具有唯一性的调用函数标识码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710282808.7/1.html,转载请声明来源钻瓜专利网。