JPH04101237A - Debug processing system - Google Patents

Debug processing system

Info

Publication number
JPH04101237A
JPH04101237A JP2218761A JP21876190A JPH04101237A JP H04101237 A JPH04101237 A JP H04101237A JP 2218761 A JP2218761 A JP 2218761A JP 21876190 A JP21876190 A JP 21876190A JP H04101237 A JPH04101237 A JP H04101237A
Authority
JP
Japan
Prior art keywords
program
interpreter
intermediate language
type
subprogram
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
JP2218761A
Other languages
Japanese (ja)
Inventor
Masatoshi Tsunenari
恒成 雅年
Shunichi Takahashi
俊一 高橋
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP2218761A priority Critical patent/JPH04101237A/en
Publication of JPH04101237A publication Critical patent/JPH04101237A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To execute the debug of a program by an interpreter by executing the dynamic call of the program processed into a dynamic call type when it is detected that the interpreter calls the program of an object type from the program of an intermediate language type. CONSTITUTION:A compiler 102 to convert a source program into the program of the intermediate language type, the interpreter 104 to execute that program of the intermediate language type, and a linker 103 to process the subprogram of the object type into the program of the dynamic call type are provided. Then, when it is detected that the interpreter 104 calls the program of the object type from the program of the intermediate language type, the dynamic call of the program processed into the dynamic call type is executed. Thus, the program of the object type is called dynamically from the program of the intermediate language type, and the program debug is easily executed through the interpreter.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、既存のフンパイル済みのオブジェクト形式
のC0BOLのサブプログラムや、中間語の作成の不可
能なC0BOL以外の言語のオブジェクト形式のサブプ
ログラムを呼び出し利用するC0BOLメインプログラ
ムのデバッグ・実行において、メイン・サブプログラム
のロジックをデバッグ用に加工せずにそのままサブプロ
グラムを呼び出し実行するデバッグ処理方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] This invention is applicable to existing piled object-format C0BOL subprograms and object-format subprograms in languages other than C0BOL in which intermediate language cannot be created. In debugging and executing a COBOL main program that calls and uses , the present invention relates to a debug processing method that calls and executes the subprogram as it is without modifying the logic of the main subprogram for debugging.

〔従来の技術〕[Conventional technology]

インタプリタからサブプログラムを呼び出すC0BOL
プログラムをデバッグする場合、サブプログラムは中間
語で作成されたプログラムでなければならない。既存の
オブジェクト形式のプログラムは中間語形式で生成され
ていないので、インタプリタで実行することはできない
。従って、既存のオブジェクト形式のサブプログラムや
C0BOL以外で作成されたサブプログラムを呼び出す
プログラムをインタプリタで実行する場合は、サブプロ
グラム呼び出し部分のロジックを修正して呼び出さない
ようにし、呼び出しパラメータに結果を仮に代入する処
理を追加する等して、サブプログラムを呼び出したよう
にして処理をつなげて実行していた。
C0BOL calls subprogram from interpreter
When debugging a program, subprograms must be written in intermediate language. Existing object format programs are not generated in intermediate language format, so they cannot be executed by an interpreter. Therefore, when executing a program that calls an existing object-format subprogram or a subprogram created in a language other than C0BOL using an interpreter, modify the logic in the subprogram call part so that it does not call, and temporarily store the result in the call parameter. By adding assignment processing, etc., the processing was executed in a chain as if calling a subprogram.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

インタプリタにおいて、既存のオブジェクト形式のサブ
プログラムや他の言語で作成されたサブプログラムを呼
び出し利用するC0BOLプログラムをデバッグ・実行
する場合に、インタプリタでオブジェクト形式のプログ
ラムを実行できないので、メインプログラムのサブプロ
グラムを呼び出すロジックを修正して呼び出しを行わな
いようにすると同時に呼び出しパラメータに結果を代入
する処理を追加しなければならないという問題がある。
When using an interpreter to debug or execute a C0BOL program that calls and uses existing object-format subprograms or subprograms created in other languages, the main program's subprograms cannot be executed using the interpreter. The problem is that you need to modify the calling logic to prevent the call from occurring, and at the same time add processing to assign the result to the call parameter.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のデバッグ処理方式は、ソースプログラムを中間
語形式のプログラムに変換するコンパイラと、その中間
語形式のプログラムを実行するインタプリタと、オブジ
ェクト形式のサブプログラムを動的呼び出し型のプログ
ラムに加工するリンカとを有し、前記インタプリタが中
間語形式のプログラムからオブジェクト形式のプログラ
ムを呼び出していることを検出したとき、動的呼び出し
型に加工されたプログラムの動的呼び出しを行うように
して構成される。
The debug processing method of the present invention includes a compiler that converts a source program into an intermediate language format program, an interpreter that executes the intermediate language format program, and a linker that processes an object format subprogram into a dynamically called program. and is configured to dynamically call a program processed into a dynamic call type when the interpreter detects that an object format program is being called from an intermediate language format program.

また、本発明のデバッグ処理方式は、動的呼び出し型プ
ログラムをサブプログラムとして呼び出す中間語形式プ
ログラムのデバッグをインタプリタによって実行するよ
うにして実現される。
Further, the debug processing method of the present invention is realized by using an interpreter to debug an intermediate language program that calls a dynamically called program as a subprogram.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例を示す実行環境の概要図であ
る。同図において101はオブジェクト形式のプログラ
ムを作成するコンパイラである。
FIG. 1 is a schematic diagram of an execution environment showing an embodiment of the present invention. In the figure, 101 is a compiler that creates an object format program.

オブジェクト形式プログラムは一般的にはインタプリタ
によるプログラム実行とは関係なく必要に応じて作成さ
れ、ライブラリ化され蓄積されている。102はプログ
ラムをインタプリタの実行する中間語形式のプログラム
として作成するコンパイラである。103はオブジェク
ト形式のプログラムを動的呼び出し型のプログラムに加
工し、動的呼び出し型のライブラリに格納するリンカで
ある。インタプリタ104については後記する。
Object format programs are generally created as needed, regardless of program execution by an interpreter, and stored in a library. A compiler 102 creates a program as an intermediate language program to be executed by an interpreter. A linker 103 processes an object format program into a dynamic call type program and stores it in a dynamic call type library. The interpreter 104 will be described later.

第2図はインタプリタの実行過程を示す説明図である。FIG. 2 is an explanatory diagram showing the execution process of the interpreter.

(201)でインタプリタは中間語形式のデバッグ対象
プログラムをメモリ中にロードする。
At (201), the interpreter loads the debug target program in intermediate language format into memory.

(202)でインタプリタは1命令づつプログラムの実
行を始める。
At (202), the interpreter starts executing the program one instruction at a time.

(203)でプログラム中のCALL命令実行時、イン
タプリタは呼び先のサブプログラム名を認識し、O8に
動的呼び出し型のライブラリの検索と動的呼び出し要求
を行う。
When executing the CALL instruction in the program (203), the interpreter recognizes the name of the called subprogram and requests O8 to search for a dynamic call type library and make a dynamic call request.

(204)で動的呼び出しを行いサブプログラムをメモ
リ中にロードする。
At (204), dynamic calling is performed to load the subprogram into memory.

(205)でサブプログラムへのパラメータセットを行
い、サブプログラムを呼び出す。
At (205), parameters are set for the subprogram and the subprogram is called.

(20B)でサブプログラムは所定の処理を行い、イン
タプリタにリターンする。
At (20B), the subprogram performs predetermined processing and returns to the interpreter.

(207)でサブプログラムからの返却パラメータをメ
インプログラムに渡す。
At (207), the return parameters from the subprogram are passed to the main program.

(208)でメインプログラムの処理を継続し、CAL
L命令の次の命令から実行を継続する。
(208) continues processing the main program, and
Execution continues from the instruction following the L instruction.

(209)でメインプログラムは終了する。The main program ends at (209).

〔発明の効果〕〔Effect of the invention〕

以上、詳細に説明したように本発明のデバッグ処理方式
によればオブジェクト形式プログラムを中間言語形式プ
ログラムから動的に呼び出すことができるので、インタ
プリタを介して容易にプログラムデバッグができるとい
う効果がある。
As described in detail above, according to the debug processing method of the present invention, an object format program can be dynamically called from an intermediate language format program, so that the program can be easily debugged through an interpreter.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例を示す実行環境の概要図、第
2図はインタプリタの動作手順を示す説明図である。 101・・・オブジェクト生成コンパイラ、1o2・・
・中間語生成コンパイラ、1o3・・・リンカ、1゜4
・・・インタプリタ。
FIG. 1 is a schematic diagram of an execution environment showing an embodiment of the present invention, and FIG. 2 is an explanatory diagram showing the operating procedure of an interpreter. 101...Object generation compiler, 1o2...
・Intermediate language generation compiler, 1o3...Linker, 1゜4
...Interpreter.

Claims (1)

【特許請求の範囲】 1、ソースプログラムを中間語形式のプログラムに変換
するコンパイラと、その中間語形式のプログラムを実行
するインタプリタと、オブジェクト形式のサブプログラ
ムを動的呼び出し型のプログラムに加工するリンカとを
有し、前記インタプリタが中間語形式のプログラムから
オブジェクト形式のプログラムを呼び出していることを
検出したとき、動的呼び出し型に加工されたプログラム
の動的呼び出しを行うことを特徴とするデバッグ処理方
式。 2、請求項1記載のデバッグ処理方式において、動的呼
び出し型プログラムをサブプログラムとして呼び出す中
間語形式プログラムのデバッグをインタプリタによって
実行することを特徴とするデバッグ処理方式。
[Claims] 1. A compiler that converts a source program into an intermediate language format program, an interpreter that executes the intermediate language format program, and a linker that processes object format subprograms into a dynamically called program. and a debugging process characterized in that when the interpreter detects that an object format program is called from an intermediate language format program, dynamically calls a program processed into a dynamic call type program. method. 2. The debugging method according to claim 1, wherein debugging of an intermediate language program that calls a dynamically called program as a subprogram is executed by an interpreter.
JP2218761A 1990-08-20 1990-08-20 Debug processing system Pending JPH04101237A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2218761A JPH04101237A (en) 1990-08-20 1990-08-20 Debug processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2218761A JPH04101237A (en) 1990-08-20 1990-08-20 Debug processing system

Publications (1)

Publication Number Publication Date
JPH04101237A true JPH04101237A (en) 1992-04-02

Family

ID=16724989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2218761A Pending JPH04101237A (en) 1990-08-20 1990-08-20 Debug processing system

Country Status (1)

Country Link
JP (1) JPH04101237A (en)

Similar Documents

Publication Publication Date Title
JP2666847B2 (en) Heterogeneous language communication method
EP0474425A2 (en) Arrangement for efficiently transferring program execution between subprograms
WO2015032311A1 (en) Code generation method, compiler, scheduling method, apparatus and scheduling system
JPH01277934A (en) Switching system for parameter list reference method
JPH04101237A (en) Debug processing system
US5388263A (en) Procedure state descriptor system for digital data processors
JPS6378231A (en) Partial program combining system
KR101024707B1 (en) Interpreter call method for bytecode-to-c ahead-of-time compiler
JPH0683597A (en) Object oriented program development device and object oriented program development method
JPH01307825A (en) System for executing dynamic link through interface module
JPH0520093A (en) Method and device for compilation of module
JPS63292338A (en) Optimized program debugging system
JPS61180344A (en) Step execution system for high level language
JPH02219129A (en) Call-back system
JPS62205434A (en) Compiling processing system for program capable of recursive call
JPH03177930A (en) Compiling code generation processing method
JPH03278232A (en) Exclusive control system for non-reentrant structure subroutine
JPS63245729A (en) Program calling system
JPH01121939A (en) Program converting system
JPH01251239A (en) Debugging device
JPH0196741A (en) Common section system in debugger
JPS63316136A (en) Function call processing system
JPH02130637A (en) Source code translating system
JPH10293691A (en) Register allocating method
JPH0588934A (en) Debugging system