[发明专利]程序要素提取方法及装置有效
申请号: | 202011330861.8 | 申请日: | 2020-11-24 |
公开(公告)号: | CN112306499B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 张浩;黄贵敏;戴明海;林德坤 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/51;G06F9/445 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 要素 提取 方法 装置 | ||
1.一种程序要素提取方法,其特征在于,包括:
根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素;其中,所述语法树的各个节点分别用于表示对应的源程序中各个程序要素,各个所述程序要素分别对应预存储的程序要素信息;
输出所述目标要素提取信息对应的全部的所述程序要素的程序要素信息。
2.根据权利要求1所述的程序要素提取方法,其特征在于,在所述根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素之前,还包括:
应用预设的语法树生成程序对源码库进行扫描,并基于预设的代码语法生成所述源码库中的各个所述源程序各自对应的可扩展程序要素的语法树,且所述语法树的各个节点分别用于表示对应的源程序中各个程序要素;
存储各个所述程序要素分别对应的用于表示程序要素信息的程序要素表,其中,所述程序要素信息包括程序要素的标识和对应的属性信息;且该属性信息包括程序要素的类型、所属源程序标识和对应在语法树中的节点标识。
3.根据权利要求2所述的程序要素提取方法,其特征在于,所述根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素,包括:
接收程序要素提取请求,其中,该程序要素提取请求中包含有目标要素提取信息,且该目标要素提取信息中包括程序要素的目标属性信息;
基于所述目标属性信息获取对应的目标插件,并将所述目标插件加入预设的语法树遍历程序中以形成对应的目标遍历程序;
应用所述目标遍历程序遍历各个所述源程序各自对应的语法树,以查找到与所述目标属性信息对应的全部的程序要素的程序要素信息和/或程序要素之间的关系数据。
4.根据权利要求2所述的程序要素提取方法,其特征在于,所述输出所述目标要素提取信息对应的全部的所述程序要素的程序要素信息,包括:
生成包含有与所述目标属性信息对应的全部的程序要素的程序要素清单和/或程序要素之间的关系数据,其中,所述程序要素清单用于存储与所述目标属性信息对应的全部的程序要素的标识和对应的属性信息。
5.根据权利要求3所述的程序要素提取方法,其特征在于,所述基于所述目标属性信息获取对应的目标插件,并将所述目标插件加入预设的语法树遍历程序中以形成对应的目标遍历程序,包括:
根据所述目标属性信息在预存储的插件中查找是否包含有满足所述目标属性信息的提取需求的目标插件,若是,则在所述目标属性信息对应的参数表中配置所述目标插件,并将配置有所述目标插件的所述参数表加入所述语法树遍历程序中以形成对应的目标遍历程序;
相对应的,所述应用所述目标遍历程序遍历各个所述源程序各自对应的语法树,以查找到与所述目标属性信息对应的全部的程序要素的程序要素信息和/或程序要素之间的关系数据,包括:
运行所述目标遍历程序遍历各个所述源程序各自对应的语法树,基于配置有所述目标插件的所述参数表运行所述目标插件查找到与所述目标属性信息对应的全部的程序要素的程序要素信息和/或程序要素之间的关系数据。
6.根据权利要求5所述的程序要素提取方法,其特征在于,所述基于所述目标属性信息获取对应的目标插件,并将所述目标插件加入预设的语法树遍历程序中以形成对应的目标遍历程序,还包括:
若经判断获知所述目标属性信息在预存储的插件中未包含有满足所述目标属性信息的提取需求的目标插件,则接收满足所述目标属性信息的提取需求的目标插件;
在所述目标属性信息对应的参数表中配置所述目标插件,并将配置有所述目标插件的所述参数表加入所述语法树遍历程序中以形成对应的目标遍历程序。
7.一种程序要素提取装置,其特征在于,包括:
程序要素提取模块,用于根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素;其中,所述语法树的各个节点分别用于表示对应的源程序中各个程序要素,各个所述程序要素分别对应预存储的程序要素信息;
信息输出模块,用于输出所述目标要素提取信息对应的全部的所述程序要素的程序要素信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011330861.8/1.html,转载请声明来源钻瓜专利网。