JP4988226B2 - PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM - Google Patents

PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM Download PDF

Info

Publication number
JP4988226B2
JP4988226B2 JP2006059020A JP2006059020A JP4988226B2 JP 4988226 B2 JP4988226 B2 JP 4988226B2 JP 2006059020 A JP2006059020 A JP 2006059020A JP 2006059020 A JP2006059020 A JP 2006059020A JP 4988226 B2 JP4988226 B2 JP 4988226B2
Authority
JP
Japan
Prior art keywords
program
source program
divided
division
generating
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.)
Active
Application number
JP2006059020A
Other languages
Japanese (ja)
Other versions
JP2007241364A (en
JP2007241364A5 (en
Inventor
勲 上田
Original Assignee
キヤノンソフトウェア株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by キヤノンソフトウェア株式会社 filed Critical キヤノンソフトウェア株式会社
Priority to JP2006059020A priority Critical patent/JP4988226B2/en
Publication of JP2007241364A publication Critical patent/JP2007241364A/en
Publication of JP2007241364A5 publication Critical patent/JP2007241364A5/ja
Application granted granted Critical
Publication of JP4988226B2 publication Critical patent/JP4988226B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータで実行するプログラムを生成するプログラム生成制御に関する。   The present invention relates to program generation control for generating a program to be executed by a computer.

一般に、システム開発作業は、CASE(Computer Aided Software Engineering)ツール等のプログラム自動生成ツールを用いてソースプログラムを自動生成することによって、効率化されてきている。   In general, system development work has been made more efficient by automatically generating a source program using an automatic program generation tool such as a CASE (Computer Aided Software Engineering) tool.

その例として、特許文献1は、データ項目(定義情報)や業務ルールを指定することにより、画面プログラムを含む基本的業務ロジック(ソースプログラム)を自動生成することを開示している。特許文献1では、利用者がプログラミングの知識が無くても、業務アプリケーションに関するソースプログラムを作成することができることが記載されている。
特開2004−265278号公報
As an example, Patent Document 1 discloses that basic business logic (source program) including a screen program is automatically generated by designating data items (definition information) and business rules. Patent Document 1 describes that a source program related to a business application can be created without a user's knowledge of programming.
JP 2004-265278 A

しかしながら、従来のプログラム自動生成ツールを用いることによって生成されたソースプログラムは、一般に冗長であり、指定された定義情報に応じてソースプログラムのサイズが大きくなってしまう。   However, a source program generated by using a conventional program automatic generation tool is generally redundant, and the size of the source program increases according to the specified definition information.

このように作成されたサイズが大きいソースプログラムは、以下の(1)〜(3)に示すような問題を生じる可能性があった。   The large source program created in this way may cause the following problems (1) to (3).

(1)ソースプログラムをコンパイルする際、コンパイラ毎にコンパイル可能なサイズ(以下、コンパイル制限値)がある。そのため、コンパイル制限値を越えるソースプログラムをコンパイルすると、コンパイルに失敗する恐れがある。   (1) When compiling a source program, there is a size that can be compiled for each compiler (hereinafter referred to as a compilation limit value). Therefore, if a source program exceeding the compilation limit value is compiled, compilation may fail.

例えば、特許文献1のように、特に生成されるプログラムがJSPの場合、(使用しているWebアプリケーションサーバによって)一旦Java(登録商標)ソースファイルに変換される。この場合、プログラム処理の多くの部分が1つのメソッド内に集中して変換されるため、Java(登録商標)コンパイラの「1メソッド64kB以内」という制限を越え易くなってしまう。即ち、コンパイルに失敗し易くなってしまう。   For example, as in Patent Document 1, when the generated program is JSP, it is once converted into a Java (registered trademark) source file (by the Web application server being used). In this case, since many parts of the program processing are concentrated and converted in one method, the limit of “one method within 64 kB” of the Java (registered trademark) compiler is easily exceeded. That is, the compilation is likely to fail.

そこで、このようなコンパイラの制限を越えてしまったソールファイルを、正常にコンパイルするために、利用者は、自動生成されたソースプログラムがコンパイル制限値内になるように、手動でソースプログラムを編集すること等が考えられる。   Therefore, in order to successfully compile a source file that exceeds the compiler limit, the user manually edits the source program so that the automatically generated source program is within the compilation limit value. It may be possible to do so.

(2)しかしながら、手動で編集することは非常に煩雑である。さらに、CASEツール等のプログラム自動生成ツールは、一般的にプログラミングの知識に乏しい利用者であってもプログラムを作成できるように供されたものであり、そのような利用者が手動で編集することは困難である。また、該利用者が手動で編集することによって、プログラムの品質を劣化させてしまう可能性もある。   (2) However, manual editing is very complicated. Furthermore, automatic program generation tools such as the CASE tool are provided so that even a user who is generally poor in programming knowledge can create a program, and such a user can edit it manually. It is difficult. In addition, manual editing by the user may degrade the quality of the program.

(3)利用者がソースプログラムを手動で変更することによって、CASEツールが維持するリソース間の関連付け情報の整合性を乱し、更には、動作しなくなる恐れがある。よって、動作保証の観点から、利用者が手動でソースプログラムを変更することを禁止しているシステムも多い。   (3) When the user manually changes the source program, the consistency of the association information between resources maintained by the CASE tool may be disturbed, and further, the user may not operate. Therefore, from the viewpoint of operation guarantee, there are many systems in which the user is prohibited from changing the source program manually.

このため、利用者は、例えば、本来1画面に収まっていた画面入出力項目を複数画面に分けて設計し直し、正常にコンパイル出来るようにしなければならない。このような制限を加えられることにより、プログラムやシステムを自由な発想で設計することが困難となる。   For this reason, for example, the user must redesign the screen input / output items originally contained in one screen into a plurality of screens so that they can be normally compiled. By adding such restrictions, it becomes difficult to design programs and systems with free ideas.

本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、ソースプログラムサイズに起因するソースプログラムから機械語への翻訳の失敗の発生を防ぐようなソースプログラムを自動作成する仕組を提供することである。   The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to automatically execute a source program that prevents the occurrence of a translation failure from the source program to the machine language due to the size of the source program. It is to provide a mechanism to create.

本発明は、ソースプログラムを生成するプログラム生成装置であって、ソースプログラム内の分割してコンパイル可能なエリアを識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段と、画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段と、前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段と、前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段と、前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段とを有することを特徴とする。 The present invention is a program generation apparatus that generates a source program, and stores a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program. A first source program including the divided area start mark and the divided area end mark is generated from the means, user definition information input in advance for defining a screen, and a program template stored in the storage means. A source program generation unit and a specification for identifying a compilable area identified by the division area start mark and the division area end mark included in the first source program generated by the first source program generation unit as a division unit program It means, by the specifying means By using a plurality of divided unit program to be constant, and a second source program generating means for generating a second source program data size that does not exceed a predetermined limit value, the generated by the second source program generation means 2 A program for taking in a source program has a third source program generating means for generating a third source program replaced as a substitute for the divided portion of the first source program corresponding to the second source program. And

本発明によれば、コンパイル制限値の制約を意識しなくても、設計者の自由な発想の下でシステム設計を行うことができ、ソースプログラムから機械語への翻訳の失敗を防ぐようなソースプログラムを容易に作成することができる。   According to the present invention, it is possible to design a system under the free idea of the designer without being aware of the restrictions on the compilation limit value, and to prevent the failure of translation from the source program into the machine language. Programs can be created easily.

また、生成されるプログラム構造を意識しなくても、設計者の自由な発想の下でシステム設計を行うことができ、効率的にソースプログラムから機械語への翻訳が可能なソースプログラムを容易に作成できる効果を奏する。   In addition, it is possible to design a system based on the designer's free idea without being conscious of the generated program structure, and to easily create a source program that can be efficiently translated from a source program to a machine language. There is an effect that can be created.

〔第1実施形態〕
以下、図面を用いて本発明のプログラム生成装置の実施形態について説明する。
[First Embodiment]
Hereinafter, embodiments of the program generation device of the present invention will be described with reference to the drawings.

本実施形態では、アプリケーションシステムを構成するプログラムや画面等のソフトウェアを自動生成するCASEツール環境において、特にJSPプログラムの自動生成について説明する。なお、本実施形態では、「プログラム」とはソースプログラムを示すものとする。   In the present embodiment, automatic generation of a JSP program will be described particularly in a CASE tool environment that automatically generates software such as programs and screens constituting an application system. In the present embodiment, the “program” indicates a source program.

また、CASEツール環境の説明は、本発明と直接関係のある部分についてのみ言及する。   In addition, the description of the CASE tool environment refers only to the portion directly related to the present invention.

図1は、本発明の一実施形態を示すプログラム生成装置のシステム全体を示す構成図である。   FIG. 1 is a block diagram showing the entire system of a program generation apparatus showing an embodiment of the present invention.

図1において、103はプログラム生成装置であり、パーソナルコンピュータ等の情報処理装置で構成される。102はキーボード,ポインティングデバイス(マウス等)の入力装置である。101はディスプレイ等の表示装置である。104はハードディスクドライブ(HDD)等の外部記憶装置である。   In FIG. 1, reference numeral 103 denotes a program generation device, which is composed of an information processing device such as a personal computer. Reference numeral 102 denotes an input device for a keyboard and a pointing device (such as a mouse). Reference numeral 101 denotes a display device such as a display. Reference numeral 104 denotes an external storage device such as a hard disk drive (HDD).

図1に示すように、ユーザは表示装置101を閲覧し、入力装置102を操作することによってプログラム自動生成命令を指示する。そして、プログラム自動生成命令の指示を受けたプログラム生成装置103は、全体制御部105でJSPプログラムの自動生成を行う。以下、詳細に説明する。   As shown in FIG. 1, the user browses the display device 101 and operates the input device 102 to instruct a program automatic generation command. Then, the program generation apparatus 103 that has received the instruction of the automatic program generation instruction causes the overall control unit 105 to automatically generate the JSP program. Details will be described below.

まず、プログラム自動生成命令を受けた画面制御部106は、プログラム生成部107に処理を委譲する。プログラム生成部107は、外部記憶装置(HDD)104に格納されるJSPプログラムテンプレート110(後述する図6)を元に、予め入力設定されたユーザ定義情報109(後述する図5)を適用し、JSPプログラムを生成し、JSPプログラム111(後述する図7)として外部記憶装置104に格納する。   First, the screen control unit 106 that has received the program automatic generation command delegates the processing to the program generation unit 107. The program generation unit 107 applies user-defined information 109 (FIG. 5 described later) that is input and set in advance based on the JSP program template 110 (FIG. 6 described later) stored in the external storage device (HDD) 104. A JSP program is generated and stored in the external storage device 104 as a JSP program 111 (FIG. 7 described later).

JSPプログラム111の作成後、プログラム生成部107は、プログラム分割部108に処理を委譲する。そして、プログラム分割部108は、JSPプログラム111を分割し、複数の分割プログラムを作成し、分割後JSPプログラム112(後述する図9,図10)として外部記憶装置104に格納する。   After creating the JSP program 111, the program generation unit 107 delegates the processing to the program division unit 108. Then, the program dividing unit 108 divides the JSP program 111, creates a plurality of divided programs, and stores them in the external storage device 104 as the divided JSP programs 112 (FIGS. 9 and 10 described later).

なお、図1の構成は一例であり、用途や目的に応じて様々な構成例があることは云うまでもない。その他の構成例として、プログラム生成装置が、ネットワークと接続され、通信可能な不図示のパーソナルコンピュータ等の情報処理装置からプログラム自動生成命令を受けることによって、プログラムの自動生成を行うことも可能である。   Note that the configuration in FIG. 1 is an example, and it is needless to say that there are various configuration examples depending on applications and purposes. As another configuration example, the program generation apparatus can be automatically generated by receiving a program automatic generation instruction from an information processing apparatus such as a personal computer (not shown) that is connected to a network and can communicate. .

すなわち、本発明の機能が実現されるものであれば、単体の機器であっても、複数の機器からなるシステムであっても、ネットワークを介して処理が行われるシステムであっても本発明を適用することができる。   That is, as long as the functions of the present invention are realized, the present invention can be applied to a single device, a system composed of a plurality of devices, or a system that performs processing via a network. Can be applied.

また、ここで、ハードディスクドライブ(HDD)等の外部記憶装置104に記憶されたユーザ定義情報109やJSPプログラムテンプレート110、JSPプログラム111、分割後JSPプログラム112は、それぞれデータベース(DB)等に格納されているものとする。   Here, the user definition information 109, the JSP program template 110, the JSP program 111, and the divided JSP program 112 stored in the external storage device 104 such as a hard disk drive (HDD) are respectively stored in a database (DB) or the like. It shall be.

次に、図2を参照して、図1に示したプログラム生成装置103のハードウェア構成について説明する。   Next, the hardware configuration of the program generation device 103 shown in FIG. 1 will be described with reference to FIG.

図2は、図1のプログラム生成装置103のハードウェア構成を示すブロック図であり、図1と同一のものには同一の符号を付してある。   FIG. 2 is a block diagram showing a hardware configuration of the program generation apparatus 103 in FIG. 1, and the same components as those in FIG. 1 are denoted by the same reference numerals.

図2おいて、201はCPU(中央演算処理装置)201であり、ROM203或いは外部記憶装置104に記憶されている制御プログラムに基づいて、システムバス211に接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。   In FIG. 2, 201 is a CPU (Central Processing Unit) 201 that summarizes access to various devices connected to the system bus 211 based on a control program stored in the ROM 203 or the external storage device 104. It is the structure which controls automatically.

システムバス211には、CPU201の主メモリ、ワークエリア等として機能するRAM(ランダム・アクセス・メモリ)202が接続されている。ROM203或いは外部記憶装置104には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(以下、「OS」という。)プログラム、プログラム生成装置103が実行する処理を実現するために必要な各種プログラム等が記憶されている。   Connected to the system bus 211 is a RAM (Random Access Memory) 202 that functions as a main memory, work area, and the like of the CPU 201. In the ROM 203 or the external storage device 104, a BIOS (Basic Input / Output System), an operating system (hereinafter referred to as “OS”) program, which is a control program of the CPU 201, and processing executed by the program generation device 103 are realized. Various necessary programs are stored.

CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで図1に示した全体制御部105の機能及び各種動作を実現するものである。   The CPU 201 implements the functions and various operations of the overall control unit 105 shown in FIG. 1 by loading various programs necessary for execution of processing into the RAM 202 and executing the programs.

入力装置コントローラ206は、ポインティングデバイス(不図示)やキーボード(不図示)等の入力装置102からの入力を制御する。表示装置コントローラ205は、CRTディスプレイや液晶ディスプレイ等の表示装置101の表示を制御する。メモリコントローラ207は、外部記憶装置104とのアクセスを制御する。   The input device controller 206 controls input from the input device 102 such as a pointing device (not shown) or a keyboard (not shown). The display device controller 205 controls display on the display device 101 such as a CRT display or a liquid crystal display. The memory controller 207 controls access to the external storage device 104.

外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。   The external storage device 104 stores a boot program (not shown), various application programs, font data, user files, and the like as the various programs described above.

通信I/F(通信インターフェース)204は、通信回線212を介してパーソナルコンピュータ等の情報処理装置に接続することができ、双方向通信が可能である。   A communication I / F (communication interface) 204 can be connected to an information processing apparatus such as a personal computer via a communication line 212, and bidirectional communication is possible.

CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置101上でWYSIWYGを可能としている。また、CPU201は、表示装置101上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。   For example, the CPU 201 performs WYSIWYG on the display device 101 by executing an outline font rasterization process on a display information area in the RAM 202. Further, the CPU 201 opens various registered windows based on commands instructed by a mouse cursor (not shown) on the display device 101 and executes various data processing.

以下、図3〜図10を参照して、図1で示したプログラム生成装置103の全体制御部105で行われる処理全体について説明する。   Hereinafter, with reference to FIGS. 3 to 10, the entire processing performed by the overall control unit 105 of the program generation apparatus 103 illustrated in FIG. 1 will be described.

図3は、本発明における第1の制御処理手順の一例を示すフローチャートであり、図1で示したプログラム生成装置103の全体制御部105で行われる処理全体に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行する全体制御部105により実現される。なお、図中、S301〜S303は各ステップを示す。   FIG. 3 is a flowchart showing an example of a first control processing procedure according to the present invention, and corresponds to the entire processing performed by the overall control unit 105 of the program generating apparatus 103 shown in FIG. Note that the processing in this flowchart is realized by the overall control unit 105 in which the CPU 201 illustrated in FIG. 2 reads out the program stored in the external storage device 104 to the RAM 202 and executes the program. In the figure, S301 to S303 indicate each step.

ステップS301において、入力装置102から入力されるプログラム自動生成命令の指示を受けると、全体制御部105内の画面制御部106は、プログラム生成部107に処理を委譲し、ステップS302に処理を進める。   In step S301, upon receiving an instruction of an automatic program generation command input from the input device 102, the screen control unit 106 in the overall control unit 105 delegates the process to the program generation unit 107, and proceeds to step S302.

次に、ステップS302において、プログラム生成部107は、プログラム生成処理(詳細は図4に示す)を実行する。ステップ302の処理が終了すると、プログラム生成部107は、プログラム分割部108に処理を委譲し、ステップS303に処理を進める。   Next, in step S302, the program generation unit 107 executes a program generation process (details are shown in FIG. 4). When the process of step 302 is completed, the program generating unit 107 delegates the process to the program dividing unit 108 and proceeds to step S303.

ステップS303において、プログラム分割部108は、ステップ302で生成されたプログラムを分割する処理(詳細は図8に示す)を実行し、分割プログラムを生成し、処理を終了する。   In step S303, the program dividing unit 108 executes processing for dividing the program generated in step 302 (details are shown in FIG. 8), generates a divided program, and ends the processing.

図4は、本発明における第2の制御処理手順の一例を示すフローチャートであり、図3のステップS302に示したプログラム生成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム生成部107により実現される。なお、図中、S401〜S403は各ステップを示す。   FIG. 4 is a flowchart showing an example of the second control processing procedure in the present invention, and corresponds to the program generation processing shown in step S302 of FIG. Note that the processing of this flowchart is realized by the program generation unit 107 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S401 to S403 indicate steps.

プログラム生成部107は、まずステップS401において、外部記憶装置104に記憶されたユーザ定義情報109(図5)を抽出(取得)し、これをRAM202内に記憶する。   First, in step S <b> 401, the program generation unit 107 extracts (acquires) the user definition information 109 (FIG. 5) stored in the external storage device 104 and stores it in the RAM 202.

ここで、ユーザ定義情報109の一例を図5に示す。   An example of the user definition information 109 is shown in FIG.

図5は、図1に示したユーザ定義情報109の一例を示す図である。なお、ここでは一例としてアドレス帳の画面を定義したユーザ定義情報を示してある。   FIG. 5 is a diagram showing an example of the user definition information 109 shown in FIG. Here, as an example, user definition information defining an address book screen is shown.

図5に示すように、ユーザ定義情報109は、「IO」701、「IOITEM_ID」702、「IOITEM_NAME」703で構成される。   As illustrated in FIG. 5, the user definition information 109 includes “IO” 701, “IOITEM_ID” 702, and “IOITEM_NAME” 703.

「IO」701には「画面コード」が格納されている。また、「IOITEM_ID」702には「画面内の項目のコード」が格納されている。さらに、「IOITEM_NAME」703には「画面内の項目の表示名」が格納されている。   “IO” 701 stores “screen code”. In addition, “IOITEM_ID” 702 stores “codes of items in the screen”. Further, “IOITEM_NAME” 703 stores “display names of items in the screen”.

以下、図4のフローチャートの説明に戻る。   Hereinafter, the description returns to the flowchart of FIG.

次に、ステップS402において、プログラム生成部107は、外部記憶装置104に記憶されたJSPプログラムテンプレート110を抽出(取得)し、RAM202内に記憶する。   Next, in step S <b> 402, the program generation unit 107 extracts (acquires) the JSP program template 110 stored in the external storage device 104 and stores it in the RAM 202.

図4のステップS403において、プログラム生成部107は、ステップS401で取得したユーザ定義情報を、ステップS402で取得したJSPプログラムテンプレート110の所定の変数部分に、組み込むことによって、JSPプログラム(図7)を生成する。そして、生成されたJSPプログラムをJSPプログラム111として外部記憶装置104に格納し、処理を終了する。   In step S403 of FIG. 4, the program generation unit 107 incorporates the user definition information acquired in step S401 into the predetermined variable portion of the JSP program template 110 acquired in step S402, thereby incorporating the JSP program (FIG. 7). Generate. Then, the generated JSP program is stored in the external storage device 104 as the JSP program 111, and the process ends.

ここで、JSPプログラムテンプレート110の一例を図6に示す。   An example of the JSP program template 110 is shown in FIG.

図6は、図1に示したJSPプログラムテンプレート110の一例を示す図である。   FIG. 6 is a diagram showing an example of the JSP program template 110 shown in FIG.

JSPプログラムテンプレート110には予め所定の変数部分810,811があり、上述したユーザ定義情報109の「IOITEM_NAME」703,「IOITEM_ID」702を、該変数部分810,811に組み込むことによって、後述する図4のステップS403で、JSPプログラム111が生成される。   The JSP program template 110 has predetermined variable portions 810 and 811 in advance, and “IOITEM_NAME” 703 and “IOITEM_ID” 702 of the user definition information 109 described above are incorporated into the variable portions 810 and 811 to be described later. In step S403, the JSP program 111 is generated.

具体的に説明すると、図6の810に示す「<th>${ioitem.name}</th>」の変数部分(「${ioitem.name}」)には、図5の項目「IOITEM_NAME」703の列に格納されている「名前」や「電話番号」が組み込まれ、「<th>名前</th>」や「<th>電話番号</th>」になる。   More specifically, the variable portion (“$ {ioitem.name}”) of “<th> $ {ioitem.name} </ th>” indicated by 810 in FIG. 6 includes the item “IOITEM_NAME” in FIG. “Name” and “telephone number” stored in the column 703 are incorporated into “<th> name </ th>” and “<th> telephone number </ th>”.

また、図6の811,812に示す「<logic:iterate id="${io}" name="bean" property="ioitems" >」,「<td><bean:write name="${io}" property="${ioitem.id}"/></td>」の変数部分(「${io}」)には、図5の項目「IO」701の列に格納されている「address」が組み込まれる。また、811の変数部分(「${ioitem.id}」)には、図5の項目「IOITEM_ID」702の列に格納されている「name」や「tel」が組み込まれる。即ち、811は「<logic:iterate id="address" name="bean" property="ioitems" >」になる。また、812は「<td><bean:write name="address" property="name"/></td>」や「<td><bean:write name="address" property="tel"/></td>」になる。この結果、後述するJSPプログラムが生成されていく。   Also, "<logic: iterate id =" $ {io} "name =" bean "property =" ioitems ">", "<td> <bean: write name =" $ {io "shown in 811 and 812 of FIG. } "property =" $ {ioitem.id} "/> </ td>" variable part ("$ {io}") "address" stored in the column of the item "IO" 701 in FIG. Is incorporated. In addition, “name” and “tel” stored in the column of the item “IOITEM_ID” 702 in FIG. 5 are incorporated in the variable portion 811 (“$ {ioitem.id}”). That is, 811 becomes "<logic: iterate id =" address "name =" bean "property =" ioitems ">". 812 is “<td> <bean: write name =“ address ”property =“ name ”/> </ td>” or “<td> <bean: write name =“ address ”property =“ tel ”/> </ Td> ". As a result, a JSP program to be described later is generated.

図7は、図1に示したJSPプログラム111の一例を示す図である。   FIG. 7 is a diagram showing an example of the JSP program 111 shown in FIG.

また、図6に示すJSPプログラムテンプレート110には、「プログラム分割」処理303で用いる分割識別情報が予め組み込まれている。   In addition, in the JSP program template 110 shown in FIG. 6, division identification information used in the “program division” process 303 is incorporated in advance.

ここで分割識別情報とは、図6に示すように、JSPプログラムテンプレート110に予め組み込まれている「分割エリア開始マーク804」、「分割エリア終了マーク805」、「グローバルエリア開始マーク801」、「グローバルエリア終了マーク802」等である。   Here, as shown in FIG. 6, the division identification information includes “division area start mark 804”, “division area end mark 805”, “global area start mark 801”, “ Global area end mark 802 "or the like.

これらの分割識別情報801,802,804,805は、プログラムを分割しても矛盾が生じない箇所を識別するための情報である。すなわち、この分割識別情報のところで分割することが可能である。また、分割識別情報801,802,804,805は、コメント行として情報であり、プログラムそのものの機能に何ら影響を与えない情報である。   These pieces of division identification information 801, 802, 804, and 805 are information for identifying portions where no contradiction occurs even when the program is divided. That is, it is possible to divide at this division identification information. The division identification information 801, 802, 804, 805 is information as a comment line, and is information that does not affect the function of the program itself.

ここで、「分割エリア開始マーク804」及び「分割エリア終了マーク805」で挟まれたエリアを「分割単位エリア806」と呼び、この「分割単位エリア806」に含まれる情報(プログラム)を「分割単位プログラム」と呼ぶことにする。   Here, an area sandwiched between “division area start mark 804” and “division area end mark 805” is referred to as “division unit area 806”, and information (program) included in this “division unit area 806” is designated as “division unit area 806”. It will be called “unit program”.

また、「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」で挟まれたエリアを「グローバルエリア803」と呼び、「グローバルエリア803」に含まれる情報を「グローバル情報」と呼ぶことにする。グローバル情報は、後で説明する分割プログラムに共通して必要な情報である。   Further, an area sandwiched between “global area start mark 801” and “global area end mark 802” is called “global area 803”, and information included in “global area 803” is called “global information”. . The global information is information that is necessary for the divided programs described later.

図8は、本発明における第3の制御処理手順の一例を示すフローチャートであり、図3のステップS303に示したプログラム分割処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S501〜S512は各ステップを示す。   FIG. 8 is a flowchart showing an example of a third control processing procedure according to the present invention, and corresponds to the program division processing shown in step S303 of FIG. Note that the processing of this flowchart is realized by the program dividing unit 108 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S501 to S512 indicate each step.

プログラム分割部108は、まずステップS501において、ステップ302で生成されて外部記憶装置104等に記憶されたJSPプログラム111からプログラムコードを1エリア読み込む。具体的には、例えば、JSPプログラム111の先頭からプログラムコードを読み込む。その際に、分割識別情報である「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」、又は、「分割エリア開始マーク804」及び「分割エリア終了マーク805」を検知し、検知された分割識別情報で識別(特定)されたエリアのプログラムコードを読み込む。このようにして、「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」で特定される範囲(挟まれたエリア)の情報、又は、「分割エリア開始マーク804」及び「分割エリア終了マーク805」で特定される範囲(挟まれたエリア)の情報を読み込む。   First, in step S501, the program dividing unit 108 reads one area of program code from the JSP program 111 generated in step 302 and stored in the external storage device 104 or the like. Specifically, for example, the program code is read from the top of the JSP program 111. At this time, the division identification information “global area start mark 801” and “global area end mark 802” or “divided area start mark 804” and “divided area end mark 805” is detected, and the detected division is detected. The program code of the area identified (specified) by the identification information is read. In this way, information on the range (the sandwiched area) specified by “global area start mark 801” and “global area end mark 802”, or “divided area start mark 804” and “divided area end mark 805”. The information of the range (the sandwiched area) specified by “is read.

ステップS502では、プログラム分割部108は、ステップS501で読み込んだJSPプログラム111内の1エリアの情報が、「グローバル情報」か「分割単位プログラム」かを、分割識別情報に基づいて特定する。例えば、読み込んだ情報が「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」で特定される範囲(挟まれたエリア)の情報であれば「グローバル情報」と特定する。また、読み込んだ情報が「分割エリア開始マーク804」及び「分割エリア終了マーク805」で特定される範囲(挟まれたエリア)の情報であれば「分割単位プログラム」と特定する。   In step S502, the program dividing unit 108 specifies whether the information of one area in the JSP program 111 read in step S501 is “global information” or “division unit program” based on the division identification information. For example, if the read information is information in a range (interposed area) specified by “global area start mark 801” and “global area end mark 802”, it is specified as “global information”. Further, if the read information is information of a range (interposed area) specified by “divided area start mark 804” and “divided area end mark 805”, it is specified as “divided unit program”.

そして、ステップS503では、プログラム分割部108は、ステップ501で読み込まれた情報が「グローバル情報」であると判断した場合には、ステップ504に処理を進める。ステップS504では、プログラム分割部108は、ステップS501で読み込んだ情報を「グローバル情報」としてRAM202内に記憶し、ステップS512に処理を進める。   In step S <b> 503, if the program dividing unit 108 determines that the information read in step 501 is “global information”, the process proceeds to step 504. In step S504, the program dividing unit 108 stores the information read in step S501 as “global information” in the RAM 202, and advances the process to step S512.

一方、ステップS503で、プログラム分割部108が、ステップ501で読み込んだ情報が「グローバル情報」でないと判断した場合には、ステップ505に処理を進める。ステップS505では、プログラム分割部108は、ステップS501で読み込んだ情報が「分割単位プログラム」でないと判断した場合には、そのままステップS512に処理を進める。   On the other hand, if the program dividing unit 108 determines in step S503 that the information read in step 501 is not "global information", the process proceeds to step 505. In step S505, if the program dividing unit 108 determines that the information read in step S501 is not a “division unit program”, the program dividing unit 108 proceeds to step S512 as it is.

一方、ステップS505で、プログラム分割部108が、ステップS501で読み込んだ情報が「分割単位プログラム」であると判断した場合には、ステップS506に処理を進める。   On the other hand, if the program dividing unit 108 determines in step S505 that the information read in step S501 is a “division unit program”, the process proceeds to step S506.

ステップS506では、プログラム分割部108は、空の分割プログラム(ファイル)を外部記憶装置104内に新規に生成する。   In step S506, the program dividing unit 108 newly generates an empty divided program (file) in the external storage device 104.

そして、ステップS507では、プログラム分割部108は、ステップ506で作成した分割プログラム内に、RAM202内に記憶される「グローバル情報」を挿入する(図10の1101に示す)。   In step S507, the program dividing unit 108 inserts “global information” stored in the RAM 202 into the divided program created in step 506 (shown at 1101 in FIG. 10).

次に、ステップ508では、プログラム分割部108は、ステップS501で読み込んだ情報を「分割単位プログラム」として、ステップ507で「グローバル情報」が挿入された分割プログラム内に挿入する(図10の1102に示す)。   Next, in step 508, the program dividing unit 108 inserts the information read in step S501 as a “division unit program” into the divided program in which “global information” is inserted in step 507 (in step 1102 in FIG. 10). Show).

そして、ステップS509では、プログラム分割部108は、分割プログラムのファイルをクローズする。このように、図10に示すような分割プログラムが生成される。このように生成された分割プログラムを、以下、分割プログラム(子)と称する。なお、分割プログラム(子)は分割後JSPプログラム112の1つとして外部記憶装置104等に記憶される。   In step S509, the program dividing unit 108 closes the divided program file. In this way, a division program as shown in FIG. 10 is generated. The divided program generated in this way is hereinafter referred to as a divided program (child). The divided program (child) is stored in the external storage device 104 or the like as one of the divided JSP programs 112.

次に、ステップS510では、プログラム分割部108は、ステップS508で分割プログラム内に挿入した情報(分割単位プログラム)を、JSPプログラム111から削除する。   Next, in step S510, the program dividing unit 108 deletes the information (division unit program) inserted in the divided program in step S508 from the JSP program 111.

次に、ステップS511では、プログラム分割部108は、JSPプログラム111内のステップ510で削除された分割単位プログラムの部分に、ステップS506〜S509で生成された分割プログラム(子)のファイルへのインクルード文を挿入する(図9の1002に示す)。ここで、インクルード文には、分割プログラム(子)のファイルを特定する相対パス又は絶対パス等のパス情報を含む。   Next, in step S511, the program dividing unit 108 includes the statement included in the file of the divided program (child) generated in steps S506 to S509 in the portion of the divided unit program deleted in step 510 in the JSP program 111. Is inserted (shown at 1002 in FIG. 9). Here, the include statement includes path information such as a relative path or an absolute path that identifies the file of the split program (child).

次に、ステップ512において、プログラム分割部108は、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したか否かを判定し、未だ終了していないと判断した場合には、ステップS501に処理を戻す。上記の処理を、JSPプログラム111の読み込み終了まで繰り返すことにより、図10に示すような各分割単位プログラムに対応する分割プログラム(子)のファイルがそれぞれ生成され、且つ、図7に示したJSPプログラム111は図9に示すように編集される。このように編集されたJSPプログラム111を、以下、分割プログラム(親)と称する。   Next, in step 512, the program dividing unit 108 determines whether or not reading of all the division unit programs and global information of the JSP program 111 has been completed. The process returns to S501. By repeating the above processing until the reading of the JSP program 111 is completed, the files of the divided programs (children) corresponding to the divided unit programs as shown in FIG. 10 are respectively generated, and the JSP program shown in FIG. 111 is edited as shown in FIG. The JSP program 111 edited in this way is hereinafter referred to as a divided program (parent).

一方、ステップ512で、プログラム分割部108が、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したと判断した場合には、図示しないステップにおいて、上記ステップS510,S511の処理により編集生成された分割プログラム(親)も分割後JSPプログラム112として外部記憶装置104に保存し、処理を終了する。   On the other hand, if it is determined in step 512 that the program dividing unit 108 has finished reading all the division unit programs and global information of the JSP program 111, the program is edited by the processing in steps S510 and S511 in steps not shown. The generated divided program (parent) is also stored in the external storage device 104 as the divided JSP program 112, and the process is terminated.

以上の「プログラム分割」処理の結果、図9,図10に示す分割後JSPプログラム112が作成される。なお、図9,図10に示す例には、「グローバルエリア開始マーク801」,「グローバルエリア終了マーク802」,「分割エリア開始マーク804」,「分割エリア終了マーク805」は示していないが、これらはコメント行であるので、分割プログラムに含まれていても問題はない。   As a result of the above “program division” process, the post-division JSP program 112 shown in FIGS. 9 and 10 is created. 9 and FIG. 10, the “global area start mark 801”, “global area end mark 802”, “divided area start mark 804”, and “divided area end mark 805” are not shown. Since these are comment lines, there is no problem even if they are included in the split program.

図9は、図8に示したプログラム分割処理により生成される分割プログラム(親)の一例を示す図である。   FIG. 9 is a diagram showing an example of a divided program (parent) generated by the program dividing process shown in FIG.

図9に示す分割プログラム(親)は、どの分割プログラムでも必要となるグローバル情報1001を含む。さらに、分割プログラム(親)は、各分割プログラム(子)へのパス情報を含むインクルード文1002を分割したプログラムの数だけ含む。   The division program (parent) shown in FIG. 9 includes global information 1001 necessary for any division program. Further, the divided program (parent) includes the number of programs obtained by dividing the include statement 1002 including the path information to each divided program (child).

なお、図8に示したフローチャートでは、元のJSPプログラム111から、分割単位プログラムを削除し、分割プログラム(子)のインクルード文を挿入する方法で、図9の分割プログラム(親)を生成する方法について示した。しかし、図9に示した分割プログラム(親)も、新たにプログラムファイルを生成し、該生成したプログラムファイルに、グローバル情報と、各分割プログラム(子)のインクルード文を挿入する方法で生成するように構成してもよい。   In the flowchart shown in FIG. 8, a method of generating the split program (parent) of FIG. 9 by deleting the split unit program from the original JSP program 111 and inserting the include statement of the split program (child). Showed about. However, the divided program (parent) shown in FIG. 9 also generates a new program file and generates global information and an include statement of each divided program (child) in the generated program file. You may comprise.

図10は、図8に示したプログラム分割処理のステップS506〜S509で生成された分割プログラム(子)の一例を示す図である。   FIG. 10 is a diagram showing an example of the divided program (child) generated in steps S506 to S509 of the program dividing process shown in FIG.

図10に示す分割プログラム(子)には、グローバル情報1101、及び、分割単位プログラム1102が含まれる。   The division program (child) shown in FIG. 10 includes global information 1101 and a division unit program 1102.

以上示したように、本実施形態では、プログラム生成部107が、生成するファイル(JSPプログラム111)の分割可能な位置にマーク情報(グローバルエリア開始マーク801,グローバルエリア終了マーク802,分割エリア開始マーク804,分割エリア終了マーク805)を埋め込み、プログラム分割部108が、上記マークを利用してプログラムを分割する構成を有する。これにより、これまで困難であった自動生成されたプログラムの分割をユーザによる手作業による編集無しで容易に行うことができる。   As described above, in the present embodiment, the program generation unit 107 sets the mark information (global area start mark 801, global area end mark 802, divided area start mark) at a position where the file (JSP program 111) to be generated can be divided. 804 and a divided area end mark 805) are embedded, and the program dividing unit 108 is configured to divide the program using the mark. Thereby, it is possible to easily divide the automatically generated program, which has been difficult until now, without manual editing by the user.

従って、コンパイル制限値の制約,プログラム構造を意識しなくても、設計者の自由な発想の下でシステム設計を行うことができ、ソースプログラムから機械語への翻訳の失敗を防ぎ、また、手作業の編集によるシステム性能の劣化を防ぐようなソースプログラムを作成することができる等の効果を奏する。   Therefore, system design can be performed under the free idea of the designer without being aware of the restrictions on the compilation limit values and the program structure, preventing failure of translation from the source program to machine language. It is possible to create a source program that prevents deterioration of system performance due to work editing.

〔第2実施形態〕
上記第1実施形態では、分割プログラム単位でプログラムを分割する構成について説明した。なお、上記第1実施形態の構成の場合、プログラムの分割単位が小さくなってしまい、効率的にコンパイルすることができない場合が発生する恐れもある。本実施形態では、ユーザが指定する数の分割単位プログラム毎にプログラム分割を行うように構成する。以下、図11,図12を参照して詳細に説明する。
[Second Embodiment]
In the first embodiment, the configuration in which a program is divided in divided program units has been described. In the case of the configuration of the first embodiment, there is a possibility that the division unit of the program becomes small and there is a possibility that the program cannot be efficiently compiled. In the present embodiment, the program is divided for each number of division unit programs designated by the user. Hereinafter, a detailed description will be given with reference to FIGS.

図11は、本発明の第2実施形態におけるプログラム生成命令画面の一例を示す図である。このプログラム生成画面は、図1に示した表示装置101に表示されるものとする。   FIG. 11 is a diagram showing an example of a program generation instruction screen in the second embodiment of the present invention. This program generation screen is displayed on the display device 101 shown in FIG.

図11において、ダウンメニュー1501は、生成するプログラムを設定することができる。チェックボックス1502,1503は、「プログラム生成」処理(ステップ302)で生成されたプログラムを分割するか否かを設定することができる。なお、チェックボックス1502,1503は、排他的にチェック可能なチェックボックスであり、プログラムを分割する場合はチェックボックス1502にチェックを入れ、分割しない場合はチェックボックス1503にチェックを入れる。   In FIG. 11, a down menu 1501 can set a program to be generated. The check boxes 1502 and 1503 can set whether or not to divide the program generated in the “program generation” process (step 302). Note that check boxes 1502 and 1503 are check boxes that can be checked exclusively. When the program is divided, the check box 1502 is checked, and when the program is not divided, the check box 1503 is checked.

また、プルダウンメニュー1504は、分割単位プログラムをいくつまで分割プログラムに挿入することができるかを設定することができる。例えば、分割単位を「5」に設定すれば、分割単位プログラムが5つ挿入された分割プログラムを生成することができる。以上1501〜1504で設定された情報を設定情報という。   The pull-down menu 1504 can set how many division unit programs can be inserted into the division program. For example, if the division unit is set to “5”, a division program in which five division unit programs are inserted can be generated. Information set in steps 1501 to 1504 is referred to as setting information.

ユーザが入力装置102を用いて設定情報を設定し、「生成」ボタン601を押下すると、入力装置102は、プログラム生成装置103に対して設定された設定情報及びプログラム自動生成命令を送くる。これにより、プログラム生成装置103による処理(図3)が開始される。   When the user sets setting information using the input device 102 and presses the “Generate” button 601, the input device 102 sends the setting information and the program automatic generation command set to the program generating device 103. Thereby, the process (FIG. 3) by the program generation apparatus 103 is started.

以下、図12を参照して、本発明の第2実施形態におけるプログラム分割処理(図3のS303)について説明する。   Hereinafter, with reference to FIG. 12, the program division processing (S303 in FIG. 3) in the second embodiment of the present invention will be described.

図12は、本発明における第4の制御処理手順の一例を示すフローチャートであり、本発明の第2実施形態におけるプログラム分割処理(図3のS303)に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1201〜S1215は各ステップを示す。   FIG. 12 is a flowchart showing an example of a fourth control processing procedure in the present invention, and corresponds to the program division processing (S303 in FIG. 3) in the second embodiment of the present invention. Note that the processing of this flowchart is realized by the program dividing unit 108 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S1201 to S1215 indicate steps.

プログラム分割部108は、まずステップS1201において、図3のステップS302で生成されたプログラムを分割するか否かを設定情報(特に図11の1502,1503)に基づいて判断する。そして、プログラム分割部108が分割しないと判断した場合には、そのまま処理を終了する。   First, in step S1201, the program dividing unit 108 determines whether to divide the program generated in step S302 in FIG. 3 based on setting information (particularly 1502 and 1503 in FIG. 11). If the program dividing unit 108 determines not to divide, the process is terminated as it is.

一方、ステップS1201で、プログラム分割部108が、図3のステップS302で生成されたプログラムを分割すると判断した場合には、ステップS1202に処理を進める。   On the other hand, if the program dividing unit 108 determines in step S1201 to divide the program generated in step S302 of FIG. 3, the process proceeds to step S1202.

なお、ステップS1202〜S1206の処理は、図8のステップS501〜S505の処理と同一であるので説明は省略する。   Note that the processing in steps S1202 to S1206 is the same as the processing in steps S501 to S505 in FIG.

ステップS1206で、プログラム分割部108が、ステップS1202で読み込んだ情報が「分割単位プログラム」であると判断した場合には、ステップS1207に処理を進める。   If the program dividing unit 108 determines in step S1206 that the information read in step S1202 is a “division unit program”, the process proceeds to step S1207.

ステップS1207では、プログラム分割部108は、既に分割プログラム(ファイル)に挿入済みの分割単位プログラムが、設定情報(特に図11の1504)で設定された分割単位数未満であるか否かを判断する。そして、既に分割プログラム(ファイル)に挿入済みの分割単位プログラムが分割単位数未満であると判断した場合には、ステップ1210に処理を進める。   In step S1207, the program dividing unit 108 determines whether or not the number of division unit programs already inserted in the division program (file) is less than the number of division units set in the setting information (particularly 1504 in FIG. 11). . If it is determined that the number of division unit programs already inserted into the division program (file) is less than the number of division units, the process proceeds to step 1210.

ステップS1210では、プログラム分割部108は、処理中の分割プログラム(ファイル)があるか否かを判断する。そして、処理中の分割プログラム(ファイル)がないと判断した場合には、ステップ1211に処理を進める。   In step S1210, the program dividing unit 108 determines whether there is a divided program (file) being processed. If it is determined that there is no divided program (file) being processed, the process proceeds to step 1211.

ステップS1211では、プログラム分割部108は、空の分割プログラム(ファイル)を外部記憶装置104内に新規に生成する。   In step S1211, the program dividing unit 108 newly generates an empty divided program (file) in the external storage device 104.

そして、ステップS1212では、プログラム分割部108は、ステップ1211で作成した分割プログラム内に、RAM202内に記憶される「グローバル情報」を挿入する(図10の1101)。   In step S1212, the program dividing unit 108 inserts “global information” stored in the RAM 202 into the divided program created in step 1211 (1101 in FIG. 10).

次に、ステップ1213では、プログラム分割部108は、ステップS1202で読み込んだ情報を「分割単位プログラム」として、ステップ1212で「グローバル情報」が挿入された分割プログラム内に挿入する(図10の1102)。   Next, in step 1213, the program dividing unit 108 inserts the information read in step S1202 as the “division unit program” into the divided program in which “global information” is inserted in step 1212 (1102 in FIG. 10). .

次に、ステップS1214では、プログラム分割部108は、ステップS1212で分割プログラム内に挿入した情報(分割単位プログラム)を、JSPプログラム111から削除し、ステップS1215に処理を進める。   Next, in step S1214, the program dividing unit 108 deletes the information (division unit program) inserted in the divided program in step S1212 from the JSP program 111, and the process proceeds to step S1215.

また、ステップS1210で、プログラム分割部108が、処理中の分割プログラム(ファイル)があると判断した場合には、そのままステップS1213,S1214の処理を実行し、ステップS1215に処理を進める。   If the program dividing unit 108 determines in step S1210 that there is a divided program (file) being processed, the process of steps S1213 and S1214 is executed as it is, and the process proceeds to step S1215.

次に、ステップ1215において、プログラム分割部108は、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したか否かを判定し、未だ終了していないと判断した場合には、ステップS1202に処理を戻す。   Next, in step 1215, the program dividing unit 108 determines whether or not reading of all the division unit programs and global information of the JSP program 111 has been completed. The process returns to S1202.

また、ステップS1207で、プログラム分割部108が、既に分割プログラム(ファイル)に挿入済みの分割単位プログラムが、設定情報(特に図11の1504)で設定された分割単位数未満であると判断した場合には、ステップ1208に処理を進める。   If the program dividing unit 108 determines in step S1207 that the number of division unit programs already inserted in the division program (file) is less than the number of division units set in the setting information (particularly 1504 in FIG. 11). In step S1208, the process proceeds to step 1208.

ステップS1208では、プログラム分割部108は、処理中の分割プログラムのファイルをクローズする。これにより、分割プログラムが作成される。この分割プログラムを、分割プログラム(子)と称する。なお、分割プログラム(子)は分割後JSPプログラム112の1つとして外部記憶装置104等に記憶される。   In step S1208, the program dividing unit 108 closes the file of the divided program being processed. Thereby, a division program is created. This divided program is called a divided program (child). The divided program (child) is stored in the external storage device 104 or the like as one of the divided JSP programs 112.

次に、ステップS1209では、プログラム分割部108は、JSPプログラム111内に(ステップ1214で削除された分割単位プログラムの部分に)、ステップS1208でクローズした分割プログラム(子)のファイルへのインクルード文を挿入する(図9の1002)。ここで、インクルード文には、分割プログラム(子)のファイルを特定する相対パス又は絶対パス等のパス情報を含む。ステップS1209の処理が終了すると、ステップS1210〜S1214の処理を実行し、ステップS1215へ処理を進める。   Next, in step S1209, the program dividing unit 108 includes an include statement in the file of the divided program (child) closed in step S1208 in the JSP program 111 (in the portion of the division unit program deleted in step 1214). It is inserted (1002 in FIG. 9). Here, the include statement includes path information such as a relative path or an absolute path that identifies the file of the split program (child). When the process of step S1209 ends, the processes of steps S1210 to S1214 are executed, and the process proceeds to step S1215.

上記ステップS1202〜S1214の処理を、JSPプログラム111の読み込み終了まで繰り返すことにより、図10に示したような各分割単位プログラムに対応する分割プログラム(子)のファイルがそれぞれ生成され、且つ、図7に示したJSPプログラム111は図9に示したように編集される。このように編集されたJSPプログラム111を、分割プログラム(親)と称する。   By repeating the processes in steps S1202 to S1214 until the reading of the JSP program 111 is completed, the files of the divided programs (children) corresponding to the divided unit programs as shown in FIG. 10 are generated, and FIG. The JSP program 111 shown in FIG. 9 is edited as shown in FIG. The JSP program 111 edited in this way is referred to as a divided program (parent).

そして、ステップ1215で、プログラム分割部108が、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したと判断した場合には、図示しないステップにおいて、上記ステップS510,S511の処理により編集生成された分割プログラム(親)も分割後JSPプログラム112として外部記憶装置104に保存し、処理を終了する。   If the program division unit 108 determines in step 1215 that reading of all the division unit programs and global information of the JSP program 111 has been completed, the program is edited by the processing in steps S510 and S511 in steps not shown. The generated divided program (parent) is also stored in the external storage device 104 as the divided JSP program 112, and the process is terminated.

以上示したように、本実施形態で、プログラム分割部108が、ユーザが指定した数の分割プログラムを含むように、プログラム生成部107が生成したプログラムを分割する構成を有する。これにより、ユーザにより指定された分割単位数の分割単位プログラムを含んだ分割プログラムを、ユーザによる手作業の編集無しで容易に生成することができる。   As described above, the present embodiment has a configuration in which the program dividing unit 108 divides the program generated by the program generating unit 107 so as to include the number of divided programs specified by the user. Thereby, the division program including the division unit program of the number of division units designated by the user can be easily generated without manual editing by the user.

従って、より少ない分割プログラムを生成して、コンパイル処理を効率的に行うことができるようにしたり、コンパイルエラーを起こりにくくしたりすることが可能な分割プログラムを生成することができる。   Therefore, it is possible to generate a divided program that can generate fewer divided programs so that the compile process can be performed efficiently or that compile errors are less likely to occur.

即ち、細かく分割するとより多くの情報を処理できる代わりに、初期コンパイルが遅くなるというトレードオフがあるが、ユーザがケースに応じてこれを選択することが出来るようになる。   That is, there is a trade-off that the initial compilation is slowed down instead of being able to process more information when finely divided, but the user can select this according to the case.

なお、図12のステップ1201で、ステップ302で生成されたJSPプログラム111のサイズと、コンパイラのコンパイル制限値とを取得し、該JSPプログラム111のサイズと該コンパイル制限値とを比較し、該JSPプログラム111のサイズが該コンパイル制限値を越える場合、ステップ1202の処理を実行し(分割プログラムを生成する処理を実行し)、一方、越えない場合、分割プログラムを生成する処理を実行せず、終了するように構成してもよい。   In step 1201 of FIG. 12, the size of the JSP program 111 generated in step 302 and the compilation limit value of the compiler are acquired, the size of the JSP program 111 is compared with the compilation limit value, and the JSP If the size of the program 111 exceeds the compile limit value, the process of step 1202 is executed (process for generating a divided program is executed). If not, the process for generating a divided program is not executed and the process ends. You may comprise.

なお、コンパイル制限値は、コンパイラがコンパイル可能なサイズを示すものであり、コンパイラから動的に取得可能である。なお、このコンパイル制限値を設定ファイル等として、予め外部記憶装置104に格納しておいてもよい。   The compile limit value indicates a size that can be compiled by the compiler, and can be dynamically acquired from the compiler. The compile limit value may be stored in advance in the external storage device 104 as a setting file or the like.

〔第3実施形態〕
上記第2実施形態では、ユーザが指定した数の分割単位プログラムを含むように、分割プログラムを生成する構成について説明した。本実施形態では、分割プログラムを、ユーザが指定した数以内の分割単位プログラムを含ませ、且つ、分割プログラムのサイズがコンパイル制限値を越えないように生成するように構成する。以下、図13,図14を参照して詳細に説明する。
[Third Embodiment]
In the second embodiment, the configuration in which the division program is generated so as to include the number of division unit programs specified by the user has been described. In this embodiment, the division program is configured to include division unit programs within the number specified by the user and to generate the division program so that the size of the division program does not exceed the compilation limit value. Hereinafter, a detailed description will be given with reference to FIGS. 13 and 14.

図13は、本発明における第5の制御処理手順の一例を示すフローチャートであり、本発明の第3実施形態におけるプログラム分割処理(図3のS303)に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1201〜S1215,S1300は各ステップを示す。また、図12と同一のステップには同一のステップ番号を付してあり、説明は省略する。   FIG. 13 is a flowchart showing an example of a fifth control processing procedure according to the present invention, and corresponds to the program division processing (S303 in FIG. 3) according to the third embodiment of the present invention. Note that the processing of this flowchart is realized by the program dividing unit 108 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S1201 to S1215 and S1300 indicate each step. Moreover, the same step number is attached | subjected to the step same as FIG. 12, and description is abbreviate | omitted.

プログラム分割部108は、ステップS1210で、処理中の分割プログラム(ファイル)があると判断した場合には、ステップS1300に処理を進める。   If the program dividing unit 108 determines in step S1210 that there is a divided program (file) being processed, the program dividing unit 108 proceeds to step S1300.

ステップS1300では、プログラム分割部108は、コンパイル制限サイズ処理を実行し、ステップS1213に処理を進める。なお、ステップS1300のコンパイル制限サイズ処理の詳細は図14に示す。   In step S1300, the program dividing unit 108 executes compile limit size processing, and proceeds to step S1213. Details of the compile limit size process in step S1300 are shown in FIG.

図14は、本発明における第6の制御処理手順の一例を示すフローチャートであり、図13のステップS1300のコンパイル制限サイズ処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1301〜S1303は各ステップを示す。   FIG. 14 is a flowchart showing an example of the sixth control processing procedure in the present invention, and corresponds to the compile limit size processing in step S1300 in FIG. Note that the processing of this flowchart is realized by the program dividing unit 108 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S1301 to S1303 indicate each step.

ステップS1301において、プログラム分割部108は、処理中の分割プログラム(ファイル)のサイズ、処理中の分割単位プログラムのサイズ,コンパイラのコンパイル制限値を取得する。そして、プログラム分割部108は、処理中の分割プログラムのサイズと処理中の分割単位プログラムのサイズの合計値が、コンパイル制限値を超えるか否かを判断する。   In step S1301, the program dividing unit 108 acquires the size of the divided program (file) being processed, the size of the divided unit program being processed, and the compiler compilation limit value. Then, the program dividing unit 108 determines whether or not the total value of the size of the divided program being processed and the size of the divided unit program being processed exceeds the compile limit value.

そして、プログラム分割部108が、処理中の分割プログラムのサイズと処理中の分割単位プログラムのサイズの合計値がコンパイル制限値を超えないと判断した場合には、図13のステップS1213に処理を進める。   When the program dividing unit 108 determines that the total value of the size of the divided program being processed and the size of the divided unit program being processed does not exceed the compilation limit value, the process proceeds to step S1213 in FIG. .

一方、プログラム分割部108が、処理中の分割プログラムのサイズと処理中の分割単位プログラムのサイズの合計値がコンパイル制限値を超えると判断した場合には、ステップS1302に処理を進める。   On the other hand, if the program dividing unit 108 determines that the total value of the size of the divided program being processed and the size of the divided unit program being processed exceeds the compilation limit value, the process proceeds to step S1302.

ステップS1302では、プログラム分割部108は、処理中の分割プログラムのファイルをクローズする。これにより、分割プログラムが作成される。この分割プログラムを、分割プログラム(子)と称する。なお、分割プログラム(子)は分割後JSPプログラム112の1つとして外部記憶装置104等に記憶される。   In step S1302, the program dividing unit 108 closes the file of the divided program being processed. Thereby, a division program is created. This divided program is called a divided program (child). The divided program (child) is stored in the external storage device 104 or the like as one of the divided JSP programs 112.

次に、ステップS1303では、プログラム分割部108は、JSPプログラム111内に(図13のステップ1214で削除された分割単位プログラムの部分に)、ステップS1301でクローズした分割プログラム(子)のファイルへのインクルード文を挿入する(図9の1002)。ここで、インクルード文には、分割プログラム(子)のファイルを特定する相対パス又は絶対パス等のパス情報を含む。ステップS1303の処理が終了すると、図13のステップS1213に処理を進める。   Next, in step S1303, the program dividing unit 108 adds to the file of the divided program (child) closed in step S1301 in the JSP program 111 (in the portion of the division unit program deleted in step 1214 in FIG. 13). An include statement is inserted (1002 in FIG. 9). Here, the include statement includes path information such as a relative path or an absolute path that identifies the file of the split program (child). When the process of step S1303 ends, the process proceeds to step S1213 of FIG.

以上の処理を実行することにより、コンパイル処理を効率的に行うことができ、コンパイルエラーを防ぐことができる分割プログラムを生成することができる。   By executing the above process, a compile process can be performed efficiently, and a divided program that can prevent a compile error can be generated.

〔第4実施形態〕
上記第1実施形態では、自動生成したプログラムを分割する構成について説明した。本実施形態では、第1の実施形態で示したプログラム分割処理で分割されたプログラムを、効率良くコンパイルできるサイズに合成する「プログラム合成」処理を行うように構成する。以下、図15,図16を参照して詳細に説明する。
[Fourth Embodiment]
In the first embodiment, the configuration for dividing the automatically generated program has been described. In the present embodiment, a “program synthesis” process for synthesizing a program divided by the program division process shown in the first embodiment into a size that can be efficiently compiled is configured. Hereinafter, a detailed description will be given with reference to FIGS. 15 and 16.

図15は、本発明における第7の制御処理手順の一例を示すフローチャートであり、本発明の第4実施形態における全体制御部105で行われる処理全体に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行する全体制御部105により実現される。なお、図中、S301〜S303,S1400は各ステップを示す。また、図12と同一のステップには同一のステップ番号を付してあり、説明は省略する。   FIG. 15 is a flowchart showing an example of the seventh control processing procedure according to the present invention, and corresponds to the entire processing performed by the overall control unit 105 according to the fourth embodiment of the present invention. Note that the processing in this flowchart is realized by the overall control unit 105 in which the CPU 201 illustrated in FIG. 2 reads out the program stored in the external storage device 104 to the RAM 202 and executes the program. In the figure, S301 to S303 and S1400 indicate each step. Moreover, the same step number is attached | subjected to the step same as FIG. 12, and description is abbreviate | omitted.

プログラム分割部108は、ステップS303のプログラム分割処理を終了すると、ステップS1400に処理を進め、プログラム合成処理を実行する。なお、ステップS1400のプログラム合成処理の詳細は図16に示す。   When the program dividing unit 108 completes the program dividing process in step S303, the program dividing unit 108 proceeds to step S1400 and executes the program synthesis process. Details of the program synthesis process in step S1400 are shown in FIG.

図16は、本発明における第8の制御処理手順の一例を示すフローチャートであり、図15のステップS1400のプログラム合成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1401〜S1410は各ステップを示す。   FIG. 16 is a flowchart showing an example of the eighth control processing procedure in the present invention, and corresponds to the program synthesis processing in step S1400 of FIG. Note that the processing of this flowchart is realized by the program dividing unit 108 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S1401 to S1410 indicate each step.

ステップS1401において、プログラム分割部108は、新規に空の合成プログラムファイルを外部記憶装置104内に作成する。   In step S1401, the program dividing unit 108 creates a new empty synthesis program file in the external storage device 104.

次に、ステップS1402において、プログラム分割部108は、図3のステップS303で分割された複数の分割プログラム(子)から1つ分割プログラム(子)を取得する。以下、この分割プログラム(子)を「今回の分割プログラム」と呼ぶ。   Next, in step S1402, the program dividing unit 108 acquires one divided program (child) from the plurality of divided programs (child) divided in step S303 in FIG. Hereinafter, this division program (child) is referred to as “the current division program”.

次に、ステップS1403において、プログラム分割部108は、処理中の合成プログラムのサイズ、今回の分割プログラムのサイズ,コンパイラのコンパイル制限値を取得する。そして、プログラム分割部108は、処理中の合成プログラムのサイズと今回の分割プログラムのサイズの合計値が、コンパイル制限値を超えるか否かを判断する。   In step S1403, the program dividing unit 108 acquires the size of the synthesis program being processed, the size of the current divided program, and the compiler compilation limit value. Then, the program dividing unit 108 determines whether or not the total value of the size of the synthesis program being processed and the size of the current divided program exceeds the compilation limit value.

そして、プログラム分割部108が、処理中の合成プログラムのサイズと今回の分割プログラムのサイズの合計値がコンパイル制限値を超えないと判断した場合には、ステップS1404に処理を進める。   If the program dividing unit 108 determines that the total value of the size of the synthesis program being processed and the size of the current divided program does not exceed the compilation limit value, the process proceeds to step S1404.

ステップS1404では、プログラム分割部108は、今回の分割プログラムの内容(「グローバル情報」,「分割単位プログラム」)を処理中の合成プログラムにコピーする。ここで、空の合成プログラムに初めてコピーする場合は、今回の分割プログラムの「グローバル情報」及び「分割単位プログラム」を処理中の合成プログラムにコピーする。しかし、既に合成プログラムに「グローバル情報」が含まれている場合(即ち、2回目以降のコピー処理)の場合は、今回の分割プログラム内の「分割単位プログラム」のみを処理中の合成プログラムにコピーする。   In step S1404, the program dividing unit 108 copies the contents of the current divided program (“global information”, “division unit program”) to the synthesis program being processed. Here, when copying to an empty synthesis program for the first time, the “global information” and “division unit program” of the current division program are copied to the synthesis program being processed. However, if “global information” is already included in the synthesis program (that is, the second and subsequent copy processing), only the “division unit program” in the current division program is copied to the synthesis program being processed. To do.

次にステップS1405において、プログラム分割部108は、ステップ1404でコピーされた分割プログラムを削除する。   In step S1405, the program dividing unit 108 deletes the divided program copied in step 1404.

さらにステップS1406において、プログラム分割部108は、元のJSPプログラム(分割プログラム(親))に挿入されている今回の分割プログラムを特定するためのインクルード文を削除する。そして、ステップS1410に処理を進める。   In step S1406, the program dividing unit 108 deletes the include statement for specifying the current divided program inserted in the original JSP program (divided program (parent)). Then, the process proceeds to step S1410.

次に、ステップ1410において、プログラム分割部108は、分割プログラム(子)の全てについてS1402〜S1406の処理を終了したか否かを判定し、未だ終了していないと判断した場合には、ステップS1402に処理を戻す。   Next, in step 1410, the program dividing unit 108 determines whether or not the processing of S1402 to S1406 has been completed for all of the divided programs (children). If it is determined that the processing has not been completed, step S1402 Return processing to.

また、ステップS1403で、プログラム分割部108が、処理中の合成プログラムのサイズと今回の分割プログラムのサイズの合計値が、コンパイル制限値を超えると判断した場合には、ステップS1407に処理を進める。   If the program dividing unit 108 determines in step S1403 that the total value of the size of the synthesis program being processed and the size of the current divided program exceeds the compilation limit value, the process proceeds to step S1407.

ステップS1407では、プログラム分割部108は、処理中の合成プログラムをクローズする。   In step S1407, the program dividing unit 108 closes the synthesis program being processed.

次に、ステップS1408において、プログラム分割部108は、元のJSPプログラム(分割プログラム(親))に、ステップ1406でクローズした合成プログラムを特定するためのインクルード文を挿入する。   Next, in step S1408, the program dividing unit 108 inserts an include statement for specifying the synthesis program closed in step 1406 into the original JSP program (divided program (parent)).

次に、ステップS1409において、プログラム分割部108は、新たな空の合成プログラムファイルを作成し、ステップ1404〜S1406の処理を実行し、ステップS1410に処理を進める。   Next, in step S1409, the program dividing unit 108 creates a new empty synthesis program file, executes the processing of steps 1404 to S1406, and advances the processing to step S1410.

そしてステップ1410で、プログラム分割部108が、分割プログラム(子)の全てについてS1402〜S1406の処理を終了したと判断した場合には、図示しないステップにおいて、上記の処理により編集生成された合成プログラムを分割後JSPプログラム112として外部記憶装置104に保存し、処理を終了する。   In step 1410, when the program dividing unit 108 determines that the processing of S1402 to S1406 has been completed for all of the divided programs (children), the synthesis program edited and generated by the above processing in the step (not shown). The divided JSP program 112 is stored in the external storage device 104, and the process is terminated.

以上の処理により、第2実施形態で示したようなユーザ指定による試行錯誤の分割でなく、第1実施形態に示した分割方法により一旦分割した後、コンパイル可能なサイズまでファイルを自動的に再合成することができる。これにより、コンパイル処理を効率的に行うことができ、コンパイルエラーを防ぐことができる分割プログラム(合成プログラム)を生成することができる。   Through the above processing, instead of the trial and error division specified by the user as shown in the second embodiment, after the division by the division method shown in the first embodiment, the file is automatically resized to a compilable size. Can be synthesized. As a result, it is possible to generate a divided program (synthetic program) that can efficiently perform the compile process and prevent a compile error.

なお、本実施形態の分割方法は、第2,3,4実施形態で示したように、最初から分割をしたものを生成するのではなく、有意なマーク情報(分割識別情報)を使用して分割した後に、プログラム合成処理を実行して、再合成する構成を有するが、さらに、このプログラム合成処理の後に、更なる処理(例えば、コンパイル処理)を追加するように構成してもよい。   Note that the division method according to this embodiment uses significant mark information (division identification information) instead of generating a division from the beginning as shown in the second, third, and fourth embodiments. After the division, the program synthesis process is executed and re-synthesized. However, a further process (for example, a compile process) may be added after the program synthesis process.

なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。   It should be noted that the configuration and contents of the various data described above are not limited to this, and it goes without saying that the various data and configurations are configured according to the application and purpose.

以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.

以下、図17に示すメモリマップを参照して本発明に係るプログラム生成装置(コンピュータ)で読み取り可能なデータ処理プログラムの構成について説明する。   The configuration of a data processing program that can be read by the program generation device (computer) according to the present invention will be described below with reference to the memory map shown in FIG.

図17は、本発明に係るプログラム生成装置(コンピュータ)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。   FIG. 17 is a diagram illustrating a memory map of a recording medium (storage medium) that stores various data processing programs readable by the program generation apparatus (computer) according to the present invention.

なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。   Although not specifically shown, information for managing a program group stored in the recording medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.

さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。   Further, data depending on various programs is also managed in the directory. In addition, when a program or data to be installed is compressed, a program to be decompressed may be stored.

本実施形態における図3,図4,図8,図12,図13,図14,図15,図16に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。   3, 4, 8, 12, 13, 14, 15, and 16 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a recording medium such as a CD-ROM, a flash memory, or an FD, or from an external recording medium via a network. Is.

以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, a recording medium in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus is stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the program code.

この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。   In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program code constitutes the present invention.

プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。   As a recording medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, A silicon disk or the like can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted in the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program represented by software for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention.

さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Furthermore, by downloading and reading out a program represented by software for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention. It becomes.

なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。   In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.

本発明の一実施形態を示すプログラム生成装置のシステム全体を示す構成図である。It is a block diagram which shows the whole system of the program production | generation apparatus which shows one Embodiment of this invention. 図1のプログラム生成装置103のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the program production | generation apparatus 103 of FIG. 本発明における第1の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 1st control processing procedure in this invention. 本発明における第2の制御処理手順の一例を示すフローチャートである。 本発明における第2の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 2nd control processing procedure in this invention. It is a flowchart which shows an example of the 2nd control processing procedure in this invention. 図1に示したユーザ定義情報の一例を示す図である。It is a figure which shows an example of the user definition information shown in FIG. 図1に示したJSPプログラムテンプレートの一例を示す図である。It is a figure which shows an example of the JSP program template shown in FIG. 図1に示したJSPプログラムの一例を示す図である。It is a figure which shows an example of the JSP program shown in FIG. 本発明における第3の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 3rd control processing procedure in this invention. 図8に示したプログラム分割処理により生成される分割プログラム(親)の一例を示す図である。It is a figure which shows an example of the division | segmentation program (parent) produced | generated by the program division | segmentation process shown in FIG. 図8に示したプログラム分割処理のステップS506〜S509で生成された分割プログラム(子)の一例を示す図である。It is a figure which shows an example of the division | segmentation program (child) produced | generated by step S506-S509 of the program division | segmentation process shown in FIG. 本発明の第2実施形態におけるプログラム生成命令画面の一例を示す図である。It is a figure which shows an example of the program production | generation command screen in 2nd Embodiment of this invention. 本発明における第4の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 4th control processing procedure in this invention. 本発明における第5の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 5th control processing procedure in this invention. 本発明における第6の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 6th control processing procedure in this invention. 本発明における第7の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 7th control processing procedure in this invention. 本発明における第8の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 8th control processing procedure in this invention. 本発明に係るプログラム生成装置(コンピュータ)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。It is a figure explaining the memory map of the recording medium (storage medium) which stores the various data processing program which can be read with the program generation apparatus (computer) which concerns on this invention.

符号の説明Explanation of symbols

101 入力装置
102 表示装置
103 プログラム生成装置
104 外部記憶装置
105 全体制御部
106 画面制御部
107 プログラム生成部
108 プログラム分割部
109 ユーザ定義情報
110 JSPプログラムテンプレート
111 JSPプログラム
112 分割後JSPプログラム
DESCRIPTION OF SYMBOLS 101 Input device 102 Display device 103 Program generation device 104 External storage device 105 Overall control unit 106 Screen control unit 107 Program generation unit 108 Program division unit 109 User definition information 110 JSP program template 111 JSP program 112 JSP program after division

Claims (6)

ソースプログラムを生成するプログラム生成装置であって、
ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段と、
画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段と、
前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段と、
前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段と、
前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段と、
を有することを特徴とするプログラム生成装置。
A program generation device for generating a source program,
Storage means for storing a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program;
First source program generation for generating a first source program including the divided area start mark and the divided area end mark based on user definition information input in advance for defining a screen and a program template stored in the storage unit Means,
Specifying means for specifying a compilable area identified by the divided area start mark and divided area end mark included in the first source program generated by the first source program generating means as a divided unit program;
Second source program generating means for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified by the specifying means;
Generate a third source program in which the program for taking in the second source program generated by the second source program generating means is replaced as a substitute for the divided portion of the first source program corresponding to the second source program Third source program generating means for performing,
A program generation apparatus comprising:
前記分割エリア開始マーク及び前記分割エリア終了マークは、分割後も共通に必要なエリアを識別するための第1分割エリア開始マーク及び第1分割エリア終了マークと、ソースプログラムの分割可能なエリアを識別するための第2分割エリア開始マーク及び第2分割エリア終了マークを含むものであり、
前記特定手段は、前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる第1分割エリア開始マーク及び第1分割エリア終了マークに基づいて分割後も共通に必要な共通プログラムを特定し、前記第1ソースプログラムに含まれる第2分割エリア開始マーク及び第2分割エリア終了マークに基づいて分割単位となる分割単位プログラムを特定するものであり、
前記第2ソースプログラム生成手段は、前記特定手段により特定される共通プログラムと分割単位プログラムにより、前記第2ソースプログラムを生成することを特徴とする請求項1に記載のプログラム生成装置。
The division area start mark and the division area end mark identify the first division area start mark and the first division area end mark for identifying areas that are necessary even after division, and the area where the source program can be divided. Including a second divided area start mark and a second divided area end mark,
The specifying unit specifies a common program that is necessary even after the division based on the first divided area start mark and the first divided area end mark included in the first source program generated by the first source program generating unit. And specifying a division unit program to be a division unit based on a second division area start mark and a second division area end mark included in the first source program,
2. The program generation apparatus according to claim 1, wherein the second source program generation unit generates the second source program by a common program and a division unit program specified by the specification unit.
前記制限値は、コンパイル可能な最大のソースプログラムサイズを示すことを特徴とする請求項1又は2に記載のプログラム生成装置。 The limit value, the program generating apparatus according to claim 1 or 2, characterized in that it presents a compilable largest source program size. ソースプログラムを生成するプログラム生成方法であって、
第1ソースプログラム生成手段が、画面を定義するために予め入力されたユーザ定義情報と、記憶手段に記憶される、ソースプログラム内の分割してコンパイル可能なエリアを識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成ステップと、
特定手段が、前記第1ソースプログラム生成ステップで生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定ステップと、
第2ソースプログラム生成手段が、前記特定ステップで特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成ステップと、
第3ソースプログラム生成手段が、前記第2ソースプログラム生成ステップで生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成ステップと、を有することを特徴とするプログラム生成方法。
A program generation method for generating a source program,
The first source program generation means, user-defined information input in advance for defining the screen, and a divided area start mark for identifying the divided and compilable area in the source program stored in the storage means A first source program generating step for generating a first source program including the divided area start mark and the divided area end mark by a program template including the divided area end mark;
A specifying step for specifying a compilable area identified by the divided area start mark and the divided area end mark included in the first source program generated in the first source program generating step as a divided unit program; ,
A second source program generating step for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified in the specifying step;
The third source program generating means replaces the program for taking in the second source program generated in the second source program generating step, instead of the divided portion of the first source program corresponding to the second source program. And a third source program generating step for generating the third source program thus generated.
コンピュータを、
ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段、
画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段、
前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段、
前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段、
前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段、として機能させるためのプログラム。
Computer
Storage means for storing a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program;
First source program generation for generating a first source program including the divided area start mark and the divided area end mark based on user definition information input in advance for defining a screen and a program template stored in the storage unit means,
Specifying means for specifying a compilable area identified by the divided area start mark and divided area end mark included in the first source program generated by the first source program generating means as a divided unit program;
Second source program generating means for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified by the specifying means;
Generate a third source program in which the program for taking in the second source program generated by the second source program generating means is replaced as a substitute for the divided portion of the first source program corresponding to the second source program A program for functioning as third source program generating means.
コンピュータを、
ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段、
画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段、
前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段、
前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段、
前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Computer
Storage means for storing a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program;
First source program generation for generating a first source program including the divided area start mark and the divided area end mark based on user definition information input in advance for defining a screen and a program template stored in the storage unit means,
Specifying means for specifying a compilable area identified by the divided area start mark and divided area end mark included in the first source program generated by the first source program generating means as a divided unit program;
Second source program generating means for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified by the specifying means;
Generate a third source program in which the program for taking in the second source program generated by the second source program generating means is replaced as a substitute for the divided portion of the first source program corresponding to the second source program A computer-readable recording medium having recorded thereon a program for functioning as third source program generating means.
JP2006059020A 2006-03-06 2006-03-06 PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM Active JP4988226B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006059020A JP4988226B2 (en) 2006-03-06 2006-03-06 PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006059020A JP4988226B2 (en) 2006-03-06 2006-03-06 PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM

Publications (3)

Publication Number Publication Date
JP2007241364A JP2007241364A (en) 2007-09-20
JP2007241364A5 JP2007241364A5 (en) 2009-05-14
JP4988226B2 true JP4988226B2 (en) 2012-08-01

Family

ID=38586884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006059020A Active JP4988226B2 (en) 2006-03-06 2006-03-06 PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP4988226B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5197061B2 (en) * 2008-02-19 2013-05-15 三洋電機株式会社 Program dividing apparatus and method
JP5309736B2 (en) * 2008-07-04 2013-10-09 富士通株式会社 Information providing system development method, development device, development program, processing method, processing program, processing device
JP5882623B2 (en) * 2011-08-03 2016-03-09 キヤノン株式会社 Information processing apparatus, control method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297579A (en) * 1995-04-25 1996-11-12 Fujitsu Ltd Punctuation word processing system for text data
JP2002229787A (en) * 2001-02-01 2002-08-16 Nri & Ncc Co Ltd Program generating device
JP4493269B2 (en) * 2002-12-27 2010-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Program editing apparatus and program
JP2004265278A (en) * 2003-03-04 2004-09-24 Jasminsoft:Kk Automatic program generation device
JP2005266931A (en) * 2004-03-16 2005-09-29 Mitsubishi Electric Corp Program generation device

Also Published As

Publication number Publication date
JP2007241364A (en) 2007-09-20

Similar Documents

Publication Publication Date Title
US8387014B2 (en) Synchronization of concurrently modified interdependent semi-derived artifacts
US7140028B2 (en) System and method for building a target operating system from a source operating system
US20040133854A1 (en) Persistent document object model
US6889373B2 (en) Program generating support system, program generating method, storage medium and program
US20080178122A1 (en) System and method for website configuration and management
US20090303519A1 (en) Printing controller, gui display method, printer driver, and recording medium
US20070143680A1 (en) Multi-contextual delta navigation in a compare view
AU2005203708A1 (en) Method, system, and computer-readable medium for creating and laying out a graphic within an application program
KR101567455B1 (en) Defining an interactive user interface
CN102866884A (en) Projecting native application programming interfaces of operating system into other programming languages
JP2013518321A (en) Pattern-based user interface
JP2010160578A (en) Document editing apparatus and control method thereof
JP4988226B2 (en) PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM
US7203925B1 (en) Graphical compiler
JP4889338B2 (en) Screen program layout changing method, information processing apparatus, program, and recording medium
JP4439864B2 (en) Document processing apparatus, document processing method, and program
JP2008287365A (en) Program generation device, program generation method, program, and recording medium
JP2015210769A (en) Information processing device, information processing method, and program
JP2011076561A (en) Parts catalog creation support device, program, and parts catalog creation support method
Ransen et al. AutoCAD programming in C/C++
JP7121313B2 (en) Information processing device and its processing method and program
JP6652724B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2006302141A (en) Display system and control method thereof
JPH04140834A (en) Program generating method and specifications input method therefor
JP2008186311A (en) File conversion system for source file with comment described by plurality of kinds of natural languages

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120426

R150 Certificate of patent or registration of utility model

Ref document number: 4988226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250