JPS63201833A - 未解決ラベル参照解決方式 - Google Patents
未解決ラベル参照解決方式Info
- Publication number
- JPS63201833A JPS63201833A JP3648087A JP3648087A JPS63201833A JP S63201833 A JPS63201833 A JP S63201833A JP 3648087 A JP3648087 A JP 3648087A JP 3648087 A JP3648087 A JP 3648087A JP S63201833 A JPS63201833 A JP S63201833A
- Authority
- JP
- Japan
- Prior art keywords
- label
- branch instruction
- address
- definition
- target program
- 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 description 14
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は情報処理装置の言語処理一般で用いられる目的
プログラム作成処理に関し、特にラベルへ分岐する命令
を生成する場合の未解決ラベル参照解決方式に関する。
プログラム作成処理に関し、特にラベルへ分岐する命令
を生成する場合の未解決ラベル参照解決方式に関する。
従来、この種の目的プログラム群の作成時にあるラベル
へ分岐する命令を生成するときの分岐先番地を決定する
処理は、あらかじめ出現するラベルに対しラベル出現順
番号を設定しておき、目的プログラム群の作成時にラベ
ルの定義が現れた場合ラベルテーブルを生成し、定義さ
れている番地の情報およびこのラベルに対するラベル出
現順番号をラベルテーブルに設定し、またラベルへ分岐
する命令が現れた場合分岐命令を生成し、分岐先番地へ
の情報を設定する領域にラベル出現順番号を設定して1
度目的プログラムを作成し、作成終了後再度入力し目的
プログラム内にラベルへの参照がある分岐命令を探し、
ラベルへ分岐する命令内に設定されているラベル出現順
番号を基にラベルテーブルを探し、ラベルが定義されて
いる番地の情報をもとに分岐先番地への情報を命令内に
設定して目的プログラムを作成するか、あらかじめ出現
するラベルに対しラベルテーブルを生成しておき、目的
プログラム作成時にラベルの定義が現れた場合定義され
た番地の情報をラベルテーブルに設定し、またラベルへ
分岐する命令が現れた場合分岐先番地の情報を設定する
領域を未設定にした分岐命令を生成し、この命令が生成
された目的プログラム上の番地を設定しておくラベル参
照テーブルを生成し、このラベルのラベルテーブルより
ラベル参照テーブルを出現順にチェーンするように設定
して1度目的プログラムを作成し、作成終了後ラベルテ
ーブルを入力してラベル参照テーブルへのチェーンをた
どり、ラベル参照が現れた目的プログラム上の命令の分
岐先番地の情報を設定する領域にラベルテーブルのラベ
ルが定義された番地の情報を基に分岐先番地を設定して
目的プログラムを作成していた。
へ分岐する命令を生成するときの分岐先番地を決定する
処理は、あらかじめ出現するラベルに対しラベル出現順
番号を設定しておき、目的プログラム群の作成時にラベ
ルの定義が現れた場合ラベルテーブルを生成し、定義さ
れている番地の情報およびこのラベルに対するラベル出
現順番号をラベルテーブルに設定し、またラベルへ分岐
する命令が現れた場合分岐命令を生成し、分岐先番地へ
の情報を設定する領域にラベル出現順番号を設定して1
度目的プログラムを作成し、作成終了後再度入力し目的
プログラム内にラベルへの参照がある分岐命令を探し、
ラベルへ分岐する命令内に設定されているラベル出現順
番号を基にラベルテーブルを探し、ラベルが定義されて
いる番地の情報をもとに分岐先番地への情報を命令内に
設定して目的プログラムを作成するか、あらかじめ出現
するラベルに対しラベルテーブルを生成しておき、目的
プログラム作成時にラベルの定義が現れた場合定義され
た番地の情報をラベルテーブルに設定し、またラベルへ
分岐する命令が現れた場合分岐先番地の情報を設定する
領域を未設定にした分岐命令を生成し、この命令が生成
された目的プログラム上の番地を設定しておくラベル参
照テーブルを生成し、このラベルのラベルテーブルより
ラベル参照テーブルを出現順にチェーンするように設定
して1度目的プログラムを作成し、作成終了後ラベルテ
ーブルを入力してラベル参照テーブルへのチェーンをた
どり、ラベル参照が現れた目的プログラム上の命令の分
岐先番地の情報を設定する領域にラベルテーブルのラベ
ルが定義された番地の情報を基に分岐先番地を設定して
目的プログラムを作成していた。
上述した従来の分岐命令内にラベル出現順番号を設定し
て1度目的プログラムを作成しておき、作成終了後再度
目的プログラムを入力してラベルへ分岐する命令を探し
、分岐命令内のラベル出現順番号よりラベルテーブルを
探し、ラベルが定義されている番地の情報を命令内に設
定して目的プログラムを完成させる処理方式では、ラベ
ルI\分岐するための命令が目的プログラム内に存在す
る場合、1度作成した目的プログラムを再度入力してラ
ベルへ分岐するための命令をすべて検索しなければなら
ないため、ラベルへ分岐する命令の数に関係なく常に処
理速度が遅いという欠点がある。
て1度目的プログラムを作成しておき、作成終了後再度
目的プログラムを入力してラベルへ分岐する命令を探し
、分岐命令内のラベル出現順番号よりラベルテーブルを
探し、ラベルが定義されている番地の情報を命令内に設
定して目的プログラムを完成させる処理方式では、ラベ
ルI\分岐するための命令が目的プログラム内に存在す
る場合、1度作成した目的プログラムを再度入力してラ
ベルへ分岐するための命令をすべて検索しなければなら
ないため、ラベルへ分岐する命令の数に関係なく常に処
理速度が遅いという欠点がある。
また、分岐先番号の情報を未設定にした分岐命令を生成
し、この命令が生成された目的プログラム上の番地を設
定しておくラベル参照テーブルを生成し、このラベルの
ラベルテーブルより出現順にチェーンするように設定し
て1度目的プログラムを作成しておき、作成終了後ラベ
ルテーブルを入力してラベル参照テーブルへのチェーン
よりラベル参照分岐命令をたどり、ラベルか定義された
番地の情報を基に分岐先番地を設定して目的プログラム
を作成する方式では、ラベル参照分岐命令を生成した数
だけラベル参照テーブルを作成しなければならないため
、ラベル参照テーブルを作成するための大きなメモリ量
を必要とする欠点がある。
し、この命令が生成された目的プログラム上の番地を設
定しておくラベル参照テーブルを生成し、このラベルの
ラベルテーブルより出現順にチェーンするように設定し
て1度目的プログラムを作成しておき、作成終了後ラベ
ルテーブルを入力してラベル参照テーブルへのチェーン
よりラベル参照分岐命令をたどり、ラベルか定義された
番地の情報を基に分岐先番地を設定して目的プログラム
を作成する方式では、ラベル参照分岐命令を生成した数
だけラベル参照テーブルを作成しなければならないため
、ラベル参照テーブルを作成するための大きなメモリ量
を必要とする欠点がある。
本発明の目的は上記欠点を除去しメモリ使用効率の良い
未解決ラベル参照解決方式を提供することにある。
未解決ラベル参照解決方式を提供することにある。
本発明の未解決ラベル参照解決方式の構成は、原始プロ
グラムより複数の目的プログラムである目的プログラム
群の作成時に分岐命令の分岐先番地を設定する領域が前
記目的プログラム群の大きさをあらわすのに十分である
場合にあるラベルへ分岐するための機械語命令であるラ
ベル参照分岐命令を生成するときの分岐先番地を決定す
る処理において、前記原始プログラムを前記目的プログ
ラム群に変換しやすいように機械語にちかい形式に翻訳
された中間テキスト上の各ラベルに対して生成し、その
ラベルに対する定義が出現するまでの未解決のラベル参
照分岐命令をチェーンするための前記目的プログラム群
上での番地を設定する領域であるラベル参照分岐命令チ
ェーン情報領域および前記ラベルの定義が出現した前記
目的プログラム群上での番地であるラベル定義番地を設
定する領域であるラベル定義番地情報領域とを持つラベ
ルテーブルを用意し、入力した前記中間テキストが前記
ラベル参照分岐命令を生成するものか一前記ラベルを定
義するためのものであるかこれら以外の命令を生成する
ものであるかを判定し前記プログラム群の各目的プログ
ラムの生成処理を行う目的プログラム生成手段と、この
目的プログラム生成手段により前記中間テキストが前記
ラベル参照分岐命令を生成するものであると判定された
場合には分岐先番地の情報のみ未設定にして前記ラベル
参照分岐命令を生成後もし前記ラベルテーブルが存在し
ていなければそのラベルテーブルを作成し、さもなけれ
ば前記ラベル定義番地が決定されているかを判定するラ
ベル参照分岐命令生成手段と、このラベル参照分岐命令
生成手段により前記ラベルがすでに定義されていると判
定された場合に、前記ラベルテーブル内のラベル定義番
地情報領域内のデータを基に分岐先番地の情報を設定し
前記ラベル参照分岐命令を完成させ目的プロダラムファ
イルに出力する分岐先番地決定手段と、前記ラベル参照
分岐命令生成手段により前記ラベルがまだ定義されてい
ないと判定された場合に前記ラベル参照分岐命令内の分
岐先番地の情報を格納する領域を利用し、前記ラベルテ
ーブル内のラベル参照分岐命令チェーン情報領域より同
一ラベルを参照している直前のラベル参照分岐命令への
チェーンを現在のラベル参照分岐命令内の分岐先番地の
情報にチェーンし前記目的プログラムファイルに出力後
、前記ラベルテーブル内のラベル参照分岐命令チェーン
情報領域に現在のラベル参照分岐命令が生成された前記
目的プログラム群の番地を設定する命令内情報設定手段
と、前記目的プログラム生成手段により前記中間テキス
トが前記ラベルを定義するためのものであると判定され
た場合に、もしまた対応する前記ラベルテーブルが存在
しなければそのラベルテーブルを作成し、その後ラベル
定義番地を前記ラベルテーブル内のラベル定義番地に設
定するラベル定義番地設定手段と、このラベル定義番地
設定手段によりラベル定義番地が決定された以前にこの
ラベルへ分岐する前記ラベル参照分岐命令が生成されて
いるかを前記ラベルテーブルより判定し、そのラベルが
定義される以前にこのラベルへ分岐する前記ラベル参照
分岐命令が生成されていたと判定された場合前記ラベル
定義番地設定手段により設定されたラベル定義番地を基
に前記ラベルテーブルより前記ラベル参照分岐命令内の
分岐先番地の情報を設定する領域のチェーンをたどり未
解決のラベル参照分岐命令内に°分岐先番地の情報を設
定する未解決ラベル番地決定手段とによって構成される
ことを特徴とする。
グラムより複数の目的プログラムである目的プログラム
群の作成時に分岐命令の分岐先番地を設定する領域が前
記目的プログラム群の大きさをあらわすのに十分である
場合にあるラベルへ分岐するための機械語命令であるラ
ベル参照分岐命令を生成するときの分岐先番地を決定す
る処理において、前記原始プログラムを前記目的プログ
ラム群に変換しやすいように機械語にちかい形式に翻訳
された中間テキスト上の各ラベルに対して生成し、その
ラベルに対する定義が出現するまでの未解決のラベル参
照分岐命令をチェーンするための前記目的プログラム群
上での番地を設定する領域であるラベル参照分岐命令チ
ェーン情報領域および前記ラベルの定義が出現した前記
目的プログラム群上での番地であるラベル定義番地を設
定する領域であるラベル定義番地情報領域とを持つラベ
ルテーブルを用意し、入力した前記中間テキストが前記
ラベル参照分岐命令を生成するものか一前記ラベルを定
義するためのものであるかこれら以外の命令を生成する
ものであるかを判定し前記プログラム群の各目的プログ
ラムの生成処理を行う目的プログラム生成手段と、この
目的プログラム生成手段により前記中間テキストが前記
ラベル参照分岐命令を生成するものであると判定された
場合には分岐先番地の情報のみ未設定にして前記ラベル
参照分岐命令を生成後もし前記ラベルテーブルが存在し
ていなければそのラベルテーブルを作成し、さもなけれ
ば前記ラベル定義番地が決定されているかを判定するラ
ベル参照分岐命令生成手段と、このラベル参照分岐命令
生成手段により前記ラベルがすでに定義されていると判
定された場合に、前記ラベルテーブル内のラベル定義番
地情報領域内のデータを基に分岐先番地の情報を設定し
前記ラベル参照分岐命令を完成させ目的プロダラムファ
イルに出力する分岐先番地決定手段と、前記ラベル参照
分岐命令生成手段により前記ラベルがまだ定義されてい
ないと判定された場合に前記ラベル参照分岐命令内の分
岐先番地の情報を格納する領域を利用し、前記ラベルテ
ーブル内のラベル参照分岐命令チェーン情報領域より同
一ラベルを参照している直前のラベル参照分岐命令への
チェーンを現在のラベル参照分岐命令内の分岐先番地の
情報にチェーンし前記目的プログラムファイルに出力後
、前記ラベルテーブル内のラベル参照分岐命令チェーン
情報領域に現在のラベル参照分岐命令が生成された前記
目的プログラム群の番地を設定する命令内情報設定手段
と、前記目的プログラム生成手段により前記中間テキス
トが前記ラベルを定義するためのものであると判定され
た場合に、もしまた対応する前記ラベルテーブルが存在
しなければそのラベルテーブルを作成し、その後ラベル
定義番地を前記ラベルテーブル内のラベル定義番地に設
定するラベル定義番地設定手段と、このラベル定義番地
設定手段によりラベル定義番地が決定された以前にこの
ラベルへ分岐する前記ラベル参照分岐命令が生成されて
いるかを前記ラベルテーブルより判定し、そのラベルが
定義される以前にこのラベルへ分岐する前記ラベル参照
分岐命令が生成されていたと判定された場合前記ラベル
定義番地設定手段により設定されたラベル定義番地を基
に前記ラベルテーブルより前記ラベル参照分岐命令内の
分岐先番地の情報を設定する領域のチェーンをたどり未
解決のラベル参照分岐命令内に°分岐先番地の情報を設
定する未解決ラベル番地決定手段とによって構成される
ことを特徴とする。
次に、本発明について図面を参照して説明する。
第1図は本発明の未解決ラベル参照解決方式の一実施例
を説明するデータの流れを中心に示すブロック図である
。
を説明するデータの流れを中心に示すブロック図である
。
本実施例の未解決ラベル参照解決方式は、データ入力手
段1と、目的プログラム生成手段2と、ラベル参照分岐
命令生成手段3と、分岐先番地決定手段4と、命令内情
報設定手段5と、ラベル定義番地情報設定手段6と、未
解決ラベル番地決定手段7と、ラベルテーブル8と、中
間テキスト9と、目的プログラムファイル10とを含ん
で構成されている。
段1と、目的プログラム生成手段2と、ラベル参照分岐
命令生成手段3と、分岐先番地決定手段4と、命令内情
報設定手段5と、ラベル定義番地情報設定手段6と、未
解決ラベル番地決定手段7と、ラベルテーブル8と、中
間テキスト9と、目的プログラムファイル10とを含ん
で構成されている。
第2図は第1図における未解決ラベル番地決定手段7の
動作を示すフローチャートである。
動作を示すフローチャートである。
第3図はラベル参照分岐命令生成手段31分岐先番地決
定手段4.命令内情報設定手段5.ラベル定義番地情報
設定手段6および未解決ラベル番地決定手段7とで参照
されるラベルテーブル8の詳細を示す。ラベルテーブル
8は、ラベルに対する定義が出現するまでの未解決のラ
ベル参照分岐命令をチェーンするための目的プログラム
ファイル10上での番地を設定するためのラベル参照分
岐命令チェーン情報およびラベルの定義が出現した目的
プログラムファイル10上での番地を設定するためのラ
ベル定義番地情報とで構成されている。
定手段4.命令内情報設定手段5.ラベル定義番地情報
設定手段6および未解決ラベル番地決定手段7とで参照
されるラベルテーブル8の詳細を示す。ラベルテーブル
8は、ラベルに対する定義が出現するまでの未解決のラ
ベル参照分岐命令をチェーンするための目的プログラム
ファイル10上での番地を設定するためのラベル参照分
岐命令チェーン情報およびラベルの定義が出現した目的
プログラムファイル10上での番地を設定するためのラ
ベル定義番地情報とで構成されている。
次に、本実施例の全体的な動作を具体的に説明する。
データ入力手段1は、原始プログラムを目的プログラム
に変換しやずいように、機械語にちかい形式に翻訳され
た中間テキスト9を入力し、目的プログラム生成手段2
を起動する。目的プログラム生成手段2は、入力した中
間テキスト9の持つ情報がラベル参照分岐命令を生成す
るものであれば、ラベル参照分岐命令生成手段3を起動
し、またラベルを定義するためのものであれば、ラベル
定義番地情報設定手段6を起動し、これら以外の命令を
生成するものであれば、目的プログラムを生成して目的
プログラムファイル10に出力する。
に変換しやずいように、機械語にちかい形式に翻訳され
た中間テキスト9を入力し、目的プログラム生成手段2
を起動する。目的プログラム生成手段2は、入力した中
間テキスト9の持つ情報がラベル参照分岐命令を生成す
るものであれば、ラベル参照分岐命令生成手段3を起動
し、またラベルを定義するためのものであれば、ラベル
定義番地情報設定手段6を起動し、これら以外の命令を
生成するものであれば、目的プログラムを生成して目的
プログラムファイル10に出力する。
ラベル参照分岐命令生成手段3は、入力した中間テキス
ト9の持つ情報がラベル参照分岐命令を生成するもので
あった場合に、目的プログラム生成手段2より起動され
、参照しているラベルへ分岐するための分岐先番地への
情報を設定する領域のみ未設定にしてラベル参照分岐命
令を生成後、ラベルテーブル8をサーチする。もし、こ
のラベルに対してラベルテーブル8がまだ生成されてい
なければ、ラベルに対する定義が出現するまでの未解決
のラベル参照分岐命令をチェーンするための目的プログ
ラムファイル10上での番地を設定する領域およびラベ
ルの定義が出現した目的プログラムファイル10上での
番地を設定する領域とを未設定にしたラベルテーブル8
を生成し登録する。
ト9の持つ情報がラベル参照分岐命令を生成するもので
あった場合に、目的プログラム生成手段2より起動され
、参照しているラベルへ分岐するための分岐先番地への
情報を設定する領域のみ未設定にしてラベル参照分岐命
令を生成後、ラベルテーブル8をサーチする。もし、こ
のラベルに対してラベルテーブル8がまだ生成されてい
なければ、ラベルに対する定義が出現するまでの未解決
のラベル参照分岐命令をチェーンするための目的プログ
ラムファイル10上での番地を設定する領域およびラベ
ルの定義が出現した目的プログラムファイル10上での
番地を設定する領域とを未設定にしたラベルテーブル8
を生成し登録する。
その後、ラベルテーブル8にラベルが定義された目的プ
ログラムファイル10上の番地の情報が設定されている
か否かをチェックし、もしラベルが定義された目的プロ
グラムファイル10上の番地の情報が設定されていれば
、この情報によりラベル参照分岐命令内の分岐先番地を
設定してラベル参照分岐命令を完成させるため分岐先番
地手段4を起動し、もしラベルが定義された目的プログ
ラムファイル10上の番地の情報が未設定の場合は、ラ
ベル参照分岐命令中の分岐先番地を設定するための領域
を利用し、未解決の同一ラベルを参照しているラベル参
照分岐命令をチェーンするなめ命令内情報設定手段5を
起動する。
ログラムファイル10上の番地の情報が設定されている
か否かをチェックし、もしラベルが定義された目的プロ
グラムファイル10上の番地の情報が設定されていれば
、この情報によりラベル参照分岐命令内の分岐先番地を
設定してラベル参照分岐命令を完成させるため分岐先番
地手段4を起動し、もしラベルが定義された目的プログ
ラムファイル10上の番地の情報が未設定の場合は、ラ
ベル参照分岐命令中の分岐先番地を設定するための領域
を利用し、未解決の同一ラベルを参照しているラベル参
照分岐命令をチェーンするなめ命令内情報設定手段5を
起動する。
分岐先番地決定手段4は、ラベルテーブル8にラベルが
定義された目的プログラムファイル10上の番地の情報
が設定されている場合に、ラベル参照分岐命令生成手段
3より起動され、ラベル参照分岐命令内の分岐先番地を
設定する領域にラベルテーブル8の定義された目的プロ
グラムファイル10上での番地を基に分岐先番地を設定
し、ラベル参照分岐命令を完成させ目的プログラムファ
イル10に出力する。
定義された目的プログラムファイル10上の番地の情報
が設定されている場合に、ラベル参照分岐命令生成手段
3より起動され、ラベル参照分岐命令内の分岐先番地を
設定する領域にラベルテーブル8の定義された目的プロ
グラムファイル10上での番地を基に分岐先番地を設定
し、ラベル参照分岐命令を完成させ目的プログラムファ
イル10に出力する。
命令内情報設定手段5は、ラベルテーブル8にラベルが
定義された番地の情報が設定されていない場合、ラベル
参照分岐命令内の分岐先番地を設定するための領域を利
用して同一ラベルを参照しているラベル参照分岐命令を
ラベルテーブル8よりチェーンするため、ラベル参照分
岐命令生成手段3より起動され、ラベルテーブル8の未
解決のラベル参照分岐命令をチェーンするための目的プ
ログラムファイル10上での番地を設定する領域より直
前のラベル参照分岐命令の目的プログラムファイル10
上の番地を、ラベル参照分岐命令生成手段3で生成した
ラベル参照分岐命令内の分岐先番地を設定する領域に設
定し、目的プログラムファイル10に出力後、このラベ
ル参照分岐命令の目的プログラムファイル10上の番地
をラベルテーブル8の未解決のラベル参照分岐命令をチ
ェーンするための目的プログラムファイル10上での番
地を設定する領域に設定し、ラベルテーブル8とラベル
参照分岐命令のチェーンを張る。
定義された番地の情報が設定されていない場合、ラベル
参照分岐命令内の分岐先番地を設定するための領域を利
用して同一ラベルを参照しているラベル参照分岐命令を
ラベルテーブル8よりチェーンするため、ラベル参照分
岐命令生成手段3より起動され、ラベルテーブル8の未
解決のラベル参照分岐命令をチェーンするための目的プ
ログラムファイル10上での番地を設定する領域より直
前のラベル参照分岐命令の目的プログラムファイル10
上の番地を、ラベル参照分岐命令生成手段3で生成した
ラベル参照分岐命令内の分岐先番地を設定する領域に設
定し、目的プログラムファイル10に出力後、このラベ
ル参照分岐命令の目的プログラムファイル10上の番地
をラベルテーブル8の未解決のラベル参照分岐命令をチ
ェーンするための目的プログラムファイル10上での番
地を設定する領域に設定し、ラベルテーブル8とラベル
参照分岐命令のチェーンを張る。
ラベル定義番地情報設定手段6は、入力した中間テキス
ト9の持つ情報がラベルを定義するものであった場合に
、目的プログラム生成手段2より起動され、ラベルテー
ブル8をサーチする。もし、このラベルに対してラベル
テーブル8がまだ生成されていなければ、ラベルに対す
る定義が出現するまでの未解決のラベル参照分岐命令を
チェーンするための目的プログラムファイル10上での
番地を設定する領域およびラベルの定義が出現した目的
プログラムファイル10上での番地を設定する領域とを
未設定にしたラベルテーブル8を生成し登録する。
ト9の持つ情報がラベルを定義するものであった場合に
、目的プログラム生成手段2より起動され、ラベルテー
ブル8をサーチする。もし、このラベルに対してラベル
テーブル8がまだ生成されていなければ、ラベルに対す
る定義が出現するまでの未解決のラベル参照分岐命令を
チェーンするための目的プログラムファイル10上での
番地を設定する領域およびラベルの定義が出現した目的
プログラムファイル10上での番地を設定する領域とを
未設定にしたラベルテーブル8を生成し登録する。
その後、ラベルテーブル8のラベルが定義された目的プ
ログラムファイル10上での番地の情報にラベルが定義
された目的プログラムファイル10上での番地をラベル
テーブル8に設定し、未解決ラベル番地決定手段7を起
動する。
ログラムファイル10上での番地の情報にラベルが定義
された目的プログラムファイル10上での番地をラベル
テーブル8に設定し、未解決ラベル番地決定手段7を起
動する。
未解決ラベル番地決定手段7は、ラベルが定義される以
前にこのラベルを参照しているラベル参照分岐命令が存
在するかをラベルテーブル8より判定し、存在すれば未
解決のラベル参照分岐命令の分岐先番地を設定する処理
を行う。未解決ラベル番地決定手段7の動作を第2図に
示す。
前にこのラベルを参照しているラベル参照分岐命令が存
在するかをラベルテーブル8より判定し、存在すれば未
解決のラベル参照分岐命令の分岐先番地を設定する処理
を行う。未解決ラベル番地決定手段7の動作を第2図に
示す。
ステップA2にて、ラベルテーブル8より未解決のラベ
ル参照分岐命令の目的プログラムファイル10上での番
地を得る。
ル参照分岐命令の目的プログラムファイル10上での番
地を得る。
次に、ステップ八3にて、ステップA2で得たラベル参
照分岐命令が存在するか否かをチェックし、存在しなけ
れば未解決のラベル参照分岐命令は存在しないのてステ
ップA4にて処理を終了し、ラベル参照分岐命令が存在
すれば、ステップA5に制御を渡す。次のステップA5
にて、ラベル参照分岐命令を目的プログラムファイル1
0上より取り出し、ラベル参照分岐命令の分岐先番地を
設定する領域より、次のラベル参照分岐命令への目的プ
ログラムファイル10上の番地を得る。
照分岐命令が存在するか否かをチェックし、存在しなけ
れば未解決のラベル参照分岐命令は存在しないのてステ
ップA4にて処理を終了し、ラベル参照分岐命令が存在
すれば、ステップA5に制御を渡す。次のステップA5
にて、ラベル参照分岐命令を目的プログラムファイル1
0上より取り出し、ラベル参照分岐命令の分岐先番地を
設定する領域より、次のラベル参照分岐命令への目的プ
ログラムファイル10上の番地を得る。
ステップ八6にて、ラベル参照分岐命令内の分岐先番地
を設定するための領域に、ラベル定義番地情報設定手段
6で設定されたラベルテーブル8のラベルが定義された
目的プログラムファイル10上での番地の情報を基に分
岐先番地を設定し、ラベル参照分岐命令を完成させ、目
的プログラムファイル10に出力する。次に、ステップ
A7にて、ステップA5で得た次のラベル参照分岐命令
が存在するか否かをチェックし、存在しなければステッ
プA8にて、処理を終了し、ラベル参照分岐命令が存在
するのなら、ステップA5に制御を渡し以降の処理を繰
り返す。
を設定するための領域に、ラベル定義番地情報設定手段
6で設定されたラベルテーブル8のラベルが定義された
目的プログラムファイル10上での番地の情報を基に分
岐先番地を設定し、ラベル参照分岐命令を完成させ、目
的プログラムファイル10に出力する。次に、ステップ
A7にて、ステップA5で得た次のラベル参照分岐命令
が存在するか否かをチェックし、存在しなければステッ
プA8にて、処理を終了し、ラベル参照分岐命令が存在
するのなら、ステップA5に制御を渡し以降の処理を繰
り返す。
以上説明したように本発明は、あるラベルへ分岐するラ
ベル参照分岐命令を生成するときの分岐先番地を決定す
る処理において、ラベルが定義されるまでの同一ラベル
を参照しているラベル参照分岐命令をラベルテーブルよ
りチェーンしておき、ラベルの定義が現れた時点で定義
されたラベルのラベルテーブルよりラベル参照分岐命令
内のチェーンをたどることにより、未解決のラベル参照
分岐命令内の分岐先番地を決定し、またラベルが定義さ
れた後のラベル参照分岐命令は、ラベルテーブルのラベ
ルが定義された目的プログラム上での番地の情報を基に
、分岐先番地の情報を設定する事により、分岐命令内に
ラベル出現順番号を設定して1度目的プログラムを作成
しておき、作成終了後再度目的プログラムを入力し、ラ
ベルへ分岐する命令をすべて検索して分岐命令内のラベ
ル出現順番号よりラベルテーブルを探し、ラベルが定義
されている番地の情報を命令内に設定して目的プログラ
ムを作成する方式よりも、定義が現れた時点で、以前に
出現した未解決のラベル参照分岐命令のみをチェーンに
よりたどればよく、かつ、ラベルの定義が現れた以降の
ラベル参照分岐命令内の分岐先番地は、ラベルテーブル
のラベルが定義された目的プログラム上での番地の情報
より設定できるので、目的プログラムを作成するための
処理時間を短縮できる効果がある。
ベル参照分岐命令を生成するときの分岐先番地を決定す
る処理において、ラベルが定義されるまでの同一ラベル
を参照しているラベル参照分岐命令をラベルテーブルよ
りチェーンしておき、ラベルの定義が現れた時点で定義
されたラベルのラベルテーブルよりラベル参照分岐命令
内のチェーンをたどることにより、未解決のラベル参照
分岐命令内の分岐先番地を決定し、またラベルが定義さ
れた後のラベル参照分岐命令は、ラベルテーブルのラベ
ルが定義された目的プログラム上での番地の情報を基に
、分岐先番地の情報を設定する事により、分岐命令内に
ラベル出現順番号を設定して1度目的プログラムを作成
しておき、作成終了後再度目的プログラムを入力し、ラ
ベルへ分岐する命令をすべて検索して分岐命令内のラベ
ル出現順番号よりラベルテーブルを探し、ラベルが定義
されている番地の情報を命令内に設定して目的プログラ
ムを作成する方式よりも、定義が現れた時点で、以前に
出現した未解決のラベル参照分岐命令のみをチェーンに
よりたどればよく、かつ、ラベルの定義が現れた以降の
ラベル参照分岐命令内の分岐先番地は、ラベルテーブル
のラベルが定義された目的プログラム上での番地の情報
より設定できるので、目的プログラムを作成するための
処理時間を短縮できる効果がある。
また、分岐先番地の情報を未設定にした分岐命令を生成
し、この命令が生成された目的プログラム上の番地を設
定しておくラベル参照テーブルを生成し、このラベルの
ラベルテーブルより出現順にチェーンするように設定し
て1度目的プログラムを作成しておき、作成終了後ラベ
ルテーブルを入力してラベル参照テーブルへのチェーン
よりラベル参照分岐命令をたどり、ラベルが定義された
番地の情報を基に分岐先番地を設定して、目的プログラ
ムを作成する方式よりも、ラベル参照命令内の分岐先番
地を設定する領域を利用して同一ラベルを参照する分岐
命令をチェーンすることにより、ラベル参照テーブルを
作成する必要がなく、かつ、そのため大きなメモリ量も
必要としないという効果がある。
し、この命令が生成された目的プログラム上の番地を設
定しておくラベル参照テーブルを生成し、このラベルの
ラベルテーブルより出現順にチェーンするように設定し
て1度目的プログラムを作成しておき、作成終了後ラベ
ルテーブルを入力してラベル参照テーブルへのチェーン
よりラベル参照分岐命令をたどり、ラベルが定義された
番地の情報を基に分岐先番地を設定して、目的プログラ
ムを作成する方式よりも、ラベル参照命令内の分岐先番
地を設定する領域を利用して同一ラベルを参照する分岐
命令をチェーンすることにより、ラベル参照テーブルを
作成する必要がなく、かつ、そのため大きなメモリ量も
必要としないという効果がある。
第1図は本発明の未解決ラベル参照解決方式の一実施例
を説明するデータの流れを中心に示すブロック図、第2
図は第1図の未解決ラベル番地決定手段の動作を示ずフ
ローチャート、第3図はラベルテーブルを構成する要素
を示す構成要素図である3
を説明するデータの流れを中心に示すブロック図、第2
図は第1図の未解決ラベル番地決定手段の動作を示ずフ
ローチャート、第3図はラベルテーブルを構成する要素
を示す構成要素図である3
Claims (1)
- 【特許請求の範囲】 原始プログラムより複数の目的プログラムである目的プ
ログラム群の作成時に分岐命令の分岐先番地を設定する
領域が前記目的プログラム群の大きさをあらわすのに十
分である場合にあるラベルへ分岐するための機械語命令
であるラベル参照分岐命令を生成するときの分岐先番地
を決定する処理において、前記原始プログラムを前記目
的プログラム群に変換しやすいように機械語にちかい形
式に翻訳された中間テキスト上の各ラベルに対して生成
し、そのラベルに対する定義が出現するまでの未解決の
ラベル参照分岐命令をチェーンするための前記目的プロ
グラム群上での番地を設定する領域であるラベル参照分
岐命令チェーン情報領域および前記ラベルの定義が出現
した前記目的プログラム群上での番地であるラベル定義
番地を設定する領域であるラベル定義番地情報領域とを
持つラベルテーブルを用意し、入力した前記中間テキス
トが前記ラベル参照分岐命令を生成するものか前記ラベ
ルを定義するためのものであるかこれら以外の命令を生
成するものであるかを判定し前記プログラム群の各目的
プログラムの生成処理を行う目的プログラム生成手段と
、この目的プログラム生成手段により前記中間テキスト
が前記ラベル参照分岐命令を生成するものであると判定
された場合には分岐先番地の情報のみ未設定にして前記
ラベル参照分岐命令を生成後もし前記ラベルテーブルが
存在していなければそのラベルテーブルを作成し、さも
なければ前記ラベル定義番地が決定されているかを判定
するラベル参照分岐命令生成手段と、このラベル参照分
岐命令生成手段により前記ラベルがすでに定義されてい
ると判定された場合に、前記ラベルテーブル内のラベル
定義番地情報領域内のデータを基に分岐先番地の情報を
設定し前記ラベル参照分岐命令を完成させ目的プログラ
ムファイルに出力する分岐先番地決定手段と、前記ラベ
ル参照分岐命令生成手段により前記ラベルがまだ定義さ
れていないと判定された場合に前記ラベル参照分岐命令
内の分岐先番地の情報を格納する領域を利用し、前記ラ
ベルテーブル内のラベル参照分岐命令チェーン情報領域
より同一ラベルを参照している直前のラベル参照分岐命
令へのチェーンを現在のラベル参照分岐命令内の分岐先
番地の情報にチェーンし前記目的プログラムファイルに
出力後、前記ラベルテーブル内のラベル参照分岐命令チ
ェーン情報領域に現在のラベル参照分岐命令が生成され
た前記目的プログラム群の番地を設定する命令内情 ■■闔闥iと、前記目的プログラム生成手段により前記
中間テキストが前記ラベルを定義するためのものである
と判定された場合に、もしまだ対応する前記ラベルテー
ブルが存在しなければそのラベルテーブルを作成し、そ
の後ラベル定義番地を前記ラベルテーブル内のラベル定
義番地に設定するラベル定義番地設定手段と、このラベ
ル定義番地設定手段によりラベル定義番地が決定された
以前にこのラベルへ分岐する前記ラベル参照分岐命令が
生成されているかを前記ラベルテーブルより判定し、そ
のラベルが定義される以前にこのラベルへ分岐する前記
ラベル参照分岐命令が生成されていたと判定された場合
前記ラベル定義番地設定手段により設定されたラベル定
義番地を基に前記ラベルテーブルより前記ラベル参照分
岐命令内の分岐先番地の情報を設定する領域のチェーン
をたどり未解決のラベル参照分岐命令内に分岐先番地の
情報を設定する未解決ラベル番地決定手段とによって構
成されることを特徴とする未解決ラベル参照解決方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3648087A JPS63201833A (ja) | 1987-02-18 | 1987-02-18 | 未解決ラベル参照解決方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3648087A JPS63201833A (ja) | 1987-02-18 | 1987-02-18 | 未解決ラベル参照解決方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63201833A true JPS63201833A (ja) | 1988-08-19 |
Family
ID=12470979
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3648087A Pending JPS63201833A (ja) | 1987-02-18 | 1987-02-18 | 未解決ラベル参照解決方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63201833A (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61216039A (ja) * | 1985-02-13 | 1986-09-25 | Fujitsu Ltd | プログラム生成制御方式 |
-
1987
- 1987-02-18 JP JP3648087A patent/JPS63201833A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61216039A (ja) * | 1985-02-13 | 1986-09-25 | Fujitsu Ltd | プログラム生成制御方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0630066B2 (ja) | テーブル型言語翻訳方法 | |
| KR102013657B1 (ko) | 연관된 다중 파일 정적 분석 장치 | |
| CN111159268B (zh) | 一种ETL流程在Spark集群中运行的方法和装置 | |
| JPS6081641A (ja) | レジスタトレース方法 | |
| US6198813B1 (en) | System and method for providing call processing services using call independent building blocks | |
| JPS63201833A (ja) | 未解決ラベル参照解決方式 | |
| JP2000122876A (ja) | 情報処理装置 | |
| JP3637606B2 (ja) | データ処理装置 | |
| JPH0460721A (ja) | オブジェクト指向言語処理方式 | |
| JPS6274130A (ja) | プログラム構造資料作成処理装置 | |
| JP3240647B2 (ja) | コンピュータ言語の構造化処理方式 | |
| JPH06222913A (ja) | プログラム解析装置 | |
| JPS63132335A (ja) | 計算機言語処理系の実行方式 | |
| JPS63217433A (ja) | プログラム実行制御方式 | |
| JPH01112427A (ja) | パッチ自動適用システム | |
| JPH1063675A (ja) | データ探索方法及びそれを適用したデータ探索装置 | |
| JPH03191424A (ja) | ソフトウェア部品合成方式 | |
| JPH0371229A (ja) | プログラム制御装置 | |
| JPH02308355A (ja) | インタプリタにおける入力手続き管理方式 | |
| JPS62204340A (ja) | デ−タ処理装置 | |
| JPH02227737A (ja) | コンパイルユニット管理方式 | |
| JPS584451A (ja) | 関数型情報処理装置 | |
| JPH05204699A (ja) | デバッグ時識別子探索方式 | |
| JPH0390931A (ja) | Rom化プログラムの生成方法 | |
| JPH0575841U (ja) | プログラム変換装置 |