JPH09305411A - コンパイル型プログラムのプログラム実行装置 - Google Patents

コンパイル型プログラムのプログラム実行装置

Info

Publication number
JPH09305411A
JPH09305411A JP8140827A JP14082796A JPH09305411A JP H09305411 A JPH09305411 A JP H09305411A JP 8140827 A JP8140827 A JP 8140827A JP 14082796 A JP14082796 A JP 14082796A JP H09305411 A JPH09305411 A JP H09305411A
Authority
JP
Japan
Prior art keywords
execution
program
code
execution code
storage 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
JP8140827A
Other languages
English (en)
Inventor
Nobumasa Araki
伸昌 荒木
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 JP8140827A priority Critical patent/JPH09305411A/ja
Publication of JPH09305411A publication Critical patent/JPH09305411A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ユーザの要求に応じてプログラムから自動的
に実行コードを生成して実行し、かつ1文ずつ記述され
たプログラムを逐次実行することのできるプログラム実
行装置を提供する。 【解決手段】 入力文またはソースファイルに対して入
力するごとに順次コンパイルを実行しオブジェクトコー
ドを生成するコンパイラ10と、コンパイルされたオブ
ジェクトコードを順次入力しリンクして実行コードを生
成するリンカ20と、実行コードを格納するプログラム
格納手段30と、プログラム格納手段に格納された実行
コードを新たにプログラム格納手段に格納された分ごと
に実行するデバッガ40とを備え、コンパイラ10及び
リンカ20は、プログラム格納手段30の実行コードが
格納された領域の最後の格納位置を認識し、新たに生成
した実行コードを格納位置の直後に格納する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、コンピュータシス
テムにおけるプログラムの開発、実行に用いられるプロ
グラム実行装置に関し、特にコンパイル型のプログラミ
ング言語により記述されたプログラムを実行するプログ
ラム実行装置に関する。
【0002】
【従来の技術】C言語等のようなコンパイル型のプログ
ラミング言語で記述されたプログラムを実行するには、
完全な形で記述したプログラムをソースファイルとして
記憶させ、該ソースファイルをコンパイルし、リンクし
て実行形式プログラムを生成し実行する。図14のフロ
ーチャートを参照して従来のコンパイル型プログラムの
実行方法について説明する。
【0003】まず、ユーザがプログラム全体を記述し
(ステップ1401)、当該プログラム全体をソースフ
ァイルとして保存する(ステップ1402)。次に、ユ
ーザからの実行ファイルを生成する命令により(ステッ
プ1403)、コンパイル及びリンクが行われ(ステッ
プ1404、1405)、実行ファイルが生成される
(ステップ1406)。この後、ユーザの命令によりこ
の実行ファイルの実行が行われ(ステップ1407)、
表示装置の画面上に実行結果が表示される(ステップ1
408)。
【0004】以上の処理の流れの中で、ユーザは、プロ
グラム全体を記述し(ステップ1401)、それをソー
スファイルとして保存し(ステップ1402)、実行フ
ァイルを生成する命令を出し(ステップ1403)、生
成された実行ファイルを実行する命令を出す(ステップ
1407)といった操作をする必要があった。
【0005】コンピュータシステムにおいて、プログラ
ムを開発したりデバッグする場合には、実際にプログラ
ムを実行し、得られた実行結果をフィードバックするこ
とが行われている。従来のプログラム実行方法によれ
ば、この場合にも、当該プログラムをコンパイル型プロ
グラミング言語で作成するならば、プログラムを実行す
るために上記の手順でプログラム全体の入力、コンパイ
ル、リンク、実行といった操作を行う必要があった。
【0006】このようなコンパイル型のプログラミング
言語で記述したプログラムを実行する場合に、ユーザか
らの文の入力に対してコンピュータが実行を行い、実行
結果を表示するといった会話型の実行をさせたい場合、
当該プログラムを部分ごとに順次実行するインタプリタ
を別途用意し、当該インタプリタにて当該プログラムを
実行しなければならなかった。
【0007】また、従来のプログラム実行技術として
は、例えば、特開平4−352027号に開示された技
術がある。同文献には、関数のみを定義したファイルの
デバッグを容易にすることを目的としており、ソースフ
ァイル中に標準ライブラリファイル定義レコードを付加
し、メイン関数名定義レコード及びメイン関数開始レコ
ードを付加し、次いで変数及び関数の型定義レコードが
付加されていなければ付加し、関数の持っている引数が
定義されていなければ引数の値を標準入力から入力でき
るようにするためのレコードを作成して付加し、文字列
がreturnであれば関数の返す値を標準出力に出力
するためのレコードを作成して付加し、さらにメイン関
数終了レコードを付加するプログラム開発方法について
記載されている。
【0008】しかしながら、本従来技術においても、ソ
ースファイル中に定義された関数のみについて実行する
ことはできるものの、上記のような会話型の実行をする
ことはできず、プログラム全体をコンパイルして実行す
る必要があることは、他の一般的な従来技術と同様であ
る。
【0009】
【発明が解決しようとする課題】上述したように、従来
のコンパイル型プログラミング言語で記述されたプログ
ラムの実行方法によれば、完全に記述されたプログラム
全体を実行しており、関数のみの単体テストや不完全な
記述のプログラムを実行することが困難であった。この
ため、プログラムの開発、デバッグにおいて、動作確認
のために1行または数行の文を実行させたい場合でも、
ソースファイル全体を記述しコンパイルした後に実行す
ることになるので、操作が面倒であり、インタプリタの
ような会話型の実行はできないという欠点があった。
【0010】また、会話型の実行をさせるために、当該
言語に対して別にインタプリタも用意するのは無駄であ
り、また、コンパイラ、インタプリタ両方の実行結果が
完全に同一であることは保証されないという欠点があっ
た。
【0011】本発明は、上記従来の欠点を解決し、ユー
ザがプログラムを記述またはソースファイルの読み込み
を要求するだけで自動的に実行コードを生成して実行す
ることにより、操作上の手間を削減し、また1文ずつ記
述されたプログラムを逐次実行することのできるプログ
ラム実行装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上記の目的を達成するた
め、本実施例のプログラム実行装置は、入力文またはソ
ースファイルに対して入力するごとに順次コンパイルを
実行しオブジェクトコードを生成するコンパイラと、コ
ンパイルされた前記オブジェクトコードを順次入力しリ
ンクして実行コードを生成するリンカと、前記実行コー
ドを格納するプログラム格納手段と、前記プログラム格
納手段に格納された実行コードを新たに前記プログラム
格納手段に格納された分ごとに実行するデバッガとを備
え、前記コンパイラ及び前記リンカは、前記プログラム
格納手段の前記実行コードが格納された領域の最後の格
納位置を認識し、新たに生成した実行コードを前記格納
位置の直後に格納する構成としている。
【0013】また、他の態様では、前記コンパイラによ
る前記入力文またはソースファイルのコンパイル処理
と、前記リンカによる前記オブジェクトコードのリンク
処理と、前記デバッガによる実行コードの実行とを、ユ
ーザからの前記入力文またはソースファイルの入力を条
件に自動的に行う。
【0014】さらに他の態様では、前記プログラム格納
部は、すでに実行された実行コードをそのまま保持し、
新たに入力した実行コードを前記すでに実行された実行
コードの後ろに追加する。
【0015】また、他の好ましい態様では、定義されて
いない関数に対する処理を制御する未定義関数処理プロ
グラムを格納した未定義関数処理プログラム格納部をさ
らに備え、前記リンカは、前記オブジェクトコード中に
定義されていない関数が存在する場合に、該関数を前記
未定義関数処理プログラムを呼び出す命令に書き換えて
前記実行コードを生成する。
【0016】また、他の好ましい態様では、前記デバッ
ガは、前記実行コードの実行中に前記未定義関数処理プ
ログラムを呼び出した場合、該未定義関数処理プログラ
ムの制御にしたがって、ユーザに対して対応処理を問い
合わせ、ユーザからの指示に応じて処理を実行する。
【0017】
【発明の実施の形態】以下、本発明の実施例について図
面を参照して詳細に説明する。
【0018】図1は、本発明の1実施例によるプログラ
ム実行装置の構成を示すブロック図である。
【0019】図示のように、本実施例のプログラム実行
装置は、ソースファイルをコンパイルするコンパイラ1
0と、コンパイルされたプログラムをリンクするリンカ
20と、リンクされたプログラムを格納するプログラム
格納部30と、プログラムのでバッグを行うデバッガ4
0と、プログラムを実行する上で未定義の関数を処理す
るための未定義関数処理プログラム格納部50と、ソー
スコードを入力する入力装置60と、プログラムの実行
結果を表示する表示装置70とを備える。なお、図には
本実施例の特徴的な構成のみを記載し、他の構成につい
ては記載を省略してある。また、本実施例によるプログ
ラムを部分ごとに実行する動作状態を簡易実行モードと
呼ぶ。
【0020】コンパイラ10は、プログラム制御された
CPU等で実現され、ユーザが入力した入力文またはソ
ースファイル(以下、ソースコードと総称する)をコン
パイルしてオブジェクトコードを作成する。また、ソー
スコードをコンパイルする際に用いた変数や関数を登録
する変数テーブル、関数テーブル等のテーブル11を有
している。テーブル11の内容は、当該ソースコードの
コンパイル終了後も保持し、次のソースコードのコンパ
イルの際に利用する。
【0021】また、コンパイラ10は、ソースコードを
入力次第、順次コンパイルしてリンカ20に渡してゆ
く。このとき、新しくソースコードを受け取った際に生
成するオブジェクトコードの開始番地を、それまでにプ
ログラム格納部30上に格納された実行コードの終了番
地を元に決定する。その理由は以下のとおりである。
【0022】コンパイラ10によって生成されるオブジ
ェクトコードは、図4に示すように、リンカ20によっ
てプログラム格納部30上でそれ以前に生成された実行
コードに連結される。このため、関数呼び出しなどで以
前の実行コードを参照することがある場合は、新しいオ
ブジェクトコードを生成するための開始番地、すなわち
当該オブジェクトコードがプログラム格納部30上に配
置される際の、実行コードとの相対位置を把握する必要
がある。このため、コンパイラ10は、リンカ20によ
って実行コードがプログラム格納部30に追加された
後、当該実行コードの大きさもしくは終了番地に関する
情報を、リンク終了後にリンカ20から受け取る。
【0023】これにより、コンパイラ10は、新しく受
け取るソースコードをそれ以前に受け取ったソースコー
ドの続きとして処理することができ、以前に定義した関
数、変数等を正しく参照できる。
【0024】また、関数をコンパイルする場合、コンパ
イラ10は、図5に示すようなオブジェクトコード91
を生成する。このオブジェクトコード91がリンカ20
によってプログラム格納部30に格納された状態を図6
に示す。関数本体の実行コード93は実際に関数が呼び
出される時まで実行されないので、実行コード94の先
頭であるJMP命令92により関数の実行コード93の
次の命令にプロセスの制御を移す。実際の実行時には、
デバッガ40によりブレークポイント95がアドレス0
100Hに設定され、プロセスはアドレス000OHか
ら実行を開始するが、JMP命令92により、アドレス
0100Hにジャンプし、ブレークポイント95により
実行が停止する。このように、コンパイラ10の出力す
るオブジェクトコードは、すべて出力コードの先頭番地
から実行が開始され、出力コードの最後の次の番地にブ
レークポイントが設定されることを想定しているものと
する。
【0025】リンカ20は、プログラム制御されたCP
U等で実現され、コンパイラ10の作成したオブジェク
トコードとライブラリをリンクして実行コードを作成す
る。作成した実行コードはプログラム格納部30に送ら
れ、それ以前に格納されている実行コードに追加される
形で格納される。また、リンカ20は、外部関数テーブ
ル等のテーブル21とライブラリ22を持ち、リンクを
実行する際に使用した外部関数等をテーブル21に登録
する。テーブル21の内容は当該オブジェクトコードの
リンク終了後も保持しておき、次のオブジェクトコード
のリンクを実行する際に利用する。
【0026】リンカ20の動作はコンパイラ10からの
オブジェクトコードの入力を条件にリンク動作を開始
し、実行コードをプログラム格納部30に送った後、次
のオブジェクトコードの入力待ちの状態で待機する。ま
た、プログラム格納部30に追加した実行コードのサイ
ズまたはプログラム格納部30における格納領域の終了
番地をコンパイラ10に通知する。上述したように、コ
ンパイラ10が次にコンパイルする際の開始番地を決定
するためである。
【0027】また、リンカ20は、リンクの際に、当該
オブジェクトコード中に定義されていない関数の呼び出
しがあると、その未定義関数の代わりに未定義関数処理
プログラム格納部50に格納された未定義関数の処理用
のプログラムを呼び出すように実行コードを修正する。
当該プログラムについては後述する。外部関数を呼び出
す実行コードの解決方法のフローチャートを図8に示
す。
【0028】リンク中に外部関数を呼び出すコードがあ
った場合、まず外部関数テーブルを参照して目的の関数
を探す(ステップ801)。テーブル21に目的の関数
が見つかった場合、テーブル21からその関数の開始ア
ドレスを取得して、実行コードの該当する部分に書き込
む(ステップ802、803)。目的の関数が見つから
なかった場合、当該目的の関数を呼び出す代わりに、未
定義関数処理プログラム格納部50の処理プログラムを
呼び出すように実行コードを修正する(ステップ80
2、804)。
【0029】プログラム格納部30は、RAM等のメモ
リや磁気ディスク装置等の記憶装置で実現され、リンカ
20によって作成された実行コードを格納する。プログ
ラム格納部30には、新たにリンカ20から送られた実
行コード32がそれまでに格納した実行コード31に追
加される形で順次格納される。
【0030】デバッガ40は、プログラム制御されたC
PU等で実現され、プログラム格納部30に格納されて
いる実行コード32を実行する実行用プロセス41を生
成し、その実行を制御する。プロセス41による実行コ
ード32の実行の制御は、以下のように行う。
【0031】デバッガ40は、まず簡易実行モード立ち
上げ時に、生成された実行コード32を実行するため実
行用プロセス41を生成する。このプロセス41は、初
期状態としてプログラム格納部30の実行コード格納領
域の先頭で停止している。リンカ20によってプログラ
ム格納部30上に実行コード32が追加入力されると、
デバッガ40は図7に示すように、追加された実行コー
ド32の終了番地の次の番地にブレークポイント34を
設定して実行用プロセス41に再開の指示を出す。プロ
セスの再開位置33は、それまでに実行された実行コー
ド31の終了番地の次の番地すなわち新たに追加された
実行コード32の先頭番地である。よってプロセス41
は、追加された実行コード32の分だけ実行を行い、ブ
レークポイント34により停止する。
【0032】未定義関数処理プログラム格納部50は、
RAM、ROM等のメモリや磁気ディスク装置等の記憶
装置で実現され、定義されていない関数を処理するため
の処理プログラムを格納する。上述したように、当該処
理プログラムは、実行コードの実行中に未定義の関数が
あった場合に当該関数の代わりに呼び出される。当該処
理プログラムは、存在しない関数が呼び出されたことと
その関数名、返却値の型、引数の値をユーザに通知し、
対応処理を問い合わせる。ユーザは、対応処理として例
えば、実行を中止するか、返却値の値を入力して実行を
続行するかを選択して指示することができ、当該処理プ
ログラムは当該ユーザからの指示に従って処理を実行す
る。
【0033】入力装置60は、キーボード、マウス等の
入力デバイスで実現され、ユーザが入力文やソースファ
イル等のソースコードをコンパイラ10に入力したり、
未定義関数処理プログラムによる問合せに応えて対応処
理を指示したりするのに用いられる。
【0034】表示装置70は、CRTディスプレイ装置
等で実現され、実行コードの実行結果を表示したり、未
定義関数処理プログラムによる問合せを表示したりする
のに用いられる。図3に表示装置70の表示画面の例を
示す。図示のように、表示装置70には、少なくとも、
ソースコードの入力に用いる標準入出力用画面71と、
ユーザからの文の入力に用いる入力欄72と、入力文の
結果を出力するための結果表示欄73とを表示する。
【0035】次に、図2のフローチャートを参照して本
実施例の動作について説明する。
【0036】ユーザからの文の入力またはソースファイ
ルの読み込み要求があると(ステップ201)、まずコ
ンパイラ10が当該ソースコードを受け取ってコンパイ
ルの実行を開始し、入力したソースコードの分だけコン
パイルを行う。そして、生成したオブジェクトコードを
リンカ20に渡し停止する(ステップ202)。
【0037】次に、リンカ20は、オブジェクトコード
を受け取って、コンパイルされたオブジェクトコードと
ライブラリ22を元にリンクを行う(ステップ20
3)。そして、生成した実行コードをプログラム格納部
30に格納する(ステップ204)。ここで、リンク途
中に、定義されていない関数の呼び出しがあった場合、
当該関数の代わりに未定義関数処理プログラム格納部5
0に格納されている処理プログラムを呼び出すように出
力する実行コードを修正する。
【0038】デバッガ40は、プログラム格納部に新た
に格納された実行コード32に対してブレークポイント
を設定し(ステップ205)、実行用プロセス41に対
して実行再開の指示を出す。プロセス41は、前回の実
行コード31の停止位置から、追加されたコード32の
分だけ実行して停止する(ステップ206)。また、入
力文に対し、実行結果の値があれば表示装置70の結果
表示欄73に表示してユーザに通知する(ステップ20
7)。
【0039】以上のように、本実施例においては、ユー
ザが実行すべき操作は、ステップ201で入力装置60
から文の入力またはソースファイルの読み込み要求を入
力することのみである。
【0040】次に、図2のフローチャート及び図9ない
し図13を参照し、具体的な値を提示して本実施例に基
づいた処理の実行例を説明する。
【0041】例として、図9のような、関数fnc1を
定義したソースファイル100があるとする。ユーザか
らソースファイル100の読み込み要求が入力されると
(図2、ステップ201)、まずコンパイラ10がソー
スファイル100をコンパイルする(ステップ20
2)。このとき、関数テーブル11にfnc1が登録さ
れる。その後、コンパイラ10によって生成されたオブ
ジェクトコードがリンカ20に送られる。
【0042】リンカ20は、オブジェクトコードをリン
クし実行コードを生成して(ステップ203)、図10
に示すように、プログラム格納部30に関数fnc1の
実行コード101を格納する(ステップ204)。その
後、デバッガ40が実行コードのアドレス0100Hに
ブレークポイント103を設定し(ステップ205)、
実行用プロセス41によってアドレス0000Hから実
行を開始する(ステップ206)。ただし図示の例で
は、プロセス開始位置102のJMP命令によってブレ
ークポイント103の位置まで移動してプロセス41が
停止するため、実際の動作は行わない。
【0043】次に、ユーザが入力装置60から文fnc
1(3,4)を入力した場合を考える。まず、当該ソー
スコードがコンパイラ10に渡されると(ステップ20
1)、コンパイラ10は、関数テーブル11の情報を元
にして、関数呼び出しを行うオブジェクトコードを作成
する(ステップ202)。リンカ20は、図11に示す
ように、オブジェクトコードを受け取り、プログラム格
納部30の巣でに格納されている実行コード101の後
に実行コード104を追加する(ステップ203、20
4)。プロセス41の実行再開位置105は、追加され
た実行コード104の先頭番地0100Hであり、デバ
ッガ40によりブレークポイント106は実行コード1
04の終了番地の次の番地0180Hに設定される(ス
テップ205)。その後、プロセス41により追加され
た実行コード104の実行が行われる(ステップ20
6)。実行途中にCALL命令108により関数fnc
1の実行コード107の呼び出しが行われる。プロセス
41の実行がブレークポイント106の位置に達する
と、プロセス41は停止する。その後、文の実行結果の
値が表示装置70の結果表示欄73に表示される(ステ
ップ207)。この時点での表示装置70の状態を図1
2に示す。
【0044】続けて、ユーザが入力装置60から文fn
c1(5,2)を入力した場合を考える。先の例と同機
にコンパイル、リンクが行われ、プログラム格納部30
に実行コード109が格納されて実行される。この時点
でのプログラム格納部30の状態を図13に示す。
【0045】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。
【0046】
【発明の効果】以上説明したように、本発明は、入力文
やソースファイルを入力した部分ごとに順次コンパイル
し、実行コードを生成して実行すると共に、生成した実
行コードをすでに実行し終わった実行コードに追加して
いくことにより、見かけ上インタプリタのような会話型
の実行が可能となる。
【0047】これにより、関数のみの単体テストや不完
全な記述のプログラムを実行することが容易となり、動
作確認のための部分的な実行を行う場合にもソースファ
イル全体を記述してコンパイルする必要が無く、プログ
ラムの開発、デバッグに要する手間を大幅に削減できる
という効果がある。
【0048】また、未定義関数を呼び出す命令は、ユー
ザに対応処理を指示させる未定義関数処理用のプログラ
ムにて処理するため、呼び出す関数が定義されていない
場合にも何ら問題なくプログラムの実行を続行できると
いう効果がある。
【図面の簡単な説明】
【図1】 本発明の1実施例によるプログラム実行装置
の構成を示すブロック図である。
【図2】 本実施例の動作を示すフローチャートであ
る。
【図3】 本実施例の表示装置の表示画面の構成例を示
す図である。
【図4】 本実施例によりプログラム格納部へ実行コー
ドを格納した状態を示す図である。
【図5】 本実施例による関数のコンパイル結果の例を
示す図である。
【図6】 図5のコンパイル結果をプログラム格納部へ
格納した状態を示す図である。
【図7】 本実施例による実行コードのプログラム格納
部への追加格納及び実行方法を示す図である。
【図8】 本実施例のリンカにより外部関数を呼び出す
実行コードの解決方法を示すフローチャートである。
【図9】 本実施例に用いるソースファイルの例を示す
図である。
【図10】 図9のソースファイルから生成された実行
コードをプログラム格納部に格納した状態を示す図であ
る。
【図11】 図10の状態にさらに入力文から生成され
た実行コードが追加格納された場合のプログラム格納部
の状態を示す図である。
【図12】 図11の状態で新たに追加格納された実行
コードを実行した場合の表示装置の表示例を示す図であ
る。
【図13】 図11の状態にさらに他の入力文から生成
された実行コードが追加格納された場合のプログラム格
納部の状態を示す図である。
【図14】 従来のプログラム実行方法を示すフローチ
ャートである。
【符号の説明】
10 コンパイラ 11 テーブル 20 リンカ 21 テーブル 22 ライブラリ 30 プログラム格納部 31、32 実行コード 40 デバッガ 41 (実行用)プロセス 50 未定義関数処理プログラム格納部 60 入力装置 70 表示装置

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 入力文またはソースファイルに対して入
    力するごとに順次コンパイルを実行しオブジェクトコー
    ドを生成するコンパイラと、 コンパイルされた前記オブジェクトコードを順次入力し
    リンクして実行コードを生成するリンカと、 前記実行コードを格納するプログラム格納手段と、 前記プログラム格納手段に格納された実行コードを新た
    に前記プログラム格納手段に格納された分ごとに実行す
    るデバッガとを備え、 前記コンパイラ及び前記リンカは、前記プログラム格納
    手段の前記実行コードが格納された領域の最後の格納位
    置を認識し、新たに生成した実行コードを前記格納位置
    の直後に格納することを特徴とするプログラム実行装
    置。
  2. 【請求項2】 前記コンパイラによる前記入力文または
    ソースファイルのコンパイル処理と、前記リンカによる
    前記オブジェクトコードのリンク処理と、前記デバッガ
    による実行コードの実行とを、ユーザからの前記入力文
    またはソースファイルの入力を条件に自動的に行うこと
    を特徴とする請求項1に記載のプログラム処理装置。
  3. 【請求項3】 前記プログラム格納部は、すでに実行さ
    れた実行コードをそのまま保持し、新たに入力した実行
    コードを前記すでに実行された実行コードの後ろに追加
    することを特徴とする請求項1に記載のプログラム実行
    装置。
  4. 【請求項4】 定義されていない関数に対する処理を制
    御する未定義関数処理プログラムを格納した未定義関数
    処理プログラム格納部をさらに備え、 前記リンカは、前記オブジェクトコード中に定義されて
    いない関数が存在する場合に、該関数を前記未定義関数
    処理プログラムを呼び出す命令に書き換えて前記実行コ
    ードを生成することを特徴とする請求項1に記載のプロ
    グラム実行装置。
  5. 【請求項5】 前記デバッガは、前記実行コードの実行
    中に前記未定義関数処理プログラムを呼び出した場合、
    該未定義関数処理プログラムの制御にしたがって、ユー
    ザに対して対応処理を問い合わせ、ユーザからの指示に
    応じて処理を実行することを特徴とする請求項4に記載
    のプログラム実行装置。
JP8140827A 1996-05-10 1996-05-10 コンパイル型プログラムのプログラム実行装置 Pending JPH09305411A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8140827A JPH09305411A (ja) 1996-05-10 1996-05-10 コンパイル型プログラムのプログラム実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8140827A JPH09305411A (ja) 1996-05-10 1996-05-10 コンパイル型プログラムのプログラム実行装置

Publications (1)

Publication Number Publication Date
JPH09305411A true JPH09305411A (ja) 1997-11-28

Family

ID=15277650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8140827A Pending JPH09305411A (ja) 1996-05-10 1996-05-10 コンパイル型プログラムのプログラム実行装置

Country Status (1)

Country Link
JP (1) JPH09305411A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453548A (zh) * 2023-10-26 2024-01-26 上海合芯数字科技有限公司 代码模块信息确定方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453548A (zh) * 2023-10-26 2024-01-26 上海合芯数字科技有限公司 代码模块信息确定方法、装置、计算机设备和存储介质
CN117453548B (zh) * 2023-10-26 2024-05-24 上海合芯数字科技有限公司 代码模块信息确定方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
EP0690378A1 (en) Tool and method for diagnosing and correcting errors in a computer programm
US7080360B2 (en) Breakpoint safety net
JP5147240B2 (ja) リバーシブルなデザイン・ツリーの変換のための方法とシステム
JPH09305411A (ja) コンパイル型プログラムのプログラム実行装置
JPH1185486A (ja) プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH07311679A (ja) プログラム作成システム
JP2672968B2 (ja) デバッグ用ソースリスト出力処理方式
JP3372387B2 (ja) プログラム検査方法
JPH052477A (ja) グラフイカル・ユーザ・インタフエースの作成方式
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPH0644101A (ja) プログラムデバッグ処理方法
JPH1083328A (ja) 単体テスト用疑似入出力実現方式
JPH06119203A (ja) デバック行削除装置
JPH02100732A (ja) プログラム文法チェック方式
JP3327640B2 (ja) 命令コード選択装置
JPH0766343B2 (ja) プログラムテスト装置
JPH03189737A (ja) プログラム開発装置
JPH07262193A (ja) 文書処理装置
JPH05216719A (ja) デバッガのブレイク方法およびデバッガ
JPH06242941A (ja) 対話処理システム
JPH04307630A (ja) 簡易デバック・オプション付きコンパイラ
JPH0353334A (ja) 言語処理プログラムのデバッグ情報出力処理方式
JPH0778096A (ja) 単体プログラムテスト方式
JPH0267628A (ja) コマンド起動方式