CN106371823A - 生成代码块的方法及装置 - Google Patents
生成代码块的方法及装置 Download PDFInfo
- Publication number
- CN106371823A CN106371823A CN201610704048.XA CN201610704048A CN106371823A CN 106371823 A CN106371823 A CN 106371823A CN 201610704048 A CN201610704048 A CN 201610704048A CN 106371823 A CN106371823 A CN 106371823A
- Authority
- CN
- China
- Prior art keywords
- flow chart
- process identification
- flowline
- operational order
- block
- 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/20—Software design
- G06F8/22—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种生成代码块的方法及装置,属于计算机技术领域。方法包括:获取流程图,流程图包括多个流程标识,每个流程标识为流程框或流程线;根据流程标识与操作指令之间的预设对应关系,获取每个流程标识对应的操作指令;根据流程标识中流程框与流程线的相对位置关系和流程标识对应的操作指令,生成代码块。本发明通过获取流程图,根据流程图中的多个流程标识与操作指令之间的预设对应关系,获取每个流程标识对应的操作指令,根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,能够根据流程图自动生成代码块,操作简单,缩短了开发周期,提高了开发效率,不容易出现错误,提高了生成的代码块的准确率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种生成代码块的方法及装置。
背景技术
近些年来,形形色色的应用程序层出不穷,为人们提供了便利的同时也为开发人员带来了挑战,由于应用程序由一个或多个代码块构成,如何提高应用程序中代码块的开发效率已成为开发人员关注的焦点。
根据流程图开发代码块是一种常用的开发方式,通常开发人员会先绘制流程图,流程图由多个流程框通过流程线连接而成,流程框表示操作指令,流程线表示操作指令的先后顺序。绘制好流程图之后,开发人员可以根据该流程图直观形象地确定要编写的操作指令以及这些操作指令的先后顺序,并通过在计算机上输入字符的方式人工编写出多条操作指令,编写的多条操作指令即可构成一个代码块。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
人工编写的过程操作较为繁琐,开发周期过长,开发效率很低,而且人工编写很容易出现错误,影响所生成代码块的准确率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种生成代码块的方法及装置。所述技术方案如下:
一方面,提供了一种生成代码块的方法,所述方法包括:
获取流程图,所述流程图包括多个流程标识,每个流程标识为流程框或流程线;
根据流程标识与操作指令之间的预设对应关系,获取所述每个流程标识对应的操作指令;
根据所述多个流程标识中流程框与流程线的相对位置关系和所述多个流程标识对应的操作指令,生成代码块。
在一种可能的实现方式中,所述流程图中的至少一个流程标识包括参数标识,所述根据所述多个流程标识中流程框与流程线的相对位置关系和所述多个流程标识对应的操作指令,生成代码块,包括:
将所述至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
根据所述多个流程标识中流程框和流程线的相对位置关系,确定所述多个流程标识对应的多条操作指令的先后顺序;
按照所述多条操作指令的先后顺序,将所述多条操作指令组合成所述代码块。
在另一种可能的实现方式中,所述流程图包括起始框,所述起始框中包括名称参数标识,所述方法还包括:
根据所述预设对应关系,获取所述起始框对应的创建方法指令;
将所述名称参数标识确定为所创建方法的名称。
在另一种可能的实现方式中,所述流程图还包括与所述起始框连接的起始流程线,所述起始流程线上包括输入参数标识,所述方法还包括:
获取所述起始流程线上的输入参数标识;
将所述输入参数标识作为所述方法的输入参数。
在另一种可能的实现方式中,所述流程图包括终止框,所述终止框中包括对象参数标识,所述方法还包括:
根据所述预设对应关系,获取所述终止框对应的返回指令;
将所述对象参数标识确定为所述返回指令的对象。
在另一种可能的实现方式中,所述流程图包括终止框以及与所述终止框连接的终止流程线,所述终止流程线上包括常量,所述方法还包括:
根据所述预设对应关系,获取所述终止框对应的返回指令;
将所述终止流程线上的常量确定为所述返回指令的对象。
在另一种可能的实现方式中,所述流程图包括判断框,所述方法还包括:
根据所述预设对应关系,获取所述判断框对应的判断指令。
在另一种可能的实现方式中,所述流程图包括循环流程线,所述方法还包括:
根据所述预设对应关系,获取所述循环流程线对应的循环指令。
另一方面,提供了一种生成代码块的装置,所述装置包括:
第一获取模块,用于获取流程图,所述流程图包括多个流程标识,每个流程标识为流程框或流程线;
第二获取模块,用于根据流程标识与操作指令之间的预设对应关系,获取所述每个流程标识对应的操作指令;
生成模块,用于根据所述多个流程标识中流程框与流程线的相对位置关系和所述多个流程标识对应的操作指令,生成代码块。
在一种可能的实现方式中,所述生成模块,包括:
添加单元,用于将所述至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
确定单元,用于根据所述多个流程标识中流程框和流程线的相对位置关系,确定所述多个流程标识对应的多条操作指令的先后顺序;
组合单元,用于按照所述多条操作指令的先后顺序,将所述多条操作指令组合成所述代码块。
在另一种可能的实现方式中,所述流程图包括起始框,所述起始框中包括名称参数标识,所述装置还包括:
所述第二获取模块,还用于根据所述预设对应关系,获取所述起始框对应的创建方法指令;
确定模块,用于将所述名称参数标识确定为所创建方法的名称。
在另一种可能的实现方式中,所述流程图还包括与所述起始框连接的起始流程线,所述起始流程线上包括输入参数标识;所述第二获取模块,还用于获取所述起始流程线上的输入参数标识;
所述确定模块,还用于将所述输入参数标识作为所述方法的输入参数。
在另一种可能的实现方式中,所述流程图包括终止框,所述终止框中包括对象参数标识,所述装置还包括:
所述第二获取模块,还用于根据所述预设对应关系,获取所述终止框对应的返回指令;
确定模块,还用于将所述对象参数标识确定为所述返回指令的对象。
在另一种可能的实现方式中,所述流程图包括终止框以及与所述终止框连接的终止流程线,所述终止流程线上包括常量,所述装置还包括:
所述第二获取模块,还用于根据所述预设对应关系,获取所述终止框对应的返回指令;
确定模块,还用于将所述终止流程线上的常量确定为所述返回指令的对象。
在另一种可能的实现方式中,所述流程图包括判断框,所述第二获取模块,还用于根据所述预设对应关系,获取所述判断框对应的判断指令。
在另一种可能的实现方式中,所述流程图包括循环流程线,所述第二获取模块,还用于根据所述预设对应关系,获取所述循环流程线对应的循环指令。
本发明实施例提供的技术方案带来的有益效果是:
通过获取流程图,根据流程图中的多个流程标识与操作指令之间的预设对应关系,获取每个流程标识对应的操作指令,根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,能够根据流程图自动生成代码块,操作简单,缩短了开发周期,提高了开发效率,并且不容易出现错误,提高了生成的代码块的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种生成代码块的方法流程图;
图2是本发明实施例提供的一种生成代码块的方法流程图;
图3是本发明实施例提供的一种流程图的示意图;
图4是本发明实施例提供的一种生成代码块的装置结构示意图;
图5是本发明实施例提供的一种生成代码块的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种生成代码块的方法流程图,如图1所示,该生成代码块的方法包括以下步骤:
101、获取流程图,该流程图包括多个流程标识,每个流程标识为流程框或流程线。
102、根据流程标识与操作指令之间的预设对应关系,获取该每个流程标识对应的操作指令。
103、根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,生成代码块。
本发明实施例提供的方法,通过获取流程图,根据流程图中的多个流程标识与操作指令之间的预设对应关系,获取每个流程标识对应的操作指令,根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,能够根据流程图自动生成代码块,操作简单,缩短了开发周期,提高了开发效率,并且不容易出现错误,提高了生成的代码块的准确率。
在一种可能的实现方式中,该流程图中的至少一个流程标识包括参数标识,根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,生成代码块,该方法还包括:
将该至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
根据该多个流程标识中流程框和流程线的相对位置关系,确定该多个流程标识对应的多条操作指令的先后顺序;
按照该多条操作指令的先后顺序,将该多条操作指令组合成该代码块。
在另一种可能的实现方式中,该流程图包括起始框,该起始框中包括名称参数标识,该方法还包括:
根据该预设对应关系,获取该起始框对应的创建方法指令;
将该名称参数标识确定为所创建方法的名称。
在另一种可能的实现方式中,该流程图还包括与该起始框连接的起始流程线,该起始流程线上包括输入参数标识,该方法还包括:
获取该起始流程线上的输入参数标识;
将该输入参数标识确定为该方法的输入参数。
在另一种可能的实现方式中,该流程图包括终止框,该终止框中包括对象参数标识,该方法还包括:
根据该预设对应关系,获取该终止框对应的返回指令;
将该对象参数标识确定为该返回指令的对象。
在另一种可能的实现方式中,该流程图包括终止框以及与该终止框连接的终止流程线,该终止流程线上包括常量,该方法还包括:
根据该预设对应关系,获取该终止框对应的返回指令;
将该终止流程线上的常量确定为该返回指令的对象。
在另一种可能的实现方式中,该流程图包括判断框,该方法还包括:
根据该预设对应关系,获取该判断框对应的判断指令。
在另一种可能的实现方式中,该流程图包括循环流程线,该方法还包括:
根据该预设对应关系,获取该循环流程线对应的循环指令。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种生成代码块的方法流程图,本发明实施例的执行主体为开发设备,如图2所示,该生成代码块的方法包括以下步骤:
201、获取流程图。
本发明实施例应用于开发设备,该开发设备可以为电脑、手机、平板电脑等,或者为其它智能设备,本发明实施例对于开发设备的种类不做限定。
具体地,该流程图可以由该开发设备上绘制而成,也可以由其它设备绘制后通过无线网络、数据线连接等方式传送给该开发设备,本发明实施例对该开发设备获取流程图的方式不做限定。
该流程图具有框架清晰、一目了然的特点,能够形象直观地表示代码块的功能和逻辑结构,开发设备可以根据该流程图开发代码块。
其中,该流程图包括多个流程标识,每个流程标识为流程框或流程线。
流程框用于表示操作指令,不同的流程框代表不同的操作指令。例如,该流程框可以包括起始框、终止框、判断框等等,起始框用于指示代码块开始,终止框用于指示代码块结束,判断框用于指示根据给定的判断条件进行判断。
该流程线为有方向的线段,用于连接不同的流程框,根据流程线的方向可以确定流程线所连接的不同流程框对应的操作指令的先后顺序。可选地,流程线可以用带有箭头的线段表示,该箭头的方向即为该线段的方向。
需要说明的是,该流程图中的每个流程标识均是指标记之后的流程框或流程线,在绘制流程图的过程中,开发人员通过对流程框或流程线添加不同的标记,保证了不同的流程标识可以对应于不同的操作指令,那么,在根据该流程图生成代码块时即可获取到不同流程标识对应的操作指令。其中,该标记可以为数字、字母、符号、图形等,本发明实施例对于标记的类型不做限定。
202、根据流程标识与操作指令之间的预设对应关系,获取该每个流程标识对应的操作指令。
其中,该预设对应关系包括多个流程标识以及与该多个流程标识对应的操作指令,根据该预设对应关系可以查询到任一流程标识对应的操作指令。该预设对应关系可以由开发人员预先确定,并存储于开发设备的数据库中。
那么,开发设备在获取流程图、要根据该流程图开发代码块时,可以获取流程图中的每个流程标识,根据该预设对应关系,确定每个流程标识对应的操作指令。
例如,该预设对应关系可以为如下表1所示,表示不同的流程标识内的标记不同,对应的操作指令也不同。
表1
流程标识内的标记 | 操作指令 |
add(a,b) | a+b |
sub(a,b) | a-b |
multi(a,b) | a×b |
divide(a,b) | a÷b |
203、将该流程图中至少一个流程标识包括的参数标识添加至对应的操作指令中。
该开发设备获取到多个流程标识对应的操作指令之后,即可根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,生成代码块。
对于任一条操作指令来说,该操作指令在执行的过程中需要对参数进行处理,如判断指令需要根据判断条件对参数进行判断,加法指令需要对多个参数进行求和。
为了确定操作指令的参数,该流程图中的至少一个流程标识包括参数标识,对于每个流程标识来说,该流程标识所包括的参数标识是指该流程标识对应的操作指令在执行时需要处理的参数。在根据该预设对应关系确定了多条操作指令之后,可以获取该流程图中至少一个流程标识包括的参数标识,将获取到的参数标识分别添加至该参数标识所在流程标识对应的操作指令中。
可选地,流程框包括参数标识,可以表示该参数标识是指该流程框对应的操作指令在执行时需要处理的参数。可选地,流程线包括参数标识时,如果该流程线对应于某一操作指令,则该参数标识为该流程线对应的操作指令在执行时需要处理的参数,或者,当该流程线未对应任一操作指令时,该参数标识可以为该流程线连接的下一个流程框对应的操作指令需要处理的参数。
其中,参数标识可以为常量、变量、表达式等不同的类型,本发明实施例对于参数标识的类型不做限定。
在上述步骤202-203中,该开发设备根据该预设对应关系和该流程图中的流程标识确定了代码块应包含的操作指令以及至少一个操作指令所包含的参数标识。而在实际应用中,针对于不同的流程标识或者不同形式的参数标识,该开发设备的处理方式也不同。
具体地,该步骤202和203可以包括以下步骤1-6中的任一项:
1、该流程图包括起始框,该起始框中包括名称参数标识,则根据预设对应关系,获取该起始框对应的创建方法指令,将该名称参数标识确定为所创建方法的名称。
其中,在该预设对应关系,该起始框与创建方法指令对应,该名称参数标识是在生成方法形式的代码块时使用的参数标识,用于表示待生成的方法的名称,因此,当开发设备获取到该起始框以及该起始框内的名称参数标识后,可以根据该预设对应关系,获取到该起始框对应的创建方法指令,并将所创建的方法以该名称参数标识命名。
图3是本发明实施例提供的流程图的示意图,参见图3,该起始框内的名称参数标识为panduan,表示要创建一个名称为panduan的方法,则该开发设备获取到的创建方法指令如下:
Panduan{
}
2、该流程图还包括与该起始框连接的起始流程线,该起始流程线上包括输入参数标识,则获取该起始流程线上的输入参数标识,将该输入参数标识确定为该方法的输入参数。
该流程图中可以包括多条流程线,该起始流程线是指与该起始框连接的流程线,实际上,该起始流程线的一端与该起始框连接,另一端会与另一流程框连接,且该起始流程线指向该另一流程框,该另一流程框对应的操作指令即为该方法的第一条操作指令。
如果该起始流程线上包括输入参数标识,表示需要向所生成的方法输入参数,因此,该开发设备获取该起始流程线上的输入参数标识,将该输入参数标识确定为该方法的输入参数,也即是,将该输入参数标识输入至该起始流程线连接的另一流程框对应的操作指令中。
3、该流程图包括终止框,该终止框中包括对象参数标识,则根据该预设对应关系,获取该终止框对应的返回指令,将该对象参数标识确定为该返回指令的对象。
其中,在该预设对应关系中,该终止框与返回指令对应,表示代码块的结束。该终止框中可以包括对象参数标识,表示代码块在运行结束时应返回的对象。因此,该开发设备根据该预设对应关系,获取该终止框对应的返回指令,确定该终止框中包括该对象参数标识时,将该对象参数标识确定为该返回指令的对象,也即是当指定代码块来调用该开发设备生成的代码块时,该代码块会将该对象参数标识返回给调用该代码块的指定代码块。
4、该流程图包括终止框以及与该终止框连接的终止流程线,该终止流程线上包括常量,则根据该预设对应关系,获取该终止框对应的返回指令,将该终止流程线上的常量确定为该返回指令的对象。
其中,在该预设对应关系中,该终止框与返回指令对应,表示代码块的结束。该终止流程线是指与该终止框连接的流程线。
该终止框中可以不包括对象参数标识,而在该终止流程线上包括常量,表示代码块在运行结束时应返回该常量。因此,该开发设备根据该预设对应关系,获取该终止框对应的返回指令,当确定该终止框中不包括对象参数标识,而在该终止流程线上包括常量时,返回该常量。
其中,该常量可以为整型、单精度浮点型、数组、字符串等多种类型,本发明实施例对该常量的类型不做限定。
5、该流程图包括判断框,则根据该预设对应关系,获取该判断框对应的判断指令。
在该预设对应关系中,判断框对应于判断指令,该判断框中可以包括判断条件,该开发设备可以根据该预设对应关系获取该判断框对应的判断指令,并将该判断框中的判断条件作为该判断指令的判断条件。
实际上,判断框可以连接多条流程线,该多条流程线连接不同的流程框,形成多个分支。判断框内包括给定的判断条件,表示代码块需要先根据该判断条件进行判断,再根据判断的结果执行某一流程线所连接流程框对应的操作指令。
因此,该开发设备根据该判断框获取到判断指令之后,根据该判断框的多条流程线所连接的流程框,获取对应的操作指令,获取到的操作指令即为该判断指令在多个不同判断结果的分支下应执行的操作指令。
参见图3,该判断框“a>b”连接两条流程线,这两条流程线分别连接两个流程框:“n=add(a,b)”和“n=sub(a,b)”,表示在a>b时执行n=add(a,b)的操作指令,在a≤b时执行n=sub(a,b)的操作指令。因此,该开发设备获取判断指令“if(a>b)操作指令1else操作指令2”,并将a>b时执行的操作指令n=add(a,b)填充至操作指令1的位置,将a≤b时执行的操作指令n=sub(a,b)填充至操作指令2的位置,从而得到判断语句如下:
if(a>b)
n=a+b
else n=a-b
6、该流程图包括循环流程线,则根据该预设对应关系,获取该循环流程线对应的循环指令。
在该预设对应关系中,该循环流程线对应循环指令,该开发设备可以根据该预设对应关系获取该循环流程线对应的循环指令。而且,该开发设备根据该循环流程线所连接的流程框,可以确定该循环指令中需要循环执行的一条或多条操作指令。
在一种可能的实现方式中,判断框的输出端口处连接两条流程线,其中一条流程线指向另一流程框,表示在第一判断结果下要执行该另一流程框对应的操作指令,而另一条流程线指向该判断框的入口,则该流程线即为循环流程线,表示在第二判断结果下需要重新进行判断。
因此,该开发设备根据该预设对应关系获取该循环流程线对应的循环指令以及该判断框对应的判断指令后,将该判断框对应的第二判断结果作为循环条件添加至循环指令中,表示当判断结果为第二判断结果时,需要重复执行该判断指令,而当判断结果为第一判断结果时,可以跳出循环。
204、根据该多个流程标识中流程框和流程线的相对位置关系,确定该多个流程标识对应的多条操作指令的先后顺序。
205、按照该多条操作指令的先后顺序,将该多条操作指令组合成该代码块。
其中,该流程框和流程线的相对位置关系根据流程线的方向确定,例如,流程线连接第一流程框和第二流程框,且流程线的方向指向第二流程框,则表示该第一流程框对应的操作指令位于该第二流程框对应的操作指令之前。
需要说明的第一点是,在生成代码块之后,开发设备可以直接输出代码块,或者,存储该代码块,在开发人员发出输出代码块的指令之后再将代码块输出。该输出可以包括将代码块输出到显示屏幕、打印机等外部设备,也可以将代码块输出到某个文档,本发明实施例对于输出代码块的时机和输出方式不做限定。
需要说明的第二点是,在生成一个代码块之后,该代码块可以构成一个应用程序,或者,还可以生成多个代码块,将该多个代码块构成一个应用程序,本发明实施例对此不做限定。
如图3所示,该流程图中,起始框包括名称参数标识panduan,用于表示所创建的方法名称为panduan,起始流程线上包括输入参数标识a,b。起始流程线后连接判断框,判断框中包括判断条件a>b,该判断框连接两条流程线,其中一条流程线连接流程框add(a,b),表示当a>b时要计算a和b的和值,另外一条流程线连接流程框sub(a,b),表示当a≤b时要计算a和b的差值。则根据该流程图生成的代码块可以为:
Panduan(a,b)
{
if(a>b)
n=a+b
else n=a-b
return n
end
}
本发明实施例提供的方法,通过获取流程图,根据流程图中的多个流程标识与操作指令之间的预设对应关系,获取每个流程标识对应的操作指令,根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,能够根据流程图自动生成代码块,操作简单,缩短了开发周期,提高了开发效率,并且不容易出现错误,提高了生成的代码块的准确率。
图4是本发明实施例提供的一种生成代码块的装置结构示意图,如图4所示,该装置包括第一获取模块401、第二获取模块402、生成模块403。
第一获取模块401,用于获取流程图,该流程图包括多个流程标识,每个流程标识为流程框或流程线;
第二获取模块402,用于根据流程标识与操作指令之间的预设对应关系,获取该每个流程标识对应的操作指令;
生成模块403,用于根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,生成代码块。
本发明实施例提供的装置,通过获取流程图,根据流程图中的多个流程标识与操作指令之间的预设对应关系,获取每个流程标识对应的操作指令,根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,能够根据流程图自动生成代码块,操作简单,缩短了开发周期,提高了开发效率,并且不容易出现错误,提高了生成的代码块的准确率。
图5是本发明实施例提供的一种生成代码块的装置结构示意图,参见图5,在一种可能的实现方式中,该生成模块404,包括:
添加单元4041,用于将该至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
确定单元4042,用于根据该多个流程标识中流程框和流程线的相对位置关系,确定该多个流程标识对应的多条操作指令的先后顺序;
组合单元4043,用于按照该多条操作指令的先后顺序,将该多条操作指令组合成该代码块。
在另一种可能的实现方式中,该流程图包括起始框,该起始框中包括名称参数标识,该装置还包括:
该第二获取模块402,还用于根据该预设对应关系,获取该起始框对应的创建方法指令;
确定模块403,用于将该名称参数标识确定为所创建方法的名称。
在另一种可能的实现方式中,该流程图还包括与该起始框连接的起始流程线,该起始流程线上包括输入参数标识;
该第二获取模块402,还用于获取该起始流程线上的输入参数标识;
该确定模块403,还用于将该输入参数标识作为该方法的输入参数。
在另一种可能的实现方式中,该流程图包括终止框,该终止框中包括对象参数标识,该装置还包括:
该第二获取模块402,还用于根据该预设对应关系,获取该终止框对应的返回指令;
确定模块403,还用于将该对象参数标识确定为该返回指令的对象。
在另一种可能的实现方式中,该流程图包括终止框以及与该终止框连接的终止流程线,该终止流程线上包括常量;
该第二获取模块402,还用于根据该预设对应关系,获取该终止框对应的返回指令;
该确定模块403,还用于将该终止流程线上的常量确定为该返回指令的对象。
在另一种可能的实现方式中,该流程图包括判断框,该第二获取模块402,还用于根据该预设对应关系,获取该判断框对应的判断指令。
在另一种可能的实现方式中,该流程图包括循环流程线,该第二获取模块402,还用于根据该预设对应关系,获取该循环流程线对应的循环指令。
需要说明的是:上述实施例提供的生成代码块的装置在生成代码块时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将开发设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的生成代码块的装置与生成代码块的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供了一种终端。该终端可以用于实施上述实施例所示出的生成代码块方法中的开发设备所执行的功能。具体来讲:
终端可以包括RF(Radio Frequency,射频)电路、包括有一个或一个以上计算机可读存储介质的存储器、输入单元、显示单元、传感器、音频电路、传输模块、包括有一个或者一个以上处理核心的处理器、以及电源等部件。本领域技术人员可以理解,上述终端结构并不构成对终端的限定,可以包括比上述终端结构更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器处理;另外,将涉及上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路还可以通过无线通信与网络和其他终端通信。该无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code DivisionMultiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short MessagingService,短消息服务)等。
存储器可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器和输入单元对存储器的访问。
输入单元可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元可包括触敏表面以及其他输入终端。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器,并能接收处理器发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元还可以包括其他输入终端。具体地,其他输入终端可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元可包括显示面板,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器以确定触摸事件的类型,随后处理器根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在本发明实施例中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路、扬声器,传声器可提供用户与终端之间的音频接口。音频电路可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路接收后转换为音频数据,再将音频数据输出处理器处理后,经RF电路以发送给比如另一终端,或者将音频数据输出至存储器以便进一步处理。音频电路还可能包括耳塞插孔,以提供外设耳机与终端的通信。
终端通过传输模块可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然本发明实施例示出了传输模块,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器是终端的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器可包括一个或多个处理核心;优选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
终端还包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理***与处理器逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本发明实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于实施上述实施例中开发设备所执行操作的指令:
获取流程图,该流程图包括多个流程标识,每个流程标识为流程框或流程线;
根据流程标识与操作指令之间的预设对应关系,获取该每个流程标识对应的操作指令;
根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,生成代码块。
在一种可能的实现方式中,该流程图中的至少一个流程标识包括参数标识,该根据该多个流程标识中流程框与流程线的相对位置关系和该多个流程标识对应的操作指令,生成代码块,包括:
将该至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
根据该多个流程标识中流程框和流程线的相对位置关系,确定该多个流程标识对应的多条操作指令的先后顺序;
按照该多条操作指令的先后顺序,将该多条操作指令组合成该代码块。
在另一种可能的实现方式中,该流程图包括起始框,该起始框中包括名称参数标识,该方法还包括:
根据该预设对应关系,获取该起始框对应的创建方法指令;
将该名称参数标识确定为所创建方法的名称。
在另一种可能的实现方式中,该流程图还包括与该起始框连接的起始流程线,该起始流程线上包括输入参数标识,该方法还包括:
获取该起始流程线上的输入参数标识;
将该输入参数标识作为该方法的输入参数。
在另一种可能的实现方式中,该流程图包括终止框,该终止框中包括对象参数标识,该方法还包括:
根据该预设对应关系,获取该终止框对应的返回指令;
将该对象参数标识确定为该返回指令的对象。
在另一种可能的实现方式中,该流程图包括终止框以及与该终止框连接的终止流程线,该终止流程线上包括常量,该方法还包括:
根据该预设对应关系,获取该终止框对应的返回指令;
将该终止流程线上的常量确定为该返回指令的对象。
在另一种可能的实现方式中,该流程图包括判断框,该方法还包括:
根据该预设对应关系,获取该判断框对应的判断指令。
在另一种可能的实现方式中,该流程图包括循环流程线,该方法还包括:
根据该预设对应关系,获取该循环流程线对应的循环指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种生成代码块的方法,其特征在于,所述方法包括:
获取流程图,所述流程图包括多个流程标识,每个流程标识为流程框或流程线;
根据流程标识与操作指令之间的预设对应关系,获取所述每个流程标识对应的操作指令;
根据所述多个流程标识中流程框与流程线的相对位置关系和所述多个流程标识对应的操作指令,生成代码块。
2.根据权利要求1所述的方法,其特征在于,所述流程图中的至少一个流程标识包括参数标识,所述根据所述多个流程标识中流程框与流程线的相对位置关系和所述多个流程标识对应的操作指令,生成代码块,包括:
将所述至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
根据所述多个流程标识中流程框和流程线的相对位置关系,确定所述多个流程标识对应的多条操作指令的先后顺序;
按照所述多条操作指令的先后顺序,将所述多条操作指令组合成所述代码块。
3.根据权利要求1所述的方法,其特征在于,所述流程图包括起始框,所述起始框中包括名称参数标识,所述方法还包括:
根据所述预设对应关系,获取所述起始框对应的创建方法指令;
将所述名称参数标识确定为所创建方法的名称。
4.根据权利要求3所述的方法,其特征在于,所述流程图还包括与所述起始框连接的起始流程线,所述起始流程线上包括输入参数标识,所述方法还包括:
获取所述起始流程线上的输入参数标识;
将所述输入参数标识作为所述方法的输入参数。
5.根据权利要求1所述的方法,其特征在于,所述流程图包括终止框,所述终止框中包括对象参数标识,所述方法还包括:
根据所述预设对应关系,获取所述终止框对应的返回指令;
将所述对象参数标识确定为所述返回指令的对象。
6.根据权利要求1所述的方法,其特征在于,所述流程图包括终止框以及与所述终止框连接的终止流程线,所述终止流程线上包括常量,所述方法还包括:
根据所述预设对应关系,获取所述终止框对应的返回指令;
将所述终止流程线上的常量确定为所述返回指令的对象。
7.根据权利要求1所述的方法,其特征在于,所述流程图包括判断框,所述方法还包括:
根据所述预设对应关系,获取所述判断框对应的判断指令。
8.根据权利要求1所述的方法,其特征在于,所述流程图包括循环流程线,所述方法还包括:
根据所述预设对应关系,获取所述循环流程线对应的循环指令。
9.一种生成代码块的装置,其特征在于,所述装置包括:
第一获取模块,用于获取流程图,所述流程图包括多个流程标识,每个流程标识为流程框或流程线;
第二获取模块,用于根据流程标识与操作指令之间的预设对应关系,获取所述每个流程标识对应的操作指令;
生成模块,用于根据所述多个流程标识中流程框与流程线的相对位置关系和所述多个流程标识对应的操作指令,生成代码块。
10.根据权利要求9所述的装置,其特征在于,所述生成模块,包括:
添加单元,用于将所述至少一个流程标识中每个流程标识包括的参数标识添加至对应的操作指令中;
确定单元,用于根据所述多个流程标识中流程框和流程线的相对位置关系,确定所述多个流程标识对应的多条操作指令的先后顺序;
组合单元,用于按照所述多条操作指令的先后顺序,将所述多条操作指令组合成所述代码块。
11.根据权利要求9所述的装置,其特征在于,所述流程图包括起始框,所述起始框中包括名称参数标识,所述装置还包括:
所述第二获取模块,还用于根据所述预设对应关系,获取所述起始框对应的创建方法指令;
确定模块,用于将所述名称参数标识确定为所创建方法的名称。
12.根据权利要求11所述的装置,其特征在于,所述流程图还包括与所述起始框连接的起始流程线,所述起始流程线上包括输入参数标识;
所述第二获取模块,还用于获取所述起始流程线上的输入参数标识;
所述确定模块,还用于将所述输入参数标识作为所述方法的输入参数。
13.根据权利要求9所述的装置,其特征在于,所述流程图包括终止框,所述终止框中包括对象参数标识,所述装置还包括:
所述第二获取模块,还用于根据所述预设对应关系,获取所述终止框对应的返回指令;
确定模块,还用于将所述对象参数标识确定为所述返回指令的对象。
14.根据权利要求9所述的装置,其特征在于,所述流程图包括终止框以及与所述终止框连接的终止流程线,所述终止流程线上包括常量,所述装置还包括:
所述第二获取模块,还用于根据所述预设对应关系,获取所述终止框对应的返回指令;
确定模块,还用于将所述终止流程线上的常量确定为所述返回指令的对象。
15.根据权利要求9所述的装置,其特征在于,所述流程图包括判断框,所述第二获取模块,还用于根据所述预设对应关系,获取所述判断框对应的判断指令。
16.根据权利要求9所述的装置,其特征在于,所述流程图包括循环流程线,所述第二获取模块,还用于根据所述预设对应关系,获取所述循环流程线对应的循环指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610704048.XA CN106371823A (zh) | 2016-08-22 | 2016-08-22 | 生成代码块的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610704048.XA CN106371823A (zh) | 2016-08-22 | 2016-08-22 | 生成代码块的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106371823A true CN106371823A (zh) | 2017-02-01 |
Family
ID=57878770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610704048.XA Pending CN106371823A (zh) | 2016-08-22 | 2016-08-22 | 生成代码块的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371823A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189758A (zh) * | 2018-07-26 | 2019-01-11 | 新华三技术有限公司 | 运维流程设计方法、装置和设备、运行方法、装置和主机 |
CN110515615A (zh) * | 2019-07-08 | 2019-11-29 | 深圳壹账通智能科技有限公司 | 业务逻辑代码自动生成方法、装置以及服务器 |
CN110737426A (zh) * | 2019-09-06 | 2020-01-31 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 程序块创建方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075208A (zh) * | 2007-07-19 | 2007-11-21 | 中兴通讯股份有限公司 | 应用于白盒路径测试的测试用例生成方法 |
CN101379466A (zh) * | 2006-03-09 | 2009-03-04 | 辅助计算机***株式会社 | 源程序编制支持*** |
CN102722610A (zh) * | 2012-05-29 | 2012-10-10 | 李姮乐 | 一种由流程图自动产生覆盖率代码的方法及装置 |
CN103365634A (zh) * | 2012-03-29 | 2013-10-23 | 苏州工业园区进一科技有限公司 | 将流程图中的控制过程转换为程序控制语句的方法 |
-
2016
- 2016-08-22 CN CN201610704048.XA patent/CN106371823A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101379466A (zh) * | 2006-03-09 | 2009-03-04 | 辅助计算机***株式会社 | 源程序编制支持*** |
CN101075208A (zh) * | 2007-07-19 | 2007-11-21 | 中兴通讯股份有限公司 | 应用于白盒路径测试的测试用例生成方法 |
CN103365634A (zh) * | 2012-03-29 | 2013-10-23 | 苏州工业园区进一科技有限公司 | 将流程图中的控制过程转换为程序控制语句的方法 |
CN102722610A (zh) * | 2012-05-29 | 2012-10-10 | 李姮乐 | 一种由流程图自动产生覆盖率代码的方法及装置 |
Non-Patent Citations (6)
Title |
---|
朱云等: "基于图文法的程序流程图与源代码自动转换", 《计算机工程与科学》 * |
牛锐: "从程序流程图自动生成 C 代码", 《数字技术与应用》 * |
王黎明等: "程序流程图到代码的自动生成算法", 《西安电子科技大学学报》 * |
钟志超等: "流程图与类C语言实时转换方法", 《东南大学学报》 * |
陈瑞森: "基于流程图编程的单片机软件***开发", 《智能计算机与应用》 * |
马鸣远: "《程序设计与C语言》", 31 March 2007, 西安电子科技大学出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189758A (zh) * | 2018-07-26 | 2019-01-11 | 新华三技术有限公司 | 运维流程设计方法、装置和设备、运行方法、装置和主机 |
CN109189758B (zh) * | 2018-07-26 | 2021-02-09 | 新华三技术有限公司 | 运维流程设计方法、装置和设备、运行方法、装置和主机 |
CN110515615A (zh) * | 2019-07-08 | 2019-11-29 | 深圳壹账通智能科技有限公司 | 业务逻辑代码自动生成方法、装置以及服务器 |
CN110737426A (zh) * | 2019-09-06 | 2020-01-31 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 程序块创建方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104142868B (zh) | 建立连接的方法及装置 | |
CN103390034B (zh) | 图片展示的方法、装置、终端及服务器 | |
CN104978115A (zh) | 内容显示方法及装置 | |
CN106502906A (zh) | 一种测试应用程序的方法和装置 | |
CN106068020A (zh) | 异常状态提示方法及装置 | |
CN106658354B (zh) | 一种数据传输方法及设备 | |
CN104135728B (zh) | 网络连接方法及装置 | |
CN106649010A (zh) | 一种终端设备测试方法及终端设备 | |
CN104199596B (zh) | 场景界面切换方法及装置 | |
CN104301504A (zh) | 消息查看方法、装置和移动终端 | |
CN106603548A (zh) | 应用程序的登录方法及移动终端 | |
CN106254910A (zh) | 一种记录图像的方法和装置 | |
CN104699501B (zh) | 一种运行应用程序的方法及装置 | |
CN106385485A (zh) | 通话录音方法、装置及移动终端 | |
CN104423822A (zh) | 录制自动化测试脚本的方法及装置 | |
CN105933944A (zh) | 4g网络的优化使用方法、装置及移动终端 | |
CN104581993A (zh) | 无线连接建立的方法、数据传输的方法以及终端 | |
CN106371823A (zh) | 生成代码块的方法及装置 | |
CN105635553A (zh) | 一种图像拍摄方法和装置 | |
CN105808043A (zh) | 一种终端应用的设置方法和移动终端 | |
CN104135396B (zh) | 显示网速信息的方法、装置及终端 | |
CN103631592A (zh) | 一种显示资源的配置、调用方法、装置及设备 | |
CN105787982A (zh) | 一种制作电子书的方法和装置 | |
CN105978084A (zh) | 一种电子设备进行充电的方法和装置 | |
CN105792299A (zh) | 3g网络的优化使用方法、装置及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510660 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17 Applicant after: Guangzhou KuGou Networks Co., Ltd. Address before: 510000 B1, building, No. 16, rhyme Road, Guangzhou, Guangdong, China 13F Applicant before: Guangzhou KuGou Networks Co., Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170201 |
|
RJ01 | Rejection of invention patent application after publication |