CN115794054A - 代码生成方法、装置、存储介质及计算机设备 - Google Patents
代码生成方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN115794054A CN115794054A CN202211427760.1A CN202211427760A CN115794054A CN 115794054 A CN115794054 A CN 115794054A CN 202211427760 A CN202211427760 A CN 202211427760A CN 115794054 A CN115794054 A CN 115794054A
- Authority
- CN
- China
- Prior art keywords
- code
- keyword
- text
- character string
- target
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种代码生成方法、装置、存储介质及计算机设备,涉及计算机技术领域。其中方法包括:获取流程图语法文本,并识别流程图语法文本中的多个字符串信息,其中,流程图语法文本为基于标记语言语法编写的文本;从多个字符串信息中筛选出关键字字符串,并获取与关键字字符串对应的目标代码关键字;将关键字字符串替换为与关键字字符串对应的目标代码关键字,得到目标文本;基于目标文本,生成目标代码,其中,目标文本包含目标代码的代码信息。上述方法能够提升代码的编码效率,缩短软件项目的开发周期。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种代码生成方法、装置、存储介质及计算机设备。
背景技术
在软件项目的开发过程中,特别是对某一个系统的局部功能进行详细设计时,通常由架构师基于标记语言语法,如markdown工具,设计详细的流程图。然后,由相关的开发人员按照流程图来编写现实的代码。
但是,此种开发方式需要开发人员基于架构师的流程图从无到有的进行编码,编码效率过低,使软件项目的开发过程必须包含漫长的编码过程,进而使软件项目的开发周期过于漫长。
发明内容
有鉴于此,本申请提供了一种代码生成方法、装置、存储介质及计算机设备,主要目的在于解决软件项目编码效率低和开发周期长的技术问题。
根据本发明的第一个方面,提供了一种代码生成方法,该方法包括:
获取流程图语法文本,并识别所述流程图语法文本中的多个字符串信息,其中,所述流程图语法文本为基于标记语言语法编写的文本;
从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字;
将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本;
基于所述目标文本,生成目标代码,其中,所述目标文本包含所述目标代码的代码信息。
根据本发明的第二个方面,提供了一种代码生成装置,该装置包括:
文本识别模块,用于获取流程图语法文本,并识别所述流程图语法文本中的多个字符串信息,其中,所述流程图语法文本为基于标记语言语法编写的文本;
关键字识别模块,用于从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字;
代码替换模块,用于将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本;
代码生成模块,用于基于所述目标文本,生成目标代码,其中,所述目标文本包含所述目标代码的代码信息。
根据本发明的第三个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述代码生成方法。
根据本发明的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述代码生成方法。
本发明提供的一种代码生成方法、装置、存储介质及计算机设备,首先识别出架构师基于标记语言语法,如markdown语法,编写的流程图语法文本内包含的字符串信息。然后,从识别出的字符串信息中筛选出属于markdown语法关键字的关键字字符串,并对属于markdown语法关键字的关键字字符串进行转换,得到属于软件开发项目开发语言的目标代码关键字。再后,将流程图语法文本中的关键字字符串替换为与关键字字符串对应的目标代码关键字,得到包含开发代码的目标文本。最后,将目标文本中的开发代码作为软件开发项目所用开发语言的代码。本申请能够将markdown语法的关键字翻译为软件开发项目所用开发语言的语法的关键字,进而将流程图信息转化成软件开发项目所用开发语言的开发代码,使开发人员不需要从无到有的进行编码,有效的提升了代码的编码效率,缩短了软件项目的开发周期。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种代码生成方法的流程示意图;
图2示出了本发明实施例提供的一种代码生成装置的结构示意图;
图3示出了本发明实施例提供的另一种代码生成装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
当前,在软件项目的开发过程中,特别是对某一个系统的局部功能进行详细设计时,通常由架构师基于markdown语法之类的标记语言语法,制作详细的设计流程图。然后,由相关的开发人员按照设计流程图来编写对应的代码。但是,此种开发方式需要开发人员基于架构师的流程图从无到有的进行编码,编码效率过低,使软件项目的开发过程必须包含漫长的编码过程,进而使软件项目的开发周期过于漫长。
针对上述问题,在一个实施例中,如图1所示,提供了一种代码生成方法,以该方法应用于计算机设备为例进行说明,包括以下步骤:
101、获取流程图语法文本,并识别所述流程图语法文本中的多个字符串信息。
其中,所述流程图语法文本为基于标记语言语法编写的文本,可以为架构师基于markdown语法编写的文本,其允许人们使用易读易写的纯文本格式编写软件项目的详细流程图。此外,字符串信息是由数字、字母、下划线组成的一串字符,可以用于编程,概念说明、函数解释。
具体的,计算机设备可以基于获取到的流程图语法文本,识别出流程图语法文本中全部的字符串信息,并将获取的字符串信息存储于本地。
102、从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字。
其中,关键字字符串可以为markdown语法的关键字,如:op=>operation。而目标代码关键字可以为软件项目的开发过程中所使用的编程语言的目标代码关键字,如java语言的目标代码关键字。
具体的,可以将常用的markdown语法的参照关键字字符串存储于数据库中,当需要对流程图语法文本中的字符串信息进行筛选时,可以将markdown语法的字符串信息逐个与数据库中的markdown语法的参照关键字字符串进行比对,当有字符串信息与数据库中的markdown语法的参照关键字字符串相同时,将该字符串信息确定为与参照关键字字符串对应的关键字字符串。例如,若流程图语法文本中的一个字符串信息为“con=>condition”,而数据库中存储有“con=>condition”的参照关键字字符串,则将该字符串信息确定为与“con=>condition”对应的关键字字符串。进一步的,可以将常用的markdown语法的参照关键字字符串与和该markdown语法的关键字字符串起到相同语法作用的java代码关键字映射存储于数据库内,当从流程图语法文本中筛选出markdown语法的关键字字符串时,可以在数据库中提取与该关键字字符串映射存储的java代码关键字,并将该java代码关键字确定为目标代码关键字。应当注意的是,本申请实施例中以java语言作为软件开发项目开发语言为例进行说明,现实中,其他的开发语言同样适用本实施例。
103、将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本。
其中,目标文本为记录有软件程序代码的文本文件。具体的,可以将流程图语法文本中的每个关键字字符串均替换为与该关键字字符串对应的目标代码关键字,得到目标文本。
104、基于所述目标文本,生成目标代码。
其中,所述目标文本包含所述目标代码的代码信息。
具体的,可以从目标文本中提取目标文本中记录的软件程序代码,对软件程序代码进行编译处理。若编译处理后有编译报错的代码段,则对编译报错的代码段进行修改,得到可供发布的目标代码。
本实施例提供的代码生成方法,首先识别出架构师基于标记语言语法,如markdown语法,编写的流程图语法文本内包含的字符串信息。然后,从识别出的字符串信息中筛选出属于markdown语法关键字的关键字字符串,并对属于markdown语法关键字的关键字字符串进行转换,得到属于软件开发项目开发语言的目标代码关键字。再后,将流程图语法文本中的关键字字符串替换为与关键字字符串对应的目标代码关键字,得到包含开发代码的目标文本。最后,将目标文本中的开发代码作为软件开发项目所用开发语言的代码。本申请能够将markdown语法的关键字翻译为软件开发项目所用开发语言的语法的关键字,进而将流程图信息转化成软件开发项目所用开发语言的开发代码,使开发人员不需要从无到有的进行编码,有效的提升了代码的编码效率,缩短了软件项目的开发周期。
在一个实施例中,步骤102所述的方法可以基于以下方式实现:首先,将所述流程图语法文本中的每个字符串信息分别与预设的关键字对照表进行比对,并在所述字符串信息中筛选出关键字字符串。其中,所述关键字对照表中记录有多种关键字字符串。具体的,可以将常用的markdown语法的关键字字符串以关键字对照表的方式存储于数据库中,在进行字符串信息进行筛选时,可以将从流程图语法文本中识别出的markdown语法的字符串信息逐个与数据库中关键字对照表记录的关键字字符串进行对比,当有流程图语法文本中的字符串信息与数据库中关键字对照表记录的关键字字符串相同时,将关键字对照表中与该字符串信息相同的关键字字符串确定为该字符串信息的关键字字符串。例如,若流程图语法文本中的一个字符串信息为“con=>condition”,而数据库中关键字对照表记录有“con=>condition”的关键字字符串,则将该字符串信息确定为与“con=>condition”对应的关键字字符串。然后,根据预设的关键字字符串与目标代码关键字之间的对照关系,得到与所述关键字字符串对应的目标代码关键字。
在上述实施例中,可以将常用的markdown语法的关键字字符串与和该markdown语法的关键字字符串起到相同语法作用的java代码关键字以语言转换对照表的方式存储于数据库内。其中,语言转换对照表中记录有多种关键字字符串,以及与每种关键字字符串对应的目标代码关键字。当从流程图语法文本中筛选出markdown语法的关键字字符串时,可以在数据库内语言转换对照表中提取与该关键字字符串映射存储的java代码关键字,并将该java代码关键字确定为目标代码关键字。作为示例,语言转换对照表中带有markdown语法的关键字字符串“con(yes)->e”以及与该关键字字符串对应的java代码关键字“if”,当从流程图语法文本中筛选出markdown语法的关键字字符串“con(yes)->e”时,可以在数据库内语言转换对照表中提取与该关键字字符串映射存储的java代码关键字“if”,并将“if”确定为关键字字符串“con(yes)->e”对应的目标代码关键字。在本申请的实施例中,基于预先设置的包含流程图语法常用关键字字符串的关键字对照表,从流程图语法文本中筛选出全部的流程图语法的关键字字符串,并基于预设的关键字字符串与目标代码关键字之间的对照关系得到与流程图语法关键字字符串对应的目标代码关键字,将确定出流程图语法文本中的流程图语法的关键字对应的软件项目开发所用的目标代码关键字,可以快速的定位出流程图语法文本中可以替换为目标代码关键字的字符串信息,为后续的语言代码转换提供转换基础。
在一个实施例中,在步骤104所述的基于所述目标文本,生成目标代码之前,所述方法还包括:首先,获取被替换为所述目标代码关键字的关键字字符串。具体的,可以在目标文本中定位出通过预设的关键字字符串与目标代码关键字之间的对照关系从数据库中提取的目标代码关键字,以及与该目标代码关键字具有对照关系的关键字字符串。随后,生成所述关键字字符串与所述目标代码关键字的对应关系,并对所述关键字字符串与所述目标代码关键字的对应关系进行显示。具体的,可以对目标文本中的每一个目标代码关键字进行标记,并标注与该目标代码关键字对应的关键字字符串。进一步的,可以将带有目标代码关键字标记以及标注有与每个目标代码关键字所对应的关键字字符串的目标文本文件进行显示,以供相关人员查阅,为后续的编译工作提供参考。作为示例,若目标文本中带有关键字字符串“con(yes)->e”替换成的目标代码关键字“if”,则可以对目标文本中的“if”进行高亮处理,并基于“con(yes)->e”对“if”进行标注。在本申请的实施例中,将带有目标代码关键字标记以及标注有与每个目标代码关键字所对应的关键字字符串的目标文本文件进行显示,可以便于开发人员对语言代码转换的结果进行分析,以便找出转换结果中可以进行优化的部分或转换错误的部分,对语言代码转换的结果进行检查并做进一步处理。
在一个实施例中,步骤104所述的方法可以基于以下方式实现:首先,基于预设的代码纠错规则,对所述目标文本中的代码信息进行异常筛查。其中,代码纠错规则可以为代码注释行占目标文本中目标代码总行数不能低于特定比例,判断目标文本中目标代码的代码注释行占目标文本中目标代码总行数的比例是否小于预设的数量阈值,当小于该数量阈值时,则判定异常筛查的结果为异常。同时,也可以为基于预设的死循环检测方法对目标文本中的代码信息进行异常筛查,判断代码信息是否出现死循环情况。然后,在所述代码信息的异常筛查的结果为正常的情况下,生成目标代码。在本申请的实施例中,可以在基于目标文本,生成目标代码之前对代码信息进行预先验证,提前检测代码信息是否存在代码错误。进一步的,可以对代码错误进行显示,以方便开发人员对软件程序代码进行编译处理。
在一个实施例中,所述基于预设的代码纠错规则,对所述目标文本中的代码信息进行异常筛查的方法可以基于以下方式实现:首先,识别所述代码信息中是否包含循环体关键字。其中,循环体关键字指在程序中需要反复执行某个功能而设置的循环结构的关键字。具体的,例如for(;;){}这就是一个简单的循环,“for(;;)”就是该循环体的循环体关键字,大括号内的就是循环体的代码内容,通过定位出代码信息中的循环体关键字,就可以定位出代码信息中的循环体。具体的,对目标文本中的代码信息进行读取,判断代码信息中是否包含循环体关键字并定位循环体关键字在代码信息中的位置。然后,当所述代码信息中包含所述循环体关键字时,定位所述循环体关键字对应的循环体。具体的,当代码信息存在循环体关键字时,基于对应于循环体关键字的大括号,确定循环体关键字对应的循环体。作为示例,若定位出循环体关键字“for(;;)”,得到与该循环体关键字对应的大括号内的内容为:
{system.out.println(“EuropenSheik”)}
此时,可以将for(;;){system.out.println(“EuropenSheik”)}作为循环体。然后,识别所述循环体所在的代码段是否构成死循环。具体的,提取所述循环体所在的代码段,并执行所述循环体中的代码片段,确定所述代码片段的执行时间。其中,可以将循环体中的代码通过代码编译器编译成可执行的代码文件,并将该可执行的代码文件输入到代码集成开发工具中的编译仿真验证环境中进行执行,获取该代码文件的执行时间。
作为示例,可以将代码段for(;;){system.out.println(“EuropenSheik”)}通过代码编译器编译成可执行的代码文件,将该代码文件输入到编译仿真验证环境中进行执行,获取该代码文件的执行时间。若所述执行时间不大于预设的时间阈值,则判定所述代码段不构成死循环。具体的,若该代码文件对应的循环体为死循环,则对该代码文件的执行将无法跳出循环,使编译仿真验证环境长时间的对该代码文件进行执行。当代码文件的执行时间大于时间阈值时,可以认定该循环体为死循环。进一步的,若所述代码段不构成死循环,则判定所述异常筛查的结果为正常。相应的,若所述代码段构成死循环,则可以停止基于目标文本中的代码信息生成目标代码。在本申请的实施例中,可以对生成的代码信息进行死循环检测,防止因带有死循环的代码信息被转化为目标代码,导致增加后续编译工作强度的情况发生。
在一个实施例中,在所述识别所述循环体中的代码段是否构成死循环之后,代码生成方法还包括:首先,若所述代码段构成死循环,则判定所述异常筛查的结果为异常。进一步的,若代码段构成死循环,则可以停止基于目标文本中的代码信息生成目标代码。然后,在所述目标文本中标记所述异常筛查的结果为异常的代码段,并发出报警提示信息。具体的,报警提示信息可以为音频提示信息、文字图像信息等,用于提醒相关工作人员对停止基于目标文本中的代码信息生成目标代码的状况进行问题排查。在本申请的实施例中,在异常筛查的结果为异常时,停止生成目标代码,并向相关工作人员发出提示信息,可以使相关工作人员及时的对异常情况进行处理。
本实施例提供的代码生成方法,能够将markdown语法的关键字翻译为软件开发项目所用开发语言的语法的关键字,生成包含软件开发项目所用开发语言的开发代码的代码信息,并对代码信息进行包括死循环检测在内的异常筛查,提前发现代码生成的异常,确保由流程图信息转化成软件开发项目所用开发语言的开发代码不会包含死循环的代码片段,够提升代码的编码效率,使开发人员不需要从无到有的进行编码,缩短软件项目的开发周期。
进一步的,作为图1所示方法的具体实现,本实施例提供了一种代码生成装置,如图2所示,该装置包括:文本识别模块21、关键字识别模块22、代码替换模块23和代码生成模块24。
文本识别模块21,可用于获取流程图语法文本,并识别所述流程图语法文本中的多个字符串信息,其中,所述流程图语法文本为基于标记语言语法编写的文本;
关键字识别模块22,可用于从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字;
代码替换模块23,可用于将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本;
代码生成模块24,可用于基于所述目标文本,生成目标代码,其中,所述目标文本包含所述目标代码的代码信息。
在具体的应用场景中,所述关键字识别模块22,还可具体可用于将所述流程图语法文本中的每个字符串信息分别与预设的关键字对照表进行比对,并在所述字符串信息中筛选出关键字字符串,其中,所述关键字对照表中记录有多种关键字字符串;根据预设的关键字字符串与目标代码关键字之间的对照关系,得到与所述关键字字符串对应的目标代码关键字。
在具体的应用场景中,所述代码生成模块24,还可具体用于基于预设的代码纠错规则,对所述目标文本中的代码信息进行异常筛查;在所述代码信息的异常筛查的结果为正常的情况下,生成目标代码。
在具体的应用场景中,所述代码生成模块24,还可具体用于识别所述代码信息中是否包含循环体关键字;当所述代码信息中包含所述循环体关键字时,定位所述循环体关键字对应的循环体;识别所述循环体中的代码段是否构成死循环;若所述代码段不构成死循环,则判定所述异常筛查的结果为正常。
在具体的应用场景中,所述代码生成模块24,还可具体用于取所述循环体,并执行所述循环体中的代码片段,确定所述代码片段的执行时间;若所述执行时间不大于预设的时间阈值,则判定所述代码段不构成死循环。
在具体的应用场景中,如图3所示,本装置还包括替换显示模块33,所述替换显示模块33具体可用于获取被替换为所述目标代码关键字的关键字字符串;生成所述关键字字符串与所述目标代码关键字的对应关系,并对所述关键字字符串与所述目标代码关键字的对应关系进行显示。
在具体的应用场景中,如图3所示,本装置还包括告警提示模块36,所述告警提示模块36具体可用于若所述代码段构成死循环,则判定所述异常筛查的结果为异常;在所述目标文本中标记所述异常筛查的结果为异常的代码段,并发出报警提示信息。
需要说明的是,本实施例提供的一种代码生成装置所涉及各功能单元的其它相应描述,可以参考图1中的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1所示的代码生成方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1所示的方法,以及图2和图3所示的代码生成装置实施例,为了实现上述目的,本实施例还提供了一种代码生成的实体设备,具体可以为个人计算机、服务器、智能手机、平板电脑、智能手表、或者其它网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1所示的方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的代码生成的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,首先,获取流程图语法文本,并识别所述流程图语法文本中的多个字符串信息,其中,所述流程图语法文本为基于标记语言语法编写的文本;然后,从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字;再后,将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本;最后,基于所述目标文本,生成目标代码,其中,所述目标文本包含所述目标代码的代码信息。与现有技术相比,能够将markdown语法的关键字翻译为软件开发项目所用开发语言的语法的关键字,进而将流程图信息转化成软件开发项目所用开发语言的开发代码,使开发人员不需要从无到有的进行编码,够提升代码的编码效率,缩短软件项目的开发周期。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种代码生成方法,其特征在于,所述方法包括:
获取流程图语法文本,并识别所述流程图语法文本中的多个字符串信息,其中,所述流程图语法文本为基于标记语言语法编写的文本;
从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字;
将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本;
基于所述目标文本,生成目标代码,其中,所述目标文本包含所述目标代码的代码信息。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字,包括:
将所述流程图语法文本中的每个字符串信息分别与预设的关键字对照表进行比对,并在所述字符串信息中筛选出关键字字符串,其中,所述关键字对照表中记录有多种关键字字符串;
根据预设的关键字字符串与目标代码关键字之间的对照关系,得到与所述关键字字符串对应的目标代码关键字。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标文本,生成目标代码之前,所述方法还包括:
获取被替换为所述目标代码关键字的关键字字符串;
生成所述关键字字符串与所述目标代码关键字的对应关系,并对所述关键字字符串与所述目标代码关键字的对应关系进行显示。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标文本,生成目标代码,包括:
基于预设的代码纠错规则,对所述目标文本中的代码信息进行异常筛查;
在所述代码信息的异常筛查的结果为正常的情况下,生成目标代码。
5.根据权利要求4所述的方法,其特征在于,所述基于预设的代码纠错规则,对所述目标文本中的代码信息进行异常筛查,包括:
识别所述代码信息中是否包含循环体关键字;
当所述代码信息中包含所述循环体关键字时,定位所述循环体关键字对应的循环体;
识别所述循环体所在的代码段是否构成死循环;
若所述代码段不构成死循环,则判定所述异常筛查的结果为正常。
6.根据权利要求5所述的方法,其特征在于,所述识别所述循环体所在的代码段是否构成死循环,包括:
提取所述循环体,并执行所述循环体中的代码片段,确定所述代码片段的执行时间;
若所述执行时间不大于预设的时间阈值,则判定所述代码段不构成死循环。
7.根据权利要求5所述的方法,其特征在于,所述识别所述循环体所在的代码段是否构成死循环之后,所述方法还包括:
若所述代码段构成死循环,则判定所述异常筛查的结果为异常;
在所述目标文本中标记所述异常筛查的结果为异常的代码段,并发出报警提示信息。
8.一种代码生成装置,其特征在于,所述装置包括:
文本识别模块,用于获取流程图语法文本,并识别流程图语法文本中的多个字符串信息,其中,所述流程图语法文本为基于标记语言语法编写的
关键字识别模块,用于从所述多个字符串信息中筛选出关键字字符串,并获取与所述关键字字符串对应的目标代码关键字;
代码替换模块,用于将所述关键字字符串替换为与所述关键字字符串对应的目标代码关键字,得到目标文本;
代码生成模块,用于基于所述目标文本,生成目标代码,其中,所述目标文本包含所述目标代码的代码信息。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427760.1A CN115794054A (zh) | 2022-11-15 | 2022-11-15 | 代码生成方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427760.1A CN115794054A (zh) | 2022-11-15 | 2022-11-15 | 代码生成方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794054A true CN115794054A (zh) | 2023-03-14 |
Family
ID=85437760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211427760.1A Pending CN115794054A (zh) | 2022-11-15 | 2022-11-15 | 代码生成方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794054A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663502A (zh) * | 2023-06-01 | 2023-08-29 | 上海同星智能科技有限公司 | 汽车开发用文本代码与图形代码的转换方法及转换系统 |
-
2022
- 2022-11-15 CN CN202211427760.1A patent/CN115794054A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663502A (zh) * | 2023-06-01 | 2023-08-29 | 上海同星智能科技有限公司 | 汽车开发用文本代码与图形代码的转换方法及转换系统 |
CN116663502B (zh) * | 2023-06-01 | 2023-11-28 | 上海同星智能科技有限公司 | 汽车开发用文本代码与图形代码的转换方法及转换系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046087B (zh) | 非接触式测试平台 | |
EP3433732B1 (en) | Converting visual diagrams into code | |
US8875110B2 (en) | Code inspection executing system for performing a code inspection of ABAP source codes | |
US8984485B2 (en) | Analysis of source code changes | |
Gottschalk et al. | Removing energy code smells with reengineering services | |
EP3021225B1 (en) | Automated configuration code based selection of test cases for payment terminals | |
US20140282373A1 (en) | Automated business rule harvesting with abstract syntax tree transformation | |
CN110704297B (zh) | 代码评审方法、装置、计算机设备及存储介质 | |
US20140157239A1 (en) | System and method for peer-based code quality analysis reporting | |
US9632754B2 (en) | Auto generation and linkage of source code to test cases | |
CN111507086B (zh) | 本地化应用程序中翻译文本位置的自动发现 | |
US20210182703A1 (en) | System and method for anti-pattern detection for computing applications | |
CN112015430A (zh) | JavaScript代码翻译方法、装置、计算机设备及存储介质 | |
KR101770292B1 (ko) | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 | |
CN111090641A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
JP6440895B2 (ja) | ソフトウェア分析装置及びソフトウェア分析方法 | |
CN115794054A (zh) | 代码生成方法、装置、存储介质及计算机设备 | |
CN113867704A (zh) | 一种代码测试处理方法、装置、电子设备及存储介质 | |
US20150120682A1 (en) | Automated recognition of patterns in a log file having unknown grammar | |
CN110543641B (zh) | 一种中外文信息对比方法及装置 | |
US20240004623A1 (en) | Syntax subtree code strengthening | |
US20220237108A1 (en) | Source traceability-based impact analysis | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN113961238A (zh) | 对象转换方法、装置及电子设备和存储介质 | |
CN113672512A (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 |