[发明专利]源码信息检索方法、装置、电子设备、存储介质及产品在审
申请号: | 202210577393.7 | 申请日: | 2022-05-25 |
公开(公告)号: | CN114880357A | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 李俊蓉;高飞 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/901;G06F8/38;G06F8/41 |
代理公司: | 北京市通商律师事务所 11951 | 代理人: | 姜莹丽 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源码 信息 检索 方法 装置 电子设备 存储 介质 产品 | ||
1.一种源码信息检索方法,所述方法包括:
获取源码文件所有的源码信息,所述源码信息对应的抽象语法以抽象语法树的结构表示,所述源码信息对应的基础元素以基础元素树的结构表示;
基于所述抽象语法树的特征构建表达式缓存池,并基于基础元素树的特征构建基础元素缓存池;
响应于检索指令,在所述表达式缓存池和所述基础元素缓存池中,检索所述源码文件的源码信息。
2.根据权利要求1所述的方法,其中,所述获取源码文件所有的源码信息,包括:
获取源码文件,并对所述源码文件进行词语和语义分析,得到用于表示所述源码文件抽象语法的抽象语法树和用于表示所述源码文件基础元素的基础元素树。
3.根据权利要求1或2所述的方法,其中,所述基于所述抽象语法树的特征构建表达式缓存池,包括:
获取所述抽象语法树的第一节点,并遍历所述第一节点,确定所述第一节点的节点表达式;并
确定所述节点表达式中指定字符的第一偏移量,将所述第一偏移量作为存储节点表达式的第一密钥;
基于所述第一密钥,缓存所述节点表达式的字符信息,构建表达式缓存池。
4.根据权利要求3所述的方法,其中,所述确定所述节点表达式中指定字符的第一偏移量,包括:
响应于所述节点表达式为单一节点表达式,基于所述单一节点表达式中指定字符的偏移量,确定所述节点表达式的第一偏移量;
或
响应于所述节点表达式为组合表达式,获取所述组合表达式中每个表达式中指定字符的偏移量,基于每个所述偏移量之间的逻辑关系,确定所述节点表达式的第一偏移量。
5.根据权利要求3所述的方法,其中,所述基于所述第一密钥,缓存所述节点表达式的字符信息,包括:
基于所述表达式缓存池的第一密钥,遍历所述抽象语法树的第一节点,采集所述节点表达式的字符信息,并缓存所述节点表达式的字符信息。
6.根据权利要求1或2所述的方法,其中,所述基于基础元素树的特征构建基础元素缓存池,包括:
获取所述基础元素树的第二节点,并遍历所述第二节点,确定所述第二节点对应的基础元素;
将所述基础元素中指定字符的第二偏移量,作为存储基础元素信息的第二密钥;
基于所述第二密钥,缓存所述基础元素的字符信息,构建基础元素缓存池。
7.根据权利要求6所述的方法,其中,所述基于所述第二密钥,缓存所述基础元素的字符信息,包括:
基于所述基础元素缓存池的第二密钥,遍历所述基础元素树的第二节点,采集所述源码文件的基础元素的字符信息,并缓存所述基础元素的字符信息。
8.根据权利要求1所述的方法,其中,所述响应于检索指令,在所述表达式缓存池和所述基础元素缓存池中,检索所述源码文件的源码信息,包括:
基于所述抽象语法树的第一节点和/或所述基础元素树的第二节点,按照所述检索指令中的目标源码信息,构建多个检索路径;
基于所述多个检索路径中的至少一个检索路径,在所述表达式缓存池和所述基础元素缓存池中,检索所需的所述源码文件的字符信息。
9.根据权利要求8所述的方法,其中,所述方法还包括:
响应于所述检索路径为基于所述第一节点检索所述字符信息,且所述第一节点对应的节点表达式为指定类型的节点表达式,解析所述节点表达式,获取所述第一节点的字符信息;
基于所述第一节点的字符信息,以及所述基础元素缓存池的基础元素的字符信息,检索所需的所述源码文件的字符信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210577393.7/1.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置