JPH11296359A - Program development support tool - Google Patents

Program development support tool

Info

Publication number
JPH11296359A
JPH11296359A JP10099198A JP9919898A JPH11296359A JP H11296359 A JPH11296359 A JP H11296359A JP 10099198 A JP10099198 A JP 10099198A JP 9919898 A JP9919898 A JP 9919898A JP H11296359 A JPH11296359 A JP H11296359A
Authority
JP
Japan
Prior art keywords
information
type
idl
program
language
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.)
Granted
Application number
JP10099198A
Other languages
Japanese (ja)
Other versions
JP4319706B2 (en
Inventor
Satoshi Yoshikawa
聡 吉川
Wataru Takagi
渉 高木
Atsushi Numanoi
淳 沼野井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Borland Software Corp
Original Assignee
Hitachi Ltd
Borland International Inc
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 Hitachi Ltd, Borland International Inc filed Critical Hitachi Ltd
Priority to JP09919898A priority Critical patent/JP4319706B2/en
Publication of JPH11296359A publication Critical patent/JPH11296359A/en
Application granted granted Critical
Publication of JP4319706B2 publication Critical patent/JP4319706B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To generate the stub or skeleton of a program without constraints on a data type to be used by an objective program. SOLUTION: This program development support tool is provided with a type conversion table 709 having a specific table 711 in which the type information of the data type of objective program language and type definition information being the description of the data type according to a preliminarily decided rule are preliminarily registered to correspond to each other, means 751 for extracting the type definition information described according to the preliminarily decided rule, means 752 for converting the extracted type definition information into the type information of the program language by using the type conversion table 709, and registering the type information as code generation information 712, and means 706 for generating a stub 707 or a skeleton 708 by using the code generation information 712.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、IDL(インター
フェース定義言語)を使用するプログラム開発における
支援ツールに関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a support tool for developing a program using IDL (Interface Definition Language).

【0002】[0002]

【従来の技術】計算機のプログラム開発では、プログラ
ム(またはデータ)を機能ブロックの単位に作成するこ
とがある。この手法によれば、プログラムの開発効率を
向上させ、プログラムの再利用を可能とすることができ
る。ただし、目的の処理を複数のプログラム処理を連携
させて実現する場合には、各プログラム間の呼出し規則
などのインターフェースを予め定義する必要がある。こ
のインターフェースの定義には、IDL(インターフェ
ース定義言語)が用いられることがある。
2. Description of the Related Art In computer program development, programs (or data) are sometimes created in units of functional blocks. According to this method, the program development efficiency can be improved, and the program can be reused. However, when the target process is realized by linking a plurality of program processes, an interface such as a calling rule between the programs needs to be defined in advance. IDL (interface definition language) may be used for the definition of this interface.

【0003】IDLとしては、OMG(Object
Management Group)が提案しているC
ORBA(共通オブジェクト・リクエスト・ブローカー
・アーキテクチャ)で用いられるIDLが知られてい
る。なお、CORBAの言語マッピング仕様についての
参考文献としては、OMG発行の「The Commo
n Object Request Broker:
Architecture and Specific
ation Revision 2.0, July
1995 Updated July 1996」があ
る。また、CORBAに関する一般的な背景についての
参考文献として、小野沢 博文著 ソフト・リサーチ・セ
ンター発行の「分散オブジェクト指向技術 CORB
A」がある。
[0003] As IDL, OMG (Object
C proposed by the Management Group
IDL used in ORBA (Common Object Request Broker Architecture) is known. References to the CORBA language mapping specification include “The Commo published by OMG.
n Object Request Broker:
Architecture and Specific
ation Revision 2.0, July
1995 Updated July 1996 ". Also, as a reference for a general background on CORBA, “Distributed Object Oriented Technology CORB” published by Hirofumi Onozawa, Soft Research Center
A ".

【0004】CORBAでは、IDLと、各種プログラ
ム言語およびIDLの間のマッピング仕様と、プログラ
ム間の通信を管理するためのORB(オブジェクト・リ
クエスト・ブローカ)とを規定している。開発者は、マ
ッピング仕様に従って、各プログラムのインターフェー
スをIDLで記述する。このIDLソースを専用のコン
パイラ(IDLコンパイラ)でコンパイルすることによ
り、クライアントプログラム用のスタブや、サーバプロ
グラム用のスケルトンが生成される。ここで、スタブお
よびスケルトンは、クライアントプログラムおよびサー
バプログラムと、ORBとの仲介を行うためのサブプロ
グラムである。
[0004] In CORBA, IDL, a mapping specification between various program languages and IDL, and an ORB (Object Request Broker) for managing communication between programs are specified. The developer describes the interface of each program in IDL according to the mapping specification. By compiling the IDL source with a dedicated compiler (IDL compiler), a stub for a client program and a skeleton for a server program are generated. Here, the stub and the skeleton are sub-programs for mediating between the client program and the server program and the ORB.

【0005】このようなIDLを用いたプログラム開発
には、さらに、異なる言語で記述されたプログラムの利
用や、異なるアーキテクチャを持つ計算機で実行される
プログラムの利用が容易となるという利点がある。
[0005] Program development using IDL has the further advantage that it is easy to use programs written in different languages and to use programs executed on computers having different architectures.

【0006】以下では、CORBAのIDLコンパイラ
のように、IDLソースからスタブやスケルトンを生成
する処理系を総称してIDL言語処理系と呼ぶ。また、
既成のプログラムからIDLソースを生成する処理系を
総称してIDL生成系と呼ぶ。IDL生成系は、既成の
プログラムを流用して、他のプログラムと連携した処理
を行わせる場合に有効である。
Hereinafter, a processing system for generating a stub or a skeleton from an IDL source, such as a CORBA IDL compiler, is generally called an IDL language processing system. Also,
A processing system that generates an IDL source from an existing program is generically called an IDL generation system. The IDL generation system is effective when an existing program is diverted to perform processing in cooperation with another program.

【0007】図8に、従来のIDL言語処理系の機能構
成の一例を示す。
FIG. 8 shows an example of a functional configuration of a conventional IDL language processing system.

【0008】IDL構文解析部102は、IDLソース
101を入力とし、IDLの構文解析を行なって、解析
情報103を出力する。ここで、解析情報103には、
手続きやメソッドの名称、引数のデータ型、並びなど、
プログラム間の呼び出し規則を規定するIDLの情報が
含まれる。
[0010] The IDL syntax analysis unit 102 receives the IDL source 101 as input, performs IDL syntax analysis, and outputs analysis information 103. Here, the analysis information 103 includes
Procedure and method names, argument data types, list, etc.
IDL information that defines a calling rule between programs is included.

【0009】コード生成部104は、インターフェース
情報解析部105、プログラムコード生成部106、お
よび、型変換テーブル109から構成される。型変換テ
ーブル109には、解析情報103に含まれるIDLの
データ型の情報と、プログラムコード108に組み込ま
れるデータ型とが予め対応付けて格納されている。イン
ターフェース情報解析部105は、型変換テーブル10
9を参照して、解析情報103内のIDLのデータ型の
情報を、スタブやスケルトンで使用するデータ型へ変換
する。この変換結果を用いて、プログラムコード生成部
106は、スタブ107やスケルトン108を生成す
る。
The code generator 104 comprises an interface information analyzer 105, a program code generator 106, and a type conversion table 109. In the type conversion table 109, information on the data type of the IDL included in the analysis information 103 and the data type incorporated in the program code 108 are stored in advance in association with each other. The interface information analysis unit 105 includes the type conversion table 10
With reference to No. 9, the information of the data type of IDL in the analysis information 103 is converted into the data type used in the stub or skeleton. Using this conversion result, the program code generation unit 106 generates a stub 107 and a skeleton 108.

【0010】図9に、従来のIDL生成系の機能構成の
一例を示す。
FIG. 9 shows an example of a functional configuration of a conventional IDL generation system.

【0011】構文解析部202は、原始プログラム20
1を解析し、解析情報203を生成する。インターフェ
ース情報抽出部204は、解析情報203から、手続や
メソッドの名称、引数のデータ型、並びなどのインター
フェース情報を抽出し、中間語205として出力する。
IDL生成系における型変換テーブル206には、中間
語205に含まれるデータ型の情報と、IDLで使用さ
れるデータ型の情報とが予め対応付けて格納されてい
る。コード生成部207は、型変換テーブル206を参
照して、中間語205内のデータ型の情報を、IDLソ
ースで使用されるデータ型の情報に変換する。この変換
結果を用いて、IDL出力部211は、IDLの文法を
満たすようにIDLソース212を生成する。
The syntax analysis unit 202 is used for the source program 20.
1 is analyzed to generate analysis information 203. The interface information extraction unit 204 extracts, from the analysis information 203, interface information such as names of procedures and methods, data types of arguments, arrangement, and the like, and outputs them as intermediate language 205.
In the type conversion table 206 in the IDL generation system, information on the data type included in the intermediate language 205 and information on the data type used in IDL are stored in advance in association with each other. The code generation unit 207 converts the data type information in the intermediate language 205 into data type information used in the IDL source with reference to the type conversion table 206. Using this conversion result, the IDL output unit 211 generates an IDL source 212 so as to satisfy the IDL grammar.

【0012】一般に、異なる言語で記述されたプログラ
ム間で、データの受け渡しを行う場合には、そのデータ
型は、双方のプログラム言語で共通に利用できる型とす
る必要がある。このため、上述のIDL言語処理系およ
びIDL生成系でも、対象としている複数のプログラム
言語(例えばC言語、C++言語など)で共通に利用で
きるデータ型のみを処理できるようにしている。
In general, when data is transferred between programs written in different languages, the data type needs to be a type that can be commonly used in both program languages. Therefore, the above-described IDL language processing system and IDL generation system can also process only data types that can be commonly used in a plurality of target program languages (for example, C language, C ++ language, etc.).

【0013】[0013]

【発明が解決しようとする課題】上述の従来のIDL言
語処理系およびIDL生成系では、対象としている複数
のプログラム言語で共通に利用できないデータ型を処理
できないため、アプリケーションプログラムによって
は、スタブやスケルトン、IDLソースを正常に生成で
きないことがある。
The above-described conventional IDL language processing system and IDL generation system cannot process data types that cannot be commonly used in a plurality of target program languages. , The IDL source may not be generated properly.

【0014】このため、例えば、流用しようとする既成
のアプリケーションプログラムで、IDL生成系の処理
できないデータ型の指定がなされる場合には、開発者
は、流用するプログラムのインターフェース仕様を修正
するか、呼び出し方法の変更を行なう働きをするラッパ
ー(Wrapper)関数を作成するなどの、人手によ
る煩雑な作業を行う必要があった。
For this reason, for example, when a data type that cannot be processed by the IDL generation system is specified in an existing application program to be diverted, the developer modifies the interface specifications of the diverted program, It is necessary to perform a complicated manual operation such as creating a wrapper function that functions to change the calling method.

【0015】そこで、本発明の目的は、対象とするプロ
グラム言語で記述されたプログラムで使用されるデータ
型の制限なしに、そのプログラムのインタフェース機能
を実現するサブプログラムを生成することのできるプロ
グラム開発支援ツールを提供することにある。
An object of the present invention is to develop a program capable of generating a subprogram that realizes an interface function of a program without restriction on data types used in the program described in a target programming language. To provide support tools.

【0016】また、本発明の他の目的は、対象とするプ
ログラム言語で記述された任意のプログラムについて、
上記プログラム開発支援ツールで処理可能なIDLのソ
ース情報を生成することのできるプログラム開発支援ツ
ールを提供することにある。
[0016] Another object of the present invention is to provide an arbitrary program described in a target programming language.
An object of the present invention is to provide a program development support tool capable of generating IDL source information that can be processed by the program development support tool.

【0017】[0017]

【課題を解決するための手段】上記課題を解決するた
め、本発明は、複数のプログラム間の呼び出し規則を記
述したものであるIDLのソース情報を基に、前記プロ
グラムのインターフェース機能を実現するサブプログラ
ム(例えばスタブやスケルトン)を生成するプログラム
開発支援ツールにおいて、前記プログラムを記述するプ
ログラム言語で用いるデータ型の型情報、および、該デ
ータ型を予め定めた規則に従って記述したものである型
定義情報が、予め対応付けて登録される特殊テーブルを
有する型変換テーブルと、前記IDLのソース情報か
ら、前記予め定めた規則に従って記述されている型定義
情報を抽出する手段と、抽出した型定義情報を、前記型
変換テーブルを用いて、前記プログラム言語の型情報に
変換し、該型情報をコード生成情報として登録する手段
と、コード生成情報を用いて、前記サブプログラムを生
成する手段とを備えることを特徴とするプログラム開発
支援ツールを提供する。
According to the present invention, there is provided a subroutine for realizing an interface function of a program based on IDL source information which describes a calling rule between a plurality of programs. In a program development support tool for generating a program (for example, a stub or a skeleton), type information of a data type used in a programming language that describes the program and type definition information that describes the data type according to a predetermined rule Means for extracting a type conversion table having a special table registered in advance in association with the type definition information described in accordance with the predetermined rule from the IDL source information; Using the type conversion table, the type information is converted into type information of the programming language, and the type information is Means for registering as a de generation information, using the code generation information, to provide a program development support tool, characterized in that it comprises means for generating the subprograms.

【0018】また、本発明は、プログラムの原始コード
を基に、該プログラムの呼び出し規則を記述した、ID
Lのソース情報を生成するプログラム開発支援ツールに
おいて、前記プログラムを記述するプログラム言語で用
いるデータ型の型情報、および、該データ型を予め定め
た規則に従って記述したものである型定義情報が、予め
対応付けて登録される特殊テーブルを有する型変換テー
ブルと、前記プログラムが受渡しするデータの型情報の
内の、前記特殊テーブルに登録されている型情報を、前
記型変換テーブルを用いて、型定義情報に変換し、該型
定義情報をコード生成情報として登録する手段と、コー
ド生成情報から前記IDLのソース情報を生成する手段
とを備えることを特徴とするプログラム開発支援ツール
を提供する。
According to the present invention, there is provided an information processing system comprising: an ID code describing a calling rule of a program based on a source code of the program;
In a program development support tool for generating L source information, type information of a data type used in a programming language that describes the program and type definition information that describes the data type according to a predetermined rule are stored in advance. The type conversion table having the special table registered in association with the type information of the data to be transferred by the program, and the type information registered in the special table is defined by using the type conversion table. A program development support tool characterized by comprising means for converting information into information and registering the type definition information as code generation information, and means for generating the IDL source information from the code generation information.

【0019】[0019]

【発明の実施の形態】以下、本発明の実施形態に係るプ
ログラム開発支援ツールについて、図面を用いて説明す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A program development support tool according to an embodiment of the present invention will be described below with reference to the drawings.

【0020】本実施形態のプログラム開発支援ツール
は、複数のアプリケーションプログラム(クライアント
プログラムやサーバプログラム)が連携して動作する環
境のプログラム開発を支援するためのものである。プロ
グラム開発支援ツールの機能は、IDLソースからスタ
ブやスケルトンを生成するIDL言語処理系と、既成の
プログラムからIDLソースを生成するIDL生成系と
に分けられる。
The program development support tool of this embodiment is for supporting program development in an environment in which a plurality of application programs (client programs and server programs) operate in cooperation. The functions of the program development support tool are divided into an IDL language processing system that generates a stub and a skeleton from an IDL source, and an IDL generation system that generates an IDL source from an existing program.

【0021】図1に、プログラム開発支援ツールの実装
される計算機1の構成を示す。図示のように、この計算
機1は、プロセッサ2、RAM3、ROM4、ディスプ
レイ5、キーボード6、マウス7、内部ディスク装置
8、外部ディスク装置9、および、各種インターフェー
ス回路(I/F)10〜15を有する。ここで、内部デ
ィスク装置としては例えばハードディスク装置、外部デ
ィスク装置としては例えばCD−ROMリーダやフロッ
ピーディスク装置がそれぞれ用いられる。通信インター
フェース回路15は、ネットワーク16に接続され、他
の計算機との間でファイル(プログラム等)の受け渡し
を行う。
FIG. 1 shows a configuration of a computer 1 on which a program development support tool is mounted. 1, the computer 1 includes a processor 2, a RAM 3, a ROM 4, a display 5, a keyboard 6, a mouse 7, an internal disk device 8, an external disk device 9, and various interface circuits (I / Fs) 10 to 15. Have. Here, for example, a hard disk device is used as the internal disk device, and a CD-ROM reader or a floppy disk device is used as the external disk device. The communication interface circuit 15 is connected to the network 16 and exchanges files (programs and the like) with other computers.

【0022】プログラム開発支援ツールの機能は、外部
ディスク装置8の記録媒体にプログラムとして格納さ
れ、このプログラムをプロセッサ2が実行することによ
り実現される。
The function of the program development support tool is stored as a program on the recording medium of the external disk device 8 and is realized by the processor 2 executing this program.

【0023】本実施形態では、アプリケーションプログ
ラムの作成言語としてCOBOL言語を対象としてい
る。COBOL言語では、外部プログラムの引数のデー
タ型の定義を、その数値を10進数で表現した時の桁数
と、小数点位置と、用途とを使用して記述することがで
きる。例えば、図2における宣言文501は、整数部4
桁、小数部3桁のPACKED10進数形式の数値を定
義するものである。このようなデータ型は、外部プログ
ラムから呼び出される時の引数の定義で用いられること
がある。ただし、このデータ型は、CORBAのIDL
で記述することはできない。このため、従来は、開発者
がインターフェース仕様の修正等の面倒な作業を行う必
要があった。
In this embodiment, the COBOL language is used as a language for creating an application program. In the COBOL language, the definition of the data type of the argument of the external program can be described using the number of digits when the numerical value is expressed in decimal, the decimal point position, and the use. For example, the declaration statement 501 in FIG.
A PACKED decimal number with three digits and a decimal part is defined. Such data types may be used in defining arguments when called from an external program. However, this data type is CORBA IDL
Cannot be described by For this reason, conventionally, it has been necessary for the developer to perform troublesome operations such as modifying the interface specifications.

【0024】本実施形態では、CORBAのIDLがサ
ポートしているデータ型に一致するCOBOL言語のデ
ータ型は従来通り記述し、サポートしていないCOBO
L言語のデータ型はIDLの構文要素の一つであるTY
PEDEF構文を使用して記述する、新たな記述規則
(以下、新記述規則)を用いる。なお、CORBAのI
DLの文法では、TYPEDEF構文内の型定義名称
は、開発者が自由に設定することができるようになって
いる。
In this embodiment, the data type of the COBOL language that matches the data type supported by the CORBA IDL is described as before, and the unsupported COBOL data type is described.
The data type of the L language is TY, which is one of the syntax elements of IDL.
A new description rule (hereinafter referred to as a new description rule) described using the PEDEF syntax is used. In addition, I of CORBA
In the grammar of the DL, the type definition name in the TYPEDEF syntax can be freely set by the developer.

【0025】新記述規則では、CORBAのIDLで規
定していないCOBOL言語のデータ型を、TYPED
EF構文内の、予め定めたIDLの型情報と、型定義名
称とにより定義する。例えば図2の宣言文501の変数
「ARG」は、図3(a)に示すように、IDLの型情
報「unsigned long」600と、型定義名
称「CBL_PACK_9_4V9_3」605とによ
り定義する。
According to the new description rule, the data type of the COBOL language, which is not defined by the CORBA IDL, is
It is defined by predetermined IDL type information and a type definition name in the EF syntax. For example, as shown in FIG. 3A, the variable “ARG” of the declaration 501 in FIG. 2 is defined by IDL type information “unsigned long” 600 and a type definition name “CBL_PACK_9_4V9_3” 605.

【0026】型定義名称605の記述も、新記述規則に
従ってなされる。具体的には、まず、記述言語がCOB
OL言語であることを示す文字列「CBL_」601を
記述する。続いて、用途に対応する文字列602を記述
する。図3(a)の例では、「PACKED−DECI
MAL」に対応する「PACK_」602を記述してい
る。用途である「BINARY」に対しては「BIN
_」、「DISPLAY」に対しては「DISP」をそ
れぞれ記述するようにする。続いて、必要ならば符号付
きを示す「S」(図示せず)を記述し、続けて数値であ
ることを示す「9_」603を記述する。続いて、10
進数の整数部の桁数(図の例では「4」)を記述し、必
要ならば、小数部の桁数(「3」)を「V9_」に続け
て記述する(604)。
The description of the type definition name 605 is also made according to the new description rule. Specifically, first, the description language is COB
A character string “CBL_” 601 indicating the OL language is described. Next, a character string 602 corresponding to the application is described. In the example of FIG. 3A, “PACKED-DECI
“PACK_” 602 corresponding to “MAL” is described. For “BINARY”, which is the application,
“_” And “DISPLAY” are respectively described as “DISP”. Subsequently, if necessary, “S” (not shown) indicating a sign is described, followed by “9_” 603 indicating a numerical value. Then, 10
The number of digits of the integer part of the hexadecimal number (“4” in the example in the figure) is described, and if necessary, the number of digits of the decimal part (“3”) is described following “V9_” (604).

【0027】このようにして、CORBAのIDLがサ
ポートしていないデータ型が記述される。以下で説明す
る本実施形態のIDL言語処理系およびIDL生成系
は、上述の新記述規則に対応するための機能を備えてい
る。
In this manner, data types not supported by the CORBA IDL are described. An IDL language processing system and an IDL generation system according to the present embodiment described below have a function to cope with the above-described new description rule.

【0028】図4に、本実施形態のIDL言語処理系
(以下、IDLコンパイラ)の機能構成を示す。
FIG. 4 shows a functional configuration of the IDL language processing system (hereinafter, IDL compiler) of the present embodiment.

【0029】図示するIDLコンパイラ700は、構文
解析部702およびコード生成部704を有する。構文
解析部702およびコード生成部704は、計算機1の
ディスク装置8,9の記憶領域内のプログラムの実行に
より実現される機能である。
The illustrated IDL compiler 700 has a syntax analyzer 702 and a code generator 704. The syntax analysis unit 702 and the code generation unit 704 are functions realized by executing programs in the storage areas of the disk devices 8 and 9 of the computer 1.

【0030】IDLコンパイラ700は、IDLソース
701を入力として、COBOL言語で記述されたスタ
ブ707およびスケルトン708を出力する。また、こ
の処理過程において解析情報703およびコード生成情
報712を生成する。
The IDL compiler 700 receives the IDL source 701 as an input and outputs a stub 707 and a skeleton 708 described in the COBOL language. In this process, analysis information 703 and code generation information 712 are generated.

【0031】ここで、IDLソース701は、対象のサ
ーバプログラムのインターフェースを、新記述規則に従
いIDLで記述した情報である。なお、IDLソース7
01、解析情報703、コード生成情報712、スタブ
707、および、スケルトン708は、計算機1のディ
スク装置にファイルとして格納される。
Here, the IDL source 701 is information in which the interface of the target server program is described in IDL according to the new description rule. IDL source 7
01, analysis information 703, code generation information 712, stub 707, and skeleton 708 are stored as files in the disk device of the computer 1.

【0032】IDLコンパイラ700は、新記述規則に
対応するため、構文解析部702に組み込まれるCOB
OL依存情報解析部751と、コード生成部704に組
み込まれるCOBOL型情報変換部752と、型変換テ
ーブル709に組み込まれる特殊テーブル711とを有
する。
The IDL compiler 700 includes a COB incorporated in the syntax analysis unit 702 to comply with the new description rule.
It has an OL dependence information analysis unit 751, a COBOL type information conversion unit 752 incorporated in the code generation unit 704, and a special table 711 incorporated in the type conversion table 709.

【0033】図5に示すように、型変換テーブル709
の特殊テーブル711には、新記述規則により記述され
た型定義名称(605)と、COBOL言語の型情報と
が予め対応付けて登録されている。型変換テーブル70
9の標準テーブル710には、IDLの型情報と、CO
BOL言語の型情報とが予め対応付けて登録されてい
る。これにより、型変換テーブル709には、COBO
L言語の全ての型情報が登録される。
As shown in FIG. 5, the type conversion table 709
In the special table 711, a type definition name (605) described according to the new description rule and type information of the COBOL language are registered in association with each other in advance. Type conversion table 70
9 has IDL type information and CO
BOL language type information is registered in advance in association with each other. As a result, the COBO is stored in the type conversion table 709.
All type information of the L language is registered.

【0034】なお、型変換テーブル709は、アクセス
の高速化のため、IDLコンパイラ700のプログラム
中に配置される。もちろん、計算機1のディスク装置に
ファイルとして格納するようにしてもよい。
The type conversion table 709 is arranged in the program of the IDL compiler 700 for speeding up access. Of course, it may be stored as a file in the disk device of the computer 1.

【0035】次に、IDLコンパイラ700の処理につ
いて、図5を用いて説明する。
Next, the processing of the IDL compiler 700 will be described with reference to FIG.

【0036】IDLソース701のコンパイルを指示す
るコマンドが、計算機1に入力されると、IDLコンパ
イラ700の処理が開始される。まず、構文解析部70
2が、IDLソース701の構文解析を行なって、解析
情報703を生成する。IDLのサポートするデータ型
の定義は、従来と同様に処理され、解析情報703内に
組み込まれる。
When a command for compiling the IDL source 701 is input to the computer 1, the processing of the IDL compiler 700 is started. First, the parsing unit 70
2 generates the analysis information 703 by analyzing the syntax of the IDL source 701. The definition of the data type supported by IDL is processed in the same manner as in the related art, and is incorporated in the analysis information 703.

【0037】この時、COBOL依存情報解析部751
は、図5に示すように、IDLソース701に記述され
ているTYPEDEF構文を調べ、先頭に「CBL_」
を有する型定義名称(605)がある場合には、その型
定義名称を、COBOL向け型情報として抽出し、解析
情報703内に組み込む処理を行なう(S101,S1
02)。例えば図3(a)に示すTYPEDEF構文が
ある場合には、「CBL_PACK_9_4V9_3」
605が抽出され、COBOL向け型情報として、解析
情報703内に組込まれる。
At this time, the COBOL dependency information analyzer 751
Checks the TYPEDEF syntax described in the IDL source 701 as shown in FIG.
If there is a type definition name (605) having the following, the type definition name is extracted as type information for COBOL and incorporated into the analysis information 703 (S101, S1).
02). For example, when there is a TYPEDEF syntax shown in FIG. 3A, "CBL_PACK_9_4V9_3"
605 is extracted and incorporated into the analysis information 703 as type information for COBOL.

【0038】COBOL依存情報解析部751により、
新記述規則で記述された型定義情報のみが抽出されるた
め、TYPEDEF構文に、新記述規則とは関係ない他
の情報が含まれる場合にも、以降の処理でエラーが発生
することはない。
The COBOL dependence information analysis unit 751
Since only the type definition information described by the new description rule is extracted, no error occurs in the subsequent processing even if the TYPEDEF syntax includes other information unrelated to the new description rule.

【0039】また、構文解析部702では、IDLソー
ス701の文法チェックを行う。本実施形態では、ID
Lのサポートしないデータ型を、TYPEDEF構文を
用いて定義するため、文法チェックでエラーが発生する
ことはない。
The syntax analyzer 702 checks the grammar of the IDL source 701. In the present embodiment, the ID
Since data types not supported by L are defined using the TYPEDEF syntax, no error occurs in the grammar check.

【0040】続いて、コード生成部704が、解析情報
703を読み取り、IDLの型情報を、COBOLの型
情報へ変換する処理を行なって、スタブ707およびス
ケルトン708を生成する。
Subsequently, the code generation unit 704 reads the analysis information 703 and performs a process of converting IDL type information into COBOL type information, thereby generating a stub 707 and a skeleton 708.

【0041】この際、インターフェース情報解析部70
5は、型変換テーブル709の標準テーブル710を参
照して、解析情報に703に含まれるIDLの型情報
を、COBOL言語の型情報に変換する。この変換結果
は、コード生成情報712として登録される。これと並
行して、COBOL型情報変換部752は、型変換テー
ブル709の特殊テーブル711を参照して、解析情報
に703に含まれるCOBOL向け型情報を、COBO
L言語の型情報に変換する。
At this time, the interface information analysis unit 70
5 converts the IDL type information included in the analysis information 703 into the COBOL language type information with reference to the standard table 710 of the type conversion table 709. This conversion result is registered as code generation information 712. In parallel with this, the COBOL type information conversion unit 752 refers to the special table 711 of the type conversion table 709 and adds the COBOL type information contained in the analysis information 703 to the COBOL.
Convert to L language type information.

【0042】具体的には、COBOL型情報変換部75
2は、解析情報703に含まれるCOBOL向け型情報
を読み出し(S103)、その型情報に対応して型変換
テーブル709の特殊テーブル711に登録されている
COBOLの型情報を取得する(S104)。そして、
取得した型情報にパラメータを設定して、その結果をコ
ード生成情報712として登録する(S105)。
More specifically, the COBOL type information converter 75
2 reads out the type information for COBOL included in the analysis information 703 (S103), and acquires the type information of the COBOL registered in the special table 711 of the type conversion table 709 corresponding to the type information (S104). And
A parameter is set in the acquired type information, and the result is registered as code generation information 712 (S105).

【0043】例えば、解析情報703から読み出した情
報が「CBL_PACK_9_4V9_3」である場合
には、非対応型変換テーブル711に、「CBL_PA
CK_9_xV9_y」に対応して登録されている「p
ic 9(x)v9(y)PACKED−DECIMA
L」を取得し、そのパラメータx,yにそれぞれ
‘3’,‘4’を設定する。
For example, if the information read from the analysis information 703 is “CBL_PACK_9_4V9_3”, “CBL_PA
“P” registered corresponding to “CK_9_xV9_y”
ic 9 (x) v9 (y) PACKED-DECIMA
L ”is acquired, and '3' and '4' are set to the parameters x and y, respectively.

【0044】プログラムコード生成部706は、コード
生成情報712を用いて、COBOL言語で記述したス
タブ707およびスケルトン708を生成する。
The program code generator 706 uses the code generation information 712 to generate a stub 707 and a skeleton 708 described in the COBOL language.

【0045】スタブ707およびスケルトン708は、
自らに設定されたメソッド名称の定義されたPROGR
AM−ID文と、呼び出すプログラム(メソッド)の名
称の定義されたCALL文とを有する。スタブ707の
CALL文はORBの機能を呼出し、スケルトン708
のCALL文はサーバプログラムを呼出すためのもので
ある。
The stub 707 and the skeleton 708 are
PROGR with defined method name set to itself
It has an AM-ID statement and a CALL statement in which the name of a program (method) to be called is defined. The CALL statement of the stub 707 calls the function of the ORB, and the skeleton 708
CALL statement is for calling a server program.

【0046】スタブ707および別途作成されたクライ
アントプログラムは、実行される計算機において、CO
BOLのコンパイルおよびリンクをなされて、実行形式
のプログラムとなる。同様に、スケルトン708および
サーバプログラムも、実行される計算機において、CO
BOLのコンパイルおよびリンクをなされて、実行形式
のプログラムとなる。
The stub 707 and the separately created client program are executed by a computer on which the
The BOL is compiled and linked into an executable program. Similarly, the skeleton 708 and the server program also execute
The BOL is compiled and linked into an executable program.

【0047】なお、IDLコンパイラ700は、スタブ
707およびスケルトン708の一方のみを生成するモ
ードを有する。また、スタブ707やスケルトン708
の生成時に、続けて計算機1においてCOBOLのコン
パイルを行い、スタブ707やスケルトン708を実行
形式のプログラムとして出力するモードを有する。ID
Lコンパイラ700は、これらのモードを、IDLのコ
ンパイルを指示するコマンドのパラメータに従い選択す
る。
The IDL compiler 700 has a mode in which only one of the stub 707 and the skeleton 708 is generated. Also, the stub 707 and the skeleton 708
, The computer 1 continuously compiles the COBOL and outputs the stub 707 and the skeleton 708 as an executable program. ID
The L compiler 700 selects these modes according to the parameters of a command instructing the compilation of IDL.

【0048】スタブ707は、クライアントプログラム
内の、サーバプログラムを呼び出すCALL文により起
動される。起動されたスタブ707は、CALL文によ
り、ORBの機能を、メソッドの名称や引数の情報の指
定を伴い呼び出す。これを受けて、ORBは、対応する
サーバプログラムおよびスケルトン708の配置された
計算機を特定するための処理を行い、配置先の計算機の
スケルトン708を、メソッドの名称や引数の情報の指
定を伴い呼び出す。これにより起動されたスケルトン7
08は、サーバプログラムを引数の指定を伴い呼び出
す。これにより、サーバプログラムが実行される。実行
結果は、逆の経路で転送され、クライアントプログラム
に渡される。
The stub 707 is activated by a CALL statement in the client program that calls the server program. The activated stub 707 calls the function of the ORB with the specification of the method name and the information of the argument by the CALL statement. In response to this, the ORB performs processing for specifying the computer on which the corresponding server program and the skeleton 708 are arranged, and calls the skeleton 708 of the computer on which the ORB is arranged with the designation of the method name and the information of the argument. . Skeleton 7 activated by this
08 calls the server program with the specification of the argument. As a result, the server program is executed. The execution result is transferred by the reverse route and passed to the client program.

【0049】以上で説明したように、本実施形態のID
Lコンパイラ700によれば、新記述規則により記述さ
れたIDLから、IDLのサポートしていないデータ型
の指定を含むCOBOL言語のプログラムのスタブ70
7およびスケルトン708を生成することができる。
As described above, the ID of the present embodiment
According to the L compiler 700, the stub 70 of the COBOL language program including the specification of the data type not supported by the IDL is obtained from the IDL described by the new description rule.
7 and skeleton 708 can be generated.

【0050】図6に、本実施形態のIDL生成系の機能
構成を示す。
FIG. 6 shows a functional configuration of the IDL generation system of this embodiment.

【0051】図示するIDL生成系800は、構文解析
部802、インターフェース情報抽出部804、変換テ
ーブル806、および、コード生成部807を有する。
各部802、804、806および807は、計算機の
ディスク装置8,9の記憶領域内のプログラムの実行に
より実現される機能である。
The illustrated IDL generation system 800 includes a syntax analysis unit 802, an interface information extraction unit 804, a conversion table 806, and a code generation unit 807.
Each of the units 802, 804, 806, and 807 is a function realized by executing a program in a storage area of the disk device 8, 9 of the computer.

【0052】IDL生成系800は、原始ファイル80
1を入力として、IDLソース809を出力する。この
処理の過程では、解析情報803、中間言語805、お
よび、コード生成情報823が生成される。
The IDL generation system 800 includes a source file 80
1 is input, and the IDL source 809 is output. In this process, analysis information 803, intermediate language 805, and code generation information 823 are generated.

【0053】ここで、原始ファイル801は、COBO
L言語で記述されたサーバプログラムからなる。なお、
原始ファイル801、解析情報803、中間語805、
コード生成情報823およびIDLソース809は、計
算機1のディスク装置にファイルとして格納される。原
始ファイル801は、例えば、開発の行われた他の計算
機からネットワーク16を介して転送される。
Here, the source file 801 is a COBO file.
It consists of a server program written in L language. In addition,
Source file 801, analysis information 803, intermediate language 805,
The code generation information 823 and the IDL source 809 are stored as files in the disk device of the computer 1. The source file 801 is transferred, for example, from another computer that has been developed via the network 16.

【0054】IDL生成系800は、新記述規則に対応
するための機能として、コード生成部807内のTYP
EDEF生成部808に組込まれるCOBOL型TYP
EDEF生成部811と、型変換テーブル806に組込
まれる特殊テーブル821とを有する。
The IDL generation system 800 has a function to cope with the new description rule.
COBOL type TYP incorporated in EDEF generation unit 808
An EDEF generation unit 811 and a special table 821 incorporated in the type conversion table 806 are provided.

【0055】図7に示すように、型変換テーブル806
の特殊テーブル821には、COBOLの型情報と、T
YPEDEF情報とが予め対応付けて登録されている。
ここで、TYPEDEF情報は、新記述規則により記述
された型定義名称(605)である。一方、型変換テー
ブル806の標準テーブル820には、COBOL言語
の型情報と、IDLの型情報とが予め対応付けて登録さ
れている。これにより、型変換テーブル806には、C
OBOL言語の全ての型情報が登録される。
As shown in FIG. 7, the type conversion table 806
In the special table 821, the type information of COBOL and the T
YPEDEF information is registered in association with each other in advance.
Here, the TYPEDEF information is a type definition name (605) described according to the new description rule. On the other hand, in the standard table 820 of the type conversion table 806, type information of the COBOL language and type information of the IDL are registered in association with each other in advance. As a result, the type conversion table 806 contains C
All type information of the OBOL language is registered.

【0056】なお、型変換テーブル806は、アクセス
の高速化のため、IDL生成系800のプログラム中に
配置される。もちろん、計算機1のディスク装置にファ
イルとして格納するようにしてもよい。
The type conversion table 806 is arranged in the program of the IDL generation system 800 to speed up access. Of course, it may be stored as a file in the disk device of the computer 1.

【0057】次に、IDL生成系800の処理につい
て、図7を用いて説明する。
Next, the processing of the IDL generation system 800 will be described with reference to FIG.

【0058】IDLソースの生成を指示するメッセージ
が計算機に入力されると、まず、構文解析部802が、
原始プログラム801の構文解析を行ない、解析情報8
03を生成する。
When a message instructing the generation of the IDL source is input to the computer, first, the syntax analyzer 802
The syntax analysis of the source program 801 is performed, and the analysis information 8
03 is generated.

【0059】この解析情報803から、インターフェー
ス情報抽出部804が、インターフェース情報を抽出し
て、中間語805を生成する。ここで、中間語805に
は、原始ファイル801を構成する各プログラムのプロ
グラム名と、引数情報(引数の名称や型情報)とが含ま
れる。
From the analysis information 803, an interface information extraction unit 804 extracts interface information and generates an intermediate language 805. Here, the intermediate language 805 includes a program name of each program constituting the source file 801 and argument information (name and type information of the argument).

【0060】続いて、コード生成部807が、中間語8
05を読み取り、引数情報内の型情報を、IDLの型情
報またはTYPEDEF情報に変換する処理を行って、
IDLソース809を生成する。
Subsequently, the code generator 807 determines that the intermediate language 8
05, and converts the type information in the argument information into IDL type information or TYPEDEF information.
An IDL source 809 is generated.

【0061】この際、コード生成部807は、まず、中
間語805に含まれるCOBOL言語の型情報を型変換
テーブル806の標準テーブル820で検索する。その
型情報が標準テーブル820に登録されているもの(例
えば「PIC S9(9)」)である場合、コード生成
部807は、対応するIDLの型情報(「long」)
を抽出し、コード生成情報823として登録する。これ
を、全てのプログラムおよび引数情報について行う。
At this time, the code generator 807 first searches the standard table 820 of the type conversion table 806 for type information of the COBOL language included in the intermediate language 805. If the type information is registered in the standard table 820 (for example, “PIC S9 (9)”), the code generation unit 807 determines the corresponding IDL type information (“long”).
Is extracted and registered as code generation information 823. This is performed for all programs and argument information.

【0062】COBOL型TYPEDEF生成部811
では、標準テーブル820に登録の無いCOBOL言語
の型情報について、TYPEDEF構文の生成を行う。
まず、TYPEDEF生成部811は、中間語805か
ら、プログラム名を読み出し(S201)、標準テーブ
ル820に登録の無い引数情報を読み出す(S20
2)。そして、読み出した引数情報内の型情報を、型変
換テーブル806の特殊テーブル821で検索する(S
203,S205)。対象の型情報の登録がない場合
は、型変換エラー処理を行って、エラーメッセージを表
示する(S206)。
A COBOL type TYPEDEF generation unit 811
Then, a TYPEDEF syntax is generated for type information of the COBOL language not registered in the standard table 820.
First, the TYPEDEF generation unit 811 reads a program name from the intermediate language 805 (S201), and reads argument information not registered in the standard table 820 (S20).
2). Then, the type information in the read argument information is searched in the special table 821 of the type conversion table 806 (S
203, S205). If the target type information is not registered, a type conversion error process is performed and an error message is displayed (S206).

【0063】対象の型情報が登録されている場合は、そ
の型情報に対応付けられているTYPEDEF情報を取
得する(S207)。そして、取得したTYPEDEF
情報と一致する型定義名称が、既に追加出力しているT
YPEDEFチェーン(TYPEDEF情報群)にある
かどうかをコード生成情報823で検索し(S208,
S210)、ない場合(S29でNO)は、そのTYP
EDEF情報を用いたTYPEDEF構文を生成し、コ
ード生成情報823内のTYPEDEFチェーンに追加
出力する(S211)。この追加出力により、図3
(a)の形式をとるTYPEDEF構文の文字データが
追加される。
If the target type information is registered, the TYPEDEF information associated with the type information is obtained (S207). And the obtained TYPEDEF
The type definition name that matches the information has already been added and output
The code generation information 823 is searched for whether or not it is in the YPEDEF chain (TYPEDEF information group) (S208,
(S210) If not (NO in S29), the TYP
A TYPEDEF syntax using the EDEF information is generated, and additionally output to the TYPEDEF chain in the code generation information 823 (S211). With this additional output, FIG.
Character data of TYPEDEF syntax in the form of (a) is added.

【0064】図3(a)に示すように、TYPEDEF
構文の生成では、まず、「typedef long」
600の文字データを構文に設定し、続いて、TYPE
DEF情報にパラメータを設定して型定義名称(60
5)を生成し、その型定義名称の文字データを構文に設
定する。そして、構文の次の行に型定義名称(605)
および引数名称606を設定する。
As shown in FIG. 3A, TYPEDEF
In generating the syntax, first, "typedef long"
Set the character data of 600 to the syntax, and then type
Set the parameter in the DEF information and type definition name (60
5) is generated, and the character data of the type definition name is set in the syntax. Then, the type definition name (605) is added to the line following the syntax.
And an argument name 606 are set.

【0065】一方、取得したTYPEDEF情報と一致
する型定義名称が既にTYPEDEFチェーンに存在す
る時(S209でYES)は、TYPEDEFチェーン
内の一致する型定義名称の個所に、型定義名称および引
数情報を追加する(S212)。例えば、TYPEDE
Fチェーン内に図3(a)の型定義名称605が存在
し、他の引数名称「ARG2」についての型定義名称が
図3(a)のものに一致する場合には、既に設定されて
いる型定義名称605および引数名称606の行の次の
行に「CBL_PACK_9_4V9_3 ARG2」
が追加される。これにより、同じ情報600および60
5を繰り返し設定しなくても済むため、TYPEDEF
構文の情報量を小さく抑えることができる。
On the other hand, when a type definition name that matches the acquired TYPEDEF information already exists in the TYPEDEF chain (YES in S209), the type definition name and the argument information are added to the corresponding type definition name in the TYPEDEF chain. It is added (S212). For example, TYPEDE
If the type definition name 605 of FIG. 3A exists in the F-chain and the type definition name of another argument name “ARG2” matches that of FIG. 3A, it has already been set. "CBL_PACK_9_4V9_3 ARG2" is added to the line following the line of the type definition name 605 and the argument name 606.
Is added. This allows the same information 600 and 60
Because it is not necessary to set 5 repeatedly, TYPEDEF
The amount of syntax information can be kept small.

【0066】続いて、TYPEDEF生成部808で
は、同じプログラムの他の引数情報について以上の処理
を繰り返し(S213)、さらに、他のプログラムにつ
いて以上の処理を繰り返す(S214)。
Subsequently, the TYPEDEF generation unit 808 repeats the above processing for other argument information of the same program (S213), and further repeats the above processing for another program (S214).

【0067】以上により作成されたコード生成情報82
3はコード出力部810に渡される。コード出力部81
0は、IDLソース809に対し、コード生成情報82
3内のIDLの型情報を用いてIDLの変数・数値の定
義文を設定し、さらに、TYPEDEFチェーン内の各
情報を、IDLソース809のTYPEDEF構文とし
て設定する。
Code generation information 82 created as described above
3 is passed to the code output unit 810. Code output unit 81
0 indicates to the IDL source 809 that the code generation information 82
The definition statement of the IDL variable / numerical value is set using the IDL type information in No. 3, and each information in the TYPEDEF chain is set as the TYPEDEF syntax of the IDL source 809.

【0068】以上で説明したように、本実施形態のID
L生成系800によれば、IDLのサポートしていない
データ型の指定を含むCOBOL言語のプログラムか
ら、新記述規則により記述したIDLソース809を生
成することができる。開発者は、このIDLソース80
9を、上述のIDLコンパイラ700でコンパイルする
ことにより、スタブ707およびスケルトン708を得
ることができる。
As described above, the ID of the present embodiment
According to the L generation system 800, an IDL source 809 described according to the new description rule can be generated from a COBOL language program including a data type specification not supported by IDL. Developers can use this IDL source 80
9 is compiled by the above-described IDL compiler 700, whereby a stub 707 and a skeleton 708 can be obtained.

【0069】すなわち、IDLコンパイラ700および
IDL生成系800を用いることにより、開発者は、既
成のクライアントプログラムやサーバプログラムを流用
する場合にも、インタフェース仕様の修正等を行わなわ
ずに済み、そのスタブ707およびスケルトン708を
容易に取得できるようになる。また、COBOL言語の
データ型を自由に使って、クライアントプログラムやサ
ーバプログラムを作成できるようになる。
That is, by using the IDL compiler 700 and the IDL generation system 800, the developer does not need to modify the interface specifications even when diverting an existing client program or server program. 707 and skeleton 708 can be easily obtained. Further, a client program or a server program can be created by freely using the data type of the COBOL language.

【0070】ところで、以上ではIDLのサポートして
いないデータ型をTYPEDEF構文を使用して定義す
る例を説明したが、この定義は、同じくIDLにおいて
開発者が自由に記述することができるIDLの変数・定
数の名称や、IDLのコメント文を用いて行うようにし
てもよい。
In the above, an example has been described in which a data type that is not supported by IDL is defined by using the TYPEDEF syntax. This definition is based on IDL variables that can be freely described by the developer in IDL. It may be performed using the name of a constant or a comment sentence of IDL.

【0071】変数や定数の名称を用いる場合には、図3
(b)に示すように、IDLのデータ型定義文におい
て、定義対象の変数や定数の名称606の前に、仕切記
号「_」を挿んで上述の型定義名称605を付加する。
この場合、IDLコンパイラは、データ型定義文より、
「CBL_」の付加された名称606を抽出し、上述の
図4のものと同様の処理を行う。IDL生成系も、原始
ファイルの引数情報を、図3(b)の形式で記述し、上
述の図6のものと同様の処理を行う。
When using the names of variables and constants, FIG.
As shown in (b), in the IDL data type definition statement, a partition symbol “_” is inserted before the name 606 of the variable or constant to be defined, and the above-described type definition name 605 is added.
In this case, the IDL compiler uses the data type definition statement to
The name 606 to which "CBL_" is added is extracted, and the same processing as that in FIG. 4 described above is performed. The IDL generation system also describes the argument information of the source file in the format of FIG. 3B, and performs the same processing as that of FIG. 6 described above.

【0072】コメントを用いる場合には、図3(c)に
示すように、IDLのデータ型定義文において、定義対
象の変数や定数の名称606の後に、コメント記号「/
/」を挿んで上述の型定義名称605を付加する。この
場合も、IDLコンパイラおよびIDL生成系は、図4
および図6のものと同様の処理を行う。
When a comment is used, as shown in FIG. 3C, in the IDL data type definition statement, a comment symbol “/” is added after the name 606 of the variable or constant to be defined.
The above type definition name 605 is added by inserting “/”. Also in this case, the IDL compiler and IDL generation system
And the same processing as that of FIG. 6 is performed.

【0073】また、以上では、COBOL言語で作成す
るプログラムの開発を支援する場合について説明した
が、本発明は、他のプログラム言語(例えばC言語、C
++言語、Java言語など)を用いる開発にも、容易
に適用することができる。この場合、IDL言語処理系
は、COBOL依存情報解析部751とCOBOL型情
報変換部752との代りに、それぞれ、対象のプログラ
ム言語の依存情報解析部と型変換部とを設けるようにす
る。また、IDL生成系は、COBOL型TYPEDE
F生成部811の代りに、対象のプログラム言語のTY
PEDEF生成部を設けるようにする。そして、型変換
テーブル709および806には、対象のプログラム言
語のデータ型を登録するようにする。さらに、新記述規
則は、対象のプログラム言語のデータ型を一意に識別で
きるように型定義名称を記述するものとする。
In the above description, the case where the development of a program created in the COBOL language is supported has been described.
++ language, Java language, etc.). In this case, the IDL language processing system is provided with a dependency information analysis unit and a type conversion unit for the target program language, instead of the COBOL dependency information analysis unit 751 and the COBOL type information conversion unit 752, respectively. The IDL generation system is a COBOL type TYPE
Instead of the F generator 811, the TY of the target programming language is used.
A PEDEF generation unit is provided. Then, the data types of the target program language are registered in the type conversion tables 709 and 806. Furthermore, the new description rule describes the type definition name so that the data type of the target programming language can be uniquely identified.

【0074】[0074]

【発明の効果】以上で説明したように、本発明によれ
ば、対象とするプログラム言語で記述されたプログラム
で使用されるデータ型の制限なしに、そのプログラムの
インタフェース機能を実現するサブプログラムを生成す
ることのできるプログラム開発支援ツールを提供するこ
とができる。
As described above, according to the present invention, a subprogram that realizes an interface function of a program without restriction on data types used in the program described in a target programming language is provided. A program development support tool that can be generated can be provided.

【0075】また、本発明によれば、対象とするプログ
ラム言語で記述された任意のプログラムについて、上記
プログラム開発支援ツールで処理可能なIDLのソース
情報を生成することのできるプログラム開発支援ツール
を提供することができる。
Further, according to the present invention, there is provided a program development support tool capable of generating IDL source information which can be processed by the program development support tool for an arbitrary program described in a target program language. can do.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のプログラム開発支援ツールが実装され
る計算機の構成例を示すブロック図である。
FIG. 1 is a block diagram showing a configuration example of a computer on which a program development support tool of the present invention is mounted.

【図2】COBOLプログラムにおける型宣言の一例を
示す図である。
FIG. 2 is a diagram showing an example of a type declaration in a COBOL program.

【図3】本発明の新記述規則を適用したIDLの記述例
を示す図である。
FIG. 3 is a diagram showing a description example of IDL to which a new description rule of the present invention is applied.

【図4】COBOLに対応するIDL言語処理系の機能
構成を示す図である。
FIG. 4 is a diagram showing a functional configuration of an IDL language processing system corresponding to COBOL.

【図5】依存情報解析部および型情報変換部の機能を示
す図である。
FIG. 5 is a diagram showing functions of a dependency information analysis unit and a type information conversion unit.

【図6】COBOLに対応するIDL生成系の機能構成
を示す図である。
FIG. 6 is a diagram showing a functional configuration of an IDL generation system corresponding to COBOL.

【図7】TYPEDEF生成部の機能を示す図である。FIG. 7 is a diagram illustrating a function of a TYPEDEF generation unit.

【図8】従来のIDL言語処理系の機能構成を示す図で
ある。
FIG. 8 is a diagram showing a functional configuration of a conventional IDL language processing system.

【図9】従来のIDL生成系の機能構成を示す図であ
る。
FIG. 9 is a diagram showing a functional configuration of a conventional IDL generation system.

【符号の説明】[Explanation of symbols]

501 COBOLの型宣言文 600〜606 TYPEDEF構文を用いた型宣言 605 型定義名称 700 IDL言語処理系 701 IDLソース 702 IDL言語処理系の構文解析部 751 構文解析部内のCOBOL依存情報解析部 703 IDL言語処理系の構文解析によって得られた
解析情報 704 IDL言語処理系のコード生成部 705 IDL言語処理系のインターフェース情報解析
部 706 IDL言語処理系のプログラムコード生成部 707 コード生成部により得られるスタブ 708 コード生成部により得られるスケルトン 709 IDL言語処理系の型変換テーブル 710 型変換テーブル内の標準テーブル 711 型変換テーブル内の特殊テーブル 712 コード生成情報 752 COBOL型情報変換部 800 IDL生成系 801 原始プログラムファイル 802 IDL生成系の構文解析部 803 IDL生成系の解析情報 804 IDL生成系のインターフェース情報抽出部 805 IDL生成系の中間語情報 806 IDL生成系の型変換テーブル 807 IDL生成系のコード生成部 808 コード生成部内のTYPEDEF生成部 810 IDL生成系のIDL出力部 811 TYPEDEF生成部内のCOBOL型TYP
EDEF生成部 809 IDLソース 820 型変換テーブル内の標準テーブル 821 型変換テーブル内の特殊テーブル 823 コード生成情報
501 Type declaration statement of COBOL 600 to 606 Type declaration using TYPEDEF syntax 605 Type definition name 700 IDL language processing system 701 IDL source 702 Syntax analysis unit of IDL language processing system 751 COBOL dependency information analysis unit in syntax analysis unit 703 IDL language Analysis information obtained by parsing of the processing system 704 Code generation unit of the IDL language processing system 705 Interface information analysis unit of the IDL language processing system 706 Program code generation unit of the IDL language processing system 707 Stub obtained by the code generation unit 708 Code Skeleton 709 obtained by generation unit Type conversion table of IDL language processing system 710 Standard table in type conversion table 711 Special table in type conversion table 712 Code generation information 752 COBOL type information conversion unit 800 ID L generation system 801 Source program file 802 IDL generation system syntax analysis unit 803 IDL generation system analysis information 804 IDL generation system interface information extraction unit 805 IDL generation system intermediate language information 806 IDL generation system type conversion table 807 IDL generation Code generation unit 808 TYPEDEF generation unit in code generation unit 810 IDL output unit in IDL generation system 811 COBOL type TYPE in TYPEDEF generation unit
EDEF generation unit 809 IDL source 820 Standard table in type conversion table 821 Special table in type conversion table 823 Code generation information

───────────────────────────────────────────────────── フロントページの続き (72)発明者 高木 渉 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 沼野井 淳 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Wataru Takagi 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside Software Development Division, Hitachi, Ltd. Hitachi, Ltd. Software Development Division

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】複数のプログラム間の呼び出し規則を記述
したものであるIDL(インターフェース定義言語)の
ソース情報を基に、前記プログラムのインターフェース
機能を実現するサブプログラムを生成するプログラム開
発支援ツールにおいて、 前記プログラムを記述するプログラム言語で用いるデー
タ型の型情報、および、該データ型を予め定めた規則に
従って記述したものである型定義情報が、予め対応付け
て登録される特殊テーブルを有する型変換テーブルと、 前記IDLのソース情報から、前記予め定めた規則に従
って記述されている型定義情報を抽出する手段と、 抽出した型定義情報を、前記型変換テーブルを用いて、
前記プログラム言語の型情報に変換し、該型情報をコー
ド生成情報として登録する手段と、 コード生成情報を用いて、前記サブプログラムを生成す
る手段とを備えることを特徴とするプログラム開発支援
ツール。
1. A program development support tool for generating a subprogram that realizes an interface function of a program based on IDL (interface definition language) source information that describes a calling rule between a plurality of programs, A type conversion table having a special table in which type information of a data type used in a program language for describing the program and type definition information in which the data type is described according to a predetermined rule are registered in association with each other in advance. Means for extracting type definition information described according to the predetermined rule from the source information of the IDL; and using the type conversion table to extract the extracted type definition information,
A program development support tool, comprising: means for converting the type information into the type information of the programming language and registering the type information as code generation information; and means for generating the subprogram using the code generation information.
【請求項2】請求項1記載のプログラム開発支援ツール
において、 前記予め定めた規則に従って記述された型定義情報は、
前記IDLのソース情報内のTYPEDEF構文中から
抽出されることを特徴とするプログラム開発支援ツー
ル。
2. The program development support tool according to claim 1, wherein the type definition information described according to the predetermined rule is:
A program development support tool characterized by being extracted from the TYPEDEF syntax in the IDL source information.
【請求項3】請求項1記載のプログラム開発支援ツール
において、 前記予め定めた規則に従って記述された型定義情報は、
データの表示型、長さ、および、用途を示す情報を有す
ることを特徴とするプログラム開発支援ツール。
3. The program development support tool according to claim 1, wherein the type definition information described in accordance with the predetermined rule is:
A program development support tool characterized by having information indicating a display type, a length, and a use of data.
【請求項4】プログラムの原始コードを基に、該プログ
ラムの呼び出し規則を記述した、IDL(インターフェ
ース定義言語)のソース情報を生成するプログラム開発
支援ツールにおいて、 前記プログラムを記述するプログラム言語で用いるデー
タ型の型情報、および、該データ型を予め定めた規則に
従って記述したものである型定義情報が、予め対応付け
て登録される特殊テーブルを有する型変換テーブルと、 前記プログラムが受渡しするデータの型情報の内の、前
記特殊テーブルに登録されている型情報を、前記型変換
テーブルを用いて、型定義情報に変換し、該型定義情報
をコード生成情報として登録する手段と、 コード生成情報から前記IDLのソース情報を生成する
手段とを備えることを特徴とするプログラム開発支援ツ
ール。
4. A program development support tool for generating IDL (Interface Definition Language) source information in which a calling rule of the program is described based on a source code of the program, wherein data used in the program language describing the program is provided. A type conversion table having a special table in which type information of a type and type definition information in which the data type is described according to a predetermined rule are registered in advance, and a type of data to be transferred by the program. Means for converting type information registered in the special table into type definition information using the type conversion table, and registering the type definition information as code generation information; Means for generating the IDL source information.
【請求項5】請求項4記載のIDLプログラム開発支援
ツールにおいて、 前記変換のなされた型定義情報は、前記IDLのソース
情報内のTYPEDEF構文中に設定されることを特徴
とするプログラム開発支援ツール。
5. The IDL program development support tool according to claim 4, wherein the converted type definition information is set in a TYPEDEF syntax in the IDL source information. .
【請求項6】請求項4記載のプログラム開発支援ツール
において、 前記予め定めた規則に従って記述された型定義情報は、
データの表示型、長さ、および、用途を示す情報を有す
ることを特徴とするプログラム開発支援ツール。
6. The program development support tool according to claim 4, wherein the type definition information described according to the predetermined rule is:
A program development support tool characterized by having information indicating a display type, a length, and a use of data.
【請求項7】複数のプログラム間の呼び出し規則を記述
した、IDL(インターフェース定義言語)のソース情
報が記録される記録媒体において、 前記IDLのソース情報内に、前記プログラム間で受渡
しするデータの型を予め定めた規則に従って記述した型
定義情報が設定されていることを特徴とする記録媒体。
7. A recording medium on which IDL (interface definition language) source information in which a calling rule between a plurality of programs is described is recorded. Characterized in that type definition information in which is described in accordance with a predetermined rule is set.
【請求項8】請求項7記載の記録媒体において、 前記予め定めた規則に従って記述した型定義情報は、前
記IDLのソース情報内のTYPEDEF構文中に設定
されていることを特徴とする記録媒体。
8. The recording medium according to claim 7, wherein the type definition information described according to the predetermined rule is set in a TYPEDEF syntax in the IDL source information.
【請求項9】請求項7記載の記録媒体において、 前記予め定めた規則に従って記述された型定義情報は、
データの表示型、長さ、および、用途を示す情報を有す
ることを特徴とする記録媒体。
9. The recording medium according to claim 7, wherein the type definition information described according to the predetermined rule is:
A recording medium having information indicating a display type, a length, and a use of data.
JP09919898A 1998-04-10 1998-04-10 Program development support tool Expired - Fee Related JP4319706B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09919898A JP4319706B2 (en) 1998-04-10 1998-04-10 Program development support tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09919898A JP4319706B2 (en) 1998-04-10 1998-04-10 Program development support tool

Publications (2)

Publication Number Publication Date
JPH11296359A true JPH11296359A (en) 1999-10-29
JP4319706B2 JP4319706B2 (en) 2009-08-26

Family

ID=14240960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09919898A Expired - Fee Related JP4319706B2 (en) 1998-04-10 1998-04-10 Program development support tool

Country Status (1)

Country Link
JP (1) JP4319706B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321954A (en) * 2004-05-07 2005-11-17 Sony Corp Robot device, information processing system, information processing method, and computer program
JP2007226743A (en) * 2006-02-27 2007-09-06 Fujitsu Ltd Program, method and apparatus for supporting development of mediation program
JP2007226431A (en) * 2006-02-22 2007-09-06 Fujitsu Ltd Program, method and apparatus for supporting development of mediation program
US7325230B2 (en) 2003-11-05 2008-01-29 Kabushiki Kaisha Toshiba System for compiling source programs into machine language programs, a computer implemented method for the compiling and a computer program product for the compiling within the computer system
CN100394387C (en) * 2005-01-25 2008-06-11 台湾积体电路制造股份有限公司 Method for prevention of system execution malfunction
US7561927B2 (en) 2004-07-02 2009-07-14 Okuma Corporation Numerical controller which can call program described in script language
JP2019160243A (en) * 2018-03-16 2019-09-19 富士通株式会社 Control program, control method, and information processor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325230B2 (en) 2003-11-05 2008-01-29 Kabushiki Kaisha Toshiba System for compiling source programs into machine language programs, a computer implemented method for the compiling and a computer program product for the compiling within the computer system
JP2005321954A (en) * 2004-05-07 2005-11-17 Sony Corp Robot device, information processing system, information processing method, and computer program
US7561927B2 (en) 2004-07-02 2009-07-14 Okuma Corporation Numerical controller which can call program described in script language
CN100394387C (en) * 2005-01-25 2008-06-11 台湾积体电路制造股份有限公司 Method for prevention of system execution malfunction
JP2007226431A (en) * 2006-02-22 2007-09-06 Fujitsu Ltd Program, method and apparatus for supporting development of mediation program
US8347323B2 (en) 2006-02-22 2013-01-01 Fujitsu Limited Method and apparatus for supporting development of broker program, and computer product
JP2007226743A (en) * 2006-02-27 2007-09-06 Fujitsu Ltd Program, method and apparatus for supporting development of mediation program
JP2019160243A (en) * 2018-03-16 2019-09-19 富士通株式会社 Control program, control method, and information processor

Also Published As

Publication number Publication date
JP4319706B2 (en) 2009-08-26

Similar Documents

Publication Publication Date Title
KR101150003B1 (en) Software development infrastructure
US6041180A (en) System and method for optimizing template object files
EP1178404B1 (en) Method and system for compiling multiple languages
JP2609093B2 (en) Apparatus and method for generating software program
US7823139B2 (en) Method and system for translating programming languages
JP2005018777A (en) Common query runtime system and application programming interface
US20120167065A1 (en) Compiler compiler system with syntax-controlled runtime and binary application programming interfaces
US6219834B1 (en) Extensible compiler and method
JPH0769832B2 (en) Method and apparatus for expressing effects and dependencies of programming operations
US20050138612A1 (en) Compilation method, compiler apparatus and compiler
Cifuentes et al. Experience in the design, implementation and use of a retargetable static binary translation framework
JPH11296359A (en) Program development support tool
US20060107253A1 (en) Method and apparatus for generating specification data
JP2879099B1 (en) Abstract syntax tree processing method, computer readable recording medium recording abstract syntax tree processing program, computer readable recording medium recording abstract syntax tree data, and abstract syntax tree processing device
JP2002132502A (en) Automatic creating system and method of distributed object with interpretation of language function
JPH07182179A (en) Object oriented data base managing device
JPH09218789A (en) Division compiling system
CN113220277B (en) Development method and device for embedded service
Barnes Compiling CSP.
JP2977642B2 (en) FORTRAN compilation processor
JP3531728B2 (en) Apparatus and method for managing configuration relation of program described in object-oriented programming language, and storage medium
JPH09179738A (en) Object-oriented language processing method and processor
JP4371000B2 (en) IDL compiling device, IDL compiling method, and IDL compiler
JP2001005655A (en) Device and method for aiding development of application generator
Rus et al. TICS: A component based language processing environment

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070130

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070302

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: 20090529

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees