JPH04101237A - Debug processing system - Google Patents
Debug processing systemInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000011017 operating method Methods 0.000 description 1
Abstract
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.
インタプリタからサブプログラムを呼び出す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.
インタプリタにおいて、既存のオブジェクト形式のサブ
プログラムや他の言語で作成されたサブプログラムを呼
び出し利用する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.
本発明のデバッグ処理方式は、ソースプログラムを中間
語形式のプログラムに変換するコンパイラと、その中間
語形式のプログラムを実行するインタプリタと、オブジ
ェクト形式のサブプログラムを動的呼び出し型のプログ
ラムに加工するリンカとを有し、前記インタプリタが中
間語形式のプログラムからオブジェクト形式のプログラ
ムを呼び出していることを検出したとき、動的呼び出し
型に加工されたプログラムの動的呼び出しを行うように
して構成される。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.
次に、本発明について図面を参照して説明する。 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).
以上、詳細に説明したように本発明のデバッグ処理方式
によればオブジェクト形式プログラムを中間言語形式プ
ログラムから動的に呼び出すことができるので、インタ
プリタを介して容易にプログラムデバッグができるとい
う効果がある。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.
第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)
するコンパイラと、その中間語形式のプログラムを実行
するインタプリタと、オブジェクト形式のサブプログラ
ムを動的呼び出し型のプログラムに加工するリンカとを
有し、前記インタプリタが中間語形式のプログラムから
オブジェクト形式のプログラムを呼び出していることを
検出したとき、動的呼び出し型に加工されたプログラム
の動的呼び出しを行うことを特徴とするデバッグ処理方
式。 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.
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) |
-
1990
- 1990-08-20 JP JP2218761A patent/JPH04101237A/en active Pending
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 |