一种程序中变量关系提取方法、装置和可读存储介质与流程

文档序号:36476817发布日期:2023-12-24 23:50阅读:29来源:国知局
一种程序中变量关系提取方法与流程

本发明属于计算机,具体涉及一种程序中变量关系提取方法、装置和可读存储介质。


背景技术:

1、在控制系统当中,信息节点和执行节点的信息描述及逻辑关系通常以变量、常量及程序逻辑的形式来执行。程序结构体现了各节点之间的逻辑因果依存关系。数据的逻辑关系在数据处理和分析时,能起到至关重要的作用。进行信息筛选、信息分析和信息预测时,数据量会呈指数级的增长,对应的变量之间的关系依靠人工的方式去解析很明显不切合实际。变量和变量之间的关系具有强相关和弱相关的关联特征。例如影响气温的因素有天气情况,地理位置或者人类活动等。通过判断来筛选出哪一种因素对气温影响最大,将这些特征提取出来,从而找到变量之间强相关的关联特征。程序结构体现了各节点之间的逻辑因果依存关系。数据的逻辑关系在数据处理和分析时,能起到至关重要的作用。

2、通常程序结构繁琐复杂,手工梳理或专家形式的判断往往不能严格准确的覆盖所有变量的依存关系,更不能满足程序迭代的过程。


技术实现思路

1、有鉴于此,本发明的目的在于克服现有技术的不足,提供一种程序中变量关系提取方法、装置和可读存储介质,以解决现有技术中不能严格准确的覆盖所有变量的依存关系,以及不能满足程序迭代的过程的问题。

2、根据本申请实施例的第一方面,提供一种程序中变量关系提取方法,所述方法,包括:

3、对待处理程序进行结构分析,生成语法树;

4、提取所述语法树中的所有节点;

5、利用所述语法树中的所有节点生成依赖关系式;

6、对所述依赖关系式进行依赖排重,并将进行依赖排重后的依赖关系式输出。

7、优选的,所述对待处理程序进行结构分析,生成语法树,包括:

8、利用程序解析方法,确定所述待处理程序中的所有变量以及所述待处理程序中的变量之间的引用关系;

9、利用所述待处理程序中的变量之间的引用关系生成语法树。

10、优选的,所述方法,还包括:

11、利用所述待处理程序中的各个变量生成变量表;

12、利用所述变量表和语法树,生成变量关联图谱。

13、优选的,所述提取所述语法树中的所有节点,包括:

14、提取所述语法树中的所有节点;基于递归函数,利用正序和倒序的方式对每个所述节点下的所有子树进行遍历,并获取每一个节点下的变量及其对应的变量id的映射关系;

15、判断所述语法树中的所有节点是否全部提取,若所述语法树中的所有节点全部提取,则利用所述语法树中的所有节点生成依赖关系式;若所述语法树中的所有节点未全部提取,则对所述节点的子孙节点和相邻节点依次进行提取,当所述节点的子孙节点和相邻节点提取完成后,跳出所述节点,重新对每个所述节点下的所有子树进行遍历,直至所述语法树中的所有节点全部提取。

16、优选的,所述利用所述语法树中的所有节点生成依赖关系式,包括:

17、以所述语法树中的节点为依赖关系式的因变量;

18、基于递归函数,递归获取所述节点的父节点,并以所述节点的父节点为依赖关系式的自变量,生成依赖关系式。

19、优选的,所述对所述依赖关系式进行依赖排重,并将进行依赖排重后的依赖关系式输出,包括:

20、根据每一个节点下的变量及其对应的变量id的映射关系,对所述依赖关系式中重复的节点进行依赖排重,并将进行依赖排重后的依赖关系式输出。

21、根据本申请实施例的第二方面,提供一种程序中变量关系提取系统,所述装置包括:

22、第一生成模块,用于对待处理程序进行结构分析,生成语法树;

23、提取模块,用于提取所述语法树中的所有节点;

24、第二生成模块,用于利用所述语法树中的所有节点生成依赖关系式;

25、优化模块,用于对所述依赖关系式进行依赖排重,并将进行依赖排重后的依赖关系式输出。

26、根据本申请实施例的第三方面,提供一种可读存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现上述的程序中变量关系提取方法中的步骤。

27、本发明采用以上技术方案,能够达到的有益效果包括:通过对待处理程序进行结构分析,生成语法树,提取语法树中的所有节点,利用语法树中的所有节点生成依赖关系式,对依赖关系式进行依赖排重,并将进行依赖排重后的依赖关系式输出,不仅能严格准确的覆盖所有变量的依存关系,还可以满足程度迭代的过程,提高了生成变量之间依赖关系的可靠性和准确性。



技术特征:

1.一种程序中变量关系提取方法,其特征在于,所述方法,包括:

2.根据权利要求1所述的方法,其特征在于,所述对待处理程序进行结构分析,生成语法树,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:

4.根据权利要求1所述的方法,其特征在于,所述提取所述语法树中的所有节点,包括:

5.根据权利要求1所述的方法,其特征在于,所述利用所述语法树中的所有节点生成依赖关系式,包括:

6.根据权利要求1所述的方法,其特征在于,所述对所述依赖关系式进行依赖排重,并将进行依赖排重后的依赖关系式输出,包括:

7.一种程序中变量关系提取系统,其特征在于,所述装置包括:

8.一种可读存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现权利要求1-6中任一项所述的程序中变量关系提取方法中的步骤。


技术总结
本发明属于计算机技术领域,具体涉及一种程序中变量关系提取方法、装置和可读存储介质,该方法包括:对待处理程序进行结构分析,生成语法树;提取语法树中的所有节点;利用语法树中的所有节点生成依赖关系式;对依赖关系式进行依赖排重,并将进行依赖排重后的依赖关系式输出。本申请提供的技术方案,不仅能严格准确的覆盖所有变量的依存关系,还可以满足程度迭代的过程,提高了生成变量之间依赖关系的可靠性和准确性。

技术研发人员:李洪亮,刘文博
受保护的技术使用者:北京万旺科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1