CN117687620A - 文件生成方法及装置、终端设备及计算机可读存储介质 - Google Patents
文件生成方法及装置、终端设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117687620A CN117687620A CN202311607962.9A CN202311607962A CN117687620A CN 117687620 A CN117687620 A CN 117687620A CN 202311607962 A CN202311607962 A CN 202311607962A CN 117687620 A CN117687620 A CN 117687620A
- Authority
- CN
- China
- Prior art keywords
- interface document
- file
- grammar
- document
- interface
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004458 analytical method Methods 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于计算机技术领域,提供了一种文件生成方法及装置、终端设备及计算机可读存储介质,该文件生成方法包括:响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述应用程序编程接口的用途以及使用方法,所述接口文档的类型为文本文件;对所述接口文档进行编译,生成目标文件,其中,所述目标文件的类型为超文本文件。本申请实施例提供的文件生成方法通过对文本文件类型的接口文档进行编译,从而将文本文件类型的接口文档转换为超文本文件类型的接口文档,进而将展示形式简单的文本内容以更加丰富的形式进行展示,以提升用户的阅读感受。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种文件生成方法及装置、终端设备及计算机可读存储介质。
背景技术
目前,现有的B/S架构模型的应用程序,需要人工编写相关的接口文档,其中的API(Application Programming Interface,应用程序编程接口)是一些预先定义的服务端远程执行函数,浏览器在执行过程中会向服务器发送相关HTTPS请求命令,服务端对HTTPS请求命令进行响应,在服务端成功执行相关函数后返回JSON格式结果数据,因此接口文档的编写与管理变得十分重要。现有的对接口文档进行编写与管理的方式一般是使用接口文档管理工具,该方式不仅需要搭建接口文档服务器,还需要花费一定的时间与精力去学习接口文档管理工具的使用方法,因此该方式存在使用复杂以及编写效率低等缺陷。
发明内容
本申请实施例提供了一种文件生成方法及装置、终端设备及计算机可读存储介质,可以解决当前使用接口文档管理工具编写接口文档时存在的使用方法复杂以及编写效率低等的问题。
第一方面,本申请实施例提供了一种文件生成方法,包括:
响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述系统所提供接口信息的文档,所述接口文档为文本文档;
对所述接口文档进行编译,得到目标文件,其中,所述目标文件为文本标记语言。
本申请实施例提供的文件生成方法,通过使用文本文档来编写应用程序编程接口的用途及使用方法,文本文档编辑器使用方法简单,不需要用户专门花费时间与精力进行学习,进而可以提高接口文档的编写效率;通过对文本文件形式的接口文档进行编译,得到超文本文件的目标文件,从而能将文本文件转换为超文本文件,进而将展示形式简单的文本内容以更加丰富的形式进行展示,以提升用户的阅读感受。
在第一方面的一种可能的实现方式中,所述对所述接口文档进行编译,生成目标文件,包括:
对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元;
根据所述词法单元对所述接口文档进行语义分析,生成多个中间代码段,其中,每个所述中间代码段为接口文档中一段语句的特征信息;
根据多个所述中间代码段,生成所述目标文件。
此实现方式,通过对接口文档进行词法分析,可以获得接口文档源代码中的所有词法单元;通过对由词法单元组合成的接口文档进行语义分析,可以得到接口文档中的语句的语义分析结果,从而能对没有语法错误的接口文档的所有语句进行编译,生成每个语句对应的特征信息的中间代码段;最后根据中间代码段生成目标文件,能够实现将文本文件的接口文档转换为超文本文件,进而将展示形式简单的文本内容以更加丰富的形式进行展示,以提升用户的阅读感受。
在第一方面的一种可能的实现方式中,所述对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元,包括:
删除所述接口文档中的空白字符和注释,得到删除后的所述接口文档;
根据构词规则识别删除后的所述接口文档中的词法单元。
此实现方式,通过删除接口文档中的空白字符和注释,能够降低接口文档中的数据的处理量,进而提高接口文档中的词法单元的识别速度。
在第一方面的一种可能的实现方式中,所述根据所述词法单元对所述接口文档进行语义分析,生成多个中间代码段,包括:
将所述词法单元按照语义顺序进行组合,得到至少一个语法短句;
对每个所述语法短句进行语法结构分析,得到每个所述语法短句对应的分析结果;
若所有的所述分析结果均表示语法正确,则对所述语法短句进行编译,得到所述语法短句对应的中间代码段。
此实现方式,通过将词法单元按照语义顺序组合成一个个语法短句,并对每个语法短句进行语法结构分析,可以快速地对接口文档中的语法结构进行分析,进而确定没有语法错误的接口文档,以便于对没有语法错误的接口文档进行编译,能够更加精准地生成目标文件对应的各个中间代码段。
在第一方面的一种可能的实现方式中,所述方法还包括:
若所述分析结果中存在表示语法错误的分析结果,则停止对所述语法短句进行编译,并生成语法错误报告;
将所述语法错误报告进行显示。
此实现方式,能够对接口文档中的源代码进行检查,进而将接口文档中存在语法错误的源代码的部分寻找出来,并以语法错误报告的形式进行显示,能够更加清楚地将接口文档中存在错误的部分告知开发人员,进而使得开发人员及时更改接口文档的错误。
在第一方面的一种可能的实现方式中,所述根据多个所述中间代码段,生成所述目标文件,包括:
获取第一脚本文件,其中,所述第一脚本文件用于生成所述目标文件的模版;
将所述多个中间代码段按照所述第一脚本文件约定的规则依次进行合并,生成所述目标文件。
此实现方式,通过获取目标文件的模版,能够快速地将用于生成目标文件的多个中间代码段进行合并,进而快速地生成目标文件该实现方式将至少一个接口文档均在目标文件中进行显示,更加方便用户查看不同接口名称的接口文档的内容。
在第一方面的一种可能的实现方式中,所述方法还包括:
将所述语法短句按照所述接口文档中的段落顺序进行组合,得到至少一个段落代码段;
获取所述段落代码段的关键词;
根据所述关键词,生成所述目标文件的树状菜单。
此实现方式,通过获取段落关键词,能够生成目标文件的树状菜单,进而更方便用户在树状菜单处查看接口文档中具体包括哪些内容,从而使得超文本文件的展示形式更加丰富。
第二方面,本申请实施例提供了一种文件生成装置,包括:
获取模块,用于响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述应用程序编程接口的用途以及使用方法,所述接口文档的类型为文本文件;
生成模块,用于对所述接口文档进行编译,生成目标文件,其中,所述目标文件的类型为超文本文件。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的文件生成方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的文件生成方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的**方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的文件生成方法的流程示意图;
图2是本申请一实施例提供的步骤S102的子步骤的流程示意图;
图3是本申请一实施例提供的具体示例生成的目标文件的效果示意图;
图4是本申请一实施例提供的文件生成装置的结构示意图;
图5是本申请一实施例提供终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
参见图1,是本申请实施例提供的文件生成方法的流程示意图,作为示例而非限定,所述方法可以包括以下步骤:
S101:响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述应用程序编程接口的用途以及使用方法,所述接口文档的类型为文本文件。
本实施例的执行主体为操作系统,其中,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在裸机上的最基本的系统软件,任何其它软件都必须在操作系统的支持下才能运行。本实施例对操作系统的具体类型不作任何限定,例如,操作系统可以为Windows操作系统、Linux系统、纯DOS系统、UNIX系统或者MacOS系统。
下面,以Windows操作系统作为示例对本申请实施例提供的文件生成方法进行说明。
其中,命令行窗口是Windows操作系统中的一个重要工具,它可以让用户通过命令行来执行各种操作,比如打开文件、创建文件夹或者查看网络状态等。本实施例对打开Windows操作系统的命令行窗口的具体方式不作任何限定,例如,可以通过使用快捷键按下Win+R键,弹出运行窗口,在运行窗口输入cmd,然后按下回车键即可打开命令行窗口;或者,还可以通过点击开始菜单,选择所有程序,查找附件文件夹,找到附件文件夹后点击打开,在该附件文件夹下有个命令提示符的图标,点击打开即可打开命令行窗口等。
其中,接口文档又称为API(Application Programming Interface,应用程序编程接口)文档,通常是由开发人员一起规定的一种规范文档,它描述了应用程序编程接口如何工作,并提供了使用API所需的所有信息,即接口文档用于描述应用程序编程接口的用途以及使用方法,一般由后端开发人员进行编写,前端人员直接调用某一个接口就可以实现某一个业务流程所需要的数据等信息。
后端开发人员可以使用文档编写工具来编写接口文档,其中,文档编写工具例如为word文档编辑器、Markdown编辑器或者Swagger编辑器等,但使用这些文档编写工具会存在一些限制,例如需要按照文档编写工具规定的标准进行编写,由于某些文档编写工具的使用方法比较复杂,因此需要使用人员预先进行一段时间的学习后才能成功使用,导致使用文档编写工具编写接口文档时文档的编写效率较低。
为了能够快速的进行接口文档的编写,不需要预先学习各种文档编写软件工具的使用方法,本实施例直接使用例如记事本这种简单的文本编辑器对接口文档进行编写,得到纯文本文件形式的接口文档,其中,每一个接口文档中包括接口名称、简要描述、请求URL、请求方式、请求参数、返回示例或者返回参数等说明信息。
编写好的接口文档存储在Windows操作系统中,本实施例对接口文档在操作系统中的存储路径不作任何限定,接口文档可以存储至操作系统任意磁盘的任意一个文件夹下,但对于同一个应用程序下的多个接口文档,更优选的方法是将同一个应用程序下的多个接口文档存储在同一文件夹下。
S102:对所述接口文档进行编译,生成目标文件,其中,所述目标文件的类型为超文本文件。
其中,超文本文件是一种含有特殊标记的文本文件,是一种用户接口范式,用以显示文本及与文本相关的内容。其中的文字包含有可以链接到其他字段或者文档的超文本链接,允许从当前阅读位置直接切换到超文本链接所指向的文字,超文本文件相比纯文本文件来说,可以将接口文档中的文本内容以更加丰富的形式进行展示,从而使得用户的阅读感受更加舒适。
本实施例对超文本文件的具体格式不作任何限定,例如,超文本文件可以为HTML(Hyper Text Markup Language,超文本标记语言),也可以为RTF(RichText Format,富文本格式)等。
编译是一种将计算机语言转换成计算机可以接受的指令的程序化过程。它是一种将程序翻译成机器可以执行的指令的过程,可以把程序从高级语言转换成可执行文件的过程。简单来说,编译就是一个代码编写和可执行二进制文件之间一种必经的处理过程。当后端开发人员写好了接口文档之后,就可以对接口文档进行编译,将接口文档中的源代码(给用户看的数据)转换成目标代码(机器可以理解的数据),该目标代码为目标文件对应的机器语言,之后计算机就可以照着机器语言(二进制)运行目标代码,以将目标文件进行显示。
本实施例对接口文档的编译解释器的实现方式不作任何限定,只要是能完成将纯文本文件的接口文档生成超文本文件的目标文件的操作即可。例如,开发人员可以使用Node.js框架或者Python语言开发出一款解释器,该解释器是一款标记语言解释器,能够对接口文档进行编译,将文本文件的接口文档生成超文本文件的目标文件,当获取到待生成超文本文件的接口文档后,直接使用标记语言解释器对纯文本文件的接口文档进行编译,编译完成后,输出目标文件。
在本实施例中,对文本类型的接口文档进行编译,生成超文本类型的目标文件的方式有多种。本实施例对所述接口文档进行编译,生成目标文件的具体方式不作任何限定,例如,对所述接口文档进行编译,生成目标文件的一种实现方式为:
根据接口文档数据,按照超文本格式生成标准接口文档;
对标准接口文档进行解析,生成目标文件的文件模版、配置文件和数据库脚本;
依据目标文件的文件模版、配置文件和数据库脚本,生成目标文件。
在一种可能的实现方式中,图2示出了本申请实施例的步骤S102的子步骤的流程示意图,如图2所示,所述步骤S102进一步包括步骤S1021-S1023:
S1021:对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元。
词法分析的作用就是将接口文档中的源代码按照从左到右,从上到下的顺序对逐个字符进行扫描,扫描出源代码中的字符,再根据扫描出的字符识别出词法单元,同时,识别出该词法单元对应的数据类型,数据类型例如为数字、识别符、关键字、字符串或标识符等。
在一个具体示例中,对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元的实现方式有多种,例如,一种实现方式为,直接使用lexer或者scanner等现有的词法分析工具对接口文档进行词法分析,词法分析工具识别接口文档中的源代码,并将源代码分解成一个个词法单元。
在一种可能的实现方式中,所述对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元,包括:
删除所述接口文档中的空白字符和注释,得到删除后的所述接口文档;
根据构词规则识别删除后的所述接口文档中的词法单元。
在本实施例中,由于接口文档的简要描述、返回参数等说明信息中包括例如空格,回车等空白字符和一些文字说明的注释信息,如果不先对这些空白字符和注释进行删除的话,会导致处理数据量非常大,也可能会存在一些隐形出错的地方,因此,在对接口文档进行扫描,读取接口文档中的源代码的过程中,若读取到接口文档中的空白字符和注释,则删除这些空白字符和注释,得到删除后的所述接口文档,之后识别删除后的所述接口文档中的所有词法单元,这种处理方式会大大提高将纯文本文件转换为超文本文件的速度。
本实施例对构词规则的具体规则不作任何限定,例如,构词规则可以为根据词汇本身的特征构造词汇规则;或者,还可以为根据词汇的语法和语义特征之间的关联构造词汇规则,只要能达到精准识别词法单元的效果即可。
S1022:根据所述词法单元对所述接口文档进行语义分析,生成多个中间代码段,其中,每个所述中间代码段为接口文档中一段语句的特征信息。
语义分析是编程语言处理中的一个重要环节,它主要用于理解和解释代码的意义。对接口文档进行语义分析的方式有多种,本实施例对接口文档进行语义分析的具体方式不作任何限定,只要是能够完成对接口文档准确的语义分析的操作即可。例如,对接口文档进行语义分析的方式可以为使用标记语言解释器对接口文档进行语义分析,具体包括分析接口文档中词法单元组成的语法短句的语法结构,以判断接口文档是否存在编写错误等操作,从而为没有编写错误的接口文档生成目标文件提供准确的源代码。
S1023:根据多个所述中间代码段,生成所述目标文件。
在一个具体示例中,例如使用开发人员开发的标记语言解释器对接口文档进行编译,其中,标记语言解释器包括词法分析器、语义分析器和代码生成器,词法分析器能够对接口文档进行扫描,读取接口文档中的源代码,并识别源代码中的词法单元,当词法分析器将所有的接口文档的源代码从第一行到最后一行全部扫描结束后,接口文档中所有词法单元被全部识别出来。语义分析器能够将接口文档中识别的所有词法单元组合成多段语句,并对多段语句进行语义分析,得到多段语句的语义分析结果。代码生成器能够根据多段语句的语义分析结果,生成目标文件对应的目标代码,让目标代码在操作系统中运行,目标文件即产生了。
在一个具体示例中,根据多个所述中间代码段,生成所述目标文件的实现方式有多种,例如,一种实现方式为,按照HTML5规范,依序注入JavaScript和CSS依赖文件源码,并与多个中间代码段进行合并,来生成超文本格式的目标文件。
在一种可能的实现方式中,所述根据所述词法单元对所述接口文档进行语义分析,生成多个中间代码段,包括:
将所述词法单元按照语义顺序进行组合,得到至少一个语法短句;
对每个所述语法短句进行语法结构分析,得到每个所述语法短句对应的分析结果;
若所有的所述分析结果均表示语法正确,则对所述语法短句进行编译,得到所述语法短句对应的中间代码段。
在一个具体示例中,按照接口文档的扫描顺序,将所有词法单元依次识别,按照语义顺序,将词法单元进行语法短句的组合,将所有的接口文档的所有词法单元按照语义顺序拆解为多个语法短句,之后对每个语法短句进行语法结构分析,得到每个语法短句对应的分析结果,其中,分析结果为该语法短句的语法结构正确或者该语法短句的语法结构错误,当接口文档的所有词法单元拆解的所有语法短句的分析结果均为语法结构正确时,说明接口文档中不存在编写错误的情况,此时便可以对每一句语法短句进行编译,将语法短句编译成机器能够识别的中间代码段,该中间代码段可以用于组合,以生成最终的目标文件。
在一种可能的实现方式中,所述方法还包括:
若所述分析结果中存在表示语法错误的分析结果,则停止对所述语法短句进行编译,并生成语法错误报告;
将所述语法错误报告进行显示。
在一个具体示例中,若对每个语法短句进行语法结构分析时,得到了语法结构错误的分析结果,则说明接口文档中存在编写错误的情况,此时停止对语法短句的编译过程,根据存在语法结构错误的语法短句获得对应的错误位置在接口文档中的源代码中的位置,并生成语法错误报告,其中,所述语法错误报告中描述出现编写错误的接口文档的名称,以及对应所述接口文档的源代码中的错误代码处于该接口文档的某行某列某一段具体的代码,并将语法错误报告在终端设备上进行显示,以提醒开发人员及时更改接口文档的错误。
开发人员更改接口文档的错误后,再次对没有语法错误的接口文档进行词法分析和语法分析,若分析结果中不再存在表示语法错误的分析结果后,则表明所有的分析结果均表示语法正确,此时对经过词法分析以及语义分析后得到的至少一个语法短句进行编译,得到每个语法短句对应的中间代码段。
在一种可能的实现方式中,所述根据多个所述中间代码段,生成所述目标文件,包括:
获取第一脚本文件,其中,所述第一脚本文件用于生成所述目标文件的模版;
将所述多个中间代码段按照所述第一脚本文件约定的规则依次进行合并,生成所述目标文件。
在一个具体示例中,使用标记语言解释器将接口文档进行词法分析以及语义分析后,对分析结果均表示语法正确的语法短句进行编译,得到语法短句对应的中间代码段,这些中间代码段为超文本文件数据的一些代码片段,不是一个完整的文件,没法直接进行显示,因此将这些中间代码段均存储在操作系统的内存中,等所有的接口文档中的源代码都进行词法分析以及语义分析完成后,需要把内存中的多个中间代码段的内容进行合并,合并时需要先获取能生成超文本文件的模板和脚本文件,其中,脚本文件中包括一些依赖源码。
此外,为了丰富超文本文件的格式,可以将接口文档名称作为一级菜单显示在超文本文件的左侧,在生成超文本文件之前,还可以获取对应接口文档数量的图片,该图片可以根据开发人员最终想呈现出来的效果进行搜索,最终实现将接口文档名称作为最终生成的HTML文件的一级菜单,将图片设置为一级菜单一一对应匹配的logo,该设置方式能够为不同接口名称的接口文档匹配一个不同的图标,并在目标文件中进行显示,可以使得用户点击感兴趣的图标,进而快速将对应图标的接口文档内容显示给用户。
此外,还可以将接口文档中的段落关键词作为最终生成的HTML文件的二级菜单,二级及二级以上的菜单不设置图片logo,将第一脚本文件和对应接口文档数量的图片全部获取完成后,在操作系统中申请一些内存空间,将中间代码段、第一脚本文件和对应接口文档数量的图片均放入到在操作系统中申请的内存空间内,按照HTML5的规范,将多个中间代码段依次进行合并,将图片缩小作为一级菜单的logo显示在一级菜单名称的前面,生成最终的目标文件,其中,合并的顺序也是依据接口文档扫描时从上到下从左到右的顺序获得的词法单元、根据词法单元组成的语法短句、根据语法短句生成的中间代码段的顺序来进行合并的。
在一种可能的实现方式中,所述方法还包括:
将所述语法短句按照所述接口文档中的段落顺序进行组合,得到至少一个段落代码段;
获取所述段落代码段的关键词;
根据所述关键词,生成所述目标文件的树状菜单。
在本实施例中,根据接口文档的接口名称的顺序以及每一个接口文档中的段落关键词来生成目标文件的树状菜单,其中,段落关键词可以在词法分析的时候扫描获取,段落关键词例如设置为“```”、“---”、“###”等,当连续识别到接口文档中的两个“###”时,两个“###”以及中间的代码即为一个段落代码段,“###”即为段落关键词。
下面,以一个具体示例来对文件的生成的过程进行说明。
在一个具体示例中,例如,开发人员在Windows操作系统中新建了一个文件夹名称为docs的文档目录文件夹,该docs文档目录文件夹下存储有开发人员预先编写的6个API文档,6个API文档的名称分别为0.协议、1.登陆、2.首页、3.设备、4.监控和5.控制,每个接口文档中包括简要描述、请求URL、请求方式、请求参数、返回示例或者返回参数等说明信息。
其中,0.协议中编写有:
从上述0.协议文本文件的内容中可以看出,文本文件的内容显示过于简单,对于一些请求说明中的字段说明、字段类型等依然以文本形式显示,不支持表格等显示形式更丰富的情况。
开发人员在Windows操作系统中新建了一个文件夹名称为解释器的文件夹,解释器文件夹下存储有开发人员开发的解释器软件,用户在Windows操作系统中打开命令行窗口,在命令行窗口输入打开解释器文件夹的命令,操作系统将鼠标定位到解释器文件夹下,用户在命令行窗口输入打开docs文件夹的命令,操作系统将鼠标定位到docs文件夹下,用户在命令行窗口输入使用解释器编译docs文件夹下的6个接口文档的命令,解释器对6个接口文档进行编译,生成一个超文本文件,超文本文件中的显示效果如图3所示。图3中只显示了0.协议的效果,对于1.登陆、2.首页、3.设备、4.监控和5.控制中的显示效果与图3中的0.协议的显示效果相似,可以通过下拉鼠标的方式查看1.登陆、2.首页、3.设备、4.监控和5.控制中的内容(1.登陆、2.首页、3.设备、4.监控和5.控制中的具体内容依据开发人员编写而定,本实施例未给出),也可以通过在左侧的一级菜单上直接进行选择某一个一级菜单,该目标文件便可直接跳转到对应显示内容。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的文件生成方法,图4是本申请实施例提供的文件生成装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该文件生成装置包括:
获取模块41用于响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述应用程序编程接口的用途以及使用方法,所述接口文档的类型为文本文件。
生成模块42用于对所述接口文档进行编译,生成目标文件,其中,所述目标文件的类型为超文本文件。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
另外,图4所示的文件生成装置可以是内置于现有的终端设备内的软件单元、硬件单元、或软硬结合的单元,也可以作为独立的挂件集成到所述终端设备中,还可以作为独立的终端设备存在。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5是本申请实施例提供的终端设备的结构示意图。如图5所示,该实施例的终端设备5包括:至少一个处理器50(图5中仅示出一个)处理器、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个文件生成方法实施例中的步骤。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图5仅仅是终端设备5的举例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种文件生成方法,其特征在于,包括:
响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述应用程序编程接口的用途以及使用方法,所述接口文档的类型为文本文件;
对所述接口文档进行编译,生成目标文件,其中,所述目标文件的类型为超文本文件。
2.根据权利要求1所述的文件生成方法,其特征在于,所述对所述接口文档进行编译,生成目标文件,包括:
对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元;
根据所述词法单元对所述接口文档进行语义分析,生成多个中间代码段,其中,每个所述中间代码段为接口文档中一段语句的特征信息;
根据多个所述中间代码段,生成所述目标文件。
3.根据权利要求2所述的文件生成方法,其特征在于,所述对所述接口文档进行词法分析,得到所述接口文档对应的所有词法单元,包括:
删除所述接口文档中的空白字符和注释,得到删除后的所述接口文档;
根据构词规则识别删除后的所述接口文档中的词法单元。
4.根据权利要求2所述的文件生成方法,其特征在于,所述根据所述词法单元对所述接口文档进行语义分析,生成多个中间代码段,包括:
将所述词法单元按照语义顺序进行组合,得到至少一个语法短句;
对每个所述语法短句进行语法结构分析,得到每个所述语法短句对应的分析结果;
若所有的所述分析结果均表示语法正确,则对所述语法短句进行编译,得到所述语法短句对应的中间代码段。
5.根据权利要求4所述的文件生成方法,其特征在于,所述方法还包括:
若所述分析结果中存在表示语法错误的分析结果,则停止对所述语法短句进行编译,并生成语法错误报告;
将所述语法错误报告进行显示。
6.根据权利要求2所述的文件生成方法,其特征在于,所述根据多个所述中间代码段,生成所述目标文件,包括:
获取第一脚本文件,其中,所述第一脚本文件用于生成所述目标文件的模版;
将所述多个中间代码段按照所述第一脚本文件约定的规则依次进行合并,生成所述目标文件。
7.根据权利要求4所述的文件生成方法,其特征在于,所述方法还包括:
将所述语法短句按照所述接口文档中的段落顺序进行组合,得到至少一个段落代码段;
获取所述段落代码段的关键词;
根据所述关键词,生成所述目标文件的树状菜单。
8.一种文件生成装置,其特征在于,包括:
获取模块,用于响应于用户在命令行窗口输入第一命令指令,获取至少一个接口文档,其中,所述接口文档用于描述应用程序编程接口的用途以及使用方法,所述接口文档的类型为文本文件;
生成模块,用于对所述接口文档进行编译,生成目标文件,其中,所述目标文件的类型为超文本文件。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311607962.9A CN117687620A (zh) | 2023-11-28 | 2023-11-28 | 文件生成方法及装置、终端设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311607962.9A CN117687620A (zh) | 2023-11-28 | 2023-11-28 | 文件生成方法及装置、终端设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687620A true CN117687620A (zh) | 2024-03-12 |
Family
ID=90136346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311607962.9A Pending CN117687620A (zh) | 2023-11-28 | 2023-11-28 | 文件生成方法及装置、终端设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687620A (zh) |
-
2023
- 2023-11-28 CN CN202311607962.9A patent/CN117687620A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Villán | Mastering OpenCV 4 with Python: a practical guide covering topics from image processing, augmented reality to deep learning with OpenCV 4 and Python 3.7 | |
US9038026B2 (en) | System and method for automating test automation | |
US9268753B2 (en) | Automated addition of accessiblity features to documents | |
WO2022072037A1 (en) | Extraquery context-aided search intent detection | |
Head et al. | Tutorons: Generating context-relevant, on-demand explanations and demonstrations of online code | |
CN108595171B (zh) | 对象的模型生成方法、装置、设备及存储介质 | |
CA2684822A1 (en) | Data transformation based on a technical design document | |
KR100745530B1 (ko) | 팝업 윈도우 생성 프로그램을 기록한 컴퓨터 이용가능 기록 매체 및 팝업 윈도우 생성 컴퓨터 구현형 방법 | |
US20220414463A1 (en) | Automated troubleshooter | |
CN115562656A (zh) | 页面的生成方法、装置、存储介质及计算机设备 | |
US11500619B1 (en) | Indexing and accessing source code snippets contained in documents | |
Kaluarachchi et al. | A systematic literature review on automatic website generation | |
Moran et al. | An empirical investigation into the use of image captioning for automated software documentation | |
Zhang et al. | Demystifying Practices, Challenges and Expected Features of Using GitHub Copilot | |
Chekanov | Numeric computation and statistical data analysis on the java platform | |
KR101005651B1 (ko) | 트리 구조와 대화하는 방법 및 시스템 | |
CN117687620A (zh) | 文件生成方法及装置、终端设备及计算机可读存储介质 | |
US20220222065A1 (en) | System and method of computer-assisted computer programming | |
Bragagnolo et al. | Challenges for layout validation: Lessons learned | |
Greiner-Petter | Making Presentation Math Computable: A Context-Sensitive Approach for Translating LaTeX to Computer Algebra Systems | |
Freeman | Pro Go | |
Schroeder et al. | Flexible automatic converting of NC programs. A cross-compiler for structured text | |
KR20140147438A (ko) | 마크업 파싱 장치, 방법 및 기록 매체 | |
US20240126978A1 (en) | Determining attributes for elements of displayable content and adding them to an accessibility tree | |
CN110618809B (zh) | 一种前端网页输入约束提取方法和装置 |
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 |