JPS6072033A - 分割コンパイル方式 - Google Patents
分割コンパイル方式Info
- Publication number
- JPS6072033A JPS6072033A JP17899683A JP17899683A JPS6072033A JP S6072033 A JPS6072033 A JP S6072033A JP 17899683 A JP17899683 A JP 17899683A JP 17899683 A JP17899683 A JP 17899683A JP S6072033 A JPS6072033 A JP S6072033A
- Authority
- JP
- Japan
- Prior art keywords
- common data
- program
- translation
- data
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の技術分野
本発明は分割コンパイル方式、さらに詳しく言えば、複
数の翻訳単位に分割された原始プログラムをコンパイラ
によって機械語のプログラムに翻訳する分割コンパイル
方式に関する。
数の翻訳単位に分割された原始プログラムをコンパイラ
によって機械語のプログラムに翻訳する分割コンパイル
方式に関する。
従来技術と問題点
第1図は従来の技術による分割コンパイル方式の概要の
説明図である。
説明図である。
一般に原始プログラムは、コンパイラ(プログラム)に
よって機械語のプログラム〈翻訳される。
よって機械語のプログラム〈翻訳される。
この場合、プロセッサとメイン・メモリとから構成され
た処理システムのメイン・メモリにコンパイラ(プログ
ラム)t−書き込んだものはプログラム翻訳機と見るこ
とができる。
た処理システムのメイン・メモリにコンパイラ(プログ
ラム)t−書き込んだものはプログラム翻訳機と見るこ
とができる。
第1図において、 COMはコンパイラヲ書込んだプロ
グラム翻訳機(実際は情報処理システム)を表わし、S
Pは1つの原始プログラムを示し、IUz。
グラム翻訳機(実際は情報処理システム)を表わし、S
Pは1つの原始プログラムを示し、IUz。
IUSI、 IU8. IU4〜は、それぞれ1つの原
始プログラムSPを分割して構成した翻訳単位であり、
またMPは原始プログラムSPヲ翻訳して得られた機械
語のプログラムを示し、Ul、 U2 、 Us 、
U4〜は原始プログラムSPの翻訳単位IUI 、 I
U2 、 IUs 、 IU4〜に対応する単位である
。
始プログラムSPを分割して構成した翻訳単位であり、
またMPは原始プログラムSPヲ翻訳して得られた機械
語のプログラムを示し、Ul、 U2 、 Us 、
U4〜は原始プログラムSPの翻訳単位IUI 、 I
U2 、 IUs 、 IU4〜に対応する単位である
。
翻訳単位IUIは上記の通シ、コンパイラを書込んだ情
報処理システムすなわちプログラム翻訳機COMVCよ
って機械語プログラムMPの単位Utに翻訳される。
報処理システムすなわちプログラム翻訳機COMVCよ
って機械語プログラムMPの単位Utに翻訳される。
翻訳単位IU1が、他の翻訳単位からも参照され得る共
通データA″fe含む場合は、この原始プログラムSP
の製作時において、該データAに、この原始プログラム
SP中の第1番目に現れた共通データであることを示す
識別符号V1を付加しておく。
通データA″fe含む場合は、この原始プログラムSP
の製作時において、該データAに、この原始プログラム
SP中の第1番目に現れた共通データであることを示す
識別符号V1を付加しておく。
上記共通データAはコンパイラによって判定され、機械
語プログラムMPの単位U1のアドレスaに格納され、
一方、プログラム翻訳機COMの記憶部にアドレスaと
識別符号V1との対照テーブルを作成しておく。
語プログラムMPの単位U1のアドレスaに格納され、
一方、プログラム翻訳機COMの記憶部にアドレスaと
識別符号V1との対照テーブルを作成しておく。
上記翻訳単位IUIの機械語プログラムMPの単位U1
への翻訳が完了すれば、次に上記と同様に次の翻訳単位
IUgの翻訳が行なわれる。該翻訳単位IUs+が他の
翻訳単位からも参照され得る共通データBを含む場合は
、前記と同様に第2番目に現れた共通データであること
を示す識別符号■2を付加し、さらに前記と同様な処理
が行なわれる。
への翻訳が完了すれば、次に上記と同様に次の翻訳単位
IUgの翻訳が行なわれる。該翻訳単位IUs+が他の
翻訳単位からも参照され得る共通データBを含む場合は
、前記と同様に第2番目に現れた共通データであること
を示す識別符号■2を付加し、さらに前記と同様な処理
が行なわれる。
次に、別の翻訳単位例えばIUsが上記の共通データA
、Bを必要とする場合は、該データを挿入すべき位置に
、それぞれ対応する識別符号V+ IV2と読出し命令
とを挿入しておく。
、Bを必要とする場合は、該データを挿入すべき位置に
、それぞれ対応する識別符号V+ IV2と読出し命令
とを挿入しておく。
翻訳単位IUsの原始プログラムをコンパイラ(プログ
ラム)が検査し、識別符号V1. V2’を識別したと
き、上記対照テーブルからVl 、 Vt対応のアドレ
スを読出し、上記読出し命令に従って、共通データ人お
よびBffi読出し、翻訳単位IUaの原始プログラム
に上記共通データA、Bを挿入し一翻訳単位IUsを機
械語プログラムに翻訳して、単位U8を構成する。
ラム)が検査し、識別符号V1. V2’を識別したと
き、上記対照テーブルからVl 、 Vt対応のアドレ
スを読出し、上記読出し命令に従って、共通データ人お
よびBffi読出し、翻訳単位IUaの原始プログラム
に上記共通データA、Bを挿入し一翻訳単位IUsを機
械語プログラムに翻訳して、単位U8を構成する。
従来の技術による分割コンパイル方式は上記のように構
成されていたので、共通データを取込むときそのアドレ
スだけしか見えず、該共通データの属性は不明でおり、
まだ、共通データを鈑込むだめの読出し命令を原始プロ
グラム中にいちいち用意しなければならない欠点がちっ
た。
成されていたので、共通データを取込むときそのアドレ
スだけしか見えず、該共通データの属性は不明でおり、
まだ、共通データを鈑込むだめの読出し命令を原始プロ
グラム中にいちいち用意しなければならない欠点がちっ
た。
共通データの属性が不明であると、属性の適合しないデ
ータが挿入される可能性もあシ、不都合がおこることも
考えられる。
ータが挿入される可能性もあシ、不都合がおこることも
考えられる。
発明の目的
本発明は、従来技術の上記の欠点を除去し、分割コンパ
イル時に共通データの名前と属性情報を一括管理し、翻
訳時に、使用する共通データの属性の不適合が生ずるこ
とを防止し、コンパイラの信頼性の向上を図ることを目
的とする。
イル時に共通データの名前と属性情報を一括管理し、翻
訳時に、使用する共通データの属性の不適合が生ずるこ
とを防止し、コンパイラの信頼性の向上を図ることを目
的とする。
発明の実施例
以下、本発明の実施例を図面について説明する。
第2図は本発明を実施した分割コンパイル方式の一例の
動作概要の説明図である。
動作概要の説明図である。
第2図において、COMは、プロセッサとメイン・メモ
リとを有する情報処理システムのメイン・メ毛りにコン
パイラ(プログラム)ヲ書き込み、プログラム翻訳機と
したもの、附は上記プログラム翻訳機COMに設定され
たファイル・メモリ、SPは1つの原始プログラムで、
IUI 、 IUs+ 、 IUs 、 IU4〜はそ
れぞれ上記の原始プログラムSPヲ分割して構成した翻
訳単位、MPは上記原始プログラムSPを上記プログラ
ム翻訳機COMで翻訳して得た機械語プログラムでおJ
L Ul、UIUII、U4〜は上記原始プログラムs
pの翻訳単位IUI 、 IU2 、 IUa 、 I
U4〜に対応する単位である。
リとを有する情報処理システムのメイン・メ毛りにコン
パイラ(プログラム)ヲ書き込み、プログラム翻訳機と
したもの、附は上記プログラム翻訳機COMに設定され
たファイル・メモリ、SPは1つの原始プログラムで、
IUI 、 IUs+ 、 IUs 、 IU4〜はそ
れぞれ上記の原始プログラムSPヲ分割して構成した翻
訳単位、MPは上記原始プログラムSPを上記プログラ
ム翻訳機COMで翻訳して得た機械語プログラムでおJ
L Ul、UIUII、U4〜は上記原始プログラムs
pの翻訳単位IUI 、 IU2 、 IUa 、 I
U4〜に対応する単位である。
原始プログラムSPを機械語プログラムMPに翻訳する
に当って、まず翻訳単位IU□が、上記のようにコンパ
イラ1c書込んだプログラム翻訳機COMによって機械
語プログラムMPの単位U1への翻訳が行なわれる。
に当って、まず翻訳単位IU□が、上記のようにコンパ
イラ1c書込んだプログラム翻訳機COMによって機械
語プログラムMPの単位U1への翻訳が行なわれる。
翻訳単位IU1が他の翻訳単位からも参照され得る共通
データAを含む場合は、この原始プログラムSPの製作
時において、該データAに、この原始プログラムSP中
の第1番目に現れた共通データであることを示す識別符
号V1ヲ付加しておく。
データAを含む場合は、この原始プログラムSPの製作
時において、該データAに、この原始プログラムSP中
の第1番目に現れた共通データであることを示す識別符
号V1ヲ付加しておく。
上記共通データAはコンパイラによって検出され、機械
語プログラムMPの単位Ul中に組込まれるが、一方で
コンパイラによって該共通データAの属性AT(整数、
集合、配列などの性質、変数。
語プログラムMPの単位Ul中に組込まれるが、一方で
コンパイラによって該共通データAの属性AT(整数、
集合、配列などの性質、変数。
定数の識別1手続きの識別とパラメタの性質等)を判定
し一共通データの名前と属性情報を上記ファイル・メモ
リFMに登録する。
し一共通データの名前と属性情報を上記ファイル・メモ
リFMに登録する。
プログラム翻訳機COMの記憶部に上記の共通データA
′!i−上記フアイル・メモリFMに登録したときのア
ドレネと識別符号Vlとの対照テーブルを作成しておく
。
′!i−上記フアイル・メモリFMに登録したときのア
ドレネと識別符号Vlとの対照テーブルを作成しておく
。
上記翻訳単位I U 1の機械語プログラムMPの単位
U1への翻訳が完了すれば、次に上記と同様に次の翻訳
単位IUgの翻訳が行なわれる。該翻訳単位IUzが他
の翻訳単位からも参照され得る共通データBを含む場合
は、泊記と同様に第2番目に現れた共通データであるこ
とを示す識別符号V2を付加しておく。前記と同様な処
理によって翻訳が行なわれる。
U1への翻訳が完了すれば、次に上記と同様に次の翻訳
単位IUgの翻訳が行なわれる。該翻訳単位IUzが他
の翻訳単位からも参照され得る共通データBを含む場合
は、泊記と同様に第2番目に現れた共通データであるこ
とを示す識別符号V2を付加しておく。前記と同様な処
理によって翻訳が行なわれる。
次に、別の翻訳単位例えばIUsが上記の共通データA
あるいはBを必要とする場合は、該データを挿入すべき
位置にそれぞれ対応する識別符号v1あるいはV2 f
:挿入しておく。
あるいはBを必要とする場合は、該データを挿入すべき
位置にそれぞれ対応する識別符号v1あるいはV2 f
:挿入しておく。
翻訳単位I n sの原始プログラムをコンパイラ(プ
ログラム)が検査し、識別符号Vl、V、を検出したと
き、上記対照テーブルからvl、v、対応の上記ファイ
ル・メモリFMのアドレスを読出し、このアドレスに従
って、上記ファイル・メモリFMから共通データA、B
の名前とともに属性をも読出し、プログラム翻訳機械C
OMに取り込む。
ログラム)が検査し、識別符号Vl、V、を検出したと
き、上記対照テーブルからvl、v、対応の上記ファイ
ル・メモリFMのアドレスを読出し、このアドレスに従
って、上記ファイル・メモリFMから共通データA、B
の名前とともに属性をも読出し、プログラム翻訳機械C
OMに取り込む。
プログラム翻訳機械COMは、共通データA・Bの名前
とともに属性をも取シ込むので−コンパイラはその属性
が共通データA、Bが該データに連繋するデータや命令
に適合するか否かを判定することができる。
とともに属性をも取シ込むので−コンパイラはその属性
が共通データA、Bが該データに連繋するデータや命令
に適合するか否かを判定することができる。
このため、機械語プログラムMPは、属性の不適合なデ
ータが挿入されることがなくなる。
ータが挿入されることがなくなる。
以上本発明の一実施例について説明したが本発明は上記
実施例に限定されるものではなく、種々の変形が可能で
ある。
実施例に限定されるものではなく、種々の変形が可能で
ある。
本発明は、分割コンパイル時に共通情報(共通データの
名前と属性情報)を収集して、共通゛のファイル・メモ
リに登録して一括管理し、共通データの参照時に上記共
通ファイル・メモリを探索し、該尚する共通情報を自翻
訳単位に取シ込むものである。
名前と属性情報)を収集して、共通゛のファイル・メモ
リに登録して一括管理し、共通データの参照時に上記共
通ファイル・メモリを探索し、該尚する共通情報を自翻
訳単位に取シ込むものである。
発明の効果
本発明は上記のように構成されているので、原始プログ
ラムを分割コンパイル方式によって機械語プログラムに
翻訳する際、使用する共通データの属性の不適合が生ず
ることが防止され、これ釦よシコンバイラあるいは翻訳
して得られた機械語プログラムの信頼性を向上させるこ
とができる効果がある。
ラムを分割コンパイル方式によって機械語プログラムに
翻訳する際、使用する共通データの属性の不適合が生ず
ることが防止され、これ釦よシコンバイラあるいは翻訳
して得られた機械語プログラムの信頼性を向上させるこ
とができる効果がある。
第1図は従来の技術釦よる分割コンパイル方式の概要の
説明図、第2図は本発明を実施した分割コンパイル方式
の一例の動作概要の説明図である。 sp・・・原始プログラム、IUt 、 IO2、IU
a 、 IU4〜・・・上記原始プログラムSPを分割
して構成した翻訳単位、MP・・・原始プログラムSP
を翻訳した機械語プログラム、Ul 、U2.U8.U
4〜・・・上記翻訳単位IU1゜IO2、IUs 、
IU4〜対応の機械語プログラムMPの単位、COM・
・・プログラム翻訳機、FM・・・ファイル・メモ!J
、AIB〜・・・共通データ、AT・・・共通データの
属性。 第1図 第2図
説明図、第2図は本発明を実施した分割コンパイル方式
の一例の動作概要の説明図である。 sp・・・原始プログラム、IUt 、 IO2、IU
a 、 IU4〜・・・上記原始プログラムSPを分割
して構成した翻訳単位、MP・・・原始プログラムSP
を翻訳した機械語プログラム、Ul 、U2.U8.U
4〜・・・上記翻訳単位IU1゜IO2、IUs 、
IU4〜対応の機械語プログラムMPの単位、COM・
・・プログラム翻訳機、FM・・・ファイル・メモ!J
、AIB〜・・・共通データ、AT・・・共通データの
属性。 第1図 第2図
Claims (1)
- 複数の翻訳単位に分割された原始プログラムを機械語プ
ログラムに翻訳するプログラム翻訳機械において、ファ
イル・メモリを設け、上記原始プログラムのある翻訳単
位の翻訳時に別の翻訳単位からも参照され得る共通デー
タを検出したときは該データの名前と属性とを上記ファ
イル・メモリに格納し、該共通データを必要とする翻訳
単位の翻訳時には上記ファイル・メモリから該共通デー
タの名前とともにその属性をも読取シブログラム翻訳を
行なうことを特徴とする分割コンパイル方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17899683A JPS6072033A (ja) | 1983-09-27 | 1983-09-27 | 分割コンパイル方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17899683A JPS6072033A (ja) | 1983-09-27 | 1983-09-27 | 分割コンパイル方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6072033A true JPS6072033A (ja) | 1985-04-24 |
Family
ID=16058287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17899683A Pending JPS6072033A (ja) | 1983-09-27 | 1983-09-27 | 分割コンパイル方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6072033A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63200236A (ja) * | 1987-02-16 | 1988-08-18 | Fujitsu Ltd | ソース・プログラム翻訳処理方法 |
-
1983
- 1983-09-27 JP JP17899683A patent/JPS6072033A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63200236A (ja) * | 1987-02-16 | 1988-08-18 | Fujitsu Ltd | ソース・プログラム翻訳処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0413486A2 (en) | Message processing system | |
JPH0588907A (ja) | 分散環境下におけるコンパイル方式 | |
JPS6072033A (ja) | 分割コンパイル方式 | |
Barnard et al. | Hierarchic syntax error repair for LR grammars | |
JP2004185450A (ja) | ロングファイルネームの管理方法 | |
JPS5894041A (ja) | 高級言語のデバツク支援装置 | |
JP2577626B2 (ja) | プログラム変換装置 | |
CN115618886A (zh) | 一种游戏翻译文本本地方化方法 | |
JPS6027941A (ja) | 名標生成システム | |
JPH0498322A (ja) | コンパイラの作成方法 | |
JPH0341848B2 (ja) | ||
JP2724235B2 (ja) | 変数名称推論装置 | |
JPS60112145A (ja) | デ−タ管理方式 | |
JPS62282334A (ja) | オブジエクト・リストへの名標表示方式 | |
JP2004302840A (ja) | データベースアクセス方法 | |
JPS6326730A (ja) | プログラム修正方式 | |
JPH05119983A (ja) | テーブル生成方式 | |
JPH06332687A (ja) | プログラム自動修正反映方式 | |
JPH0752391B2 (ja) | 複数データベース記述を含む原始プログラムの翻訳方式 | |
JPS6111852A (ja) | 共通デ−タの集中管理方式 | |
Broadbent | The implementation of a generalized table driven back end processor | |
JPH0375825A (ja) | ソースプログラムエディタ | |
JPS63140339A (ja) | バ−ジヨン識別予約語管理方式 | |
JPS62204337A (ja) | プログラム翻訳装置 | |
JPH01306934A (ja) | 試験用データベース作成方式 |