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
Application number
JP17899683A
Other languages
English (en)
Inventor
Takafumi Suzuki
啓文 鈴木
Susumu Inoue
進 井上
Kyoko Isogai
磯貝 恭子
Yoko Nakamura
洋子 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP17899683A priority Critical patent/JPS6072033A/ja
Publication of JPS6072033A publication Critical patent/JPS6072033A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

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−書き込んだものはプログラム翻訳機と見るこ
とができる。
第1図において、 COMはコンパイラヲ書込んだプロ
グラム翻訳機(実際は情報処理システム)を表わし、S
Pは1つの原始プログラムを示し、IUz。
IUSI、 IU8. IU4〜は、それぞれ1つの原
始プログラムSPを分割して構成した翻訳単位であり、
またMPは原始プログラムSPヲ翻訳して得られた機械
語のプログラムを示し、Ul、 U2 、 Us 、 
U4〜は原始プログラムSPの翻訳単位IUI 、 I
U2 、 IUs 、 IU4〜に対応する単位である
翻訳単位IUIは上記の通シ、コンパイラを書込んだ情
報処理システムすなわちプログラム翻訳機COMVCよ
って機械語プログラムMPの単位Utに翻訳される。
翻訳単位IU1が、他の翻訳単位からも参照され得る共
通データA″fe含む場合は、この原始プログラムSP
の製作時において、該データAに、この原始プログラム
SP中の第1番目に現れた共通データであることを示す
識別符号V1を付加しておく。
上記共通データAはコンパイラによって判定され、機械
語プログラムMPの単位U1のアドレスaに格納され、
一方、プログラム翻訳機COMの記憶部にアドレスaと
識別符号V1との対照テーブルを作成しておく。
上記翻訳単位IUIの機械語プログラムMPの単位U1
への翻訳が完了すれば、次に上記と同様に次の翻訳単位
IUgの翻訳が行なわれる。該翻訳単位IUs+が他の
翻訳単位からも参照され得る共通データBを含む場合は
、前記と同様に第2番目に現れた共通データであること
を示す識別符号■2を付加し、さらに前記と同様な処理
が行なわれる。
次に、別の翻訳単位例えばIUsが上記の共通データA
、Bを必要とする場合は、該データを挿入すべき位置に
、それぞれ対応する識別符号V+ IV2と読出し命令
とを挿入しておく。
翻訳単位IUsの原始プログラムをコンパイラ(プログ
ラム)が検査し、識別符号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〜に対応する単位である。
原始プログラムSPを機械語プログラムMPに翻訳する
に当って、まず翻訳単位IU□が、上記のようにコンパ
イラ1c書込んだプログラム翻訳機COMによって機械
語プログラムMPの単位U1への翻訳が行なわれる。
翻訳単位IU1が他の翻訳単位からも参照され得る共通
データAを含む場合は、この原始プログラムSPの製作
時において、該データAに、この原始プログラムSP中
の第1番目に現れた共通データであることを示す識別符
号V1ヲ付加しておく。
上記共通データAはコンパイラによって検出され、機械
語プログラムMPの単位Ul中に組込まれるが、一方で
コンパイラによって該共通データAの属性AT(整数、
集合、配列などの性質、変数。
定数の識別1手続きの識別とパラメタの性質等)を判定
し一共通データの名前と属性情報を上記ファイル・メモ
リFMに登録する。
プログラム翻訳機COMの記憶部に上記の共通データA
′!i−上記フアイル・メモリFMに登録したときのア
ドレネと識別符号Vlとの対照テーブルを作成しておく
上記翻訳単位I U 1の機械語プログラムMPの単位
U1への翻訳が完了すれば、次に上記と同様に次の翻訳
単位IUgの翻訳が行なわれる。該翻訳単位IUzが他
の翻訳単位からも参照され得る共通データBを含む場合
は、泊記と同様に第2番目に現れた共通データであるこ
とを示す識別符号V2を付加しておく。前記と同様な処
理によって翻訳が行なわれる。
次に、別の翻訳単位例えばIUsが上記の共通データA
あるいはBを必要とする場合は、該データを挿入すべき
位置にそれぞれ対応する識別符号v1あるいはV2 f
:挿入しておく。
翻訳単位I n sの原始プログラムをコンパイラ(プ
ログラム)が検査し、識別符号Vl、V、を検出したと
き、上記対照テーブルからvl、v、対応の上記ファイ
ル・メモリFMのアドレスを読出し、このアドレスに従
って、上記ファイル・メモリFMから共通データA、B
の名前とともに属性をも読出し、プログラム翻訳機械C
OMに取り込む。
プログラム翻訳機械COMは、共通データ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図

Claims (1)

    【特許請求の範囲】
  1. 複数の翻訳単位に分割された原始プログラムを機械語プ
    ログラムに翻訳するプログラム翻訳機械において、ファ
    イル・メモリを設け、上記原始プログラムのある翻訳単
    位の翻訳時に別の翻訳単位からも参照され得る共通デー
    タを検出したときは該データの名前と属性とを上記ファ
    イル・メモリに格納し、該共通データを必要とする翻訳
    単位の翻訳時には上記ファイル・メモリから該共通デー
    タの名前とともにその属性をも読取シブログラム翻訳を
    行なうことを特徴とする分割コンパイル方式。
JP17899683A 1983-09-27 1983-09-27 分割コンパイル方式 Pending JPS6072033A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63200236A (ja) * 1987-02-16 1988-08-18 Fujitsu Ltd ソース・プログラム翻訳処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
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) 試験用データベース作成方式