JPH0561991A - プログラム言語翻訳装置 - Google Patents

プログラム言語翻訳装置

Info

Publication number
JPH0561991A
JPH0561991A JP25319791A JP25319791A JPH0561991A JP H0561991 A JPH0561991 A JP H0561991A JP 25319791 A JP25319791 A JP 25319791A JP 25319791 A JP25319791 A JP 25319791A JP H0561991 A JPH0561991 A JP H0561991A
Authority
JP
Japan
Prior art keywords
function
data
input
output
called
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
JP25319791A
Other languages
English (en)
Inventor
Mie Inaoka
美恵 稲岡
Tetsuo Yamazaki
哲男 山崎
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 JP25319791A priority Critical patent/JPH0561991A/ja
Publication of JPH0561991A publication Critical patent/JPH0561991A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 関数呼出しを含むプログラム言語からデータ
フローグラフを生成するプログラム言語翻訳装置におい
て、データの流れの関係を意識しないで記述したプログ
ラムであってもこれを翻訳できる装置を得る。 【構成】 入力のない関数を発見したとき、関数を呼び
出す側で関数呼び出し用データを生成する手段1と、関
数呼び出し用データから呼び出される側の関数内のデー
タの流れを生成する手段2と、出力のない関数を発見し
たとき呼び出される側のデータの流れをマージして同期
信号を生成する手段3とを設けた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プログラム言語翻訳
装置に関するものであり、特にデータ駆動形プロセッサ
の開発支援システムにおいて、C言語等、関数呼び出し
を含むプログラム言語による記述から、データ駆動形プ
ロセッサによって実行されるデータフローグラフを生成
するものに関するものである。
【0002】
【従来の技術】図8は、例えば特開昭63−22032
8号公報に示されたデータ駆動形プロセッサの構成を示
すブロック図である。図7は、このデータ駆動形プロセ
ッサで使用するパケットの構成図であり、このパケット
はタグ(データの識別子),第1データ及び第2データ
で構成され、該タグはスルーパケットフラグ,外部フラ
グ,世代番号あるいはカラー番号,行き先ノード番号,
命令およびL/Rフラグにより構成されている。
【0003】図8において、10は外部よりデータ及び
タグからなるパケットを入力する入力部、11はデータ
フローグラフを記憶し、前記入力部10から出力された
パケットのタグの一部であるノード番号に従って命令を
読み出し、この読み出した命令を新たなタグとし、前記
パケットのデータとともに命令パケットを生成するプロ
グラム記憶部、12は前記プログラム記憶部11から出
力された命令パケットを入力し、該命令パケットが有す
るタグと同一のタグを有する命令パケットを検出して演
算パケットとして出力するか、検出できない場合は前記
プログラム記憶部11から入力された該命令パケットを
記憶する発火処理部、13は前記発火処理部12から出
力された演算パケットを入力し、該演算パケットのタグ
の一部で指定される演算を実行し、結果パケットを出力
する演算処理部、14は前記演算処理部13から出力さ
れる結果パケットを入力し、該結果パケットのタグの一
部である外部フラグの指示により外部に出力するか、あ
るいは前記入力部10へ出力する出力部である。
【0004】上記のようなデータ駆動形プロセッサで実
行されるデータフローグラフは、プログラム内のデータ
の流れを連結することによって得られる。関数呼び出し
を含むプログラム言語による記述からデータフローグラ
フを生成する従来のコンパイラにおける関数呼び出しに
関するデータの流れの連結手法を図9に示す。図9にお
いて、まず、関数を呼び出す側では、その入力データと
してあがっている変数について、最も最近更新した後の
データの流れをコピーして、関数の入力に連結する(S
T1)。一方、呼び出される関数側では、関数入力から
のデータの流れをコピーして、関数内のデータソースに
連結する(ST2)。このステップST1,ST2によ
り関数を呼び出す側から呼び出される関数内部までのデ
ータの流れが入力データを介して連結された。次に、出
力データとしてあがっている変数について、関数内での
最後の参照もしくは更新後のデータの流れを関数からの
出力データに連結する(ST3)。関数を呼び出す側で
は、関数の出力データを利用して新たなデータの流れを
作成していく。これにより、呼び出される関数と呼び出
す関数との間のデータの流れが出力データを介して連結
された。
【0005】以上のようにして生成された関数呼び出し
に関するデータフローグラフを図10に示す。関数を呼
び出す側と呼び出される関数側とは、関数への入力及び
出力データを介して連結されており、関数内部のデータ
の流れは、関数への入力データをトリガとして作成され
ている。
【0006】
【発明が解決しようとする課題】従来のデータフローグ
ラフを生成するコンパイラは、以上のように構成されて
いるので、例えば、図11の関数(A)のように入力も
しくは出力がない関数については、関数を呼び出す側と
呼び出される関数側とでデータの流れが連結できない。
そのため、利用者はプログラムを記述するときに必要の
ないデータを関数の入力及び出力に上げることにより、
即ち、仮りの入出力を記述することにより、関数を呼び
出す側と呼び出される関数側とのデータの流れを連結し
なければならなかった。これは、プログラム中のデータ
の流れを利用者が意識して記述することを要求するもの
であり、プログラミングエラーの原因でもあるという問
題点があった。
【0007】この発明は上記のような問題点を解消する
ためになされたもので、関数呼び出しの記述に際して、
利用者がデータの流れを意識せず記述したプログラムか
らデータフローグラフを生成するプログラム言語翻訳装
置を得ることを目的としている。
【0008】
【課題を解決するための手段】この発明に係るプログラ
ム言語翻訳装置は、入力のない関数に対して関数呼び出
し用データを自動的に生成する手段、関数内のデータの
流れを生成する手段、および出力のない関数に対して関
数内部から同期信号を出力する手段を付加したものであ
る。
【0009】
【作用】この発明における関数呼び出し用データ生成手
段は、関数呼び出し前のデータの流れをコピーして関数
呼び出し用データとするとともに、該関数呼び出し用デ
ータの行き先を関数への入力とし、かつ呼び出される側
の関数の入力に関数呼び出し用データを加える。データ
の流れを生成する手段は、該関数呼び出し用データをコ
ピーして関数内のデータソースに連結することにより、
関数内部のデータの流れに対してトリガをかける。ま
た、同期出力を生成する手段は関数内のデータの流れを
マージして同期信号とするとともに、該同期信号の行き
先を関数外部への出力とし、かつ関数の出力に該同期信
号を加えることにより、関数を呼び出す側のデータの流
れと連結する。
【0010】
【実施例】以下、この発明の一実施例を図について説明
する。図1はこの発明の一実施例によるプログラム言語
翻訳装置を示す。図において、1は入力のない関数を発
見したとき関数呼び出し前のデータの流れから関数呼び
出し用データを生成する関数呼び出し用データ生成手
段、2は関数内部のデータの流れにトリガをかける関数
内データ生成手段であり、3は関数内のデータの流れを
マージして関数終了に対する同期信号を生成する同期信
号生成手段である。
【0011】図2は関数呼び出し用データ生成手段1で
用いられている手法を示したフローチャートである。関
数呼び出し用データ生成手段1は、関数を呼び出す側を
対象としている。図2において、関数呼び出し前のデー
タの流れをコピーして、新たなデータの流れを作成し
(ST4)、ステップST4で作成した新たなデータの
流れを関数呼び出し用データソースに連結する(ST
5)。ステップST5で使用した関数呼び出し用データ
ソースは、入力データをトリガとして関数呼び出し用デ
ータを生成する。次いで、該関数呼び出し用データソー
スの出力を関数への入力に連結する(ST6)。
【0012】図3は関数内データ生成手段2で用いられ
ている手法を示したフローチャートである。関数内デー
タ生成手段2は、呼び出される関数側を対象としてい
る。図3において、関数の入力に関数呼び出し用データ
を加え(ST7)、ステップST7で加えられた関数入
力(関数呼び出し用データ)を関数内のデータソースに
連結する(ST8)。ステップST8で使用したデータ
ソースは、入力データ(ここでは、関数呼び出し用デー
タ)をトリガとしてデータを出力する。
【0013】関数呼び出し用データ生成手段1および関
数内データ生成手段2によって生成されるデータフロー
グラフを図5に示す。入力のない関数呼び出しにおい
て、関数を呼び出す側から呼び出される関数側へ関数呼
び出し用データを介してデータの流れが連結されてい
る。
【0014】図4は同期信号生成手段3で用いられてい
る手法を示したフローチャートである。同期信号生成手
段3は、呼び出される関数側を対象としている。図4に
おいて、関数内のデータの流れにおける終了点を示すデ
ータシンクを消去し(ST9)、先の消去したデータシ
ンクに入力していたデータの流れを関数終了シンクに連
結する(ST10)。ステップST10で使用した関数
終了シンクは、複数の入力をマージして同期信号を出力
する。その後、関数の出力に同期信号を加え(ST1
1)、ステップST10で付加した関数終了シンクから
出力される同期信号を関数外部への出力に連結する(S
T12)。
【0015】この同期信号生成手段によって生成される
データフローグラフを図6に示す。出力のない関数にお
いて、関数を呼び出す側から呼び出される関数側へ同期
信号を介してデータの流れが連結されている。
【0016】このように、上記実施例によれば、コンパ
イラに関数呼び出し用データを生成する手段と、関数内
のデータの流れを生成する手段と、同期信号を生成する
手段とを設けたので、入力あるいは出力のない関数呼び
出しを含むプログラム記述についても、その関数を呼び
出す側と呼び出される関数側とでデータの流れが連結さ
れたデータフローグラフを作成することが可能となり、
利用者は、関数呼び出しに際して、プログラミングエラ
ーにつながる、データの流れを意識して意味のない関数
への入出力データを記述する必要がなくなり、プログラ
ム記述に対する負担を軽減できるという効果がある。
【0017】なお、上記実施例では関数呼び出しを含む
プログラム言語としてC言語を例にとって説明したが、
フォートラン等であってもよく、上記実施例と同様の効
果を奏する。
【0018】
【発明の効果】以上のように、この発明に係るプログラ
ム言語翻訳装置によれば、コンパイラに関数呼び出し用
データを生成する手段と、関数内のデータの流れを生成
する手段と、同期信号を生成する手段とを付加して構成
したので、入力あるいは出力のない関数呼び出しを含む
プログラム記述についても、その関数を呼び出す側と呼
び出される関数側とでデータの流れが連結されたデータ
フローグラフを作成することが可能となる。従って、利
用者は、関数呼び出しに際して、データの流れを意識し
て意味のない関数への入出力データを記述する必要がな
くなり、そのため、利用者のプログラム記述に対する負
担を軽減し、かつプログラミングエラーを削減するとい
う効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例によるプログラム言語翻訳
装置の関数呼び出しに関するフローチャート図である。
【図2】この発明の一実施例による関数呼び出し用デー
タを生成する手段に関するフローチャート図である。
【図3】この発明の一実施例による関数内のデータを生
成する手段に関するフローチャート図である。
【図4】この発明の一実施例による同期信号を生成する
手段に関するフローチャート図である。
【図5】この発明の一実施例による入力のない関数呼び
出しのデータフローグラフを示す図である。
【図6】この発明の一実施例による出力のない関数呼び
出しのデータフローグラフを示す図である。
【図7】一般的なデータ駆動形プロセッサの構成を示す
ブロック図である。
【図8】図4で示したデータ駆動形プロセッサで使用す
るパケットの構成図である。
【図9】従来のコンパイラの関数呼び出しに関するフロ
ーチャートを示す図である。
【図10】従来のコンパイラによる関数呼び出しのデー
タフローグラフを示す図である。
【図11】関数呼び出しを含むプログラム記述の例を示
す図である。
【符号の説明】
1 関数呼び出し用データを生成する手段 2 関数内のデータの流れを生成する手段 3 同期信号を生成する手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 関数呼び出しを含むプログラム言語によ
    る記述から、データフローグラフを生成するプログラム
    言語翻訳装置において、 ソースプログラムの中に入力のない関数を発見したと
    き、関数を呼び出す側で関数呼び出し用データを生成す
    る手段と、 関数呼び出し用データから呼び出される側の関数内のデ
    ータの流れを生成する手段と、 ソースプログラムの中に出力のない関数を発見したと
    き、呼び出される側のデータの流れをマージして同期信
    号を生成する手段とを備え、 上記関数呼び出し用データを生成する手段は、関数呼び
    出し前のデータの流れをコピーして関数呼び出し用デー
    タとするとともに、該関数呼び出し用データの行き先を
    呼び出す関数への入力とし、かつ呼び出される側の関数
    の入力に関数呼び出しデータを加え、 上記関数内のデータの流れを生成する手段は、呼び出さ
    れる側の入力である該関数呼び出し用データをコピーし
    て、関数内のデータソースと連結し、 上記同期信号を生成する手段は、呼び出される側の関数
    内のデータシンクを取り除き、各データシンクへ入力し
    ていたデータの流れをマージして同期信号とするととも
    に、該同期信号の行き先を関数の出力とし、かつ関数の
    出力に同期信号を加えることを特徴とするプログラム言
    語翻訳装置。
JP25319791A 1991-09-02 1991-09-02 プログラム言語翻訳装置 Pending JPH0561991A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25319791A JPH0561991A (ja) 1991-09-02 1991-09-02 プログラム言語翻訳装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25319791A JPH0561991A (ja) 1991-09-02 1991-09-02 プログラム言語翻訳装置

Publications (1)

Publication Number Publication Date
JPH0561991A true JPH0561991A (ja) 1993-03-12

Family

ID=17247907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25319791A Pending JPH0561991A (ja) 1991-09-02 1991-09-02 プログラム言語翻訳装置

Country Status (1)

Country Link
JP (1) JPH0561991A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101433950B1 (ko) * 2008-04-02 2014-09-23 엘지전자 주식회사 동기 호출방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101433950B1 (ko) * 2008-04-02 2014-09-23 엘지전자 주식회사 동기 호출방법

Similar Documents

Publication Publication Date Title
JPH0561991A (ja) プログラム言語翻訳装置
JP3196675B2 (ja) 言語処理方式
US5765148A (en) Database processing apparatus and database processing method for variable length objects, and computer-readable memory medium for storing database processing program
JPS6378231A (ja) 部分的プログラム結合方式
JPH0644052A (ja) コンピュータ入出力装置の対話型選択処理方式
JPH04287134A (ja) 簡易トレース情報取得方式
CN114398110A (zh) 一种文件下载方法、设备及介质
JPH11272512A (ja) メモリ管理装置および記録媒体
JPH0512030A (ja) 実行形式プログラム生成方式
JP3041919B2 (ja) プログラム結合処理装置
JPH03282935A (ja) コンパイル処理装置及びコンパイル処理方式
JP2003330729A (ja) コンパイラ装置
JPH09101899A (ja) 手続きのプロセス化方式
JPH03179529A (ja) 言語翻訳システム
JPH0236434A (ja) コンパイラ主導によるソースプログラムの修正方式
JPH08255097A (ja) デバッグ情報出力方式
JPH0431927A (ja) プログラム部品処理方式
JPH06301549A (ja) プログラム翻訳装置
JPH06242986A (ja) 外部行番号によるデバッグ方式
JP2000090071A (ja) デ―タ処理装置および方法
JPH04282725A (ja) ソフトウェア開発環境に関する処理方式
JPH0635714A (ja) プログラムの最適化方式
JP2001005666A (ja) リモートプロシジャー実行方式
JPH04153741A (ja) 被デバッグプログラムのデバッグにおける逆方向実行方式
JPH01279334A (ja) 疑似モニタによるソフトウェアの単体試験方式