JPH06282443A - プログラム編集方法と装置 - Google Patents

プログラム編集方法と装置

Info

Publication number
JPH06282443A
JPH06282443A JP5068248A JP6824893A JPH06282443A JP H06282443 A JPH06282443 A JP H06282443A JP 5068248 A JP5068248 A JP 5068248A JP 6824893 A JP6824893 A JP 6824893A JP H06282443 A JPH06282443 A JP H06282443A
Authority
JP
Japan
Prior art keywords
program
function
processing system
database
program processing
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
JP5068248A
Other languages
English (en)
Inventor
Yoshimichi Kitatani
義道 北谷
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP5068248A priority Critical patent/JPH06282443A/ja
Publication of JPH06282443A publication Critical patent/JPH06282443A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 異なる言語をその言語の処理効率を異なるプ
ロセッサエレメントPE処理系で最適に実行することを
可能ならしめるコンパイル装置とその方法を提供する。 【構成】 構文解析部2はLISP言語で記述されたソ
ースプログラム1の構文を解析する。プログラム変換部
3は構文解析されたプログラム11をデータベース6の
内容を参照して、LISPコンパイルに適したプログラ
ム14aとCコンパイに適したプログラム14bを生成
する。LISPコンパイラ7aおよびCコンパイラ7b
はそれぞれ入力されたプログラムをその言語体系にした
がってコンパイルする。リンカ8aはLISPコンパイ
ルされたプログラムをライブラリ4aを参照して第1の
プログラム処理系で実行可能な機械語コード9aに変換
する。リンカ8bはC言語コンパイルされたプログラム
をライブラリ4bを参照して第2のプログラム処理系で
実行可能な機械語コード9bに変換する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデジタル計算機における
コンパイラに関するものであり、特に複数のプログラム
言語が同一の計算機システムで動作する場合におけるコ
ンパイラおよびプログラム編集方法とその装置に関す
る。
【0002】
【従来の技術】従来からC言語等の高級プログラム言語
で記述されたソースプログラムを機械語コードなどの下
位言語に変換するコンパイラといったプログラム編集方
法が知られており、実際に使用されている。以下、コン
パイラを使用し、高級プログラム言語で記述されたソー
スプログラムを下位言語に変換する、従来のプログラム
編集方法について述べる。
【0003】図6は従来のコンパイラ装置でのデータの
流れを示した図である。このコンパイラ装置は、構文解
析部2、コード生成部23、アセンブラ処理部(アセン
ブラ)23、リンカ部25を有する。図6においてソー
スプログラム1はC言語で記述されたプログラムであ
る。構文解析部2はC言語で記述されたソースプログラ
ムの文法チェックなどを行ない、コンパイラの内部表現
に変換する。次に、コード生成部23はその内部データ
を構文解析部2から受け取り、アセンブラコードを生成
する。最後に、アセンブラ24はコード生成部23が生
成したアセンブラコードを受け取ってコンピュータなど
のプログラム処理系において実行可能なファイルを生成
する。
【0004】次に、上記コンパイラ装置によって同じソ
ースプログラム1内や別のソースプログラムをコンパイ
ルすることによって得られた機能ブロックを呼び出すプ
ログラムを処理する場合を考える。このような機能ブロ
ックはソースプログラム中で関数と呼ばれる名前として
参照され、呼び出される。構文解析部2は関数呼出しの
コードを受け取ると、関数呼出し表す特別なデータ型を
生成し、コード生成部23に渡す。コード生成部23は
関数名に一意に対応するアセンブラコードのラベルを作
るルーチンを持つ。このルーチンが関数名に対応するラ
ベルを生成し、そのラベルへのジャンプを表すアセンブ
ラ命令を生成する。
【0005】さらに、ソースプログラム1内の部分で、
関数をブロックを定義している部分を処理する場合を考
える。コード生成部23はその関数機能を表すアセンブ
ラコードを生成する。また先に述べた、関数名に対して
アセンブラコードのラベルを生成するルーチンを使って
この機能ブロックの関数名に対応するラベルを作り、生
成したアセンブラコードに付加する。
【0006】このように作成された機能ブロックの呼出
しに対応するアセンブラコードに含まれるラベルの参照
は、アセンブラ24によって機械語コードに翻訳された
あとリンカ25によってライブラリ26を参照して実際
の番地に変換され、適切な機能ブロックの呼出しコード
が生成される。このようにして生成された実行可能な形
式のプログラムがプログラム処理系、具体的にはコンピ
ュータにおいて実行される。
【0007】
【発明が解決しようとする課題】関数の呼出しコードを
生成するために、関数名とラベル名だけの情報を持って
いる上記のコンパイラ装置による上記コンパイル方法で
は、ソースプログラム中に現れるそれぞれの関数や機能
に対応して別々の処理系の機能を呼び出すことは想定さ
れていない。高級プログラミング言語はそれぞれ用途に
向き、不向きがあり、例えば、FORTRANは数値計
算に適しているが、計算機のハードウェアに密着した入
出力を取り扱うといった用途には向いていない。このた
め、例えば、FORTRANを使用して数値演算とI/
O操作の混在したプログラムを作成すると、数値計算処
理は高速処理可能であるが、I/O操作処理は遅いオブ
ジェクトプログラムが生成されるという問題が生じる。
【0008】したがって、本発明は、ソースプログラム
の記述言語に応じた効率のよいオブジェクトプログラム
を編集する装置とその方法を提供する。
【0009】
【課題を解決するための手段、および、作用】上記の問
題を解決するために、本発明に係るコンパイラ方法は、
それが想定する複数のプログラム処理系、具体的には、
コンピュータ、それぞれに対し、そのプログラム処理系
が持つ機能を一連の意味のある機能ブロック毎に名前付
を行ない記録するデータベースを用い、ソースプログラ
ム中で名前によって呼び出す機能をそのデータベースか
ら検索し、、それら機能ブロックの呼び出しを、対応す
るプログラム処理系への機能呼出しのプログラムに変換
するすることを特徴とする。
【0010】また、本発明は、ソースプログラム中に定
義された一つの関数ブロックを、その中に含まれる処理
に応じて複数のプログラム処理系のどれかに分類し、分
類されたプログラム処理系に対応するデータベースに登
録し、それらの関数の呼び出しを対応するプログラム処
理系中の対応する機能呼び出しのプログラムに変換する
ことを特徴とする。
【0011】さらに、本発明は、プログラム処理系が持
つ機能に対してその実行に必要とされるプログラム処理
系の資源の多寡を表現する数的データをデータベースに
保持し、そのデータを元に変換の対象となるソースプロ
グラム中の関数呼び出しのシーケンスの実行に要するプ
ログラム処理系の資源を計算し、計算された結果を利用
してプログラムの実行に必要な資源が小さくなるよう関
数ブロックを適切に分類しデータベースに記録すること
を特徴とする。
【0012】また本発明によれば、上述したプログラム
編集方法を実施するプログラム編集装置が提供される。
【0013】さらに本発明によれば、高級プログラミン
グ言語で記述されたソースプログラムを構成部分ごとに
処理内容を分析する構文解析部、複数のプログラム処理
系それぞれに対し、そのプログラム処理系が持つ機能を
一連の意味のある機能ブロック毎に名前付を行ない記録
するデータベース、ソースプログラム中で名前によって
呼び出す機能を前記データベースから検索し、それらを
複数のプログラム処理系に振り分けるプログラム変換
部、それら機能ブロックの呼び出しを、対応するプログ
ラム処理系への機能呼び出しのプログラムに変換する編
集手段を有し、それぞれのプログラム処理系の機械語コ
ードや実行可能なプログラムに変更するプログラム編集
を行うことを特徴とするプログラム編集装置が提供され
る。
【0014】
【実施例】図面を参照して本発明の実施例について説明
する。図1は、本発明のプログラム編集方法が適用され
るプロセッサエレメントPE(コンピュータシステム)
の概略構成図である。図1(A)は単独のプロセッサエ
レメントPEの構成を示す図であり、図1(B)は複数
のプロセッサエレメントPEが相互に接続されて大規模
コンピュータシステムを構成する図を示す。
【0015】図1(A)に示したプロセッサエレメント
PEは、LISPなどの記号言語を処理する記号処理用
計算機エバリュエータEUと入出力や記憶管理に使われ
る計算機RMと主記憶MMおよび二次記憶装置とを有す
るストーリジ(記憶装置)から構成されている。記号処
理用計算機エバリュエータEUに対して、入出力や記憶
管理に使われる計算機RMおよびストーリジが一種のリ
ソース(資源)として扱われている。
【0016】図1(B)は、各プロセッサエレメントP
E内の入出力や記憶管理に使われる計算機RMが、LA
N(Local Area Network)などの相互接続系(インター
リソースコネクション)を介して、相互に接続されて、
複数のプロセッサエレメントPEが全体として、大規模
コンピュータシステムを構成している。
【0017】図2は図1(A)に示されたプロセッサエ
レメント(PE)の構成の詳細を示す図である。本発明
のプログラム編集方法は、図2に示すような記号処理用
計算機エバリュエータEUと入出力や記憶管理に使われ
る計算機(RM)からなる並列計算機ネットワークのプ
ロセッサエレメントPEに適用される。
【0018】記号処理用計算機エバリュエータEUは、
データ幅32ビットのVLIW(Very Long Instructio
n Word)制御のプロセッサであり、ユーザ定義の関数や
メソッドのコンパイルされたコードを高速実行するため
のインストラクションキャッシュ(64ビット×64K
ワード)を持つ。また、記号処理用計算機エバリュエー
タEUは、データのフィールド演算を高速に実現するた
めのマスカ(Masker)/算術論理処理ユニット
(ALU)を持ち、関数やメソッドの呼び出しを高速化
するためのデータフィールド値による多方向分岐機能を
持ち、さらに多方向分岐のためのルックアップテーブル
と記号処理用計算機エバリュエータEUのシステムスタ
ックのための64Kワードの制御用メモリを持つ。さら
に記号処理用計算機エバリュエータEU、記号処理計算
を実行する際のフレームスタックとレジスタファイルの
ための64Kワードのローカルメモリを持つ。記号処理
用計算機エバリュエータEUは、入出力や記憶管理に要
する演算は、入出力や記憶管理に使われる計算機RMに
その実行を要求する。
【0019】入出力や記憶管理に使われる計算機RM
は、記憶管理、デバイス管理、プロセス管理、ファイル
管理、入出力、他のプロセッサエレメントPEとの通信
の機能を記号処理用計算機エバリュエータEUに提供す
る。入出力や記憶管理に使われる計算機RMには、ワー
クステーションWSを使用して、ワークステーションW
SのXウインドウ・システム上にアプリケーション開発
時および実行時のインタラクティブなヒューマンインタ
フェース環境を実現する。そのため、入出力や記憶管理
に使われる計算機RMは関数定義やメソッド定義のイン
クリメンタルな修正・コンパイル、エラー状態からの復
帰・実行再開機能を持つ。さらに入出力や記憶管理に使
われる計算機RMは、アプリケーションの実行時にユー
ザとの動的な対話ができるような入出力機能を提供す
る。入出力や記憶管理に使われる計算機RMは、主記憶
MM上の記号処理データの高速アクセスのためのポイン
ト・マニュプレータ(Pointer Manipulator )を持つ。
入出力や記憶管理に使われる計算機RMは、並列処理時
に他のプロセッサエレメントPEとの通信を行なうため
の通信インタフェースを装着可能である。
【0020】記憶装置(ストーリジ)のうち主記憶MM
は、記号処理用計算機エバリュエータEUからも直接ア
クセス可能なデュアルポートメモリである。主記憶MM
では、排他的アクセス、記号処理演算で有効な参照カウ
ントなどの機能アクセスを提供する。主記憶MMは、こ
れらの制御情報と2ワードのポインタを表現するため、
80ビット×256Kワードの構成となっている。
【0021】記憶装置のうち二次記憶は、ワークステー
ションWSのディスクシステムを使用する。
【0022】記号処理用計算機エバリュエータEUと入
出力や記憶管理に使われる計算機RMとは、入出力や記
憶管理に使われる計算機インターフェースRM−I/F
で接続され、記号処理用計算機エバリュエータEUから
入出力や記憶管理に使われる計算機RMに、また入出力
や記憶管理に使われる計算機RMから記号処理用計算機
エバリュエータEUに機能データを送出する。また、記
号処理用計算機エバリュエータEUからメインメモリイ
ンターフェースMM−I/Fを介して情報データが送出
され、主記憶MMと入出力や記憶管理に使われる計算機
RMに送出される。
【0023】入出力や記憶管理に使われる計算機インタ
フェースRM−I/F、および、主記憶インタフェース
MM−I/Fは、記号処理用計算機エバリュエータEU
内の内部バスIBUSを介して算術論理処理ユニットA
LUに接続される。また、入出力や記憶管理に使われる
計算機インタフェースRM−I/Fは、入出力や記憶管
理に使われる計算機RM内のエバリュエータインターフ
ェースEU−I/Fを介してワークステーションWSに
接続される。
【0024】図3は本発明のコンパイラ装置のプログラ
ム変換形態を表す図である。このコンパイラ装置は、構
文解析部2、プログラム変換部3、LISPコンパイル
処理部(LISPコンパイラ)7a、Cコンパイル処理
部(Cコンパイラ)7b、LISP言語に関するリンケ
ージ処理を行う第1のリンカ8a、および、C言語に関
するリンケージ処理を行う第2のリンカ8bを有する。
【0025】ソースプログラム1はLISPで記述され
たソースプログラムである。構文解析部2はLISPで
記述されたソースプログラムの文法チェックなどを行な
い、構文木データなどのコンパイラの内部表現に変換す
るモジュールである。プログラム変換部3はその内部デ
ータを構文解析部2から受け取り、図2に示した記号処
理用計算機エバリュエータEUおよび入出力や記憶管理
に使われる計算機RMで実行されるべきプログラムコー
ドを生成するモジュールである。LISPコンパイラ7
aとCコンパイラ7bはそれぞれ、ライブラリ6a、6
bを参照してプログラム変換部3が生成したプログラム
コードを、リンカ8a、8bを介して、記号処理用計算
機エバリュエータEUおよび入出力や記憶管理に使われ
る計算機RMなどのプログラム処理系、つまり、コンピ
ュータで実行可能な機械語コード(オブジェクトプログ
ラム)9a、9bに変換するコンパイラである。機械語
プログラム9a、9bはコンパイラ7a、7bが生成し
た機械語プログラムであり、それぞれ図2の記号処理用
計算機エバリュエータEUおよび入出力や記憶管理に使
われる計算機RMに読み込まれて実行される。データベ
ース6は、図2に示した記号処理用計算機エバリュエー
タEUおよび入出力や記憶管理に使われる計算機RMで
実行される関数の情報を蓄積するデータベースであり、
プログラム変換部3が関数名をキーとしてその関数が記
号処理用計算機エバリュエータEUと入出力や記憶管理
に使われる計算機RMのどちらの処理系で実行されるか
を検索するために使われる。
【0026】以下、本発明のコンパイラ装置の動作につ
いて説明する。図4および図5は本発明のコンパイラ装
置を用いてプログラム編集する編集方法の処理内容を示
すフローチャートである。図4および図5はそれぞれ図
3に示したプログラム変換部3におけるコード生成の処
理を表し、図4の処理によってLISP言語のコードが
生成され、図5のフローチャートに示した処理によって
C言語のコードが生成される。
【0027】図4は、図3の構文解析部2からプログラ
ムの解析結果12を受け取りLISPコードを生成する
処理を表す。また、プログラム変換部3は解析結果12
が無くなるまで図4の処理を繰り返し実行する。プログ
ラム変換部3は、ステップ01(S01)においてプロ
グラムが関数定義を表すかどうかを判断する。関数定義
でなければ、プログラム変換部3は、ステップ02(S
02)において式が関数呼出しかどうかを判断する。そ
うでなければ、プログラム変換部3は、S03において
通常のLISP処理としてそのままのLISPコードを
生成し出力する。この出力は図3に示したLISPコン
パイラ7aに渡される。S01において対象プログラム
が関数定義であると判断すると、構文解析部2は、S0
5でそのプログラムを解析する。そしてS06におい
て、プログラム変換部3は、そのプログラムが図2の記
号処理用計算機エバリュエータEUで実行されるLIS
Pコード14aとして出力するか、あるいは図2の入出
力や記憶管理に使われる計算機RMで実行されるCコー
ド14bとして出力するかを決定する。LISPコード
14aとして出力する場合、プログラム変換部3は、S
07の処理でそのプログラムはLISPコード14aと
してLISPコンパイラ7aに対して出力する。Cコー
ド14bとして出力する場合、プログラム変換部3は、
S09で図5のCコード生成処理を呼出しCコード14
bに変換する。
【0028】S02においてプログラム変換部3が関数
呼出し式を認識すると、プログラム変換部3は、S10
において呼びだされる関数が記号処理用計算機エバリュ
エータEUと入出力や記憶管理に使われる計算機RMの
どちらの処理系に属しているかを判断する。このとき、
プログラム変換部3は、図3のデータベース6を検索す
る。もし入出力や記憶管理に使われる計算機RMに属し
ている関数であれば、プログラム変換部3は、S11に
おいてRM関数を呼び出すためのLISPコード14a
を生成する。もし記号処理用計算機エバリュエータEU
に属している関数であれば、プログラム変換部3は、S
12においてLISP関数呼出しの形のままLISPコ
ード14aとして出力する。
【0029】図3のプログラム12として渡される構文
解析プログラムは多くの部分プログラムから構成されて
いることがあるので、S03とS07でそれに対するコ
ードを生成する場合に、部分プログラムすべてに対して
同様に図4の処理を再帰的に行なう。
【0030】図5の処理内容は、図4を参照して述べた
LISPコード14aを生成する処理と同様であり、L
ISPコード14aを生成する処理を示した図4の処理
と同様の処理をCコード14bを生成するために行な
い、C言語コード14bを出力する。
【0031】以上の動作によって得られた次段階プログ
ラムはそれぞれLISP用コンパイラ7a、C用コンパ
イラ7b、および、リンカ8aおよびリンカ8bによっ
て機械語プログラム9a〜bに変換される。以上によっ
て、図3のソースプログラム1に対してその機能によっ
て分類された記号処理用計算機エバリュエータEU、入
出力や記憶管理に使われる計算機RMそれぞれで実行さ
れる機械語プログラム9a、9bが得られる。これら
は、このプログラムにより記号処理用計算機エバリュエ
ータEUおよび入出力や記憶管理に使われる計算機RM
は交互にお互いの関数を呼び合い処理を実行する。
【0032】上述した実施例は、図1(A)に示したコ
ンピュータシステム、つまり、記号処理用計算機エバリ
ュエータEUと入出力や記憶管理に使われる計算機RM
とによって構成される単体のプロセッサエレメントPE
における処理を示したが、本発明の実施に際しては、図
1(B)に図解した複数のプロセッサエレメントPEで
構成される大規模なコンピュータシステムにおいて、あ
るプロセッサエレメントPEの記号処理用計算機エバリ
ュエータEUと他のプロセッサエレメントPEの入出力
や記憶管理に使われる計算機RMとで上述のように生成
された機械語コードを実行させることもできる。
【0033】
【発明の効果】以上述べたように本発明のプログラム編
集装置およびその方法によれば、一種類の高級プログラ
ミング言語で記述されたソースプログラムについて、ソ
ースプログラムの部分毎の処理内容を分析し、その処理
が呼び出す機能に応じて適切な処理系を選択し、またそ
の処理が定義する機能を適切な処理系に分類し、処理内
容に応じて最適な処理系を選択することで、効率良く高
速に処理を行わせることを可能にするプログラム編集装
置とその方法が提供される。
【図面の簡単な説明】
【図1】本発明が適用される計算機ネットワークの接続
形態を示す図であり、(A)は、プロセッサエレメント
PE単体の構成図であり、(B)は複数のプロセッサエ
レメントPEが大規模コンピュータシステムを構成する
図である。
【図2】本発明が適用されるプログラム処理系(計算機
ネットワーク)の構成図である。
【図3】本発明のプログラム編集装置におけるプログラ
ム変換方法を示す図である。
【図4】本発明のプログラム編集方法の処理の第1例と
してLISPコードを生成する処理を示すフローチャー
トである。
【図5】本発明のプログラム編集方法の処理の第2例と
してCコードを生成する処理を示すフローチャートであ
る。
【図6】従来のプログラム編集装置の構成を表す図であ
る。
【符号の説明】
1・・ソースプログラム 2・・構文解析部 3・・プログラム変換部 4a,4b・・ライブラリ 6・・データベース 7a・・LISPコンパイラ 7b・・Cコンパイラ 8a・・LISPリンカ 8b・・Cリンカ 9a・・LISPコードによる実行可能な形式のプログ
ラム(機械語コード) 9b・・Cコードによる実行可能な形式のプログラム
(機械語コード) RM・・入出力や記憶管理に使われる計算機 EU・・記号処理用計算機エバリュエータ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】高級プログラミング言語で記述されたソー
    スプログラムを、構成部分ごとに処理内容を分析し、そ
    れらを複数のプログラム処理系に振り分けそれぞれのプ
    ログラム処理系の機械語コードや実行可能なプログラム
    に変更するプログラム編集を行うプログラム編集方法に
    おいて、 複数のプログラム処理系それぞれに対し、そのプログラ
    ム処理系が持つ機能を一連の意味のある機能ブロック毎
    に名前付を行なった結果を記録しているデータベースを
    用い、 ソースプログラム中で名前によって呼び出す機能をその
    データベースから検索し、 それら機能ブロックの呼び出しを、対応するプログラム
    処理系への機能呼び出しのプログラムに変換することを
    特徴とするプログラム編集方法。
  2. 【請求項2】ソースプログラム中に定義された一つの関
    数ブロックを、その中に含まれるプログラム処理に応じ
    て複数のプログラム処理系のどれかに分類し、 該分類されたプログラム処理系に対応するデータベース
    に登録し、 それらの関数の呼び出しを対応するプログラム処理系中
    の対応する機能呼出しのプログラムに変換することを特
    徴とする請求項1記載のプログラム編集方法。
  3. 【請求項3】プログラム処理系が持つ機能に対してその
    実行に必要とされるプログラム処理系の資源の多寡を表
    現する数的データをデータベースに保持し、 そのデータを元に変換の対象となるソースプログラム中
    の関数呼びだしのシーケンスの実行に要するプログラム
    処理系の資源を計算し、 計算された結果を利用してプログラムの実行に必要な資
    源が小さくなるよう関数ブロックを適切に分類し前記デ
    ータベースに記録することを特徴とする請求項1または
    2記載のプログラム編集方法。
  4. 【請求項4】前記高級プログラミング言語で記述された
    ソースプログラムは、LISP言語で記述されている請
    求項3記載のプログラム編集方法。
  5. 【請求項5】高級プログラミング言語で記述されたソー
    スプログラムを、構成部分ごとに処理内容を分析し、そ
    れらを複数のプログラム処理系に振り分けそれぞれのプ
    ログラム処理系の機械語コードや実行可能なプログラム
    に変更するプログラム編集を行うプログラム編集装置に
    おいて、 複数のプログラム処理系それぞれに対し、そのプログラ
    ム処理系が持つ機能を一連の意味のある機能ブロック毎
    に名前付を行なった結果を記録しているデータベースを
    有し、 ソースプログラム中で名前によって呼び出す機能をその
    データベースから検索する手段を有し、 それら機能ブロックの呼び出しを、対応するプログラム
    処理系への機能呼び出しのプログラムに変換する手段を
    有する、ことを特徴とするプログラム編集装置。
  6. 【請求項6】ソースプログラム中に定義された一つの関
    数ブロックを、その中に含まれるプログラム処理に応じ
    て複数のプログラム処理系のどれかに分類する手段を有
    し、 分類されたプログラム処理系に対応するデータベースに
    登録する手段を有し、 それらの関数の呼び出しを対応するプログラム処理系中
    の対応する機能呼出しのプログラムに変換する手段を有
    することを特徴とする請求項5記載のプログラム編集装
    置。
  7. 【請求項7】プログラム処理系が持つ機能に対してその
    実行に必要とされるプログラム処理系の資源の多寡を表
    現する数的データをデータベースに保持し、 そのデータを元に変換の対象となるソースプログラム中
    の関数呼びだしのシーケンスの実行に要するプログラム
    処理系の資源を計算する手段を有し、 計算された結果を利用してプログラムの実行に必要な資
    源が小さくなるよう関数ブロックを適切に分類し前記デ
    ータベースに記録することを特徴とする請求項5または
    6記載のプログラム編集装置。
  8. 【請求項8】前記高級プログラミング言語で記述された
    ソースプログラムは、LISP言語で記述されている請
    求項7記載のプログラム編集装置。
  9. 【請求項9】高級プログラミング言語で記述されたソー
    スプログラムを構成部分ごとに処理内容を分析する構文
    解析部、 複数のプログラム処理系それぞれに対し、そのプログラ
    ム処理系が持つ機能を一連の意味のある機能ブロック毎
    に名前付を行ない記録するデータベース、 ソースプログラム中で名前によって呼び出す機能を前記
    データベースから検索し、それらを複数のプログラム処
    理系に振り分けるプログラム変換部、 それら機能ブロックの呼び出しを、対応するプログラム
    処理系への機能呼び出しのプログラムに変換する編集手
    段を有し、それぞれのプログラム処理系の機械語コード
    や実行可能なプログラムに変更するプログラム編集を行
    うことを特徴とするプログラム編集装置。
JP5068248A 1993-03-26 1993-03-26 プログラム編集方法と装置 Pending JPH06282443A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5068248A JPH06282443A (ja) 1993-03-26 1993-03-26 プログラム編集方法と装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5068248A JPH06282443A (ja) 1993-03-26 1993-03-26 プログラム編集方法と装置

Publications (1)

Publication Number Publication Date
JPH06282443A true JPH06282443A (ja) 1994-10-07

Family

ID=13368279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5068248A Pending JPH06282443A (ja) 1993-03-26 1993-03-26 プログラム編集方法と装置

Country Status (1)

Country Link
JP (1) JPH06282443A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018169887A (ja) * 2017-03-30 2018-11-01 東芝産業機器システム株式会社 プログラムの製造方法、及びコンピュータシステムのアップデート方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018169887A (ja) * 2017-03-30 2018-11-01 東芝産業機器システム株式会社 プログラムの製造方法、及びコンピュータシステムのアップデート方法

Similar Documents

Publication Publication Date Title
JP2755154B2 (ja) プログラム変換処理装置およびプログラム変換処理方法
EP1119807B1 (en) Program code conversion
US6588009B1 (en) Method and apparatus for compiling source code using symbolic execution
JPH08339304A (ja) 機械独立コードを含むプラットフォーム標準オブジェクト・ファイルを生成する方法および装置
JPWO2000045260A1 (ja) コンパイラ装置、コンパイル方法、およびそのためのプログラムを格納した記憶媒体
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
US20090328016A1 (en) Generalized expression trees
Flanagan Effective static debugging via componential set-based analysis
US20060200796A1 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
CN114791808B (zh) 一种数据流图生成方法及装置
CN114327469A (zh) 一种代码解析方法、装置、设备及介质
US20040010780A1 (en) Method and apparatus for approximate generation of source code cross-reference information
Yang et al. M2coder: A fully automated translator from matlab m-functions to c/c++ codes for acs motion controllers
JP2002527816A (ja) プログラム最適化装置および方法
JPH06282443A (ja) プログラム編集方法と装置
JPH07182179A (ja) オブジェクト指向データベース管理装置
Dennis General parallel computation can be performed with a cycle-free heap
Tolmach Combining closure conversion with closure analysis using algebraic types
JP5399601B2 (ja) 実装コード開発システム、及び実装コード開発プログラム
Piñeiro et al. Perldoop2: A big data-oriented source-to-source Perl-Java compiler
Bose Instruction set design for support of high-level languages
JP2718427B2 (ja) 大規模知識ベースにおけるデータアクセス方式
JPH11272475A (ja) 非リエントラントプログラムの自動リエントラント化方法及びシステム
CN121832953A (zh) 实时编译方法、装置、设备及存储介质
JP3018783B2 (ja) コンパイル方式