自动程序生成装置的制作方法

文档序号:6407901阅读:216来源:国知局
专利名称:自动程序生成装置的制作方法
技术领域
本发明涉及一种自动程序生成装置,该装置无需熟悉程序语言就可以在程序生成过程中产生一个源码程序。
一般地,当顾客需要从软件销售商那里购买一个程序时,他要向销售工程师说明工作内容并要求必需的处理内容。然后销售工程师将处理内容向系统工程师说明,系统工程师则根据处理内容来定义程序条件并进行基本而详细的设计。基于此详细的设计,程序员进行编码。
如上所述,生成源编码程序所需的过程可分为(1)由顾客向销售工程师转达处理内容;(2)由销售工程师向系统工程师转达处理内容,进行基本设计,然后根据基本设计进行程序详细部分和设计;(3)使程序进行最终编码。虽然步骤(1)未产生错误,但如果转达内容时步骤(2)和(3)中产生错误(比如遗漏一项),则由于以下原因很难找出错误。因为将详细的内容由系统工程师向程序员转达一项艰巨而繁重的工作,所以系统工程师仅转达给程序设计员必要的条件。得到必要的条件后,程序设计依据他/她自己的判断进行编码。在这种情况下,所获程序本身会提供一个布局、打印和图象显示内容,所有这些都不用于所予期的。
如上所述,一般程序生成过程需要很多步骤,这往往会发生错误,并且操作起来很费时间。
本发明的目的在于提供自动程序生成装置,该装置能够形成如工厂似的生产过程的程序生成过程,以便根据工业技术一致地生成准确,无错误的程序,并且使设计过程操作简单以便缩短程序生成时间。
为了达到上述发明目的,提供一个自动程序生成装置,它包括存储装置,用以存储许多骨架语句,每一骨架语句具有规则的,工作内容的固定处理项目的指令数据形成的格式,用于读出指定格式的骨架语句的装置,用于请求在读出骨架语句的未定义的指令区中按预定的顺序输入予定指令字的装置,和程序编码装置,用于确定将必要的指令数据输入到读出骨架语句的所有未定义指令区,并将所获得的结构进行编码以生成程序。
根据上述装置,当作为未定义指令部分的可变指令输入到具有满足顾客所需要的格式的骨架语句(永久指令组)时,就能自动产生一个具有准确编码的详细程序。
本发明的目的和优点将在以下描述中给出,在一定程度上,它们对于以下描述是显而易见的,或者可通过实施本发明来了解。本发明的其他目的和优点可以通过在所附加权利要求中特别指出的装置来实现并获得。
附图作为说明书的一部分,描述了本发明的最佳实施例并且与上述一般性描述和以下将对最佳实施例的详细描述一道说明本发明的原理。


图1是表示本发明一个实施例的基本配置的方框图;
图2是对图1中系统功能进行说明的视图;
图3A至3C是对本发明装置的应用进行说明的视图;
图4是对应用于本发明的装置中的骨架语句进行说明的视图;
图5是对本发明装置的操作进行说明的流程图;
图6是表示本发明的装置中使用的又一骨架语句的一部分视图;
图7是表示图6所示骨架语句的剩余部分的视图;
图8表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图9表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图10是表示图9中的骨架语句剩余部分的视图;
图11表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图12表示图11中骨架语句的剩余部分的视图;
图13表示在本发明的装置中使用的又一骨架语句的一部分为视图;
图14表示图13中骨架语句的剩余部分的视图;
图15表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图16表示在图15中骨架语句的剩余部分的视图;
图17表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图18表示在图17中骨架语句的剩余部分的视图;
图19表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图20表示在图19中骨架语句的剩余部分的视图;
图21表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图22表示在图21中骨架语句的剩余部分的视图;
图23表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图24表示在图23中骨架语句的剩余部分的视图;
图25表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图26表示在图25中骨架语句的剩余部分的视图;
图27表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图28表示在图27中骨架语句的剩余部分的视图;
图29表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图30表示在图29中骨架语句的剩余部分的视图;
图31表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图38表示在图37中骨架语句的剩余部分的视图;
图39表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图40表示在图39中骨架语句的剩余部分的视图;
图41表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图42表示在图41中骨架语句的剩余部分的视图;
图43表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图44表示在图43中骨架语句的剩余部分的视图;
图45表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图46表示在图45中骨架语句的剩余部分的视图;
图47表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图48表示在图47中骨架语句的剩余部分的视图;
图49表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图50表示在图49中骨架语句的剩余部分的视图;
图51表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图52表示在图51中骨架语句的剩余部分的视图;
图53表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图54表示在图53中骨架语句的剩余部分的视图;
图55表示在本发明的装置中使用的又一骨架语句的一部分的视图;
图56表示在图55中骨架语句剩余的部分的视图;
图57表示在本发明装置中使用的又一骨架语句的一部分的视图;
图58表示在图57中骨架语句的剩余部分的视图;
图59表示在本发明装置中使用的骨架语句一部分的视图;
图60表示在图59中骨架语句的剩余部分的视图;
图61表示在本发明装置中使用的骨架语句一部分的视图;和图62表示在图61中骨架语句剩余部分的视图。
参照附图,下面将描述本发明的最佳实施例。
图1表示本发明最佳实施例的整个设备的基本装置。作为操作单元的工作站200,骨架语句文件300、和选择文件400集中在程序生成部分100中,在程序生成部分100中的用程序语言生成的程序用自动编码部分500来编码,从而获得一个使用源码的机器语言程序。
以下描述各个部分。
具有予定格式和由相应于工作内容的永久指令,数据所组成的不同类型的骨架根据该工作内容被存储在骨架语句文件300中。也就是说,每个骨架是产生一个工作程序的基础。每一个骨架语句由其数据处理步骤是予定的指令的作业步区域和未定义指令的作业步区域所组成。骨架语句语言例如可以是RPG语言。当一个读出骨架语句菜单的命令输入工作站200时,在工作站200中的显示器201显示一个骨架语句组菜单。当指定一个所需的骨架语句ID时,程序生成部分100从骨架语句文件300中读出指定的骨架语句,并将读出的骨架语句储存在一个工作存储器中。
图2表示了给定程序X的所有作业步11。图2中被点划线围起来的作业步12构成了执行予定过程的骨架语句。
使用这一骨架语句12的程序是未完成的,所以指令数据被填充在未定义的部分中。为此,程序生成部分100请求操作者通过工作站200按予定的顺序将指令数据输入到未定义的部分。
操作者不用程序语言输入数据,而是利用键盘操作将数据作为这一系统中被分类和排列的字进行输入。程序生成部分100确定输入字,从选择文件400中读出相应的指令程序字(RPG)并将读出的字存储在骨架语句的未定义区域中。
因为既使在未定义的部分中也会使用予定的子程序,所以选择文件400具有一内部成份文件401和可变项文件402。例如内部成分文件401存储一个过程,它用来限制字符显示中的屏幕上显示字符的数量,存储另一过程它用来将日期数据转换力domincal年的数据或年代名等。变量项文件402存储屏幕格式,移动格式,输入检查标准,文件更新标准等的指定数据。
将变量项程序填入一个未定义区域时,程序生成部分100请求操作员根据予定的优先顺序将变量项程序填入下一个未定义区域。在这种情况下,程序生成部分100在显示工作单屏幕上发出申请,此屏幕有待指定的空区域。
图3A至3C表示填充按予定格式从键盘简单地输入的数据的程序,如图3A所示,在基本设计中,在屏幕上显示输入帧,从而启动一数据输入操作(A1步),键输入过程(A2步)以及传送和写操作(A3步)按步骤先后顺序执行。
更特别指出的是如图3B所示,帧显示数据从予定存储器地址中读出,并被传送到显示存储器(B1步)。然后产生光标数据并将其传送到显示存储器(B2步)。检查键输入(B3步)。键输入被传送到缓冲器和显示存储器(B4步)。运行光标处理使光标移到下一个写入位置(B5步),还需要一个确定是否数字位计数超过了予定计数(B7步)的过程。
在这程序生成中,予定作业步(骨架语句20)被图3B中的虚线所包围,其它作业步由可变部分组成,它可以根据用户需要的改变。如果图3C所示的帧被用户请求作为数据输入帧,则在B1步中必须指定帧模式。利用这指定就设置了显示存贮中的数据写入区域(B4步)。用于确定数字位置计数是否超过每行数据位置计数(B7步)的比较过程的参数亦被确定。
在光标生成过程中(步B2),如果有搜索在帧中的非记录部分,以便将光标数据传送到具有最小数字位置计数和最小计数的位置的程序,则光标数据可被确定。即使在一行确认按钮过程中(S6步),也可以这样进行编码,使得行返回过程在确认按钮的释放被确认时,被启动,否则流程到达步的B70。
当指定了这一骨架语句20时,请求数据输入以便设计帧的提示符显示在工作站200上。这一请求包括数字位置计数数据,横向块计数和垂直行计数。当填充了所有的请求数据,程序生成部分100就显示表示输入结束的信息。并执行编码过程。
帧,数据输入状态,输入数据请求信息和要输入的关键字等都显示屏幕上。因此,用户能够选择关键字以输入数值和字符,从而促进程序产生。
以上例子非常简单,它表示只有一个主要部分的程序的生成。但是,在实际编码中,需要更细微的步骤。
每一骨架语句本身的步骤数很大,在上述系统中,许多骨架语句存储在骨架语句文件300中。
在上述描述中,图2表示给一程序X的所有作业步11,图2中被点划线包围的部分被定义为以上所述的骨架语句。但是,在将这一骨架语句的数据存储在骨架语句文件中时,未定义部分13的区域确信浪费了存储容量,这就是说,骨架语句文件300的容量被浪费了。
如图4所示,在此系统中,表示未定义部分对应于这些未定义部分插入了13的标志,以便减少未定义部分13的容量。为此,即使骨架语句有大量可变部分和很大的未定义部分,它仍可以被压缩,并以小的容量存储到骨架语句文件300中去。
在程序生成期间,当从程序生成部分100读出骨架语句,以便用外部输入来填充标识部分时,所获得的程序就具有指定的长度。
当骨架语句被存储到工作存储器时,程序生成部分100就有了按程序步顺序查找标志的功能,当检测每个标志时,根据此标志数,请求数据输入到工作站200。程序生成部分100还有一个功能即确定转移指令是在骨架语句中还是额外的步骤。以便管理和改正转移指令地地址(步骤数)。当骨架语句的未定义部分填入了外部数据,转移地址(步骤)改变了,这一改变最终利用程序生成部分100的功能来校正。
图5是表示一操作的流程图。
流程开始于C1步,在程序生成部分100中,从骨架语句文件300装入读出的骨架语句,程序生成部分100通过顺序阅读骨架语句步骤(步骤C2和C3)递增地址,以便确认程序数据。程序生成部分100确定程序结束的数据是否出现(C4步)。若在C4步中没有出现,则程序生成部分100确定标志是否出现(C5步),如果标志被找到,则读取此标志对应的程序数据,并请求将数据输入到工作站200(C6步)请求方式属于工作图类型。这是一个对应于请求内容的固定格式。用户可以将请求可变项(数值和符号)只填充到工作站上显示的工作图的予定部分,若所有的请求项目都满足了,则条件等不会产生遗漏。也就是说,编码不因程序员而改变,而是能够一致地进行。
当完成了数据输入并检测了表示输入结束的键输入时(步C7),就根据在下一步(C8步)中进入用户规定的步数的加/减校正后面的骨架语句的步骤地址。后面的骨架语句步骤地址可以被变量项增加,或者可以部分地删去或减少一个不必要的程序。这个不必要的程序根据存储在标志的程序数据地址的请求项能够有选择地删去。
C8产生一个步骤地址管理图,它用于根据骨架语句的部分校正顺序管理原始骨架语句步骤(地址)和指令字的所有步骤(地址),这样一来,当外部数据填充到标志部分并且检测了程序结束数据时,流程前进列C9步,返回到生成程序的起始步。然后地址增大,将步骤进到确定是否在此位置中存在转移指令(C10和C12步)。若检测到转移指令,则此指令表示的转移目的的地址必须被更正。对已经管理了地址的步骤地址管理图进行存取,以便检测一专门的地址,该地址的转移目的地的地址将被改变,以检测具体地址,从而更正转移目的地址到一个新的转移目的地地址(C13步)。这样一来,可以顺序更正转移目的地地址。当检测到程序结束数据时,此数据输入过程结束(C14和C15步)。
上述描述的系统压缩并存储骨架语句步骤,以减少存储骨架语句用的容量,当可变项和成分项被加到标识部分时,转移指令的转移目的地地址改变了,所以系统具有转移目的地地址更正功能。
图6和图7表示通过部分的转换用于生成,例如顾客主文件程序的骨架语句得到的普通字形。骨架语句的步骤(地址)位于左端并且可变项和成分项输入到标识位置(未定义区域)。
图8表示通过部分地转换获得的程序,使得在骨架语句的标识位置中插入了可变项和成分项并对得到的结构进行编码而得到的普通字。左下的步骤1.00到29.00和33.00到35.00是用可变项自动生成的步骤。步骤30.00到32.00和40.00到43.00是用成分自动生成的步骤。步骤36.00到39.00和44.00到60.00是骨架语句中原来就有的步骤。
图9表示各种骨架语句。图9和10表示了一部分成批更新的骨架语句。图11和12也表示了一部分成批更新的骨架语句。图13和14也表示了另外一部分骨架语句。图15到62中的两幅图表示一个骨架语句的一部分。
综上所述,根据本发明程序生成过程可以是一个类似工厂生产的过程。根据工业技术可以一致地生成准确;无错误的程序。此外,设计步骤是简单的工作,缩短了程序生成的时间。
权利要求
1.自动程序生成装置,其特征在于包含存储装置300,存储多个骨架语句,每个骨架语句具有由工作内容的,固定处理项的指令数据形成的格式;读出指定格式的骨架语句的装置(100);请求按照予定顺序,在读出的骨架语句的未定义指令区域中输入予定指令字的装置(100);以及,程序编码装置(100,500)确定必需的指令数据输入到读出的骨架语句的所有未定义的指令区域,编码获得的结构,以便产生程序。
2.根据权利要求1的装置,其特征在于多个骨架语句被存储在所述存储装置中,使得相应于未定义区域的部分的地址被压缩,以便有效地利用所述存储装置的容量。
3.根据权利要求1的装置其特征在于进一步包含,当转移指令在指令字被插入到骨架语句的未定义区域的状态中存在于固定处理项中时,校正转移指令的转移目的地的地址的装置。
4.根据权利要求1的装置其在于所述程序编码装置进一步包含根据程序编码读出编码的程序数据逆向转换读出的编码的程序数据并自动地生成表示程序的结构和过程的程序文件的装置。
5.自动程序生成装置,其特征在于包括存储多个骨架语句的存储装置(300),多个骨架语句的每一个是用于生成程序的基础并具有用于其数据处理步骤是予定的指令的作业步区域以及用于未定义指令的作业步区域;显示表示相应于存储在所述存储装置中的多个骨架语句的工作内容的字符的显示装置;从键盘输入在所述显示装置上显示的工作内容的识别码的选择装置(200);根据从所述选择装置输入的识别码读出多个骨架语句中的任一个的读出装置(200,100),读出的骨架语句在程序生成部分中等待。通过所述显示装置显示和请求指令数据的输入请求装置(100),指令数据将填入未定义的作业步区域中并被包括在所述程序生成部分中等待的骨架语句中,以及,在等待的骨架语句的未定义的作业步区域中被填入了指令数据之后、将程序转换为机器语言的自动编码装置(100,500)。
6.根据权利要求5的装置,其特征在于所述输入请求装置包括顺序地检查等待的骨架语句的程序步,以便检测在程序中是否存在标志的装置(C1-C5);当标志被检测时,使所述显示装置显示指令数据输入请求的装置(C6)以及以指令数据响应输入请求而被输入时,根据步骤数目的变化校正等待的骨架语句的步骤地址的装置。
7.根据权利要求6的装置,其特征在于还包括与等待的骨架语句的步骤地址被校正时,建立表示校正之前的等待的骨架语句的步骤地址和校正之后的等待的骨架语句的步骤地址之间的对应的地址映象的装置(C8);检测等待的骨架语句的程序结束指令的装置(C4);在程序结束指令被检测后检测在等待的骨架语句的作业步中是否存在转移指令的装置(C12);以及当存在转移指令时参照地址映象校正由转移指令指定的转移目的地的地址的装置(C13)。
全文摘要
程序生成过程是类似工厂的生产过程,根据工业技术一致地生成准确,无错误地程序,设计过程需要简单工作,缩短了程序生成时间,骨架语句文件(300)存储具有预定格式和由规则的工作中的固定处理项的指令数据构成的骨架语句,以便响应各种类型的工作内容。程序生成部分(100)包括从工作站(200)读出指定格式的骨架语句的单元,请求通过显示单元以预定的顺序在读出的骨架语句的未定义指令区域中输入预定的指令字的单元以及确定必需的指令数据被输入到读出的骨架语句的未定义指令区域并使自动编码部分(500)编码所获得的结构,以便获得程序的程序编码单元。
文档编号G06F9/44GK1101143SQ9410773
公开日1995年4月5日 申请日期1994年5月20日 优先权日1993年5月21日
发明者松月忠雄 申请人:松月忠雄
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1