JPH04316133A - System for processing program interpreter - Google Patents
System for processing program interpreterInfo
- Publication number
- JPH04316133A JPH04316133A JP10972391A JP10972391A JPH04316133A JP H04316133 A JPH04316133 A JP H04316133A JP 10972391 A JP10972391 A JP 10972391A JP 10972391 A JP10972391 A JP 10972391A JP H04316133 A JPH04316133 A JP H04316133A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate language
- source code
- source
- program
- storage area
- 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
- 238000012545 processing Methods 0.000 claims description 44
- 238000013519 translation Methods 0.000 claims description 28
- 238000003672 processing method Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明はソースプログラムを入力
し中間語プログラムに翻訳しながら実行していくインタ
プリタにおけるプログラムのインタプリタ処理方式に関
し、特に一度生成された中間語を保存して再度同じ部分
(その中間語に対応するソースコード)が実行される場
合にその中間語(保存されている中間語)を参照して実
行を行うインタプリタにおけるプログラムのインタプリ
タ処理方式に関する。[Field of Industrial Application] The present invention relates to a program interpreter processing method in an interpreter that inputs a source program and executes it while translating it into an intermediate language program. The present invention relates to an interpreter processing method for a program in an interpreter that refers to the intermediate language (stored intermediate language) and executes the source code corresponding to the intermediate language.
【0002】0002
【従来の技術】従来、この種のプログラムのインタプリ
タ処理方式では、同一のソースコードが複数回実行され
る場合にも、実行される毎にそのソースコードが翻訳さ
れて中間語が生成されていた。[Prior Art] Conventionally, in interpreter processing methods for this type of program, even when the same source code is executed multiple times, the source code is translated and an intermediate language is generated each time it is executed. .
【0003】0003
【発明が解決しようとする課題】上述した従来のプログ
ラムのインタプリタ処理方式では、同一のソースコード
が複数回実行される場合にも実行される毎にそのソース
コードが翻訳されて中間語が生成されているので、同一
のソースコードに対応する中間語が複数回生成されるこ
ととなり、プログラムの実行速度の向上を図る上で支障
が生じるという欠点があった。[Problem to be Solved by the Invention] In the conventional program interpreter processing method described above, even when the same source code is executed multiple times, the source code is translated and an intermediate language is generated each time it is executed. As a result, intermediate words corresponding to the same source code are generated multiple times, which poses a problem in improving the program execution speed.
【0004】本発明の目的は、上述の点に鑑み、一度中
間語に翻訳されたソースコードが再度実行される際にそ
のソースコードに関する翻訳処理を不要にし、プログラ
ムの実行速度の向上を図るプログラムのインタプリタ処
理方式を提供することにある。SUMMARY OF THE INVENTION In view of the above-mentioned points, an object of the present invention is to provide a program that improves the execution speed of a program by eliminating the need for translation processing for the source code when the source code that has been translated into an intermediate language is executed again. The purpose of this invention is to provide an interpreter processing method.
【0005】[0005]
【課題を解決するための手段】本発明のプログラムのイ
ンタプリタ処理方式は、一度生成された中間語を保存し
て再度同じ部分が実行される場合にその中間語を参照し
て実行を行うインタプリタにおけるプログラムのインタ
プリタ処理方式において、ソースプログラム中のソース
コードを読み込むソースプログラム読込み手段と、この
ソースプログラム読込み手段により読み込まれたソース
コードに関する翻訳処理が処理済みであるか未処理であ
るかを中間語ソースプログラム対応テーブルの参照によ
って確認し処理済みの場合に中間語格納域からそのソー
スコードに対応する中間語を取り出す中間語格納域検索
手段と、前記ソースプログラム読込み手段により読み込
まれたソースコードに関する翻訳処理が未処理の場合に
そのソースコードを中間語に翻訳する翻訳処理手段と、
この翻訳処理手段により生成された中間語を中間語格納
域に格納しその中間語に関する「ソースコードと中間語
との対応付けを示す情報」を中間語ソースプログラム対
応テーブルに登録する中間語格納域登録手段と、前記ソ
ースプログラム読込み手段により読み込まれたソースコ
ードに対応する中間語を実行する実行処理手段とを有す
る。[Means for Solving the Problems] The program interpreter processing method of the present invention saves an intermediate word once generated, and when the same part is executed again, the interpreter executes the program by referring to the intermediate word. In a program interpreter processing method, a source program reading means reads the source code in the source program, and an intermediate language source that determines whether translation processing for the source code read by this source program reading means has been processed or unprocessed. intermediate language storage area search means for checking by referring to a program correspondence table and retrieving an intermediate language corresponding to the source code from the intermediate language storage area if the processing has been completed; and translation processing for the source code read by the source program reading means. a translation processing means for translating the source code into an intermediate language when the source code is unprocessed;
The intermediate language generated by this translation processing means is stored in the intermediate language storage area, and the "information indicating the correspondence between the source code and the intermediate language" related to the intermediate language is registered in the intermediate language source program correspondence table. It has a registration means, and an execution processing means for executing an intermediate language corresponding to the source code read by the source program reading means.
【0006】[0006]
【作用】本発明のプログラムのインタプリタ処理方式で
は、ソースプログラム読込み手段がソースプログラム中
のソースコードを読み込み、中間語格納域検索手段がソ
ースプログラム読込み手段により読み込まれたソースコ
ードに関する翻訳処理が処理済みであるか未処理である
かを中間語ソースプログラム対応テーブルの参照によっ
て確認し処理済みの場合に中間語格納域からそのソース
コードに対応する中間語を取り出し、翻訳処理手段がソ
ースプログラム読込み手段により読み込まれたソースコ
ードに関する翻訳処理が未処理の場合にそのソースコー
ドを中間語に翻訳し、中間語格納域登録手段が翻訳処理
手段により生成された中間語を中間語格納域に格納しそ
の中間語に関する「ソースコードと中間語との対応付け
を示す情報」を中間語ソースプログラム対応テーブルに
登録し、実行処理手段がソースプログラム読込み手段に
より読み込まれたソースコードに対応する中間語を実行
する。[Operation] In the program interpreter processing method of the present invention, the source program reading means reads the source code in the source program, and the intermediate language storage area search means has completed the translation process regarding the source code read by the source program reading means. It is checked by referring to the intermediate language source program correspondence table whether the source code is unprocessed or unprocessed, and if the intermediate language has been processed, the intermediate language corresponding to the source code is retrieved from the intermediate language storage area, and the translation processing means uses the source program reading means to retrieve the intermediate language corresponding to the source code. If the translation processing for the loaded source code has not yet been processed, the source code is translated into an intermediate language, and the intermediate language storage area registration means stores the intermediate language generated by the translation processing means in the intermediate language storage area. "Information indicating the correspondence between the source code and the intermediate language" regarding the word is registered in the intermediate language source program correspondence table, and the execution processing means executes the intermediate language corresponding to the source code read by the source program reading means.
【0007】[0007]
【実施例】次に、本発明について図面を参照して詳細に
説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be explained in detail with reference to the drawings.
【0008】図1は、本発明のプログラムのインタプリ
タ処理方式の一実施例の構成を示すブロック図である。
本実施例のプログラムのインタプリタ処理方式は、ソー
スプログラムの読込み処理,翻訳処理および実行処理等
を管理するインタプリタ処理手段1と、「ソースコード
と中間語との対応付けを示す情報」が格納される中間語
ソースプログラム対応テーブル7と、翻訳処理手段4に
より生成された中間語が格納される中間語格納域8と、
利用者により作成されたソースプログラムが格納される
ソースプログラムファイル9とを含んで構成されている
。FIG. 1 is a block diagram showing the structure of an embodiment of a program interpreter processing method according to the present invention. The program interpreter processing method of this embodiment includes an interpreter processing means 1 that manages source program reading processing, translation processing, execution processing, etc., and "information indicating the correspondence between source code and intermediate language" is stored. an intermediate language source program correspondence table 7; an intermediate language storage area 8 in which the intermediate language generated by the translation processing means 4 is stored;
It is configured to include a source program file 9 in which a source program created by a user is stored.
【0009】インタプリタ処理手段1は、ソースプログ
ラムファイル9内のソースプログラム中のソースコード
を読み込むソースプログラム読込み手段2と、ソースプ
ログラム読込み手段2により読み込まれたソースコード
に関する翻訳処理が処理済みであるか未処理であるかを
中間語ソースプログラム対応テーブル7の参照によって
確認して翻訳処理が処理済みの場合に中間語格納域8か
らそのソースコードに対応する中間語を取り出す中間語
格納域検索手段3と、ソースプログラム読込み手段2に
より読み込まれたソースコードに関する翻訳処理が未処
理の場合にそのソースコードを中間語に翻訳する翻訳処
理手段4と、翻訳処理手段4により生成された中間語を
中間語格納域8に格納しその中間語に関する「ソースコ
ードと中間語との対応付けを示す情報」を中間語ソース
プログラム対応テーブル7に登録する中間語格納域登録
手段5と、ソースプログラム読込み手段2により読み込
まれたソースコードに対応する中間語を実際に実行する
実行処理手段6とを含んで構成されている。The interpreter processing means 1 includes a source program reading means 2 for reading the source code in the source program in the source program file 9, and whether the translation processing for the source code read by the source program reading means 2 has been completed. Intermediate language storage area search means 3 that checks whether the source code is unprocessed by referring to the intermediate language source program correspondence table 7 and retrieves the intermediate language corresponding to the source code from the intermediate language storage area 8 if the translation process has been completed. , a translation processing means 4 for translating the source code read by the source program reading means 2 into an intermediate language when the translation processing for the source code has not been processed; The intermediate language storage area registration means 5 stores in the storage area 8 and registers "information indicating the correspondence between the source code and the intermediate language" regarding the intermediate language in the intermediate language source program correspondence table 7, and the source program reading means 2. It is configured to include an execution processing means 6 that actually executes the intermediate language corresponding to the read source code.
【0010】なお、中間語ソースプログラム対応テーブ
ル7内の「ソースコードと中間語との対応付けを示す情
報」は、翻訳処理が処理済みのソースコードの位置を示
す情報(ソースプログラムにおける行番号等)と、その
ソースコードに対応する中間語の中間語格納域8におけ
る位置(以下、中間語格納位置という)を示す情報とか
らなる。[0010] The "information indicating the correspondence between the source code and the intermediate language" in the intermediate language source program correspondence table 7 is information indicating the position of the source code that has been translated (such as the line number in the source program). ) and information indicating the position of the intermediate language corresponding to the source code in the intermediate language storage area 8 (hereinafter referred to as intermediate language storage position).
【0011】図2は、中間語格納域検索手段3の処理を
示す流れ図である。この処理は、中間語ソースプログラ
ム対応テーブル検索ステップ31と、翻訳済み確認ステ
ップ32と、翻訳処理手段制御移行ステップ33と、中
間語取得ステップ34と、実行処理手段制御移行ステッ
プ35とからなる。FIG. 2 is a flowchart showing the processing of the intermediate language storage area search means 3. This process consists of an intermediate language source program correspondence table search step 31, a translated confirmation step 32, a translation processing means control transfer step 33, an intermediate language acquisition step 34, and an execution processing means control transfer step 35.
【0012】次に、このように構成された本実施例のプ
ログラムのインタプリタ処理方式の動作について説明す
る。Next, the operation of the program interpreter processing system of this embodiment configured as described above will be explained.
【0013】インタプリタ処理手段1内のソースプログ
ラム読込み手段2は、ソースプログラムファイル9内の
ソースプログラムからソースコードを逐次読み込む。The source program reading means 2 in the interpreter processing means 1 sequentially reads source codes from the source programs in the source program file 9.
【0014】中間語格納域検索手段3は、ソースプログ
ラム読込み手段2によって読み込まれたソースコードに
関して、以下に示すような処理を行う(図2参照)。The intermediate language storage area searching means 3 performs the following processing on the source code read by the source program reading means 2 (see FIG. 2).
【0015】中間語ソースプログラム対応テーブル7の
参照および検索を行い(ステップ31)、そのソースコ
ードの翻訳処理が処理済みであるか未処理であるか(そ
のソースコードに関する「ソースコードと中間語との対
応付けを示す情報」が中間語ソースプログラム対応テー
ブル7内に存在するか否か)を確認する(ステップ32
)。The intermediate language source program correspondence table 7 is referred to and searched (step 31), and whether the source code has been translated or unprocessed (the source code and intermediate language (Step 32)
).
【0016】この確認でそのソースコードの翻訳処理が
未処理の場合には、翻訳処理手段4に制御を移す(ステ
ップ33)。[0016] If it is determined that the source code has not yet been translated, control is transferred to the translation processing means 4 (step 33).
【0017】ステップ33の確認でそのソースコードの
翻訳処理が処理済みである場合には、そのソースコード
に関する「ソースコードと中間語との対応付けを示す情
報」中の中間語格納位置に基づいてそのソースコードに
対応する中間語を中間語格納域8から取り出し(ステッ
プ34)、実行処理手段6に制御を移す(ステップ35
)。[0017] If it is confirmed in step 33 that the translation process for the source code has been completed, based on the intermediate word storage position in the "information indicating the correspondence between the source code and the intermediate word" regarding the source code. The intermediate language corresponding to the source code is retrieved from the intermediate language storage area 8 (step 34), and control is transferred to the execution processing means 6 (step 35).
).
【0018】翻訳処理手段4は、中間語格納域検索手段
3によって「翻訳処理が未処理である」ことが確認され
た場合にのみ起動され(図2ステップ33参照)、ソー
スプログラム読込み手段2によって読み込まれたソース
コードを中間語に翻訳し、中間語格納域登録手段5に制
御を移す。The translation processing means 4 is activated only when it is confirmed by the intermediate language storage area search means 3 that "translation processing is unprocessed" (see step 33 in FIG. 2), and the translation processing means 4 is activated by the source program reading means 2. The read source code is translated into an intermediate language, and control is transferred to the intermediate language storage area registration means 5.
【0019】中間語格納域登録手段5は、翻訳処理手段
4で生成(翻訳)された中間語を中間語格納域8に格納
し、その中間語に関する「ソースコードと中間語との対
応付けを示す情報」を中間語ソースプログラム対応テー
ブル7に登録する。The intermediate language storage area registration means 5 stores the intermediate language generated (translated) by the translation processing means 4 in the intermediate language storage area 8, and performs "correlation between source code and intermediate language" regarding the intermediate language. ” is registered in the intermediate language source program correspondence table 7.
【0020】実行処理手段6は、ソースプログラム読込
み手段2によって読み込まれたソースコードに対応する
中間語、すなわち中間語格納域検索手段3で中間語格納
域8から取り出された中間語または翻訳処理手段4で生
成された中間語を入力し、その中間語を実際に実行する
。The execution processing means 6 is an intermediate word corresponding to the source code read by the source program reading means 2, that is, an intermediate word retrieved from the intermediate language storage area 8 by the intermediate language storage area search means 3, or a translation processing means. Input the intermediate word generated in step 4 and actually execute the intermediate word.
【0021】[0021]
【発明の効果】以上説明したように本発明は、一度中間
語に翻訳されたソースコードが再度実行される際にその
ソースコードに関する翻訳処理が不要になることにより
、プログラムの実行速度の向上を図ることができるとい
う効果がある。[Effects of the Invention] As explained above, the present invention improves the execution speed of a program by eliminating the need for translation processing when a source code that has been translated into an intermediate language is executed again. This has the effect of being able to achieve this goal.
【図1】本発明の一実施例の構成を示すブロック図であ
る。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
【図2】図1中の中間語格納域検索手段の処理を示す流
れ図である。FIG. 2 is a flowchart showing the processing of the intermediate language storage area search means in FIG. 1;
1 インタプリタ処理手段
2 ソースプログラム読込み手段
3 中間語格納域検索手段
4 翻訳処理手段
5 中間語格納域登録手段
6 実行処理手段
7 中間語ソースプログラム対応テーブル8 中間
語格納域
9 ソースプログラムファイル1 Interpreter processing means 2 Source program reading means 3 Intermediate language storage area search means 4 Translation processing means 5 Intermediate language storage area registration means 6 Execution processing means 7 Intermediate language source program correspondence table 8 Intermediate language storage area 9 Source program file
Claims (1)
同じ部分が実行される場合にその中間語を参照して実行
を行うインタプリタにおけるプログラムのインタプリタ
処理方式において、ソースプログラム中のソースコード
を読み込むソースプログラム読込み手段と、このソース
プログラム読込み手段により読み込まれたソースコード
に関する翻訳処理が処理済みであるか未処理であるかを
中間語ソースプログラム対応テーブルの参照によって確
認し、処理済みの場合に中間語格納域からそのソースコ
ードに対応する中間語を取り出す中間語格納域検索手段
と、前記ソースプログラム読込み手段により読み込まれ
たソースコードに関する翻訳処理が未処理の場合にその
ソースコードを中間語に翻訳する翻訳処理手段と、この
翻訳処理手段により生成された中間語を中間語格納域に
格納しその中間語に関する「ソースコードと中間語との
対応付けを示す情報」を中間語ソースプログラム対応テ
ーブルに登録する中間語格納域登録手段と、前記ソース
プログラム読込み手段により読み込まれたソースコード
に対応する中間語を実行する実行処理手段とを有するこ
とを特徴とするプログラムのインタプリタ処理方式。Claim 1: In an interpreter processing method for a program in an interpreter that saves an intermediate word once generated and executes the same part by referring to the intermediate word when the same part is executed again, the source code in the source program is Check the source program reading means to be read and whether the translation processing for the source code read by this source program reading means has been processed or unprocessed by referring to the intermediate language source program correspondence table, and if it has been processed, intermediate language storage area searching means for extracting an intermediate language corresponding to the source code from the intermediate language storage area; The translation processing means to be translated and the intermediate language generated by this translation processing means are stored in the intermediate language storage area, and "information indicating the correspondence between the source code and the intermediate language" regarding the intermediate language is stored in the intermediate language source program correspondence table. 1. A program interpreter processing method, comprising: an intermediate language storage area registration means for registering an intermediate language storage area; and an execution processing means for executing an intermediate language corresponding to a source code read by the source program reading means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10972391A JPH04316133A (en) | 1991-04-15 | 1991-04-15 | System for processing program interpreter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10972391A JPH04316133A (en) | 1991-04-15 | 1991-04-15 | System for processing program interpreter |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04316133A true JPH04316133A (en) | 1992-11-06 |
Family
ID=14517595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10972391A Pending JPH04316133A (en) | 1991-04-15 | 1991-04-15 | System for processing program interpreter |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04316133A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06337940A (en) * | 1993-05-27 | 1994-12-06 | Internatl Business Mach Corp <Ibm> | Method and equipment for emulation |
JP2002527815A (en) * | 1998-10-10 | 2002-08-27 | ヴィクトリア・ユニバーシティ・オブ・マンチェスター | Program code conversion method |
-
1991
- 1991-04-15 JP JP10972391A patent/JPH04316133A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06337940A (en) * | 1993-05-27 | 1994-12-06 | Internatl Business Mach Corp <Ibm> | Method and equipment for emulation |
JP2002527815A (en) * | 1998-10-10 | 2002-08-27 | ヴィクトリア・ユニバーシティ・オブ・マンチェスター | Program code conversion method |
JP2010198629A (en) * | 1998-10-10 | 2010-09-09 | Internatl Business Mach Corp <Ibm> | Program code conversion method |
US8006237B2 (en) | 1998-10-10 | 2011-08-23 | International Business Machines Corporation | Program code conversion |
US8037461B2 (en) | 1998-10-10 | 2011-10-11 | International Business Machines Corporation | Program code conversion |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3130446B2 (en) | Program conversion device and processor | |
JPH056894B2 (en) | ||
JPH04316133A (en) | System for processing program interpreter | |
JPH08123697A (en) | Emulation speeding-up system | |
JPH04281533A (en) | Interpreter processing system for program | |
JPH0552539B2 (en) | ||
JPH05274341A (en) | Vector instruction processor | |
JP2000305790A (en) | Label address converting device and its method and computer readable medium | |
JPH0498461A (en) | Keyword extracting device | |
JPH07244601A (en) | Method and device for accessing relational data base | |
JPH0250731A (en) | Compiling device | |
JP3563324B2 (en) | Search system, search method, and recording medium | |
JPH03139727A (en) | Advanced controller | |
JPH04186433A (en) | Rapid pattern searching mechanism based on keyword register system | |
JPH06250881A (en) | Symbolic debugging system | |
JPH04267439A (en) | Program evaluation system | |
JPH02250134A (en) | Data processing system | |
JPH05204970A (en) | Conversation processing system | |
JPH0353333A (en) | Assembly processing system for assembler | |
JPS61842A (en) | Trap system of software instruction | |
JPH0436646U (en) | ||
JPH01201747A (en) | Canceling system for processed updating system command | |
JPH02191038A (en) | Compiler input data editing system | |
JPH0314137A (en) | Program executing time calculating system | |
JPS63245723A (en) | System command registering system |