-
公开(公告)号:CN114489669A
公开(公告)日:2022-05-13
申请号:CN202210034177.8
申请日:2022-01-12
Applicant: 南京大学
IPC: G06F8/41
Abstract: 本发明的主要工作是提出一种基于图学习的Python语言代码片段生成方法,主要包括代码片段语法分析模块、数据流分析模块、代码片段编码神经网络模块、自然语言编码神经网络模块以及语法导向解码模块,其中,代码片段语法分析模块用于将Python语言代码片段转换为结构化中间表示,通过词法、语法分析得到代码片段的抽象语法树;数据流分析模块用于对Python语言代码片段进行数据流依赖分析,得到代码片段实体间的数据流依赖关系,作为边加入抽象语法树结构从而构成程序图;代码片段编码神经网络模块用于将代码片段对应的程序图编码为向量中间表示,通过数值向量描述代码片段程序图的特征;自然语言编码神经网络模块用于将代码片段对应的自然语言功能描述编码为向量中间表示,通过数值向量描述自然语言的特征;语法导向解码模块用于融合自然语言与代码片段程序图两方面的中间表示,通过多层分类神经网络逐个生成代码片段语法单元,得到完整的代码片段生成结果。