JPS5930145A - 動的プログラム修正による再実行処理方式 - Google Patents

動的プログラム修正による再実行処理方式

Info

Publication number
JPS5930145A
JPS5930145A JP57140589A JP14058982A JPS5930145A JP S5930145 A JPS5930145 A JP S5930145A JP 57140589 A JP57140589 A JP 57140589A JP 14058982 A JP14058982 A JP 14058982A JP S5930145 A JPS5930145 A JP S5930145A
Authority
JP
Japan
Prior art keywords
program
execution
source program
error
interpreter
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.)
Granted
Application number
JP57140589A
Other languages
English (en)
Other versions
JPS626260B2 (ja
Inventor
Masakazu Kobayashi
正和 小林
Kazuhiko Takahashi
和彦 高橋
Toshinori Aso
麻生 利紀
Makoto Yamaguchi
誠 山口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57140589A priority Critical patent/JPS5930145A/ja
Publication of JPS5930145A publication Critical patent/JPS5930145A/ja
Publication of JPS626260B2 publication Critical patent/JPS626260B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はプログラムの動的修正と再実行とを容易迅速に
行なうための処理方式に関し1%にプログラムの開発時
において多発するテストあるいはデバッグとプログラム
修正、再実行のサイクルを短縮し、効率化するための・
処理方式に関する。
〔技術の背量〕
一般にプログラムは、第1図に示すように、ソースプロ
グラム1をコンパイラによりオブジェクトプログラム2
に翻訳し、リンキングローダによりライブラリ30入出
カル−チン等と結合m集を行ないロードモジュール4を
作成する過抑を経て実行される。そしてロードモジュー
ル4の実行時のデバッグにより検出されたバグ(プログ
ラムエラー)からソースレベルの修正プログラム5が作
成され、ソースプログラム1の修正に反映される。
修正されたソースプログラムは、再びコンパイラにより
オブジェクトプログラムに翻訳され、リンキングローダ
によりロードモジュールに変換して再実行される。
従来、ソースプログラム修正から再実行までの過程は、
別々のジョブとして行なわれていたため。
処理に時間を要し、プログラム開発時間を短縮するりえ
て大きな障害となっていた。
他方、プログラム修正から再実行までの過程を簡即化す
る方式として、インタグリタカ式をとることが考えられ
る。インタプリタ方式は、第2図に示すように、ソース
プログラム1の各ステートメントについて、逐次、中間
コード(インタプリタ言語とも呼ばれ、それぞれサブル
ーチンに対応する)61C翻訳し実行するものであって
、修正プログラム5で示すように、ソースプログラムの
各゛ステートメントを修正変更しても、第1図のコンバ
インを用いる方式のような再コンパイルの必要はなく、
単にその修正変更されたステートメントを再実行すれば
、直ちに新しい中間コードテキストへの翻訳を行なうこ
とが可能となる。インタプリタ方式は、上記したように
、ソースプログラムの唇正および再実行を容易なものK
するが2本質的にコンパイラを用いる方式に較べて処理
能率が悪い点に問題がある。
〔発明の目的および構成〕
本発明の目的、は、プログラムの翻訳、結合編集。
実行、プログラム修正、再実行というプログラムR1発
のサイクルを1つのシステム上で実現することKあり、
特に部分的な修正および再実行をff1l座に可能にす
るどステムを提供すること[6る。
本発明は、そのための手段として、修正されたプログラ
ム部分の再実行についてのみ、インタプリタによるソー
スプログラムの直接的解釈実行を行なう方式を採用する
ことKより、上記目的を達成するものであり、その構成
として、ソースプログラムをロードモジュール形弐忙変
換して実行するデータ処理システムにおいて、実行中の
ソースプログ2ムおよびエラーメツセージ等のプログラ
ム実行状態を表示する手段と、プログラム修正のための
編集処理手段と、インタプリタ手段とをそなえ、上記ロ
ードモジュール形式によるプログラム実行中にエラーが
検出されたとき、対応するソースプログラムについての
工2−メツセージを上記プログラム実行状態表示手段に
より表示して。
ソースプログラムレベルでのエラー修正を可能圧し、上
記編集処理手段は尚該ソースプログラムの修正処理にお
いて機能化され、修正されたソースプログラムは上記イ
ンタプリタ手段により再実行されることを特徴とするも
のである。
〔発明の実施例〕
以下に1本発明を実施例にしたがって説明する。
第3図は2本発明実施例の基本構成を示す説明図である
。同図において、7はロードモジュール実行段階、8は
ソースプログラム修正段階、9は修正されたソースプロ
グラムのインタプリタによ“る再実行段階、10はCI
? Tなどのプログラム実行状態表示部を示す。
ロードモジュール実行段階7のロードモジュールld:
、!711図で説明したロードモジュール4に相邑する
。プログラム実行状態表示部10の画面は。
ソース城、データ城、コマンド入力域からなり。
ソース域には、実行中のロードモジュールに対応するソ
ースプログラムが表示される。%に、ソースプログラム
中の実行位置のステートメントについては、輝度を上げ
るか色調を変えると、!:により。
識別が容易にされている。データ表示域には2実行結果
やエラー発生時のエラー内容などが表示される。またコ
マンド入力域には、−リーブコマンドやエラー発生メツ
セージなどの状態表示、入力コマンド表示に使用される
。なお、プログラムの実行速度は、デバッグ状況に応じ
て変更可能にされている。
ロードモジュール実行段階7においてエラーが検出され
たとき、プログラム実行は停止し、上記したプログラム
状態表示部10にエラーメツセージが表示される。プロ
グラム開発者は2両面表示からニジー発生ステートメン
トおよびそのエラー内容を知り、プログラム修正段階a
+Caる。ここで、エディタを用いて画面上でソースプ
ログラムを修正し、再実行段階9を開始させる。
再実行段階9では2修正されたソースプログラムを、直
接、インタプリタ方式により逐次解釈して実行する。プ
ログラム修正は、主プログラム。
サブルーチン等の分割されたプログラム庁位に対して行
なわれるため、インタプリタ方式による実行は、その修
正のあったプログラム単位について適用される。修正さ
れたプログラム単位についてインタプリタ方式による実
行が終了すると2次のプログラム単位から、町びロード
モジュールによる実行に戻される。
以上のようKして、プログラム修正部分に対してはイン
タプリタ方式を適用することにより再実行を簡単化する
とともに、インタプリタによる実行範囲を、修正された
プログラム単位に限ることKより、処理能率の低下を最
小限に抑えることができる。
第4図は2本発明実施例シスデムの梧成図である。同図
において、11は処理装置、12はプログラム実行状態
管理部、13は命令実行制御部。
14t:l:エディタ部、15はインタプリタ部、16
はメモリ、17はロードモジュール、18はソースプロ
グラム、19はインタグリタ中間テキスト。
20は利用者指定のソースプログラムデータセット、2
1はFORTRANコンパイラ、22はFORTRAN
l’イブラリ、231−1ニブログラム実行状態表示部
、24は入力部を示している。
プログラム実行状態管理部12は2本実施例においてプ
ログラムのテストおよび修正のだめの環境を管理し、入
力部24から入力される各種コマンドの解釈実行2表示
部23の表示制御などを行なう。
命令実行制御部13は、ロートモシュー/L−17゜あ
るいはインタプリタ部15により解釈された命令をハー
ドレベルで実行する。プログラム実行状態管理部12は
、命令実行制御部13.エディタ部14およびインタプ
リタ部15との間にインタフェースを有し、それぞれの
実行を管理制御する。
第5図は、第4図に示す実施例システムのインタプリタ
部15および四−トモジュール17を中心とした詳細な
動作説明図である。以下、第4図を参照しつつ第5図に
したがって説明する。なお本実施例は、 FORTRA
Nプログラムを対象とするものである。
利用者指定のソースプログラム20は、t−t”FOR
TRANコンバイン21により、TENTオプションイ
τjきでコンパイルされ、オブジェクトプログラムに変
換される。このオブジェクトは、更に1i’ OII 
T RA Nライブラリ21および利用者指定のオブジ
ェクト/ロードモジュールと共に、ローダにより結合編
集され、ロードモジュール17が作成される。
命令実行刺部1部13がロードモジュール17を実行し
ている過程でエラーが発生されると、プログラム実行状
態管理部12は1表示部23にエラー発生状態を表示す
る。
本発明による動的プログラムエ2−の修正は。
プログラム実行中の静止状態において2表示部23の実
行画面上で行なうものである。
しかし、どの静止状態でも、どんなプログラム修正をも
可能にすることは不可能である。プログラム修正は2次
の静止状態でのみ行なうことができる。
O実行モードによる静止状態 oARGCHK/8UBCIIK エラーによる静止状
態Oデータモニタ東件成立による静止状態0プログラム
実行開始直前の静止状態 Oプログラム実行終了後の静止状態 上記以外の 0実行時エラーによる静止状態 oREAD文による静止状態 OPAUSE文による静止状態 0WRITFi文中のログデータセットエラーによる静
止状態 0出ロルーチン登録・削除要求時の静止状態は、ライブ
ラリ動作中のi↑を止状態であり、その文の実行を途中
で打切ることができないので、これらの静止状態ではプ
ログラム修正を行なうことはできない。
また、プログラムの修正内容については2次に例示する
ような制約を設ける。
0宣言文の修正・追加・削除は、新規データに対するD
IMENSION文/型宣程文の追加以外は不可とする
Oロードモジュール中に存在しない関数・ザブルーテン
・Iloの呼出しは不可とする。
Oグログ2ム単位文、END文の修正・追加・削除は不
可とする。ただし、プログラム単位文の仮引数並びの修
正は可とする。
修正可能な文の主なものは2代入文、制御文。
入出力文である。
また2次の修正が行なわれた場合には、プログ2ム実行
再開位置を指示しなければならない。
O実行中の文の修正・削除を行なったとき0実行中DO
ループのDO文の修正を行なったとき 0実行中の文または次に実行すべき文を含むDOルーズ
の追加を行なったとき Oプログラム単位文の修正を行なったとき以上のような
条件下で、利用者は、エディタ部14を機能化し2表示
部230画面に表示されている実行中のソースプログラ
ムを、入力部24から操作して修正する。プログラム修
正が行なわれると、プログラム実行状態管理部12に再
実行サブコマンドで指示して、インタプリタ部15に制
御を渡し、インタプリタ部15は修正の行なわれたプロ
グラム単位内の指示された文から、インタプリタ方式に
より順次解釈実行を開始する。
このとき、プログ2ム実行状態管理部12が四−ドモジ
ュール・奥行とインタプリタ実行とを同一のインタフェ
ースで制御できるように、各文実行直前、工ん処理、プ
ロローグ、エピローグ等のTEISTオプションのオブ
ジェクトと同じタイミングで、プログラム実行制御部1
3の呼び出しを行なう。
インタプリタ部15は、前処理部、解釈部、実行部から
なり1次のような機能をもつ。
■ 前処理部 プログラム修正lC@えて、プログラム単位毎に次の宣
言文等の情報を作成する。
OIMPLICIT文、 PARAMHTBR文、 F
3XTERNAI。
文、 lNTRlN5IC文、 NAMBLIST文、
 文関数定義文、 FORMAT文および変数名に関す
るイri報 0ンースプログラムの行および文に関する情報0文番号
の定義・参照情報 ■ 解釈部 プログ2ム修正情報を入力として、解釈を行ない中間テ
ギスト19の生成を行なう。このとき、基本となる情報
は、■で作成した4W報とロードモジュール中の記号表
および文脈別番号表である。また、プログラム修正によ
る変化を各種テーブルに反映する。
■ 実行部 実行を依頼されたプログラム単位の実行を制御1.、T
E8Tオプション付きでコンパイルサレ゛たオブジェク
トと同じタイミングでグログツム実行制御部13を呼び
出し、実行を行なわせる。
インタプリタ部15の一般的な機能は、従来から使用さ
れているものと同様である。ただし1本実施例において
は、記号表および文識別番号表は。
ロードモジュールとのインタフェースをとるため。
ロードモジュール17中のものを利用する。
〔発明の効果〕
以上述べたように1本発明による方式は、インタプリタ
による実行をプログラム修正部分に限っているため、処
理速度をそれ程落すことなく修正・再実行を容易かつ迅
速化することができる。
【図面の簡単な説明】
第1図および第2図は従来のプログラム修正および修正
方式の説明図、第3図は本発明実施例の基本構成説明図
、第4図は実施例シスデム構成図。 第5図は動作説明図である。 図中27はロードモジュール実行段階、8はソースプロ
グラム修正段階、9はインタプリタによる再実行段階、
10はグp/=)ム実行状態表示部を示す。 特許出願人 営士通株式会社

Claims (1)

  1. 【特許請求の範囲】 ソースプログラムをロードモジュール形式に変換して実
    行するデータ処理システムにおいて、実行中のソースプ
    ログラムおよびエラーメツセージ等のプログラム実行状
    態を表示する手段と、プログラノ・修正のだめの編集処
    理手段と、インタプリタ手段とをそなえ、上記ロードモ
    ジュール形式によるプログラム実行中にエラーが検出さ
    れたとき。 対応するソースプログラムについてのエラーメツセージ
    を上目己プログラム実行状態表示手段により表示して、
    ソースプログラムレベルでの工5−II!正を可能KL
    、上記編集処理手段は尚該ソースプログラムの修正処理
    において機能化され、修正されたソースプログラムは上
    記インタプリタ手段により再実行されることを特−徴と
    する動的プログラム修正による再奥行処理方式。
JP57140589A 1982-08-12 1982-08-12 動的プログラム修正による再実行処理方式 Granted JPS5930145A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57140589A JPS5930145A (ja) 1982-08-12 1982-08-12 動的プログラム修正による再実行処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57140589A JPS5930145A (ja) 1982-08-12 1982-08-12 動的プログラム修正による再実行処理方式

Publications (2)

Publication Number Publication Date
JPS5930145A true JPS5930145A (ja) 1984-02-17
JPS626260B2 JPS626260B2 (ja) 1987-02-09

Family

ID=15272196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57140589A Granted JPS5930145A (ja) 1982-08-12 1982-08-12 動的プログラム修正による再実行処理方式

Country Status (1)

Country Link
JP (1) JPS5930145A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6116344A (ja) * 1984-06-12 1986-01-24 Fujitsu Ltd 対話形式デバツグ処理方式
JPS6214241A (ja) * 1985-07-11 1987-01-22 Fujitsu Ltd 例外条件検出時のデバツグ処理方式
JPS63298645A (ja) * 1987-05-29 1988-12-06 Mitsubishi Electric Corp プログラム試験方式
CN108228312A (zh) * 2016-12-12 2018-06-29 卡巴斯基实验室股份制公司 通过解释器执行代码的系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5723154A (en) * 1980-07-17 1982-02-06 Mitsubishi Electric Corp Test debugging device for program
JPS57100544A (en) * 1980-12-15 1982-06-22 Mitsubishi Electric Corp Debug device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5723154A (en) * 1980-07-17 1982-02-06 Mitsubishi Electric Corp Test debugging device for program
JPS57100544A (en) * 1980-12-15 1982-06-22 Mitsubishi Electric Corp Debug device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6116344A (ja) * 1984-06-12 1986-01-24 Fujitsu Ltd 対話形式デバツグ処理方式
JPS6214241A (ja) * 1985-07-11 1987-01-22 Fujitsu Ltd 例外条件検出時のデバツグ処理方式
JPS63298645A (ja) * 1987-05-29 1988-12-06 Mitsubishi Electric Corp プログラム試験方式
CN108228312A (zh) * 2016-12-12 2018-06-29 卡巴斯基实验室股份制公司 通过解释器执行代码的系统和方法
CN108228312B (zh) * 2016-12-12 2021-11-05 卡巴斯基实验室股份制公司 通过解释器执行代码的系统和方法

Also Published As

Publication number Publication date
JPS626260B2 (ja) 1987-02-09

Similar Documents

Publication Publication Date Title
US7761855B2 (en) Computer program product and system for altering execution flow of a computer program
US7496906B2 (en) Evaluation of a code segment
US5732210A (en) Use of dynamic translation to provide fast debug event checks
US5740351A (en) Apparatus and method for debugging/modifying ROM-based software systems employing and extensible interpreter
JP2001184218A (ja) Mpiプログラムのコンパイルにおける最適化方法
JPS5930145A (ja) 動的プログラム修正による再実行処理方式
JP3196675B2 (ja) 言語処理方式
JPS62113244A (ja) プログラムテスト装置
US11256479B2 (en) Dynamic updates in an interactive programming environment
JPS5922140A (ja) 対話型コンパイル方式
JPS6292032A (ja) プログラムテスト方法
JP2802128B2 (ja) プログラム開発装置
JP2659366B2 (ja) デバッグ方法及びその装置
JP3372387B2 (ja) プログラム検査方法
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH04250530A (ja) プログラム変換/翻訳装置
JPH02100732A (ja) プログラム文法チェック方式
JPH03290739A (ja) プログラムの動的解析方式
JPS61180342A (ja) 高級言語のステツプ実行方式
JPH0353334A (ja) 言語処理プログラムのデバッグ情報出力処理方式
Haulsen et al. Unicstep-a visual stepper for common lisp: portability and language aspects
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPH04307630A (ja) 簡易デバック・オプション付きコンパイラ
JPS63317826A (ja) シンボリックデバッグ方式
JPH04324525A (ja) プログラム移植支援装置