New! View global litigation for patent families

JPH11296359A - Program development support tool - Google Patents

Program development support tool

Info

Publication number
JPH11296359A
JPH11296359A JP9919898A JP9919898A JPH11296359A JP H11296359 A JPH11296359 A JP H11296359A JP 9919898 A JP9919898 A JP 9919898A JP 9919898 A JP9919898 A JP 9919898A JP H11296359 A JPH11296359 A JP H11296359A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
type
information
program
means
definition
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
JP9919898A
Other languages
Japanese (ja)
Other versions
JP4319706B2 (en )
Inventor
Atsushi Numanoi
Wataru Takagi
Satoshi Yoshikawa
聡 吉川
淳 沼野井
渉 高木
Original Assignee
Borland Internatl Inc
Hitachi Ltd
ボーランド インターナショナル インコーポレイテッド
株式会社日立製作所
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

Links

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.
COPYRIGHT: (C)1999,JPO

Description

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

【0001】 [0001]

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

【0002】 [0002]

【従来の技術】計算機のプログラム開発では、プログラム(またはデータ)を機能ブロックの単位に作成することがある。 The program development of the Prior Art computer, it is possible to create a program (or data) in units of functional blocks. この手法によれば、プログラムの開発効率を向上させ、プログラムの再利用を可能とすることができる。 According to this technique, to improve the development efficiency of the program, it is possible to allow the reuse of programs. ただし、目的の処理を複数のプログラム処理を連携させて実現する場合には、各プログラム間の呼出し規則などのインターフェースを予め定義する必要がある。 However, when implemented by linking a plurality of program processing the processing object, it is necessary to preliminarily define an interface, such as calling conventions between the programs. このインターフェースの定義には、IDL(インターフェース定義言語)が用いられることがある。 The definition of this interface, which may IDL (interface definition language) is used.

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

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

【0005】このようなIDLを用いたプログラム開発には、さらに、異なる言語で記述されたプログラムの利用や、異なるアーキテクチャを持つ計算機で実行されるプログラムの利用が容易となるという利点がある。 [0005] The program development using such IDL, further, there is an advantage that utilization or programs written in different languages, the use of a program executed by the computer having a different architecture becomes easy.

【0006】以下では、CORBAのIDLコンパイラのように、IDLソースからスタブやスケルトンを生成する処理系を総称してIDL言語処理系と呼ぶ。 [0006] In the following, as CORBA's IDL compiler, it referred to as the IDL language processing system are collectively referred to as processing system to generate stubs and skeletons from IDL source. また、 Also,
既成のプログラムからIDLソースを生成する処理系を総称してIDL生成系と呼ぶ。 Collectively processing system for generating an IDL source from ready-made program called an IDL generator system. IDL生成系は、既成のプログラムを流用して、他のプログラムと連携した処理を行わせる場合に有効である。 IDL generation system by diverting the ready-made programs, is effective when to perform processing in cooperation with other programs.

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

【0008】IDL構文解析部102は、IDLソース101を入力とし、IDLの構文解析を行なって、解析情報103を出力する。 [0008] IDL syntax analysis unit 102 receives the IDL source 101, by performing parsing IDL, and outputs the analysis information 103. ここで、解析情報103には、 Here, in the analysis information 103,
手続きやメソッドの名称、引数のデータ型、並びなど、 Name of procedures and methods, the data type of the argument, list, etc.,
プログラム間の呼び出し規則を規定するIDLの情報が含まれる。 IDL information defining the calling convention between the programs include.

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

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

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

【0012】一般に、異なる言語で記述されたプログラム間で、データの受け渡しを行う場合には、そのデータ型は、双方のプログラム言語で共通に利用できる型とする必要がある。 [0012] Generally, between programs written in different languages, in the case of performing transfer of data, the data type is required to be a type that can be used in common in both programming languages. このため、上述のIDL言語処理系およびIDL生成系でも、対象としている複数のプログラム言語(例えばC言語、C++言語など)で共通に利用できるデータ型のみを処理できるようにしている。 Therefore, even in the above-described IDL language processing system and IDL generation system, and to handle data type only commonly available in multiple programming languages ​​that is targeted (e.g. C language, C ++ language, etc.).

【0013】 [0013]

【発明が解決しようとする課題】上述の従来のIDL言語処理系およびIDL生成系では、対象としている複数のプログラム言語で共通に利用できないデータ型を処理できないため、アプリケーションプログラムによっては、スタブやスケルトン、IDLソースを正常に生成できないことがある。 [SUMMARY OF THE INVENTION In conventional IDL language processing system and IDL generation system described above, can not process the data types that can not be used commonly by a plurality of programming languages ​​that are targeted, by the application program, stubs and skeletons , it may not be possible to successfully generate the IDL source.

【0014】このため、例えば、流用しようとする既成のアプリケーションプログラムで、IDL生成系の処理できないデータ型の指定がなされる場合には、開発者は、流用するプログラムのインターフェース仕様を修正するか、呼び出し方法の変更を行なう働きをするラッパー(Wrapper)関数を作成するなどの、人手による煩雑な作業を行う必要があった。 [0014] Thus, for example, in off-the-shelf application programs to be diverted, or if the specified data type can not process the IDL generation system is made, the developer modifies the interface specification of the program to be diverted, such as to create a wrapper (wrapper) function that serves to make the change of call way, it is necessary to perform a complicated work by hand.

【0015】そこで、本発明の目的は、対象とするプログラム言語で記述されたプログラムで使用されるデータ型の制限なしに、そのプログラムのインタフェース機能を実現するサブプログラムを生成することのできるプログラム開発支援ツールを提供することにある。 [0015] Therefore, an object of the present invention, program development that can be without the data types used in programs written in a programming language of interest limits, to generate a sub-program for realizing the interface function of the program It is to provide a support tool.

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

【0017】 [0017]

【課題を解決するための手段】上記課題を解決するため、本発明は、複数のプログラム間の呼び出し規則を記述したものであるIDLのソース情報を基に、前記プログラムのインターフェース機能を実現するサブプログラム(例えばスタブやスケルトン)を生成するプログラム開発支援ツールにおいて、前記プログラムを記述するプログラム言語で用いるデータ型の型情報、および、該データ型を予め定めた規則に従って記述したものである型定義情報が、予め対応付けて登録される特殊テーブルを有する型変換テーブルと、前記IDLのソース情報から、前記予め定めた規則に従って記述されている型定義情報を抽出する手段と、抽出した型定義情報を、前記型変換テーブルを用いて、前記プログラム言語の型情報に変換し、該型情報をコ To solve the above object, according to an aspect of the present invention, based on the IDL source information is a description of the calling convention between multiple programs, sub realizing the interface function of the program in the program development support tool that generates a program (e.g., stubs and skeletons), type information of the data types used in the programming language describing the program, and the type definition information are those described according to a predetermined rule the data type but a type conversion table having a special table that is registered in association with advance, from the source information of the IDL, means for extracting the type definition information the is described according to a predetermined rule, the extracted type definition information , using the type conversion table, converts the type information of the programming language, co the mold information ド生成情報として登録する手段と、コード生成情報を用いて、前記サブプログラムを生成する手段とを備えることを特徴とするプログラム開発支援ツールを提供する。 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 Further, the present invention is based on the source code of the program, describing the calling convention of the program, ID
Lのソース情報を生成するプログラム開発支援ツールにおいて、前記プログラムを記述するプログラム言語で用いるデータ型の型情報、および、該データ型を予め定めた規則に従って記述したものである型定義情報が、予め対応付けて登録される特殊テーブルを有する型変換テーブルと、前記プログラムが受渡しするデータの型情報の内の、前記特殊テーブルに登録されている型情報を、前記型変換テーブルを用いて、型定義情報に変換し、該型定義情報をコード生成情報として登録する手段と、コード生成情報から前記IDLのソース情報を生成する手段とを備えることを特徴とするプログラム開発支援ツールを提供する。 In the program development support tool for generating source information of L, the type information of the data types used in the programming language describing the program, and the type definition information are those described according to a predetermined rule the data type, in advance a type conversion table having a special table that is registered in association, of the type information of the data the program transfer, the type information registered in the special table, using the type conversion table, type definitions is converted into information, provides a means for registering the mold definition information as the code generation information, a program development support tool, characterized in that the code generation information and means for generating the source information of the IDL.

【0019】 [0019]

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

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

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

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

【0023】本実施形態では、アプリケーションプログラムの作成言語としてCOBOL言語を対象としている。 [0023] In the present embodiment is directed to a COBOL language as the creation language of the application program. COBOL言語では、外部プログラムの引数のデータ型の定義を、その数値を10進数で表現した時の桁数と、小数点位置と、用途とを使用して記述することができる。 The COBOL language, the definition of the data types of the arguments of the external program, the number of digits when representing the numbers in decimal, can be described using a decimal point, and applications. 例えば、図2における宣言文501は、整数部4 For example, statement 501 in FIG. 2, the integer part 4
桁、小数部3桁のPACKED10進数形式の数値を定義するものである。 Digit and defines the value of PACKED10 binary format with 3 decimal places. このようなデータ型は、外部プログラムから呼び出される時の引数の定義で用いられることがある。 Such data types may be used in the definition of arguments when called from an external program. ただし、このデータ型は、CORBAのIDL However, this data type, CORBA of IDL
で記述することはできない。 In can not be described. このため、従来は、開発者がインターフェース仕様の修正等の面倒な作業を行う必要があった。 For this reason, the past, developers had to perform a tedious task, such as modification of the interface specification.

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

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

【0026】型定義名称605の記述も、新記述規則に従ってなされる。 [0026] The type description of the definition name 605 is also made in accordance with the new coding rules. 具体的には、まず、記述言語がCOB Specifically, first, description language COB
OL言語であることを示す文字列「CBL_」601を記述する。 Describing the character string "CBL_" 601 which indicates that it is a OL language. 続いて、用途に対応する文字列602を記述する。 Subsequently, it describes a character string 602 corresponding to the application. 図3(a)の例では、「PACKED−DECI In the example of FIG. 3 (a), "PACKED-DECI
MAL」に対応する「PACK_」602を記述している。 It describes a "PACK_" 602 corresponding to MAL ". 用途である「BINARY」に対しては「BIN "BIN for a use" BINARY "
_」、「DISPLAY」に対しては「DISP」をそれぞれ記述するようにする。 _ ", So as to describe each of the" DISP "for" DISPLAY ". 続いて、必要ならば符号付きを示す「S」(図示せず)を記述し、続けて数値であることを示す「9_」603を記述する。 Subsequently, describe if necessary indicating a signed "S" (not shown), which describes the "9_" 603 indicating the numerical value continues. 続いて、10 Then, 10
進数の整数部の桁数(図の例では「4」)を記述し、必要ならば、小数部の桁数(「3」)を「V9_」に続けて記述する(604)。 Digits of radix of the integer part (in the example of FIG. "4") describe, if necessary, describe continuing number of decimal places (the "3") to "V9_" (604).

【0027】このようにして、CORBAのIDLがサポートしていないデータ型が記述される。 [0027] In this way, the data type of CORBA IDL does not support is described. 以下で説明する本実施形態のIDL言語処理系およびIDL生成系は、上述の新記述規則に対応するための機能を備えている。 The following IDL language processing system of the embodiment described and in IDL generation system has a function for corresponding to the aforementioned new coding rules.

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

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

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

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

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

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

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

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

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

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

【0038】COBOL依存情報解析部751により、 [0038] by the COBOL dependent information analysis section 751,
新記述規則で記述された型定義情報のみが抽出されるため、TYPEDEF構文に、新記述規則とは関係ない他の情報が含まれる場合にも、以降の処理でエラーが発生することはない。 Because only the type definition information described in the new coding rules are extracted, the TYPEDEF syntax, even if the new coding rules include other information not related, errors do not occur in the subsequent processing.

【0039】また、構文解析部702では、IDLソース701の文法チェックを行う。 [0039] In addition, the syntax analysis unit 702, performs a syntax check of the IDL source 701. 本実施形態では、ID In the present embodiment, ID
Lのサポートしないデータ型を、TYPEDEF構文を用いて定義するため、文法チェックでエラーが発生することはない。 L of the support was not data type, to define by using the TYPEDEF syntax, error does not occur in the grammar check.

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

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

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

【0043】例えば、解析情報703から読み出した情報が「CBL_PACK_9_4V9_3」である場合には、非対応型変換テーブル711に、「CBL_PA [0043] For example, when information read out from the analysis information 703 is "CBL_PACK_9_4V9_3" is a non-compliant type conversion table 711, "CBL_PA
CK_9_xV9_y」に対応して登録されている「p Are registered in association with the CK_9_xV9_y "" p
ic 9(x)v9(y)PACKED−DECIMA ic 9 (x) v9 (y) PACKED-DECIMA
L」を取得し、そのパラメータx,yにそれぞれ'3','4'を設定する。 Get the L "and sets the parameter x, respectively y '3', '4'.

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

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

【0046】スタブ707および別途作成されたクライアントプログラムは、実行される計算機において、CO The stubs 707 and client program separately are created in a computer to be executed, CO
BOLのコンパイルおよびリンクをなされて、実行形式のプログラムとなる。 It has been made to compile and link the BOL, the executable program. 同様に、スケルトン708およびサーバプログラムも、実行される計算機において、CO Similarly, the skeleton 708 and server programs in a computer to be executed, CO
BOLのコンパイルおよびリンクをなされて、実行形式のプログラムとなる。 It has been made to compile and link the BOL, the executable program.

【0047】なお、IDLコンパイラ700は、スタブ707およびスケルトン708の一方のみを生成するモードを有する。 [0047] Incidentally, IDL compiler 700 has a mode for generating only one of the stubs 707 and skeletons 708. また、スタブ707やスケルトン708 In addition, the stub 707 and skeleton 708
の生成時に、続けて計算機1においてCOBOLのコンパイルを行い、スタブ707やスケルトン708を実行形式のプログラムとして出力するモードを有する。 When generated, to compile the COBOL in the computer 1 continues, having a mode of outputting the stubs 707 and skeletons 708 as executable program. ID ID
Lコンパイラ700は、これらのモードを、IDLのコンパイルを指示するコマンドのパラメータに従い選択する。 L compiler 700, these modes are selected in accordance with the parameters of the command for compiling the IDL.

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

【0049】以上で説明したように、本実施形態のID [0049] As described above, ID of this embodiment
Lコンパイラ700によれば、新記述規則により記述されたIDLから、IDLのサポートしていないデータ型の指定を含むCOBOL言語のプログラムのスタブ70 According to L compiler 700, the IDL described by the new coding rules, the stub 70 of the COBOL language program that contains the specified data types that do not IDL Support
7およびスケルトン708を生成することができる。 It is possible to generate a 7 and skeleton 708.

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

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

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

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

【0054】IDL生成系800は、新記述規則に対応するための機能として、コード生成部807内のTYP [0054] IDL generation system 800 as a function for corresponding to the new coding rules, TYP within the code generating unit 807
EDEF生成部808に組込まれるCOBOL型TYP COBOL type TYP incorporated into EDEF generator 808
EDEF生成部811と、型変換テーブル806に組込まれる特殊テーブル821とを有する。 Having a EDEF generator 811, and a special table 821 incorporated in the type conversion table 806.

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

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

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

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

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

【0060】続いて、コード生成部807が、中間語8 [0060] Subsequently, the code generating unit 807, intermediate language 8
05を読み取り、引数情報内の型情報を、IDLの型情報またはTYPEDEF情報に変換する処理を行って、 Reads 05, the type information in the argument information, performs processing to convert the type information or TYPEDEF information IDL,
IDLソース809を生成する。 To generate the IDL source 809.

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

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

【0063】対象の型情報が登録されている場合は、その型情報に対応付けられているTYPEDEF情報を取得する(S207)。 [0063] If the type information of the target has been registered, to obtain the TYPEDEF information associated with the type information (S207). そして、取得したTYPEDEF Then, TYPEDEF acquired
情報と一致する型定義名称が、既に追加出力しているT T type definition names that match the information, which has already added output
YPEDEFチェーン(TYPEDEF情報群)にあるかどうかをコード生成情報823で検索し(S208, Searching whether the YPEDEF chain (TYPEDEF information group) in the code generation information 823 (S208,
S210)、ない場合(S29でNO)は、そのTYP S210), NO in no case (S29), the TYP
EDEF情報を用いたTYPEDEF構文を生成し、コード生成情報823内のTYPEDEFチェーンに追加出力する(S211)。 It generates TYPEDEF syntax using EDEF information, adds outputs to TYPEDEF chain in the code generation information 823 (S211). この追加出力により、図3 This additional output, 3
(a)の形式をとるTYPEDEF構文の文字データが追加される。 Character data TYPEDEF syntax take the form of (a) is added.

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

【0065】一方、取得したTYPEDEF情報と一致する型定義名称が既にTYPEDEFチェーンに存在する時(S209でYES)は、TYPEDEFチェーン内の一致する型定義名称の個所に、型定義名称および引数情報を追加する(S212)。 [0065] On the other hand, when the type definition name that matches the acquired TYPEDEF information already exists in TYPEDEF chain (YES in S209), the in point of the matching type definition names in TYPEDEF chain, the type definition name and argument information to add (S212). 例えば、TYPEDE For example, TYPEDE
Fチェーン内に図3(a)の型定義名称605が存在し、他の引数名称「ARG2」についての型定義名称が図3(a)のものに一致する場合には、既に設定されている型定義名称605および引数名称606の行の次の行に「CBL_PACK_9_4V9_3 ARG2」 Type definition name 605 shown in FIG. 3 (a) is present in the F chain, the type definition name of the other argument name "ARG2" is if it matches that of FIG. 3 (a), has already been set to the next line of the line type definition name 605 and the argument name 606 "CBL_PACK_9_4V9_3 ARG2"
が追加される。 There are added. これにより、同じ情報600および60 Thus, the same information 600 and 60
5を繰り返し設定しなくても済むため、TYPEDEF For 5 repeatedly do not have to set, TYPEDEF
構文の情報量を小さく抑えることができる。 It is possible to reduce the amount of information of syntax.

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

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

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

【0069】すなわち、IDLコンパイラ700およびIDL生成系800を用いることにより、開発者は、既成のクライアントプログラムやサーバプログラムを流用する場合にも、インタフェース仕様の修正等を行わなわずに済み、そのスタブ707およびスケルトン708を容易に取得できるようになる。 [0069] That is, by using the IDL compiler 700 and IDL generation system 800, the developer, even when diverting ready-made client programs and server programs, requires no rope made modifications like interface specifications, the stub 707 and skeleton 708 becomes to be easily acquired. また、COBOL言語のデータ型を自由に使って、クライアントプログラムやサーバプログラムを作成できるようになる。 In addition, by using freely the data type of the COBOL language, you will be able to create a client program and the server program.

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

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

【0072】コメントを用いる場合には、図3(c)に示すように、IDLのデータ型定義文において、定義対象の変数や定数の名称606の後に、コメント記号「/ [0072] When using the comment, as shown in FIG. 3 (c), in the data type definition statements IDL, after the name 606 defining target variables and constants, the comment symbol "/
/」を挿んで上述の型定義名称605を付加する。 / "The Nde interpolation adds the type definition name 605 described above. この場合も、IDLコンパイラおよびIDL生成系は、図4 Again, IDL compiler and IDL generation system, FIG. 4
および図6のものと同様の処理を行う。 And it performs the same processing as that of FIG.

【0073】また、以上では、COBOL言語で作成するプログラムの開発を支援する場合について説明したが、本発明は、他のプログラム言語(例えばC言語、C [0073] In the above has described the case to support the development of a program to be written in COBOL language, the present invention is, other programming languages ​​(such as C language, C
++言語、Java言語など)を用いる開発にも、容易に適用することができる。 ++ language, also developed using the Java language, etc.), can be readily applied. この場合、IDL言語処理系は、COBOL依存情報解析部751とCOBOL型情報変換部752との代りに、それぞれ、対象のプログラム言語の依存情報解析部と型変換部とを設けるようにする。 In this case, IDL language processing system, instead of a COBOL-dependent information analyzing section 751 and the COBOL type information converting unit 752, respectively, to be provided and the dependency information analysis unit of the target programming language and type conversion unit. また、IDL生成系は、COBOL型TYPEDE Also, IDL generation system, COBOL type TYPEDE
F生成部811の代りに、対象のプログラム言語のTY Instead of F generator 811, the target programming language TY
PEDEF生成部を設けるようにする。 So that providing the PEDEF generator. そして、型変換テーブル709および806には、対象のプログラム言語のデータ型を登録するようにする。 Then, the type conversion table 709 and 806, so as to register the data type of the target programming language. さらに、新記述規則は、対象のプログラム言語のデータ型を一意に識別できるように型定義名称を記述するものとする。 Furthermore, the new coding rules shall describe the type definition name so that it can uniquely identify the data type of the target programming language.

【0074】 [0074]

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

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

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

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

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

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

【図7】TYPEDEF生成部の機能を示す図である。 7 is a diagram showing functions of TYPEDEF generator.

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

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

【符号の説明】 DESCRIPTION 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 ID 501 COBOL type statements 600-606 TYPEDEF syntax type declaration using 605 type definition name 700 IDL language processor 701 IDL source 702 COBOL dependency analysis unit 703 IDL language IDL language processor parser 751 within the syntax analysis unit of stub 708 code obtained by the program code generation unit 707 code generator of the interface information analyzing unit 706 IDL language processing system of code generator 705 IDL language processing system obtained by the parsing processing system analysis information 704 IDL language processor special table 712 the code generation information 752 COBOL type information converting unit 800 ID in the standard table 711 type conversion table in the type conversion table 710 type conversion table of the skeleton 709 IDL language processing system obtained by the generator L生成系 801 原始プログラムファイル 802 IDL生成系の構文解析部 803 IDL生成系の解析情報 804 IDL生成系のインターフェース情報抽出部 805 IDL生成系の中間語情報 806 IDL生成系の型変換テーブル 807 IDL生成系のコード生成部 808 コード生成部内のTYPEDEF生成部 810 IDL生成系のIDL出力部 811 TYPEDEF生成部内のCOBOL型TYP L-generating system 801 source program file 802 type conversion table 807 IDL generation of intermediate language information 806 IDL generation system of IDL generation system of the syntax analysis unit 803 by IDL system analysis information 804 by IDL-based interface information extraction unit 805 by IDL system COBOL type TYP of IDL output unit 811 TYPEDEF the generator of TYPEDEF generator 810 IDL generation system of code generator 808 code generator system
EDEF生成部 809 IDLソース 820 型変換テーブル内の標準テーブル 821 型変換テーブル内の特殊テーブル 823 コード生成情報 EDEF generator 809 the special table 823 code generation information in the standard table 821 type conversion table in the IDL source 820 type conversion table

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

Claims (9)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH11296359A true 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
JP9919898A Expired - Fee Related JP4319706B2 (en) 1998-04-10 1998-04-10 Program development support tools

Country Status (1)

Country Link
JP (1) JP4319706B2 (en)

Cited By (5)

* 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
US7561927B2 (en) 2004-07-02 2009-07-14 Okuma Corporation Numerical controller which can call program described in script language

Cited By (6)

* 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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
Morrisett et al. From System F to typed assembly language
Engler et al. C: A language for high-level, efficient, and machine-independent dynamic code generation
Tatsubori et al. OpenJava: A class-based macro system for Java
Chambers The design and implementation of the self compiler, an optimizing compiler for object-oriented programming languages
Liskov et al. Programming with abstract data types
US4734854A (en) System for generating software source code components
US5761511A (en) Method and apparatus for a type-safe framework for dynamically extensible objects
US5946489A (en) Apparatus and method for cross-compiling source code
US5884083A (en) Computer system to compile non-incremental computer source code to execute within an incremental type computer system
US5381547A (en) Method for dynamically linking definable program elements of an interactive data processing system
US6230117B1 (en) System for automated interface generation for computer programs operating in different environments
US5276880A (en) Method for parsing and representing multi-versioned computer programs, for simultaneous and synchronous processing of the plural parses
US5675804A (en) System and method for enabling a compiled computer program to invoke an interpretive computer program
Hendren et al. Designing the McCAT compiler based on a family of structured intermediate representations
US7051322B2 (en) Software analysis framework
US7707547B2 (en) System and method for creating target byte code
US5842204A (en) Method and apparatus for translating source code from one high-level computer language to another
US6272521B1 (en) Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
Amme et al. SafeTSA: A type safe and referentially secure mobile-code representation based on static single assignment form
US7346897B2 (en) System for translating programming languages
US5991538A (en) System for generating and using programs in an object-oriented environment with a message dispatch architecture
US7844958B2 (en) System and method for creating target byte code
US6219834B1 (en) Extensible compiler and method
US6298391B1 (en) Remote procedure calling with marshaling and unmarshaling of arbitrary non-conformant pointer sizes
US7493606B2 (en) Method for compiling and executing a parallel program

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

Effective date: 20060809

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20060926

Free format text: JAPANESE INTERMEDIATE CODE: A02

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070130

A912 Removal of reconsideration by examiner before appeal (zenchi)

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

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees