JPH0250731A - Compiling device - Google Patents
Compiling deviceInfo
- Publication number
- JPH0250731A JPH0250731A JP20127588A JP20127588A JPH0250731A JP H0250731 A JPH0250731 A JP H0250731A JP 20127588 A JP20127588 A JP 20127588A JP 20127588 A JP20127588 A JP 20127588A JP H0250731 A JPH0250731 A JP H0250731A
- Authority
- JP
- Japan
- Prior art keywords
- external procedure
- name
- source program
- procedure name
- storage area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000000605 extraction Methods 0.000 claims description 5
- 150000003839 salts Chemical class 0.000 description 15
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンパイラに利用する。特に、ソースプログ
ラムからこのソースプログラムで呼出されるソースプロ
グラムまでのすべてのソースプログラムの一括コンパイ
ルを行う方法に関する。DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention is applied to a compiler. In particular, the present invention relates to a method for collectively compiling all source programs from a source program to source programs called by this source program.
本発明は、ソースプログラムからこのソースプログラム
で呼出されるソースプログラムまでのすべてソースプロ
グラムを一括コンパイルする手段において、
ソースプログラムが終了したか否かを示す識別子とソー
スプログラム名と一致した外部手続名とを組にした表を
利用して自動制御することにより、−括コンパイルの操
作を簡単にすることができるようにしたものである。The present invention provides a means for collectively compiling all source programs from a source program to a source program called by this source program. This method simplifies the operation of bulk compilation by automatically controlling the table using a table of sets of .
従来、−括コンパイルを行うたびにコンパイラの利用者
がコンパイラの起動情報でコンパイルするソースプログ
ラム名のすべてを指定し、コンパイラは指定されたソー
スプログラムを順にコンパイルしていた。Conventionally, each time a batch compilation is performed, a compiler user specifies all the names of source programs to be compiled using compiler startup information, and the compiler compiles the specified source programs in order.
このような従来の一括コンパイル方式では、−括コンパ
イルを行うたびにコンパイラの利用者がコンパイラの起
動情報でコンパイルするソースプログラム名をすべて指
定しなければならないので、コンパイルするための操作
が複雑であるとともにソースプログラムから呼び出して
いる外部手続名のすべてを知らなければならない欠点が
ある。In this conventional batch compilation method, the compiler user must specify all the source program names to be compiled in the compiler startup information each time a batch compilation is performed, making the compiling operation complicated. Another drawback is that it requires knowing all the names of external procedures called from the source program.
本発明はこのような欠点を除去するもので、簡単な操作
で一括コンパイルが行えるコンパイル装置を提供するこ
とを目的とする。The present invention aims to eliminate these drawbacks, and aims to provide a compiling device that can perform batch compilation with simple operations.
本発明は、分割されたソースプログラムごとに与えられ
たプログラム名と外部手続名とが一致する計算機系に含
まれ、この分割されたソースプログラムをオブジェクト
プログラムに変換するコンパイル手段を備えたコンパイ
ル装置において、外部手続名とこの外部手続名の付され
た外部手続に相当の分割されたソースプログラムのコン
パイルが終了したか否かを示す識別子とを組にして登録
する外部手続名格納域と、自装置の起動時に与えられる
外部手続の呼出記述に基づき上記外部手続名格納域に未
登録の外部手続名を登録する外部手続名格納域上と、分
割されたソースプログラムのひとつのコンパイルの終了
の都度、上記外部手続格納域上の相当の識別子をコンパ
イル終了を示す値に設定し、ひきつづき、この識別子の
値を参照してコンパイル未了の外部手続名のひとつを抽
出し、この外部手続名に相当の分割されたプログラムを
上記コンパイル手段に与える外部手続名抽出手段とを備
えたことを特徴とする。The present invention relates to a compiling device included in a computer system in which a program name given to each divided source program and an external procedure name match, and provided with a compiling means for converting the divided source program into an object program. , an external procedure name storage area in which pairs of external procedure names and identifiers indicating whether compilation of the divided source program corresponding to the external procedure to which this external procedure name has been completed are registered, and the own device. An unregistered external procedure name is registered in the external procedure name storage area based on the external procedure call description given at the time of startup, and each time one of the divided source programs is compiled. Set the corresponding identifier in the above external procedure storage area to a value indicating completion of compilation, then refer to the value of this identifier to extract one of the external procedure names that have not been compiled, and select the name corresponding to this external procedure name. The present invention is characterized by comprising an external procedure name extracting means for providing the divided program to the compiling means.
ソースプログラムのコンパイル中に外部手続呼出のため
の記述を処理した時点で外部手続名格納域に記述されて
いる外部手続名が登録されているか否かを調べ、登録さ
れていなければ外部手続名を外部手続名格納域に登録す
る。ソースプログラムのコンパイル終了時点で終了した
ソースプログラム名で外部手続格納域の外部手続名を捜
し、コンパイルが終了した旨を捜した外部手続名の情報
に設定し、その後でまだコンパイルされていない外部手
続名が存在するか否かを調べ、存在すれば見つけた外部
手続名を次のソースプログラム名として続けてコンパイ
ルを行わせる。When the description for calling an external procedure is processed during source program compilation, check whether the external procedure name written in the external procedure name storage area is registered, and if it is not registered, the external procedure name is Register in the external procedure name storage area. Search for the external procedure name in the external procedure storage area using the name of the source program that ended when the compilation of the source program ended, set the information that the compilation has ended in the information of the external procedure name that was searched, and then set the information for the external procedure name that has not been compiled yet. If the name exists, the found external procedure name is used as the name of the next source program and compilation is continued.
以下、本発明の一実施例について図面を参照して説明す
る。第1図はこの実施例の構成を示すブロック構成図で
ある。第2図は外部手続名格納域3の構成を示すマツプ
図である。An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of this embodiment. FIG. 2 is a map diagram showing the structure of the external procedure name storage area 3.
この実施例は、第1図に示すように、外部手続名格納域
上1、外部手続呼出手段2、外部手続名格納域3、コン
パイルオプション解析手段4および外部手続呼出解析手
段5を含むコンパイラ10と、ソースプログラムライブ
ラリファイル15と、オブジェクトプログラムライブラ
リファイル20とから構成される。すなわち、この実施
例は、外部手続名とこの外部手続名の付された外部手続
に相当の分割されたソースプログラムのコンパイルが終
了したか否かを示す識別子とを組にして登録する外部手
続名格納域3と、自装置の起動時に与えられる外部手続
の呼出記述に基づき外部手続格納域3に未登録の外部手
続名を登録する外部手続名格納域上1と、分割されたソ
ースプログラムのひとつのコンパイルの終了の都度、外
部手続格納域3上の相当の識別子をコンパイル終了を示
す値に設定し、ひきつづき、この識別子の値を参照して
コンパイル未了の外部手続名のひとつを抽出し、この外
部手続名に相当の分割されたプログラムをコンパイル手
段に与える外部手続名抽出手段2とを備える。In this embodiment, as shown in FIG. 1, a compiler 10 includes an external procedure name storage area 1, external procedure calling means 2, external procedure name storage area 3, compile option analysis means 4, and external procedure call analysis means 5. , a source program library file 15 , and an object program library file 20 . In other words, in this embodiment, an external procedure name is registered as a pair of an external procedure name and an identifier indicating whether compilation of a divided source program corresponding to the external procedure to which this external procedure name is attached has been completed. Storage area 3, external procedure name storage area 1, which registers unregistered external procedure names in external procedure storage area 3 based on the external procedure call description given when the device starts up, and one of the divided source programs. Each time the compilation of is completed, the corresponding identifier in the external procedure storage area 3 is set to a value indicating the completion of compilation, and the value of this identifier is subsequently referred to to extract one of the external procedure names that have not been compiled yet, External procedure name extracting means 2 is provided for supplying the compiling means with a divided program corresponding to this external procedure name.
次に、この実施例の動作を説明する。システムからコン
パイラIOが起動されると、コンパイラ10は利用者が
指定したコンパイラの起動情報aを人力し、コンパイル
オプション解析処理手段4で解析を行い、コンパイルす
るソースプログラム名を求めて外部手続名格納域3の最
初の外部手続塩としてエントリを登録する。コンパイラ
10は指定されたソースプログラム名でソースプログラ
ムライブラリファイル15のソースプログラムを人力し
、コンパイルを開始する。ソースプログラム内に外部手
続呼出の記述が現れると、コンパイラ10は外部手続呼
出解析処理手段5で解析を行い、解析した外部手続塩を
持って外部手続名格納域上1を起動する。Next, the operation of this embodiment will be explained. When the compiler IO is activated from the system, the compiler 10 manually inputs the compiler activation information a specified by the user, analyzes it in the compile option analysis processing means 4, determines the name of the source program to be compiled, and stores the external procedure name. Register the entry as the first external procedure salt in area 3. The compiler 10 manually inputs the source program in the source program library file 15 with the specified source program name and starts compiling it. When a description of an external procedure call appears in the source program, the compiler 10 analyzes it using the external procedure call analysis processing means 5, and activates the external procedure name storage area 1 with the analyzed external procedure salt.
外部手続名格納域上1は解析された外部手続塩と一致す
る外部手続塩が外部手続名格納域3に登録されているか
否かを調べ、一致した外部手続塩が存在しなければ外部
手続名格納域3に解析した外部手続塩のエントリを追加
する。その後に、コンパイラ10はソースプログラムの
コンパイル結果であるオブジェクトプログラムをオブジ
ェクトプログラムライブラリファイル20に出力し、外
部手続上取出手段2を起動する。External procedure name storage area 1 checks whether an external procedure salt that matches the parsed external procedure salt is registered in external procedure name storage area 3, and if there is no matching external procedure salt, the external procedure name is Add an entry for the parsed external procedure salt to storage area 3. Thereafter, the compiler 10 outputs the object program, which is the result of compiling the source program, to the object program library file 20, and activates the external procedural extraction means 2.
外部手続上取出手段2はコンパイルが終了したソースプ
ログラム名と一致する外部手続塩を外部手続名格納域3
から捜し出し、そのエントリのコンパイル終了表示をコ
ンパイル済にする。そして、外部手続名格納域3に登録
されている外部手続塩のエントリを順に調べてコンパイ
ル終了表示が未コンパイルのエントリを捜し、コンパイ
ル終了表示が未コンパイルのエントリが存在しなければ
コンパイラの処理を終了してシステムに戻る。コンパイ
ル終了表示が未コンパイルのエントリが存在すればエン
トリの外部手続塩を次にコンパイルするソースプログラ
ム名として続けてコンパイルを行い、今度はそのソース
プログラムが外部手続名格納域上1と外部手続名取山手
段20対象になる。The external procedure extraction means 2 stores the external procedure salt that matches the name of the source program that has been compiled into the external procedure name storage area 3.
, and set the compilation completion display for that entry to Compiled. Then, the external procedure salt entries registered in the external procedure name storage area 3 are checked in order to find an entry whose compilation completion indication is uncompiled, and if there is no entry whose compilation completion indication is uncompiled, the compiler process is executed. Exit and return to the system. If there is an entry with an uncompiled completion indication, the external procedure salt of the entry is used as the name of the source program to be compiled next, and the source program is compiled in the external procedure name storage area 1 and external procedure name storage area 1. Means 20 is applicable.
すなわち、外部手続上取出手段2では、第3図に示すよ
うに、コンパイルが終了したソースプログラムのソース
プログラム名で外部手続名格納域3に登録されている外
部手続塩を調べ、一致する外部手続塩のエン) IJを
求める(ステップ31)。That is, as shown in FIG. 3, the external procedure extraction means 2 checks the external procedure salt registered in the external procedure name storage area 3 using the source program name of the source program that has been compiled, and finds a matching external procedure. (Ene of salt) Determine IJ (Step 31).
求めたエントリのコンパイル終了表示をコンパイル済み
にする(ステップS2)。外部手続名格納域3から未コ
ンパイルの外部手続塩を持つエントリを捜しくステップ
S3)、この処理の結果で未コンパイルの外部手続塩が
存在したか否かを判定する(ステップS4)。見つけた
未コンパイルのエントリの外部手続塩を次にコンパイル
するソースプログラム名としてコンパイルを続行させる
(ステップ35)。未コンパイルの外部手続塩の存在力
号忍められないときはコンパイラ10の処理を終了する
(ステップ36)。The compile completion display for the obtained entry is set to "compiled" (step S2). An entry with an uncompiled external procedure salt is searched from the external procedure name storage area 3 (step S3), and it is determined whether or not an uncompiled external procedure salt exists as a result of this processing (step S4). Compilation is continued by using the external procedure salt of the found uncompiled entry as the name of the source program to be compiled next (step 35). If the existence of uncompiled external procedure salts cannot be tolerated, the processing of the compiler 10 is terminated (step 36).
本発明は、以上説明したように、利用者は初めに実行す
るソースプログラム名を指定してコンパイルを行うだけ
でそのソースプログラムから呼出されて使用されるすべ
てのソースプログラムを自動的にコンパイルすることが
できるので、−括コンパイルの操作を簡単にする効果が
ある。また、利用者は呼出されるソースプログラムを知
っていなくでも良いので、利用者の負担を軽減する効果
がある。As explained above, the present invention enables a user to automatically compile all source programs called and used from that source program by simply specifying the name of the source program to be executed and compiling it. This has the effect of simplifying bulk compilation operations. Furthermore, since the user does not need to know the source program to be called, the burden on the user is reduced.
第1図は本発明実施例の構成を示すブロック構成図。
第2図は外部手続名格納域の構成を示すマツプ図。
第3図は外部手続上取出手段の処理を示す流れ図。
1・・・外部手続名格納域上、2・・・外部手続上取出
手段、3・・・外部手続名格納域、4・・・コンパイル
オプション解析手段、5・・・外部手続呼出解析手段、
10・・・コンパイラ、15・・・ソースプログラムラ
イブラリファイル、20・・・オブジェクトプログラム
ライブラリファイル。FIG. 1 is a block configuration diagram showing the configuration of an embodiment of the present invention. FIG. 2 is a map diagram showing the structure of the external procedure name storage area. FIG. 3 is a flowchart showing the processing of the external procedural retrieval means. 1... External procedure name storage area, 2... External procedure extraction means, 3... External procedure name storage area, 4... Compile option analysis means, 5... External procedure call analysis means,
10... Compiler, 15... Source program library file, 20... Object program library file.
Claims (1)
グラム名と外部手続名とが一致する計算機系に含まれ、
この分割されたソースプログラムをオブジェクトプログ
ラムに変換するコンパイル手段を備えたコンパイル装置
において、 外部手続名とこの外部手続名の付された外部手続に相当
の分割されたソースプログラムのコンパイルが終了した
か否かを示す識別子とを組にして登録する外部手続名格
納域と、 自装置の起動時に与えられる外部手続の呼出記述に基づ
き上記外部手続名格納域に未登録の外部手続名を登録す
る外部手続名登録手段と、 分割されたソースプログラムのひとつのコンパイルの終
了の都度、上記外部手続名格納域上の相当の識別子をコ
ンパイル終了を示す値に設定し、ひきつづき、この識別
子の値を参照してコンパイル未了の外部手続名のひとつ
を抽出し、この外部手続名に相当の分割されたプログラ
ムを上記コンパイル手段に与える外部手続名抽出手段と を備えたことを特徴とするコンパイル装置。[Claims] 1. Included in a computer system in which the program name given to each divided source program and the external procedure name match,
Whether or not the compilation of the external procedure name and the divided source program corresponding to the external procedure to which this external procedure name is attached has been completed in a compiling device equipped with a compiling means for converting this divided source program into an object program. An external procedure name storage area in which unregistered external procedure names are registered in the external procedure name storage area based on the external procedure call description given at the time of startup of the own device. Each time the compilation of one of the divided source programs is completed, the corresponding identifier in the external procedure name storage area is set to a value indicating the completion of the compilation, and the value of this identifier is continuously referenced. A compiling device comprising external procedure name extraction means for extracting one of the uncompiled external procedure names and providing the compiling means with a divided program corresponding to the external procedure name.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20127588A JPH0250731A (en) | 1988-08-12 | 1988-08-12 | Compiling device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20127588A JPH0250731A (en) | 1988-08-12 | 1988-08-12 | Compiling device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0250731A true JPH0250731A (en) | 1990-02-20 |
Family
ID=16438263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20127588A Pending JPH0250731A (en) | 1988-08-12 | 1988-08-12 | Compiling device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0250731A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005505849A (en) * | 2001-10-19 | 2005-02-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | How to compile bytecode into native code |
-
1988
- 1988-08-12 JP JP20127588A patent/JPH0250731A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005505849A (en) * | 2001-10-19 | 2005-02-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | How to compile bytecode into native code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030115576A1 (en) | Breakpoint safety net | |
JPH0250731A (en) | Compiling device | |
KR20080045545A (en) | Method of pre-processing conditional region | |
JPH02220145A (en) | Program tracing system | |
JP3194925B2 (en) | Program debug display method and program debug support device | |
JP2871693B2 (en) | Critical section optimization method | |
JP2977951B2 (en) | Arithmetic unit | |
JP2001125793A (en) | Compiler system, compile method and recording medium | |
JPH04148335A (en) | Object outputting system for language processing program | |
JP3903514B2 (en) | Optimized compiler for undefined variable detection | |
KR100216533B1 (en) | The event history recording method for the deterministic replay of concurrent chill program | |
JPH07244601A (en) | Method and device for accessing relational data base | |
JPH0359726A (en) | Program unit batch translation system | |
JPH04364537A (en) | Method, device, and compiler for optimizing program for parallel process | |
JPH03246734A (en) | Method and device for checking jump destination address of debugger | |
JPS63163543A (en) | Information processor | |
JPH04107605A (en) | Control program language processor | |
JPS63228341A (en) | Program syntax checking system | |
JPH0325554A (en) | Command established value analyzing system | |
JPH02278346A (en) | Display system for exception occurred position | |
JPH02191038A (en) | Compiler input data editing system | |
JPS63223927A (en) | Multi-program symbol debug system | |
JPH06103080A (en) | Include file fetch system | |
JPH0573335A (en) | Automatic in-line development system for program | |
JPH06236261A (en) | Separating system for procedure language program component |