CN110058849A - 流程图的生成方法、装置、计算机设备以及存储介质 - Google Patents
流程图的生成方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN110058849A CN110058849A CN201910191176.2A CN201910191176A CN110058849A CN 110058849 A CN110058849 A CN 110058849A CN 201910191176 A CN201910191176 A CN 201910191176A CN 110058849 A CN110058849 A CN 110058849A
- Authority
- CN
- China
- Prior art keywords
- flow chart
- file
- analytics engine
- keyword
- entry file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了流程图的生成方法、装置、设备以及存储介质,该方法包括:获取目标项目的入口文件;基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件;根据所述目标文件生成所述目标文件的节点结构;以及基于所述节点结构,利用预设流程图工具生成项目流程图。通过实施本方案可以自动生成开发项目的流程图,利用所生成的流程图开发人员可以快速了解该项目的开发流程以及开发逻辑,有利于辅助开发,可以有效提高开发效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种流程图的生成方法、装置、计算机设备以及存储介质。
背景技术
目前,在软件开发项目的前期开发过程中,开发文档可能比较完善,可能一些代码也会比较清晰,但如果项目长期迭代开发,开发文档没能及时更新,这时即便开发文档比较完善,但很可能出现代码逻辑跟不上而导致开发文档很混乱、很复杂的情况,经验丰富的开发人员可能凭借经验能快速理解代码这么写的逻辑缘由,但经验比较少的开发者或者刚入职的开发人员很可能需要一定时间去了解项目的整体开发逻辑,才能参与到后期的开发中,进而大大影响了开发人员的开发效率,提高了开发成本,无形中增加了经验丰富的开发者与经验比较少或刚入职开发人员的对接项目的难度。
发明内容
本发明实施例提供了一种流程图的生成方法、装置、计算机设备以及存储介质,便于生成项目的流程图,从而提高该项目的开发效率。
第一方面,本发明实施例提供了一种流程图的生成方法,其包括:获取目标项目的入口文件;基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件;根据所述目标文件生成所述目标文件的节点结构;以及基于所述节点结构,利用预设流程图工具生成项目流程图。
第二方面,本发明实施例还提供了一种流程图的生成装置,其包括用于执行上述第一方面的方法的单元。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述第一方面的方法。
本发明实施例提供了一种流程图的生成方法、装置、计算机设备以及存储介质。本方案通过利用预设解析引擎解析项目的入口文件,进而得到该项目的目标文件,进而根据所述目标文件生成该项目的节点结构,利用节点结构以及生成流程图工具自动生成流程图,可以为开发人员提供该项目的流程图,开发人员可以根据所提供的该项目的流程图进行开发工程,可以有效提高刚入职的开发人员或者开发经验不足的人员加入到该项目后的实际开发效率,降低新老开发人员对接项目的难度,有效降低项目的开发成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流程图的生成方法的流程示意图;
图2为本发明实施例提供的一种流程图的生成方法的子流程示意图;
图3为本发明实施例提供的一种流程图的生成装置的示意性框图;
图4为本发明实施例提供的一种流程图的生成装置的解析单元的示意性框图;以及
图5为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,其为本发明实施例提供的一种流程图的生成方法的示意性流程图。该流程图的生成方法可以运行在终端或者服务器中,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑和个人数字助理等电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。如图1所示,该方法可包括步骤S101至S104。
S101、获取目标项目的入口文件。
其中,该项目入口文件为预先设置的入口文件,所述入口文件为项目被访问请求时第一个被访问到的文件。在一实施例中,先获取预先设置的入口文件的地址,再根据所述地址查找获取所述项目入口文件。具体地,在一实施例中,所述项目入口文件相当于整个项目的框架文件,所有的指令功能都是从所获取的入口文件分发出去,再找到框架内相对应的模块进行处理,也用于处理相应的初始化工作,因此,所述项目入口文件可以根据不同的请求去调用框架内不同的模块,还可以通过所述项目入口文件设定某些参数,方便项目后期的开发和维护。在一实施例中,例如本实施例中,该项目入口文件为Java script文件,即所述项目入口文件为Java script入口文件,以Java script入口文件为项目的入口解析点。其中,Java script是一种属于网络的解释性脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常Javascript脚本是通过嵌入在HTML(超文本标记语言,Hyper Text Markup Language)中来实现自身功能,其具备跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行,该多种平台可例如为Windows、Linux、Mac、Android、IOS等平台。
S102、基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件。
其中,在一实施例中,例如在本实施例中,所述预设关键词包括页面跳转关键词;所述预设解析引擎包括Babel解析引擎;所述入口文件包括Java Script入口文件;所述目标文件包括抽象语法树(Abstract Syntax Tree,AST)。
具体地,所述基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件的步骤包括:基于所述页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树。
具体地,所述页面跳转关键词可例如为location.href关键词以及forward关键词。所述Babel解析引擎的输入参数为所述Java Script入口文件以及Java Script入口文件的页面跳转关键词,其输出结果为所述Java Script入口文件的抽象语法树,即所生成的目标文件为抽象语法树;其中,Babel解析引擎为用于编写最新版本Java script程序语言的编译器,可以通过语法转换器支持最新版本的Java script。所述抽象语法树是编程语言的源代码的抽象语法结构的树状表现形式。
在本实施例中,所述基于页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树包括抽象语法树生成方法。该抽象语法树生成方法,如图2所示,即步骤S102包括子步骤S102a至S102c。其中,S102a、利用Babel解析引擎对所述JavaScript入口文件进行分词处理以得到多个语法单元;S102b、所述Babel解析引擎利用所述页面跳转关键词确定所述多个语法单元之间的关系;S102c、根据所确定的多个语法单元之间的关系生成抽象语法树。
具体地,所述语法单元为被解析语法当中具备实际意义的最小单元。例如,可以将入口文件Java script语言中空格符、换行符、缩进等没有任何实际的意义组合在一起作为一个语法单元;可以将Java script语言中的注释作为一个不可拆分的语法单元;还可以将Java script语言中的字符串作为一个语法单元;也可以将Java script语言中的标识符,即没有被引号括起来的连续字符,例如字母_,$及数字或true,false等内置常量以及if,return,function等关键字作为一个语法单元。根据分词处理后的入口文件可以得到多个语法单元,进而可以利用页面跳转关键词确定多个语法单元之间的关系,例如确定该上一个语法单元与下一个语法单元之间是属于先后步骤关系还是属于判断是否关系又或者是属于从属关系等,进而可以根据所确定的多个语法单元之间的关系生成AST树。
S103、根据所述目标文件生成所述目标文件的节点结构。
其中,利用上述步骤S102解析所述Java script入口文件可以得到目标文件,再利用所述目标文件生成所述目标文件的节点结构,具体地,在一实施例中,所述预设解析引擎可例如为Babel解析引擎,所解析生成的目标文件为抽象语法树。具体地,利用所述抽象语法树生成所述抽象语法树的节点结构,所述节点结构为多层级节点结构,所述多层级节点结构由多层级节点数据组成,例如,在抽象语法树中A树枝指向B树枝,B树枝指向C树枝,则相应生成从A节点数据指向B节点数据,从B节点数据指向C节点数据的多层级节点结构,该A节点数据、B节点数据以及C节点数据为多层级结构的节点数据。
S104、基于所述节点结构,利用预设流程图工具生成项目流程图。
其中,利用上述步骤S103可以生成目标文件的节点结构,利用所述节点结构以及预设流程图工具可以生成所述项目的流程图。具体地,利用所述预设流程图工具,根据节点结构的相应节点数据自动在前端页面生成一流程图,例如,将所述A节点数据生成相应的一流程单元A,将B节点数据生成相应的一流程单元B,将C节点数据生成相应的一流程单元C,进而自动生成从流程单元A指向流程单元B,从流程单元B指向流程单元C的一流程图。其中,所述预设流程图工具可例如为Visustin、Auto Flowchart、CasePlay2等工具,利用上述工具可自动生成相应的流程图。
在上述实施例中,本方案通过获取项目的Java script入口文件,利用Babel解析引擎解析Java script入口文件,进而得到该项目的抽象语法树,再根据该项目的抽象语法树生成所述抽象语法树的节点结构;基于所述节点结构,利用预设流程图工具生成该项目的流程图,进而开发人员可以通过观看该项目入口文件所对应的流程图来快速了解整个项目的开发情况以及整个项目的逻辑框架。实施本发明实施例可以便于开发人员随时随地了解项目整体情况,能够有效克服现有技术中因项目长期迭代开发而导致代码混乱、复杂的问题,以及因代码混乱、复杂而导致开发效率较低的问题,可以为开发人员提供项目的完整逻辑流程图,提高新开发者或开发经验不足的人员加入项目后的实际开发效率,降低新老开发人员对接项目的难度,有效降低开发成本。
请参阅图3,其为本发明实施例提供的一种流程图的生成装置100的示意性框图。如图3所示,该流程图的生成装置100对应于图1所示的流程图的生成方法。该流程图的生成装置100包括用于执行上述流程图的生成方法的单元,该流程图的生成装置100可以被配置于终端或者服务器中,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑和个人数字助理等电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。具体地,请参阅图3,该流程图的生成装置100包括文件获取单元101、解析单元102、节点生成单元103以及流程图生成单元104。
所述文件获取单元101用于获取目标项目的入口文件。
其中,该项目入口文件为预先设置的入口文件,所述入口文件为项目被访问请求时第一个被访问到的文件。在一实施例中,先获取预先设置的入口文件的地址,再根据所述地址查找获取所述项目入口文件。具体地,在一实施例中,所述项目入口文件相当于整个项目的框架文件,所有的指令功能都是从所获取的入口文件分发出去,再找到框架内相对应的模块进行处理,也用于处理相应的初始化工作,因此,所述项目入口文件可以根据不同的请求去调用框架内不同的模块,还可以通过所述项目入口文件设定某些参数,方便项目后期的开发和维护。在一实施例中,例如本实施例中,该项目入口文件为Java script文件,即所述项目入口文件为Java script入口文件,以Java script入口文件为项目的入口解析点。其中,Java script是一种属于网络的解释性脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常Javascript脚本是通过嵌入在HTML(超文本标记语言,Hyper Text Markup Language)中来实现自身功能,其具备跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行,该多种平台可例如为Windows、Linux、Mac、Android、IOS等平台。
所述解析单元102用于基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件。
其中,在一实施例中,例如在本实施例中,所述预设关键词包括页面跳转关键词;所述预设解析引擎包括Babel解析引擎;所述入口文件包括Java Script入口文件;所述目标文件包括抽象语法树(Abstract Syntax Tree,AST)。
具体地,所述解析单元102用于基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件,包括用于基于所述页面跳转关键词,利用Babel解析引擎解析JavaScript入口文件以生成抽象语法树。
具体地,所述页面跳转关键词可例如为location.href关键词以及forward关键词。所述Babel解析引擎的输入参数为所述Java Script入口文件以及Java Script入口文件的页面跳转关键词,其输出结果为所述Java Script入口文件的抽象语法树,即所生成的目标文件为抽象语法树;其中,Babel解析引擎为用于编写最新版本Java script程序语言的编译器,可以通过语法转换器支持最新版本的Java script。所述抽象语法树是编程语言的源代码的抽象语法结构的树状表现形式。
在一实施例中,解析单元102包括:分词处理单元102a、确定单元102b和AST树生成单元102c。其中分词处理单元102a,用于利用所述Babel解析引擎对所述Java Script入口文件进行分词处理以得到多个语法单元;确定单元102b,用于所述Babel解析引擎利用所述页面跳转关键词确定所述多个语法单元之间的关系;AST树生成单元102c,用于根据所确定的多个语法单元之间的关系生成抽象语法树。
具体地,所述语法单元为被解析语法当中具备实际意义的最小单元。例如,可以将入口文件Java script语言中空格符、换行符、缩进等没有任何实际的意义组合在一起作为一个语法单元;可以将Java script语言中的注释作为一个不可拆分的语法单元;还可以将Java script语言中的字符串作为一个语法单元;也可以将Java script语言中的标识符,即没有被引号括起来的连续字符,例如字母_,$及数字或true,false等内置常量以及if,return,function等关键字作为一个语法单元。根据分词处理后的入口文件可以得到多个语法单元,进而可以利用页面跳转关键词确定多个语法单元之间的关系,例如确定该上一个语法单元与下一个语法单元之间是属于先后步骤关系还是属于判断是否关系又或者是属于从属关系等,进而可以根据所确定的多个语法单元之间的关系生成AST树。
所述节点生成单元103用于根据所述目标文件生成所述目标文件的节点结构。
其中,利用解析单元102解析所述Java script入口文件可以得到目标文件,再利用所述目标文件生成所述目标文件的节点结构,具体地,在一实施例中,所述预设解析引擎可例如为Babel解析引擎,所解析生成的目标文件为抽象语法树。具体地,利用所述抽象语法树生成所述抽象语法树的节点结构,所述节点结构为多层级节点结构,所述多层级节点结构由多层级节点数据组成,例如,在抽象语法树中A树枝指向B树枝,B树枝指向C树枝,则相应生成从A节点数据指向B节点数据,从B节点数据指向C节点数据的多层级节点结构,该A节点数据、B节点数据以及C节点数据为多层级结构的节点数据。
所述流程图生成单元104用于基于所述节点结构,利用预设流程图工具生成项目流程图。
其中,利用节点生成单元103可以生成目标文件的节点结构,利用所述节点结构以及预设流程图工具可以生成所述项目的流程图。具体地,利用所述预设流程图工具,根据节点结构的相应节点数据自动在前端页面生成一流程图,例如,将所述A节点数据生成相应的一流程单元A,将B节点数据生成相应的一流程单元B,将C节点数据生成相应的一流程单元C,进而自动生成从流程单元A指向流程单元B,从流程单元B指向流程单元C的一流程图。其中,所述预设流程图工具可例如为Visustin、Auto Flowchart、CasePlay2等工具,利用上述工具可自动生成相应的流程图。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述流程图的生成装置100和各单元的具体实现过程以及效果,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,其为本发明实施例提供的一种计算机设备的示意性框图。该计算机设备600可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑和个人数字助理等电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图5,该计算机设备600包括通过***总线601连接的处理器602、存储器和网络接口605,其中,存储器可以包括非易失性存储介质603和内存储器604。
该非易失性存储介质603可存储操作***6031和计算机程序6032。该计算机程序6032包括程序指令,该程序指令被执行时,可使得处理器602执行一种流程图的生成方法。
该处理器602用于提供计算和控制能力,以支撑整个计算机设备600的运行。
该内存储器604为非易失性存储介质603中的计算机程序6032的运行提供环境,该计算机程序6032被处理器602执行时,可使得处理器602执行一种流程图的生成方法。
该网络接口605用于与其它设备进行网络通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备600的限定,具体的计算机设备600可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器602用于运行存储在存储器中的计算机程序6032,以实现如下步骤:获取目标项目的入口文件;基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件;根据所述目标文件生成所述目标文件的节点结构;以及基于所述节点结构,利用预设流程图工具生成项目流程图。
在一实施例中,处理器602在实现所述基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件的步骤时,具体实现如下步骤:基于页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树。
在一实施例中,处理器602在实现所述基于页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树的步骤时,具体实现如下步骤:利用Babel解析引擎对所述Java Script入口文件进行分词处理以得到多个语法单元;所述Babel解析引擎利用所述页面跳转关键词确定所述多个语法单元之间的关系;以及根据所确定的多个语法单元之间的关系生成抽象语法树。
应当理解,在本发明实施例中,处理器602可以是中央处理单元(CentralProcessing Unit,CPU),该处理器602还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为存储介质。该程序指令被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如上所述的流程图的生成方法。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种流程图的生成方法,其特征在于,包括:
获取目标项目的入口文件;
基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件;
根据所述目标文件生成所述目标文件的节点结构;以及
基于所述节点结构,利用预设流程图工具生成项目流程图。
2.根据权利要求1所述的流程图的生成方法,其特征在于,所述预设关键词包括页面跳转关键词;所述预设解析引擎包括Babel解析引擎;所述入口文件包括Java Script入口文件;所述目标文件包括抽象语法树;
所述基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件,包括:
基于页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树。
3.根据权利要求2所述的流程图的生成方法,其特征在于,所述基于页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树,包括:
利用Babel解析引擎对所述Java Script入口文件进行分词处理以得到多个语法单元;
所述Babel解析引擎利用所述页面跳转关键词确定所述多个语法单元之间的关系;以及
根据所确定的多个语法单元之间的关系生成抽象语法树。
4.根据权利要求3所述的流程图的生成方法,其特征在于,所述页面跳转关键词包括location.href关键词以及forward关键词。
5.根据权利要求1所述的流程图的生成方法,其特征在于,所述节点结构为多层级节点结构,所述多层级节点结构由多层级节点数据组成。
6.根据权利要求1所述的流程图的生成方法,其特征在于,所述预设流程图工具包括Visustin工具、Auto Flowchart工具以及CasePlay2工具。
7.一种流程图的生成装置,其特征在于,包括:
文件获取单元,用于获取目标项目的入口文件;
解析单元,用于基于预设关键词,利用预设解析引擎解析所述入口文件以生成目标文件;
节点生成单元,用于根据所述目标文件生成所述目标文件的节点结构;以及
流程图生成单元,用于基于所述节点结构,利用预设流程图工具生成项目流程图。
8.根据权利要求7所述的流程图的生成装置,其特征在于,所述预设关键词包括页面跳转关键词;所述预设解析引擎包括Babel解析引擎;所述入口文件包括Java Script入口文件;所述目标文件包括抽象语法树;
所述解析单元,具体用于基于页面跳转关键词,利用Babel解析引擎解析Java Script入口文件以生成抽象语法树。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的流程图的生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-6中任一项所述的流程图的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910191176.2A CN110058849A (zh) | 2019-03-13 | 2019-03-13 | 流程图的生成方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910191176.2A CN110058849A (zh) | 2019-03-13 | 2019-03-13 | 流程图的生成方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110058849A true CN110058849A (zh) | 2019-07-26 |
Family
ID=67317017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910191176.2A Pending CN110058849A (zh) | 2019-03-13 | 2019-03-13 | 流程图的生成方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058849A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353754A (zh) * | 2020-02-19 | 2020-06-30 | 望海康信(北京)科技股份公司 | 流程模板的生成方法、装置、电子设备及可读存储介质 |
CN111966358A (zh) * | 2020-07-30 | 2020-11-20 | 上海泛微网络科技股份有限公司 | 代码打包方法、装置、电子设备和计算机可读存储介质 |
CN113392439A (zh) * | 2021-06-17 | 2021-09-14 | 中国工商银行股份有限公司 | 流程图生成装置及其方法、控制装置、介质、程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218706A (zh) * | 2013-03-20 | 2013-07-24 | 深圳市赛为智能股份有限公司 | 工作流文件生成方法及设备、生成执行方法及*** |
CN103577164A (zh) * | 2012-07-20 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 流程图的生成方法和装置 |
CN105938454A (zh) * | 2016-04-13 | 2016-09-14 | 珠海迈科智能科技股份有限公司 | 一种测试用例的生成方法及*** |
CN106056649A (zh) * | 2016-05-31 | 2016-10-26 | 深圳市永兴元科技有限公司 | 流程图的生成方法和装置 |
KR20170105325A (ko) * | 2016-03-09 | 2017-09-19 | 세종대학교산학협력단 | 소스 코드 분석 방법과 이를 수행하기 위한 시스템 및 장치 |
CN108171468A (zh) * | 2017-12-15 | 2018-06-15 | 东软集团股份有限公司 | 数据处理的方法、装置和存储介质以及电子设备 |
CN109190326A (zh) * | 2018-11-22 | 2019-01-11 | 南京新联电能云服务有限公司 | 生成工艺流程图的方法及装置 |
-
2019
- 2019-03-13 CN CN201910191176.2A patent/CN110058849A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577164A (zh) * | 2012-07-20 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 流程图的生成方法和装置 |
CN103218706A (zh) * | 2013-03-20 | 2013-07-24 | 深圳市赛为智能股份有限公司 | 工作流文件生成方法及设备、生成执行方法及*** |
KR20170105325A (ko) * | 2016-03-09 | 2017-09-19 | 세종대학교산학협력단 | 소스 코드 분석 방법과 이를 수행하기 위한 시스템 및 장치 |
CN105938454A (zh) * | 2016-04-13 | 2016-09-14 | 珠海迈科智能科技股份有限公司 | 一种测试用例的生成方法及*** |
CN106056649A (zh) * | 2016-05-31 | 2016-10-26 | 深圳市永兴元科技有限公司 | 流程图的生成方法和装置 |
CN108171468A (zh) * | 2017-12-15 | 2018-06-15 | 东软集团股份有限公司 | 数据处理的方法、装置和存储介质以及电子设备 |
CN109190326A (zh) * | 2018-11-22 | 2019-01-11 | 南京新联电能云服务有限公司 | 生成工艺流程图的方法及装置 |
Non-Patent Citations (2)
Title |
---|
JERMAN: "前端码农之蜕变 — AST(抽象语法树)", pages 1 - 19, Retrieved from the Internet <URL:https://www.imqianduan.com/javascript/174.html> * |
码农登陆: "编程语言的实现,从AST(抽象语法树)开始", pages 1 - 11, Retrieved from the Internet <URL:https://baijiahao.***.com/s?id=1626159656211187310&wfr=spider&for=pc> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353754A (zh) * | 2020-02-19 | 2020-06-30 | 望海康信(北京)科技股份公司 | 流程模板的生成方法、装置、电子设备及可读存储介质 |
CN111966358A (zh) * | 2020-07-30 | 2020-11-20 | 上海泛微网络科技股份有限公司 | 代码打包方法、装置、电子设备和计算机可读存储介质 |
CN111966358B (zh) * | 2020-07-30 | 2022-06-07 | 上海泛微网络科技股份有限公司 | 代码打包方法、装置、电子设备和计算机可读存储介质 |
CN113392439A (zh) * | 2021-06-17 | 2021-09-14 | 中国工商银行股份有限公司 | 流程图生成装置及其方法、控制装置、介质、程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241454B (zh) | 一种生成网页代码的方法、***和装置 | |
CN108139891B (zh) | 用于生成建议以纠正未定义标记错误的方法和*** | |
KR101999409B1 (ko) | 예시에 의한 데이터 포매팅 기법 | |
CN105683924B (zh) | 用于调试本机代码的方法和*** | |
CN105022630B (zh) | 一种组件管理***及组件管理方法 | |
CN109508191A (zh) | 一种代码生成方法及*** | |
CN111639287A (zh) | 一种页面处理方法、装置、终端设备及可读存储介质 | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
US8539442B2 (en) | Reverse engineering for code file refactorization and conversion | |
CN102222012A (zh) | 针对外部数据源的静态类型检查 | |
US20080276221A1 (en) | Method and apparatus for relations planning and validation | |
CN111897553B (zh) | 一种项目***搭建方法、装置、设备及可读存储介质 | |
CN103383645A (zh) | 代码生成方法及*** | |
CN102741811A (zh) | 改善基于模板的JavaScript小部件的性能 | |
CN111124379B (zh) | 页面生成方法、装置、电子设备及存储介质 | |
US20200183681A1 (en) | Method for a software development system | |
CN110058849A (zh) | 流程图的生成方法、装置、计算机设备以及存储介质 | |
US9311077B2 (en) | Identification of code changes using language syntax and changeset data | |
CN102696026A (zh) | 带有增量改变的高效不可变句法表示 | |
CN101887370A (zh) | 创建***用户界面的方法及装置 | |
CN111427583A (zh) | 组件的编译方法、装置和电子设备及计算机可读存储介质 | |
CN103631719A (zh) | 一种Web自动化测试方法和装置 | |
CN108399086A (zh) | 一种微件管理方法、服务器和计算机可读存储介质 | |
US9678856B2 (en) | Annotated test interfaces | |
CN103473034A (zh) | 一种动态发布Web 服务的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |