JPS62182930A - 機能分割型並列コンパイル方式 - Google Patents

機能分割型並列コンパイル方式

Info

Publication number
JPS62182930A
JPS62182930A JP2544186A JP2544186A JPS62182930A JP S62182930 A JPS62182930 A JP S62182930A JP 2544186 A JP2544186 A JP 2544186A JP 2544186 A JP2544186 A JP 2544186A JP S62182930 A JPS62182930 A JP S62182930A
Authority
JP
Japan
Prior art keywords
program
compilation
syntax
semantic analysis
information table
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
JP2544186A
Other languages
English (en)
Inventor
Noboru Higuchi
登 樋口
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2544186A priority Critical patent/JPS62182930A/ja
Publication of JPS62182930A publication Critical patent/JPS62182930A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムにおけるコンパイル方式に関し
、特に機能分割型並列コンパイル方式に関する。
〔従来の技術〕
従来、計算機システムにおけるコンパイル方式は、原始
プログラムの構文および意味解析を行い解析によって作
成された情報に基づいて目的プログラムを出力するコン
パイラと呼ばれる1つの処理機構によってコンパイルを
行うものであった。
このため、1つのプログラム単位に対する目的プログラ
ムの出力が終了してから、次のプログラム単位の処理を
行っていた。
〔発明が解決しようとする問題点〕
上述した従来のコンパイル方式では、−利用者からは1
つの原始プログラムのコンパイル処理が終了しないと次
の原始プログラムのコンパイル処理が開始できないとい
う欠点がある。すなわち、1つのプログラム単位に対す
るコンパイル処理が全て終了しないと次のプログラム単
位のコンパイル処理が開始できないという欠点がある。
さらに、構文および意味解析によって作成された情報に
基づいて目的プログラムを出力する機能は計算機システ
ムでサービスされている言語に対応してそれぞれのコン
パイラが重複して持っており、したがってコンパイラの
保守が言語ごとの全ての機能に対して必要になるという
欠点がある。
本発明の目的は、上述の点に鑑み、コンパイラの機能を
分割し構文・意味解析処理と目的プログラム生成処理と
が並列に行えるようにした機能分割型並列コンパイル方
式を提供することにある。
〔問題点を解決するための手段〕
本発明の機能分割型並列コンパイル方式は、利用者から
渡されるコンパイル制御情報に従って入力した原始プロ
グラム内のプログラム単位毎に構文および意味解析処理
を順次行い解析情報をコンパイル情報テーブルに格納し
前記プログラム単位について前記構文および意味解析処
理が完了する毎に目的プログラム生成処理手段を起動す
る構文1・意味解析処理手段と、この構文・意味解析処
理手段からの起動時に前記構文・意味解析処理手段から
渡される前記コンパイル情報テーブルに基づいて前記プ
ログラム単位毎に目的プログラムを出力しこの目的プロ
グラムの出方の完了後に前記コンパイル情報テーブルを
消去する前記目的プログラム生成処理手段とを有する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図を参照すると、本発明の第1の実施例は、構文・
意味解析処理機構lと、目的プログラム生成処理機構2
と、コンパイル情報テーブル3と、原始プログラム4と
、目的プログラム5とから構成されている。
次に、このように構成された本実施例の機能分割型並列
コンパイル方式の動作について説明する。
構文・意味解析処理機構1は、利用者から起動されると
、起動時に利用者から渡されるコンパイル制御情報に従
って原始プログラム4を入力し、原始プログラム4内の
最初のプログラム単位に対してコンパイル情報テーブル
3を確保して初期化する。次に、渡されたコンパイル制
御情報をコンパイル情報テーブル3上に格納し、さらに
プログラム単位の構文および意味解析を行って解析情報
を作成し、作成された解析情報をコンパイル情報テーブ
ル3に格納する。この後、目的プログラム生成処理機構
2を起動させ、起動時の情報としてコンパイル情報テー
ブル3を渡す。また、原始プログラム4内に構文および
意味解析処理がなされていない次のプログラム単位が存
在するがどうかを判断し、存在した場合には新たなコン
パイル情報テーブル3の確保からさらに次のプログラム
単位が存在するかどうがの判断までの処理をプログラム
単位毎に繰り返す。原始プログラム4内に構文および意
味解析処理がなされていないプログラム単位が存在しな
くなったならば、構文・意味解析機構1はその動作を終
了する。
目的プログラム生成処理機構2は、構文・意味解析処理
機構Iから起動されると、起動時に渡されるコンパイル
情報テーブル3を入力対象とじて目的プログラム5を出
力する。目的プログラム5の出力が完了すると、コンパ
イル情報テーブル3を消去し、利用者にコンパイル処理
の完了を通知してその動作を終了する。
原始プログラム4内に複数のプログラム単位が存在する
場合には、構文・意味解析処理機構1は原始プログラム
4内の最初のプログラム単位の構文および意味解析が終
了すると、コンパイル情報テーブル3を目的プログラム
生成処理機構2に渡し、次のプログラム単位の構文およ
び意味解析を開始する。このとき、構文・意味解析処理
機構1と目的プログラム生成処理機構2とは、独立にか
つ並列に動作する。すなわち、最初のプログラム単位に
対する目的ツーログラム生成処理機構2の処理と、次の
プログラム単位に対する構文・意味解析処理機構lの処
理とが同時に動作しており、利用者から見ると1つのプ
ログラム単位の構文および意味解析が終了した段階で、
次のプログラム単位のコンパイル処理が開始できること
になる。
第2図を参照すると、本発明の第2の実施例は、第1の
実施例におけるコンパイル情報テーブル3を複数に分割
したものである。
構文・意味解析処理機構1は、プログラム単位毎にコン
パイル情報テーブル3Aおよび3Bを確保して初期化し
、コンパイル制御情報をコンパイル情報テーブル3A上
に格納し、コンパイル情報テーブル3Aおよび3B上に
解析情報を格納する。
また、コンパイル情報テーブル3Bに関する情報をコン
パイル情報テーブル3A上に格納し、目的プログラム生
成処理機構2へはコンパイル情報テーブル3Aのみを渡
す。その他の機能は、第1図に示した第1の実施例と同
様である。
目的プログラム生成処理機構2は、起動時に渡されるコ
ンパイル情報テーブル3Aと、コンパイル情報テーブル
3A上の情報から得られるコンパイル情報テーブル3B
とを入力対象として目的プログラム5を出力する。目的
プログラム5の出力完了後は、コンパイル情報テーブル
3Aおよび3Bを全て消去する。その他の機能は、第1
図に示した第1の実施例と同様である。
本実施例の機能分割型並列コンパイル方式でも、第1図
に示した実施例の機能分割型並列コンパイル方式と同様
の作用および効果が得られることはいうまでもない。
第3図を参照すると、計算機システムにおける複数の言
語に対して本発明を適用した場合には、各言語に対応す
る構文および意味解析を行うために複数の構文・意味解
析処理機構IA、IBおよびICが言語対応に必要であ
るが、目的プログラム生成処理機構2は1つを共用する
ことができる。
つまり、構文・意味解析処理機構IA、1BおよびIC
は、それぞれの言語のプログラム単位に対する構文およ
び意味解析を行い、その後に同一の目的プログラム生成
処理機構2を起動してコンパイル情報テーブル3を渡す
ようになる。目的プログラム生成処理機構2は、構文・
意味解析処理機構IA、IBおよびICのいずれから起
動されたかには関係なく、起動時に渡されるコンパイル
情報テーブル3をもとに目的プログラム5を出力する。
このように、構文および意味解析を従う構文・意味解析
処理機構1とこの構文・意味解析処理機構1によって作
成される情報をもとに目的プログラム5を出力する目的
プログラム生成処理機構2とを同時に動作可能とするこ
とにより、1つのプログラム単位の構文および意味解析
が終了した段階で解析されたプログラム単位に対する目
的プログラム5の出力処理の実行中に、次のプログラム
単位の構文および意味解析の開始が可能となる。
〔発明の効果〕 以上説明したように本発明は、複数の原始プログラムを
連続してコンパイルする場合や1つの原始プログラムが
複数のコンパイル単位からなる場合には構文・意味解析
処理機構と目的プログラム生成処理機構とが並列に動作
することにより、全体としてコンパイルに要する時間が
短縮される効果がある。
さらに、計算機システムにおける複数のコンパイラに対
して適用することにより、目的プログラム生成処理機構
の共有が可能となり、保守作業が軽減される効果がある
【図面の簡単な説明】
第1図は本発明の第1の実施例を示すブロック図、 第2図は本発明の第2の実施例を示すブロック図、 第3図は本発明を複数のコンパイラに対して適用した場
合の制御の流れを示す図である。 図において、 1.1A、IB、IC ・・・構文・意味解析処理機構、 2・・・目的プログラム生成処理機構、3.3A、3B ・・・コンパイル情報テーブル、 4・・・原始プログラム、 5・・・目的プログラムである。

Claims (1)

  1. 【特許請求の範囲】 利用者から渡されるコンパイル制御情報に従って入力し
    た原始プログラム内のプログラム単位毎に構文および意
    味解析処理を順次行い解析情報をコンパイル情報テーブ
    ルに格納し前記プログラム単位について前記構文および
    意味解析処理が完了する毎に目的プログラム生成処理手
    段を起動する構文・意味解析処理手段と、 この構文・意味解析処理手段からの起動時に前記構文・
    意味解析処理手段から渡される前記コンパイル情報テー
    ブルに基づいて前記プログラム単位毎に目的プログラム
    を出力しこの目的プログラムの出力の完了後に前記コン
    パイル情報テーブルを消去する前記目的プログラム生成
    処理手段と、を有することを特徴とする機能分割型並列
    コンパイル方式。
JP2544186A 1986-02-07 1986-02-07 機能分割型並列コンパイル方式 Pending JPS62182930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2544186A JPS62182930A (ja) 1986-02-07 1986-02-07 機能分割型並列コンパイル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2544186A JPS62182930A (ja) 1986-02-07 1986-02-07 機能分割型並列コンパイル方式

Publications (1)

Publication Number Publication Date
JPS62182930A true JPS62182930A (ja) 1987-08-11

Family

ID=12166087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2544186A Pending JPS62182930A (ja) 1986-02-07 1986-02-07 機能分割型並列コンパイル方式

Country Status (1)

Country Link
JP (1) JPS62182930A (ja)

Similar Documents

Publication Publication Date Title
US5812854A (en) Mechanism for integrating user-defined instructions with compiler-generated instructions and for optimizing the integrated instruction stream
EP0806725A2 (en) Method and apparatus for easy insertion of assembler code for optimization
JPH07105012A (ja) 言語処理プログラムのコンパイル処理方式
US20020083423A1 (en) List scheduling algorithm for a cycle-driven instruction scheduler
DE69419036D1 (de) Datenverarbeitungssystem und betriebsverfahren
JPH01118931A (ja) プログラム変換方式
JPS62182930A (ja) 機能分割型並列コンパイル方式
JPH0659933A (ja) コード変換装置
EP0244928A1 (en) Improvements relating to control flow in computers
JP3018783B2 (ja) コンパイル方式
JP2560467B2 (ja) 事後処理管理方式
JPH04264924A (ja) コンパイラ
JPH04308934A (ja) 電子計算機
JPH0695890A (ja) コンパイラにおける名前置換方式
JPH023831A (ja) 複数ソースプログラム言語処理方式
JPS63163636A (ja) 並列処理実行方式
JPH0267637A (ja) 指定マクロ使用プログラムのコンパイル方式
JPH0358232A (ja) プリプロセッサ呼び出し方式
JPH05120025A (ja) ソースプログラムのインライン展開方法
JPS6365530A (ja) コ−ド最適化方式
JPH081608B2 (ja) プログラム実行解析ツール
JPH0250730A (ja) 共通機械語による言語変換方式
JPH02207343A (ja) デバッグ装置
JPH0371229A (ja) プログラム制御装置
JPH01147624A (ja) 言語処理系システム