JPS61264440A - コンパイル処理方式 - Google Patents

コンパイル処理方式

Info

Publication number
JPS61264440A
JPS61264440A JP10598285A JP10598285A JPS61264440A JP S61264440 A JPS61264440 A JP S61264440A JP 10598285 A JP10598285 A JP 10598285A JP 10598285 A JP10598285 A JP 10598285A JP S61264440 A JPS61264440 A JP S61264440A
Authority
JP
Japan
Prior art keywords
processing
phases
file
phase
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
Application number
JP10598285A
Other languages
English (en)
Inventor
Jun Sawamoto
沢本 潤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10598285A priority Critical patent/JPS61264440A/ja
Publication of JPS61264440A publication Critical patent/JPS61264440A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、;ンパイル処理方式に関するものであり、
特に、高位言語によるソースグログラムヲ機械語による
オブジェクトプログラムに変換する処理のスループット
が向上されたコンパイル処理方式に関するものである。
〔従来の技術〕
第3図は、従来方式によるフンパイル処理の流れの例示
図でおる。この第3図において、(ハ0はコンパイラに
よる各処理フェイズを制御するための制御部、  (7
t)、(/x)、(lり)は夫々に処理フェイズを示す
ものであυ、#/処理フェイズ(八〇は構文解析フェイ
ズ、#コ処理フェイズ(/6)は意味解析フェイズ、そ
して、#3処理フェイズ(/り)はコード生成フェイズ
である。また、 (/l)。
(/9) 、 (コの、 (,2/)は夫々に所定の目
的のための7アイルであシ、(/l)はソースプログラ
ムファイル、(/?)は#/処理フェイズ(/りと#コ
処理フェイズ(/6)との間で受け渡される#/中間7
アイル、(コ0)は#コ処理フェイズ(/6)と#3処
理フェイズ(/り)との間で受け渡される#コ中関ファ
イル、そして、  (!/)はオブジェクトプログツム
ファイルである。
また、第1図は、前記されたソースプログラムファイル
(/ざ)ならびに#/中間ファイル(/q)または#コ
中間ファイル(20)の詳細な例示図である。第ダ図(
a)においては、ソースプログラム7アイル(/r)が
例示されておシ、と\に、(コ2)はある所定のソース
プログラムユニットファイル、(ユ3)、(ユ弘)、(
ユ3)は夫々に前記ソースプログラムユニットファイル
(コ2)に含まれるプログラムモジュール(P/、Pコ
、PN)である。また、第グ図(b)においては、中間
ファイル(こ\では#/中間ファイル(/?))が例示
されておシ、こ\に、(コロ)は#/中間7アイル(/
テ)におけるシンボル情報ファイル、 (,27)は中
間ユニットファイル、そして、 c2g>tc−?) 
、 (,7(7)は、夫々に、前記ソースプログラムユ
ニット7アイ/L/(,22)内のプログ2ムモジユー
ルP/(2,7) 、p2(jp) 、PN(コ3)に
対応する中間モジ・エールである。
次に、この従来方式の動作について説明する。
制御部(ハリは、#/処理フェイズ(/j) 、 #コ
処理フェイズ(/&)、−#J処理フェイズ(17)を
逐次的に起動していく。#/処理フェイズ(八〇である
構文解析フェイズにおいて、ソースプログラムファイル
(/j)の内容に基づいて#/中間ファイル(/9)の
内容が生成される。この#/中間ファイル(/9)には
、前述されたシンボル情報ファイル(,2b)および中
間ユニットファイル(コク)が含まれている。こ\で、
シンボルff1l&フアイル(26)は主として2ンダ
ムアクセスがなされ、まり、 中間ユニットファイル(
コア)はシーケンシャルアクセスがなされるのが普通で
ある。次に、#コ処理フェイズ(/6)である意味解析
フェイズにおいて、#/中間ファイル(/テ)における
中間ユニットファイル(λり)の内容に基づいて#コ中
間ファイル(コQ)における中間ユニットファイルの内
容が生成される。このとき、シンボル情報ファイル(2
6)は必要に応じて参照されたシ、その内容が修正され
たシする。そして、#3処理フェイス(/り)であるコ
ード生成フェイズにおいて、#コ中間ファイル(:lθ
)の内容に基づいて所定の機械語によるオブジェクトプ
ログラムが逐次的に作成され、これを含むオブジェクト
グログ2ムフアイル(2/)かえられることになる。
〔発明が解決しようとする問題点〕
従来のコンパイル処理方式は上記されたような操作がな
されるものであることから、複数個の処理フェイズの各
々はその前の処理フェイズの操作が終了するまでは起動
することがなく、また、これらの処理フェイズは直列的
に操作され、そのスループットを向上させることが困難
であるといり問題点があった。
この発明は上記の問題点を解決するために表されたもの
であって、複数個の処理フェイズを並列的に操作させる
ことのできるコンパイル処理方式を提供することをその
目的とするものである。
C問題点を解決するための手段〕 この発明に係るコンパイル処理方式は、複数個の処理フ
ェイズと、これらの間で受け渡される中間語ファイルと
、前記複数個の処理フェイズで共用されるシンボル情報
ファイルと、前記複数個の処理フェイズに対する制御部
とを含み、前記制御部には前記複数個の処理フェイズの
各々についての処理状態を指示する処理状態管理テーブ
ルが設けられているものである。
〔作用〕
この発明によれば、前記複数個の処理フェイズの各々に
おける処理操作は、前記処理状態管理テーブルを参照し
ながら平行的に行なわれる。
〔実施例〕
第1図は、この発明の実施例方式によるコンパイル処理
の流れの例示図である。この第1図において、(1)は
コンパイラの制御部、(2)は処理状態管理テーブルで
あり、これには、複数個の処理フェイズの各々について
、処理を終了したプログラムモジュールを指示する情報
を格納するようにされる。(3)は#/処理フェイズで
ある構文解析フェイズ、(りは#コ処理フェイズである
意味解析フェイズ、(りは#3処理フェイズであるコー
ド生成フェイズである。(6)はソースプログラムファ
イル、(り)はFIFO式#/中間ファイル、(16a
 FIFO式#コ中間ファイル、(りはオブジェクトプ
ログツムファイルである。そして、(10)はシンボル
情報ファイルであシ、これは、前記複数個の処理フェイ
ズの各々において必要に応じて参照され、適尚な修正が
なされるものである。
また、第二図は、第1図における例示図の一部を詳細に
示すもので1Lこの中で、第2図(a)は処理状態管理
テーブル(2)の詳細な例示図、第一図(b)はFIF
O式中間ファイルの詳細な例示図である。第2図(a)
の処理状態管理テーブル(2)は、前述されたように、
複数個の処理フェイズの間で操作上の同期をとるために
、そのグログ2ムモジユールまでの処理操作が終了して
いるかを指示するものである。また、第2図(b)のF
IFO式中間ファイル(りまたはj)は、 FIFO式
中間式中ツユニットファイル)を含んでおシ、ある処理
フェイズに対する読み込みが所要のプログ2ムモジユー
ルPコからなされているとき、これと同時に、別異の処
理フェイズからの書き出しがそのためのプログラムモジ
ュールP3に対してなされることが可能にされる。なお
、と\で、FIFO式中間式中ツユニットファイル)は
プログラムモジュール単位で管理されており、tた、各
処理フェイズの同期もプログラムモジュール単位でとら
れるようにされている。
次に、この発明による実施例方式の動作について説明す
る。先ず、制御部(1)は、#/処理フェイズ(、?)
 、 #コ処理フェイズ(りおよび#3処理フェイズ(
,1)の各々を同時に、すなわち並列的に起動する。構
文解析フェイズであ乏#/処理フェイズ(,7)におい
ては、ソースプログラムファイル(6)の内容をシーケ
ンスシャルに読み込みながら。
これに基づいてFIFO式#/中間ファイル(7)の内
容およびシンボル情報ファイル(10)の内容を生成し
ていく。そして、ソースプログ2ム7アイル(6)内の
ある所定のソースプログラムユニットファイルに含まれ
ているプログラムモジュール中の最初のものP/につい
ての処理が終了した段階で、制御部(1)内の処理状態
管理テーブル(2)の内容が更新されて、プログラムモ
ジュールP/に関する構文解析の欄が’ Ready”
にセットされる。
以下、同様の処理が前記プログラムモジュール単位でく
シ返されていく。一方、意味解析フェイズである#コ処
理フェイズ(りにおいては、制御部(1)内の処理状態
管理テーブル(2)を参照し、#/処理フェイズ(3)
の処理操作が終了しているプログラムモジニールについ
て、必要な処理操作が開始される。ここで、第一図を参
照すると、第2図(a)において、プログラムモジュー
ルP/については#/処理フェイズ(3)および#コ処
理フェイズ(りの双方の処理操作が終了して、構文解析
および意味解析の双方の欄が’ Ready ”にされ
ておシ、また、プログラムモジュールP、2については
#/処理フェイズ(3)だけが終了して、これに対応す
る構文解析の欄だけが” Ready ”にされている
。し、九かつ【、第一図(b)においては、構文解析フ
ェイズである#/処理フェイズ(3)においてプログラ
ムモジュールP3に対する所要の処理操作を行ないなが
ら、前記プログ2ムモジユールP3の内容に対応する中
間的な内容がFIFO式#/中間ファイル(7)のFI
FO式中間式中ツユニットファイル)に送出されておシ
、これと同時に、意味解析フェイズである#コ処理フェ
イズ(lI)において、同じF’lF’O式中間ユニ式
中ツユニットファイルの別異のプログラムモジュール、
すなわち、#/処理7エイス(3)による処理操作だけ
が終了しているプログラムモジュールP2の内容を読み
込みながら所定の処理操作がなされることになる。これ
と同様に、コード生成フェイズである#3処理フェイズ
(3)においても、制御部(1)内の処理状態管理テー
ブル(2)を参照し、#コ処理フェイズ(りによる処理
操作が終了しているプログラムモジュール(例えばP/
)に対する処理操作を行なって、これに対応する機械語
によるオブジェクトプログラムが作成され、これを含む
オブジェクトプログ2ムフアイル(りが見られることに
なる。
なお、上記されたこの発明の実施例においては。
複数個の処理フェイズの各々による処理操作の進行状態
が、ソースプログラムユニットファイルに含まれるプロ
グラムモジュール単位で管理されているけれども、これ
に限られるものではなく1例えば、前記プログラムモジ
ュールをブロックに細分化し、このブロック本位での並
列処理操作や進行管理を行なうことによシ、そのスルー
プットはさらに向上されるととKなる。
〔発明の効果〕   ゛ 以上説明されたように、この発明によれば、制御部内に
複数個の処理フェイズの各々についての処理状態を指示
する処理状態管理テーブルを設けたことによシ、各処理
フェイズにおいて前記処理状態管理テーブルの内容を参
照しながら前記複数個の処理フェイズについての処理操
作を並列的に行なうことが可能になシ、シたがって、ス
ループットの向上したコンパイル処理方式が提供される
ものである。
【図面の簡単な説明】
第1図は、この発明による実施例方式を説明するための
コンパイル処理の流れの例示図、第2図は、第1図にお
ける例示図の一部についての詳細図、第3図は、従来例
方式を説明するためのコンパイル処理の流れの例示図、
第j図は、第3図における例示図の一部についての詳細
図である。 (1)・・制御部、(2)・・処理状態管理テーブル、
  (3)#(す、(夕)・・#/、#コ、#3処理フ
ェイズ。 (6)・・ノースプログラム7アイル、 C7)Pct
)・−FIFO式# i t #−を中間7アイA/、
 (?) −−、rブジエクトプログラムファイル、(
10)・・シンボル情報7′アイル、 (/S)・・F
IFO式中間式中ツユニットファイルPN  ・・グロ
グ2ムモジユール。 第2図 (b)

Claims (3)

    【特許請求の範囲】
  1. (1)複数個の処理フェイズと、これらの間で受け渡さ
    れる中間語ファイルと、前記複数個の処理フェイズで共
    用されるシンボル情報ファイルと、前記複数個の処理フ
    ェイズに対する制御部とを含み、前記複数個の処理フェ
    イズの各々が並列的に処理操作されて、ソースプログラ
    ムから中間語の段階を経て対応するオブジェクトプログ
    ラムが作成されるコンパイル処理方式であつて、前記制
    御部には前記複数個の処理フェイズの各々についての処
    理状態を指示する処理状態管理テーブルを設け、前記複
    数個の処理フェイズの各々における処理操作は前記処理
    状態管理テーブルの参照結果に依存してなされることを
    特徴とするコンパイル処理方式。
  2. (2)前記中間語ファイルはFIFOファイルからなる
    ことを特徴とする特許請求の範囲第1項記載のコンパイ
    ル処理方式。
  3. (3)前記シンボル情報ファイルはランダムアクセスフ
    ァイルからなることを特徴とする特許請求の範囲第1項
    記載のコンパイル処理方式。
JP10598285A 1985-05-20 1985-05-20 コンパイル処理方式 Pending JPS61264440A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10598285A JPS61264440A (ja) 1985-05-20 1985-05-20 コンパイル処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10598285A JPS61264440A (ja) 1985-05-20 1985-05-20 コンパイル処理方式

Publications (1)

Publication Number Publication Date
JPS61264440A true JPS61264440A (ja) 1986-11-22

Family

ID=14421950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10598285A Pending JPS61264440A (ja) 1985-05-20 1985-05-20 コンパイル処理方式

Country Status (1)

Country Link
JP (1) JPS61264440A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166133A (ja) * 1987-12-22 1989-06-30 Fujitsu Ltd コンパイル処理方式
JPH0283628A (ja) * 1988-09-20 1990-03-23 Nippon Software Eng Kk マルチタスクコンパイラ処理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166133A (ja) * 1987-12-22 1989-06-30 Fujitsu Ltd コンパイル処理方式
JPH0283628A (ja) * 1988-09-20 1990-03-23 Nippon Software Eng Kk マルチタスクコンパイラ処理方式

Similar Documents

Publication Publication Date Title
JPS61264440A (ja) コンパイル処理方式
JPH0210429A (ja) プログラム構造化処理方式
JPH0231236A (ja) コンパイラ
JPS62135958A (ja) シミユレ−シヨン方式
JPH023831A (ja) 複数ソースプログラム言語処理方式
Roche Smaller representations for finite-state transducers and finite-state automata
JPH0254368A (ja) 機械翻訳における翻訳制御方式
JPS63104139A (ja) Cobolソ−スリスト編集方式
JPH04118724A (ja) コンパイルリスト編集出力方式
JPS63271636A (ja) 言語用マクロプロセツサ
JPH09190355A (ja) プログラム変換方法
JPS62200426A (ja) 高級言語のマクロ展開方法
JPH03282826A (ja) 並列化翻訳方式
JPH03150664A (ja) 構文解析装置
JPH0219925A (ja) ドキュメント生成方式
JPS6232557A (ja) 通信プロトコ−ル変換装置
JPH05241798A (ja) ライブラリ情報管理によるlm生成処理方式
JPH0690669B2 (ja) 文字列操作系命令コンパイル処理方式
JPS63262726A (ja) 指定プログラム翻訳処理方式
JPS62182930A (ja) 機能分割型並列コンパイル方式
JPH0540638A (ja) 語彙解析編集方式
JPH0250730A (ja) 共通機械語による言語変換方式
JPH0368028A (ja) ピクチャー句解析方式
JPS6266371A (ja) テキスト分離型学習システム
JPH02159629A (ja) 計算機言語翻訳方式