一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

将源码文件识别成结构化数据的方法及系统与流程

2022-11-14 01:52:38 来源:中国专利 TAG:


1.本发明涉及脚本内容识别技术领域,特别是涉及将源码文件识别成结构化数据的方法及系统。


背景技术:

2.本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
3.在低代码开发平台的使用场景下,为扩展低代码开发平台的二次开发功能,满足用户引用外部javascript脚本的需求。javascript作为互联网最流行的脚本语言,能够实现更加复杂的业务功能。因此,接入用户业务相关的javascript脚本是产品二次开发必备的功能。
4.javascript脚本内容对于java语言而言,是一串字符串,无法直接识别。且javascript脚本内容支持多种注释,若注释整个方法,被注释的方法将不能web页面使用。脚本注释的语法也增加了javascript脚本的识别难度。


技术实现要素:

5.为了解决现有技术的不足,本发明提供了将源码文件识别成结构化数据的方法及系统;用户只需将脚本放置指定目录下,就能自动识别出脚本内容,将脚本的方法、参数及相应描述等内容以列表的形式显示出来。供用户直观地选择使用。
6.第一方面,本发明提供了将源码文件识别成结构化数据的方法;
7.将源码文件识别成结构化数据的方法,包括:
8.获取javascript脚本文件;
9.对javascript脚本文件的文件内容进行格式转换;将格式转换后的多行文本转化为单行文本;
10.根据javascript脚本文件的编码规范,识别出单行文本中被注释的文本内容;对将识别出的内容,删除无效内容,得到去除无效内容后的字符串;
11.对去除无效内容后的字符串,进行有效内容筛选,筛选出javascript脚本文件的有效内容;
12.对javascript脚本文件的有效内容,筛选出结构化数据。
13.第二方面,本发明提供了将源码文件识别成结构化数据的系统;
14.将源码文件识别成结构化数据的系统,包括:
15.获取模块,其被配置为:获取javascript脚本文件;
16.格式转换模块,其被配置为:对javascript脚本文件的文件内容进行格式转换;将格式转换后的多行文本转化为单行文本;
17.内容识别模块,其被配置为:根据javascript脚本文件的编码规范,识别出单行文本中被注释的文本内容;对将识别出的内容,删除无效内容,得到去除无效内容后的字符串;
18.有效内容筛选模块,其被配置为:对去除无效内容后的字符串,进行有效内容筛选,筛选出javascript脚本文件的有效内容;
19.结构化数据筛选模块,其被配置为:对javascript脚本文件的有效内容,筛选出结构化数据。
20.第三方面,本发明还提供了一种电子设备,包括:
21.存储器,用于非暂时性存储计算机可读指令;以及
22.处理器,用于运行所述计算机可读指令,
23.其中,所述计算机可读指令被所述处理器运行时,执行上述第一方面所述的方法。
24.第四方面,本发明还提供了一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行第一方面所述方法的指令。
25.第五方面,本发明还提供了一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现上述第一方面所述的方法。
26.与现有技术相比,本发明的有益效果是:
27.通过自动识别javascript脚本内容,将方法、参数及相应注释以列表形式有条理的显示出来,便于人们直观使用。
附图说明
28.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
29.图1为实施例一的方法流程图。
具体实施方式
30.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
31.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
33.本实施例所有数据的获取都在符合法律法规和用户同意的基础上,对数据的合法应用。
34.术语解释:
35.javascript:简称“js”,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
36.二次开发:用户在使用产品过程中,产品已有的基础功能,不能满足用户的业务需求,因此需要使用产品的高级功能来实现,但一些高级功能要求用户有一定的编程能力。
37.java:计算机编程语言,是一门面向对象编程语言。
38.实施例一
39.本实施例提供了将源码文件识别成结构化数据的方法;
40.如图1所示,将源码文件识别成结构化数据的方法,包括:
41.s101:获取javascript脚本文件;
42.s102:对javascript脚本文件的文件内容进行格式转换;将格式转换后的多行文本转化为单行文本;
43.s103:根据javascript脚本文件的编码规范,识别出单行文本中被注释的文本内容;对将识别出的内容,删除无效内容,得到去除无效内容后的字符串;
44.s104:对去除无效内容后的字符串,进行有效内容筛选,筛选出javascript脚本文件的有效内容;
45.s105:对javascript脚本文件的有效内容,筛选出结构化数据。
46.进一步地,所述s101:获取javascript脚本文件,具体是指,对指令目录进行遍历,通过文件后缀(.js)识别出所有的javascript脚本文件。
47.进一步地,所述s102:对javascript脚本文件的文件内容进行格式转换,是指,将javascript脚本文件的文件内容转化为utf-8编码格式的字符串。
48.应理解地,格式转换的益处在于统一文件内容的编码格式,防止读取后的内容为乱码。
49.进一步地,所述s103:根据javascript脚本文件的编码规范,识别出脚本中被注释的文本内容;具体包括:
50.根据javascript脚本文件的多行注释符号,识别出对方法的解释;
51.根据javascript脚本文件的单行注释符号,识别出方法体内的备注说明;
52.根据javascript脚本文件的文档注释符号,识别出代码块。
53.应理解地,根据javascript脚本文件的编码规范,识别出脚本中被注释掉的文本内容,脚本文件的注释方法,包括:多行注释"/**/"、单行注释”//”和文档注释:/**
……
*/。多行注释常用于对方法的解释:如方法描述说明、参数描述等;单行注释常用于方法体内的备注说明;文档注释则常用于代码块的注释。
54.进一步地,所述s103:对将识别出的内容,删除无效内容,得到去除无效内容后的字符串;其中,无效内容,包括:方法体内的备注说明和代码块。
55.进一步地,所述s104:对去除无效内容后的字符串,进行有效内容筛选,筛选出javascript脚本文件的有效内容;具体包括:
56.利用java的正则表达式regex(又称为规则表达式,它是一种强大的文本匹配模式,其用于在字符串中查找匹配符合特定规则的子串),并设置好匹配规则:(function)(\\s*)(\\s )(\\((.*?)\\)),调用pattern对象的matcher方法,筛选出文件中定义的方法。同理,以下操作筛选出方法的方法说明、方法描述、参数描述等内容;
57.同时,对有效内容进行换行和去除空格处理。
58.应理解地,做换行、去空格等处理,防止将无用的空格或换行符等识别成有效内容。
59.进一步地,所述s105:对javascript脚本文件的有效内容,筛选出结构化数据;其
中,结构化数据,包括方法描述、方法详细描述和参数描述。
60.根据@name注释,对javascript脚本文件的有效内容,筛选出方法描述;
61.根据@description注释,对javascript脚本文件的有效内容,筛选出方法详细描述;
62.根据@param注释,对javascript脚本文件的有效内容,筛选出参数描述。
63.在js脚本编写规范中,包含多个注解,常用的注解包括:@name、@description、@param,对应的含义分别为方法描述、方法详细描述、参数描述,因此,通过regex技术及相应注解识别出对应方法的相关内容。除识别脚本的有效方法和参数外,也能将人们在脚本中添加的相关方法和参数的描述识别出来。
64.进一步地,所述方法还包括:
65.按照设定的数据格式,将识别的数据输出。
66.软件程序多数以数据的形式进行交互,本方案也是以数据交互的方法进行。因此,需要低代码开发平台的开发者设定数据格式,将识别结果组装成设定的数据格式,再进行交互使用。
67.实施例二
68.本实施例提供了将源码文件识别成结构化数据的系统;
69.将源码文件识别成结构化数据的系统,包括:
70.获取模块,其被配置为:获取javascript脚本文件;
71.格式转换模块,其被配置为:对javascript脚本文件的文件内容进行格式转换;将格式转换后的多行文本转化为单行文本;
72.内容识别模块,其被配置为:根据javascript脚本文件的编码规范,识别出单行文本中被注释的文本内容;对将识别出的内容,删除无效内容,得到去除无效内容后的字符串;
73.有效内容筛选模块,其被配置为:对去除无效内容后的字符串,进行有效内容筛选,筛选出javascript脚本文件的有效内容;
74.结构化数据筛选模块,其被配置为:对javascript脚本文件的有效内容,筛选出结构化数据。
75.此处需要说明的是,上述获取模块、格式转换模块、内容识别模块、有效内容筛选模块和结构化数据筛选模块对应于实施例一中的步骤s101至s105,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
76.上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
77.所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
78.实施例三
79.本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、
以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
80.应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
81.存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
82.在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
83.实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
84.本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
85.实施例四
86.本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
87.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献