JPS626260B2 - - Google Patents

Info

Publication number
JPS626260B2
JPS626260B2 JP57140589A JP14058982A JPS626260B2 JP S626260 B2 JPS626260 B2 JP S626260B2 JP 57140589 A JP57140589 A JP 57140589A JP 14058982 A JP14058982 A JP 14058982A JP S626260 B2 JPS626260 B2 JP S626260B2
Authority
JP
Japan
Prior art keywords
program
execution
source program
load module
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.)
Expired
Application number
JP57140589A
Other languages
English (en)
Other versions
JPS5930145A (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; CALCULATING OR 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)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はプログラムの動的修正と再実行とを容
易迅速に行なうための処理方式に関し、特にプロ
グラムの開発時において多発するテストあるいは
デバツグとプログラム修正、再実行のサイクルを
短縮し、効率化するための処理方式に関する。
〔技術の背景〕
一般にプログラムは、第1図に示すように、ソ
ースプログラム1をコンパイラによりオブジエク
トプログラム2に翻訳し、リンキングローダによ
りライブラリ3の入出力ルーチン等と結合編集を
行ないロードモジユール4を作成する過程を経て
実行される。そしてロードモジユール4の実行時
のデバツグにより検出されたバグ(プログラムエ
ラー)からソースレベルの修正プログラム5が作
成され、ソースプログラム1の修正に反映され
る。修正されたソースプログラムは、再びコンパ
イラによりオブジエクトプログラムに翻訳され、
リンキングローダによりロードモジユールに変換
して再実行される。
従来、ソースプログラム修正から再実行までの
過程は、別々のジヨブとして行なわれていたた
め、処理に時間を要し、プログラム開発時間を短
縮するうえで大きな障害となつていた。
他方、プログラム修正から再実行までの過程を
簡単化する方式として、インタプリタ方式をとる
ことが考えられる。インタプリタ方式は、第2図
に示すように、ソースプログラム1の各ステート
メントについて、逐次、中間コード(インタプリ
タ言語とも呼ばれ、それぞれサブルーチンに対応
する)6に翻訳し実行するものであつて、修正プ
ログラム5で示すように、ソースプログラムの各
ステートメントを修正変更しても、第1図のコン
パイラを用いる方式のような再コンパイルの必要
はなく、単にその修正変更されたステートメント
を再実行すれば、直ちに新しい中間コードテキス
トへの翻訳を行なうことが可能となる。インタプ
リタ方式は、上記したように、ソースプログラム
の修正および再実行を容易なものにするが、本質
的にコンパイラを用いる方式に較べて処理能率が
悪い点に問題がある。
〔発明の目的および構成〕
本発明の目的は、プログラムの翻訳、結合編
集、実行、プログラム修正、再実行というプログ
ラム開発のサイクルを1つのシステム上で実現す
ることにあり、特に部分的な修正および再実行を
即座に可能にするシステムを提供することにあ
る。
本発明は、そのための手段として、修正された
プログラム部分の再実行についてのみ、インタプ
リタによるソースプログラムの直接的解釈実行を
行なう方式を採用することにより、上記目的を達
成するものであり、その構成として、ソースプロ
グラムをロードモジユール形式に変換して実行す
るデータ処理システムにおいて、実行中のソース
プログラムおよびエラーメツセージ等のプログラ
ム実行状態を表示する手段と、プログラム修正の
ための編集処理手段と、インタプリタ手段とをそ
なえ、上記ロードモジユール形式によるプログラ
ム実行中にエラーが検出されたとき、対応するソ
ースプログラムについてのエラーメツセージを上
記プログラム実行状態表示手段により表示して、
ソースプログラムレベルでのエラー修正を可能に
し、上記編集処理手段は当該ソースプログラムの
修正処理において機能化され、修正されたソース
プログラムは上記インタプリタ手段により再実行
されることを特徴とするものである。
〔発明の実施例〕
以下に、本発明を実施例にしたがつて説明す
る。
第3図は、本発明実施例の基本構成を示す説明
図である。同図において、7はロードモジユール
実行段階、8はソースプログラム修正段階、9は
修正されたソースプログラムのインタプリタによ
る再実行段階、10はCRTなどのプログラム実
行状態表示部を示す。
ロードモジユール実行段階7のロードモジユー
ルは、第1図で説明したロードモジユール4に相
当する。プログラム実行状態表示部10の画面
は、ソース域、データ域、コマンド入力域からな
り、ソース域には、実行中のロードモジユールに
対応するソースプログラムが表示される。特に、
ソースプログラム中の実行位置のステートメント
については、輝度を上げるか色調を変えることに
より、識別が容易にされている。データ表示域に
は、実行結果やエラー発生時のエラー内容などが
表示される。またコマンド入力域には、サブコマ
ンドやエラー発生メツセージなどの状態表示、入
力コマンド表示に使用される。なお、プログラム
の実行速度は、デバツグ状況に応じて変更可能さ
れている。
ロードモジユール実行段階7においてエラーが
検出されたとき、プログラム実行は停止し、上記
したプログラム状態表示部10にエラーメツセー
ジが表示される。プログラム開発者は、画面表示
からエラー発生ステートメントおよびそのエラー
内容を知り、プログラム修正段階8に移る。ここ
で、エデイタを用いて画面上でソースプログラム
を修正し、再実行段階9を開始させる。
再実行段階9では、修正されたソースプログラ
ムを、直接、インタプリタ方式により逐次解放し
て実行する。プログラム修正は、主プログラム、
サブルーチン等の分割されたプログラム単位に対
して行なわれるため、インタプリタ方式による実
行は、その修正のあつたプログラム単位について
適用される。修正されたプログラム単位について
インタプリタ方式による実行が終了すると、次の
プログラム単位から、再びロードモジユールによ
る実行に戻される。
以上のようにして、プログラム修正部分に対し
てはインタプリタ方式を適用することにより再実
行を簡単化するとともに、インタプリタによる実
行範囲を、修正されたプログラム単位に限ること
により、処理能率の低下を最小限に抑えることが
できる。
第4図は、本発明実施例システムの構成図であ
る。同図において、11は処理装置、12はプロ
グラム実行状態管理部、13は命令実行制御部、
14はエデイタ部、15はインタプリタ部、16
はメモリ、17はロードモジユール、18はソー
スプログラム、19はインタプリタ中間テキス
ト、20は利用者指定のソースプログラムデータ
セツト、21はFORTRANコンパイラ、22は
FORTRANライブラリ、23はプログラム実行
状態表示部、24は入力部を示している。
プログラム実行状態管理部12は、本実施例に
おいてプログラムのテストおよび修正のための環
境を管理し、入力部24から入力される各種コマ
ンドの解釈実行、表示部23の表示制御などを行
なう。
命令実行制御部13は、ロードモジユール1
7、あるいはインタプリタ部15により解釈され
た命令をハードレベルで実行する。プログラム実
行状態管理部12は、命令実行制御部13、エデ
イタ部14およびインタプリタ部15との間にイ
ンタフエースを有し、それぞれ実行を管理制御す
る。
第5図は、第4図に示す実施例システムのイン
タプリタ部15およびロードモジユール17を中
心とした詳細な動作説明図である。以下、第4図
を参照しつつ第5図にしたがつて説明する。なお
本実施例は、FORTRANプログラムを対象とす
るものである。
利用者指定のソースプログラム20は、まず
FORTRANコンパイラ21により、TESTオプ
シヨン付きでコンパイルされ、オブジエクトプロ
グラムに変換される。このオブジエクトは、更に
FORTRANライブラリ21および利用者指定の
オブジエクト/ロードモジユールと共に、ローダ
により結合編集され、ロードモジユール17が作
成される。
命令実行制御部13がロードモジユール17を
実行している過程でエラーが発生されると、プロ
グラム実行状態管理部12は、表示部23にエラ
ー発生状態を表示する。
本発明による動的プログラムエラーの修正は、
プログラム実行中の静止状態において、表示部2
3の実行画面上で行なうものである。
しかし、どの静止状態でも、どんなプログラム
修正をも可能にすることは不可能である。プログ
ラム修正は、次の静止状態でのみ行なうことがで
きる。
Γ実行モードによる静止状態 ΓARGCHK/SUBCHKエラーによる静止状態 Γデータモニタ条件成立による静止状態 Γプログラム実行開始直前の静止状態 Γプログラム実行終了後の静止状態 上記以外の Γ実行時エラーによる静止状態 ΓREAD文による静止状態 ΓPAUSE文による静止状態 ΓWRITE文中のログデータセツトエラーによる
静止状態 Γ出口ルーチン登録・削除要求時の静止状態 は、ライブラリ動作中の静止状態であり、その文
の実行を途中で打切ることができないので、これ
らの静止状態ではプログラム修正を行なうことは
できない。
また、プログラムの修正内容については、次に
例示するような制約を設ける。
Γ宣言文の修正、追加、削除は、新規データに対
するDIMENSION文/型宣言文の追加以外は不
可とする。
Γロードモジユール中に存在しない関数・サブル
ーチン・I/Oの呼出しは不可とする。
Γプログラム単位文、END文の修正・追加・削
除は不可とする。ただし、プログラム単位文の
仮引数並びの修正は可とする。
修正可能な文の主なものは、代入文、制御文、
入出力文である。
また、次の修正が行なわれた場合には、プログ
ラム実行再開位置を指示しなければならない。
Γ実行中の文の修正・削除を行なつたとき Γ実行中DOループのDO文の修正を行なつたとき Γ実行中の文または次に実行すべき文を含むDO
ループの追加を行なつたとき Γプログラム単位文の修正を行なつたとき 以上のような条件下で、利用者は、エデイタ部
14を機能化し、表示部23の画面に表示されて
いる実行中のソースプログラムを、入力部24か
ら操作して修正する。プログラム修正が行なわれ
ると、プログラム実行状態管理部12に再実行サ
ブコマンドで指示して、インタプリタ部15に制
御を渡し、インタプリタ部15は修正の行なわれ
たプログラム単位内の指示された文から、インタ
プリタ方式により順次解釈実行を開始する。
このとき、プログラム実行状態管理部12がロ
ードモジユール実行とインタプリタ実行とを同一
のインタフエースで制御できるように、各文実行
直前、I/O処理、プロローグ、エピローグ等の
TESTオブシヨンのオブジエクトと同じタイミン
グで、プログラム実行制御部13の呼び出しを行
なう。
インタプリタ部15は、前処理部、解釈部、実
行部からなり、次のような機能をもつ。
前処理部 プログラム修正に備えて、プログラム単位毎
に次の宣言文等の情報を作成する。
ΓIMPLICIT文、PARAMETER文、
EXTERNAL文、INTRINSIC文、
NAMELIST文、文関数定義文、FORMAT
文および変数名に関する情報 Γソースプログラムの行および文に関する情報 Γ文番号の定義・参照情報 解釈部 プログラム修正情報を入力として、解釈を行
ない中間テキスト19の生成を行なう。このと
き、基本となる情報は、で作成した情報とロ
ードモジユール中の記号表および文識別番号表
である。また、プログラム修正による変化を各
種テーブルに反映する。
実行部 実行を依頼されたプログラム単位の実行を制
御し、TESTオプシヨン付きでコンパイルされ
たオブジエクトと同じタイミングでプログラム
実行制御部13を呼び出し、実行を行なわせ
る。
インタプリタ部15の一般的な機能は、従来か
ら使用されているものと同様である。ただし、本
実施例においては、記号表および文識別番号表
は、ロードモジユールとのインタフエースをとる
ため、ロードモジユール17中のものを利用す
る。
〔発明の効果〕
以上述べたように、本発明による方式は、イン
タプリタによる実行をプログラム修正部分に限つ
ているため、処理速度をそれ程落すことなく修
正・再実行を容易かつ迅速化することができる。
【図面の簡単な説明】
第1図および第2図は従来のプログラム実行お
よび修正方式の説明図、第3図は本発明実施例の
基本構成説明図、第4図は実施例システム構成
図、第5図は動作説明図である。 図中、7はロードモジユール実行段階、8はソ
ースプログラム修正段階、9はインタプリタによ
る再実行段階、10はプログラム実行状態表示部
を示す。

Claims (1)

    【特許請求の範囲】
  1. 1 ソースプログラムをロードモジユール形式に
    変換して実行するデータ処理システムにおいて、
    実行中のソースプログラムおよびエラーメツセー
    ジ等のプログラム実行状態を表示する手段と、プ
    ログラム修正のための編集処理手段と、インタプ
    リタ手段とをそなえ、上記ロードモジユール形式
    によるプログラム実行中にエラーが検出されたと
    き、対応するソースプログラムについてのエラー
    メツセージを上記プログラム実行状態表示手段に
    より表示して、ソースプログラムレベルでのエラ
    ー修正を可能にし、上記編集処理手段は当該ソー
    スプログラムの修正処理において機能化され、修
    正されたソースプログラムは上記インタプリタ手
    段により再実行されることを特徴とする動的プロ
    グラム修正による再実行処理方式。
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 JPS5930145A (ja) 1984-02-17
JPS626260B2 true 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)

Families Citing this family (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 プログラム試験方式
RU2634171C1 (ru) * 2016-12-12 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ выполнения кода интерпретатором

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

Also Published As

Publication number Publication date
JPS5930145A (ja) 1984-02-17

Similar Documents

Publication Publication Date Title
US7761855B2 (en) Computer program product and system for altering execution flow of a computer program
US5317688A (en) Software agent used to provide instruction to a user for a plurality of computer applications
JP4901075B2 (ja) コンピュータ読取可能な媒体、方法及びコンピューティングデバイス
US7496906B2 (en) Evaluation of a code segment
US5732210A (en) Use of dynamic translation to provide fast debug event checks
US8997049B1 (en) Method and system for debugging of compiled code using an interpreter
US20040059961A1 (en) Dynamic breakpoints for computer software
US5740351A (en) Apparatus and method for debugging/modifying ROM-based software systems employing and extensible interpreter
JPH07230386A (ja) データ処理装置及び制御ルーチン呼出し方法
JPS626260B2 (ja)
JP3196675B2 (ja) 言語処理方式
JPS62113244A (ja) プログラムテスト装置
EP0417916B1 (en) Procedure state descriptor system for digital data processors
JPH0554277A (ja) プラント監視装置
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPS6292032A (ja) プログラムテスト方法
JP2659366B2 (ja) デバッグ方法及びその装置
JP3372387B2 (ja) プログラム検査方法
JPH1165885A (ja) ソフトウェアディバッグ装置及びソフトウェアディバッグ方法
JPH05250221A (ja) シミュレータ実行方式
JPH0353334A (ja) 言語処理プログラムのデバッグ情報出力処理方式
JPS62108338A (ja) プログラムテスト装置
Gorham Reference Manual of the Lua Debugger 1.0 (beta)
JPH04250530A (ja) プログラム変換/翻訳装置