[发明专利]用于生成代码结构图的方法和装置在审

专利信息
申请号: 202110400526.9 申请日: 2021-04-14
公开(公告)号: CN113110874A 公开(公告)日: 2021-07-13
发明(设计)人: 王帅;董英姿;王浩;胡景贺;颜伟鹏;冯夷夷 申请(专利权)人: 北京沃东天骏信息技术有限公司
主分类号: G06F8/75 分类号: G06F8/75;G06F8/41;G06F8/30
代理公司: 北京英赛嘉华知识产权代理有限责任公司 11204 代理人: 王达佐;马晓亚
地址: 100176 北京市大兴区经济技*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 生成 代码 结构图 方法 装置
【说明书】:

本公开的实施例公开了用于生成代码结构图的方法和装置。该方法的具体实施方式包括:通过词法解释器将源代码分割成至少一个词法单元,得到词法单元流;通过语法解释器扫描词法单元流,得到产生式;通过识别函数对产生式进行解析,识别出代码中的类、方法定义和方法调用,生成抽象语法树;通过代码转换器将抽象语法树的节点信息转换成描述图形语言的图形代码;通过图像生成器基于图形代码生成代码结构图。该实施方式既能保证生成的语法树节点完整性,同时又能够保证导出的代码结构准确性。

技术领域

本公开的实施例涉及计算机技术领域,具体涉及用于生成代码结构图的方法和装置。

背景技术

在日常开发过程中经常需要阅读学习其他人的代码,面对动辄数千行的代码文件,往往需要花很长时间才能理清代码结构。如果我们能自动生成源码中的代码结构图,对理解代码的逻辑肯定会有帮助。

如果只分析一个工程中的单个代码文件时,由于引入其他类的定义无法得知,导致生成的语法树节点缺失,对最终的结果会有不少影响,这个问题导致基本无法用在实际工程中,只能用来分析一些比较独立的开源代码。

发明内容

本公开的实施例提出了用于生成代码结构图的方法和装置。

第一方面,本公开的实施例提供了一种用于生成代码结构图的方法,包括:通过词法解释器将源代码分割成至少一个词法单元,得到词法单元流;通过语法解释器扫描所述词法单元流,得到产生式;通过识别函数对所述产生式进行解析,识别出所述源代码中的类、方法定义和方法调用,生成抽象语法树;通过代码转换器将所述抽象语法树的节点信息转换成描述图形语言的图形代码;通过图像生成器基于所述图形代码生成代码结构图。

在一些实施例中,该方法还包括:根据预设的匹配函数从所述抽象语法树中查找目标节点;输出所述目标节点的节点信息。

在一些实施例中,该方法还包括:将目标节点绑定到指定名称上。

在一些实施例中,该方法还包括:将所述目标节点的节点信息转换成描述图形语言的目标图形代码;基于所述目标图形代码生成目标节点的代码结构图。

在一些实施例中,所述词法解释器包括标记结构体和标记枚举类型。

在一些实施例中,所述匹配函数具备以下至少一种功能:匹配特定类型节点,用于缩小匹配范围,以当前匹配的节点作为起点用来限定匹配表达式查找范围。

在一些实施例中,所述方法还包括:基于所述词法解释器、所述语法解释器、所述识别函数、所述源代码转换器和所述图像生成器生成插件;将所述插件动态加载到编译器中。

第二方面,本公开的实施例提供了一种用于生成代码结构图的装置,包括:词法分析单元,被配置成通过词法解释器将源代码分割成至少一个词法单元,得到词法单元流;语法分析单元,被配置成通过语法解释器扫描所述词法单元流,得到产生式;解析单元,被配置成通过识别函数对所述产生式进行解析,识别出所述源代码中的类、方法定义和方法调用,生成抽象语法树;转换单元,被配置成通过代码转换器将所述抽象语法树的节点信息转换成描述图形语言的图形代码;生成单元,被配置成通过图像生成器基于所述图形代码生成代码结构图。

在一些实施例中,该装置还包括匹配单元,被配置成:根据预设的匹配函数从所述抽象语法树中查找目标节点;输出所述目标节点的节点信息。

在一些实施例中,匹配单元进一步被配置成:将目标节点绑定到指定名称上。

在一些实施例中,转换单元进一步被配置成:将所述目标节点的节点信息转换成描述图形语言的目标图形代码;生成单元进一步被配置成:基于所述目标图形代码生成目标节点的代码结构图。

在一些实施例中,所述词法解释器包括标记结构体和标记枚举类型。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司,未经北京沃东天骏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110400526.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top