JPH0575841U - Program converter - Google Patents
Program converterInfo
- Publication number
- JPH0575841U JPH0575841U JP2319792U JP2319792U JPH0575841U JP H0575841 U JPH0575841 U JP H0575841U JP 2319792 U JP2319792 U JP 2319792U JP 2319792 U JP2319792 U JP 2319792U JP H0575841 U JPH0575841 U JP H0575841U
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- address
- line number
- stored
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 インタプリタ方式をとりつつ、分岐命令の実
行処理速度の高速化を図ること
【構成】 インタプリタ方式のプログラムを構成する命
令文が、分岐命令検出手段1に1つづつ逐次入力され
る。この検出手段1では、入力された命令文の中に、
「GOTO」等の分岐命令が含まれているか否かを判断
し、含まれている場合には、その命令文データをアドレ
ス検索手段2に送るようになっている。このアドレス検
索手段では、得られた分岐先の行番号に基づいて、係る
行番号の命令が格納されているメモリ上の実アドレスを
検索し、検出された実アドレスデータを、次段のアドレ
ス格納手段3に送るようになっている。このアドレス格
納手段では、与えられたアドレスデータを格納領域に格
納し、上記分岐命令文中の分岐先を示す行番号を実アド
レスに置き換える処理を行うようになっている。
(57) [Abstract] [Purpose] To increase the execution processing speed of branch instructions while adopting an interpreter method [Construction] One instruction statement forming an interpreter method program is provided for each branch instruction detecting means 1. Input sequentially. In this detection means 1, in the input command sentence,
It is determined whether or not a branch instruction such as "GOTO" is included, and if the branch instruction is included, the instruction statement data is sent to the address search means 2. In this address search means, based on the obtained branch destination line number, the real address on the memory in which the instruction of the relevant line number is stored is searched, and the detected real address data is stored in the address of the next stage. It is designed to be sent to the means 3. The address storage means stores the given address data in the storage area and replaces the line number indicating the branch destination in the branch statement with the real address.
Description
【0001】[0001]
本考案は、プログラム変換装置に関するもので、より具体的にはインタプリタ 方式の言語で実行される演算処理に適用されるプログラム変換装置に関する。 The present invention relates to a program conversion device, and more particularly to a program conversion device applied to arithmetic processing executed in an interpreter language.
【0002】[0002]
例えば、プログラム中に、図5に示すような分岐命令がよく使用される。周知 のように演算処理装置でこのプログラムを実行すると、行番号10にきたら「G OTO」文があるため、分岐先の行番号200に飛び、その行番号200に示さ れた命令(図中「XXXX」で示している)を実行する。この時、実際の演算処 理装置内での作業は、行番号(200)で指定された分岐先の命令(XXXX) が格納されているメモリ上のアドレスを検索し、そのアドレスに対してアクセス をして格納された命令を読み込み、その命令を実行する。 For example, branch instructions as shown in FIG. 5 are often used in programs. As is well known, when this program is executed by an arithmetic processing unit, when a line number 10 is reached, there is a "GOTO" statement, so the program jumps to the branch destination line number 200, and the instruction indicated by that line number 200 (" XXXXXX ”). At this time, the actual work in the arithmetic processing unit is to search the address on the memory where the instruction (XXXX) at the branch destination specified by the line number (200) is stored and access that address. Read the stored instruction and execute the instruction.
【0003】[0003]
しかし、本願考案の対象としているインタプリタ方式で実行される演算処理装 置では、1つの命令毎に変換し、実行するため、上記のごとくプログラム中に「 GOTO」文などの分岐命令が存在した場合、その分岐命令を実行する度に上記 した分岐先の命令が格納されたアドレスを検索し、その上で分岐先の命令を実行 するため、そのアドレスの検索等に時間を要し、処理速度が遅くなるという問題 を有する。 However, in the arithmetic processing unit executed by the interpreter method which is the subject of the present invention, since a single instruction is converted and executed, a branch instruction such as a "GOTO" statement exists in the program as described above. , Each time the branch instruction is executed, the address where the above branch destination instruction is stored is searched, and the branch destination instruction is executed on that address. Therefore, it takes time to search that address, and the processing speed is high. It has the problem of being late.
【0004】 本考案は、上記した背景に鑑みてなされたもので、その目的とするところは、 インタプリタ方式をとりつつ、分岐命令の実行処理速度の高速化を図ることので きるプログラム変換装置を提供することにある。The present invention has been made in view of the above background, and an object of the present invention is to provide a program conversion device capable of increasing the execution processing speed of a branch instruction while adopting an interpreter method. To do.
【0005】[0005]
上記した目的を達成するために、本考案に係るプログラム変換装置では、イン タプリタ方式のプログラム中に存在する分岐命令を検出する検出手段と、その検 出手段にて検出された前記分岐命令中に示された分岐先の命令が格納されている 実アドレスを検索する検索手段と、その検索手段により検出された前記実アドレ スを格納領域に格納する実アドレス格納手段とを備えた。 In order to achieve the above-mentioned object, in the program conversion device according to the present invention, a detecting means for detecting a branch instruction existing in an interpreter type program and a branch instruction detected by the detecting means are included in the detecting means. There is provided a searching means for searching a real address where the indicated branch destination instruction is stored, and a real address storing means for storing the real address detected by the searching means in a storage area.
【0006】[0006]
インタプリタ方式のプログラムを実行する前に、そのプログラム中に存在する 分岐命令を検出する。そして、分岐命令があったならそこに規定される分岐先の 命令が格納されているアドレスを検索し、その実アドレスを格納領域に格納、す なわち、分岐命令中の分岐先を示す行番号等を前記検索した実アドレスに置き換 える。次いで、実際にプログラムを実行する。すると、分岐命令にきたら格納領 域に格納された上記実アドレスを使用して分岐先に飛ぶ。これにより、プログラ ム実行時におけるアドレスの検索処理が不要となり、高速処理される。 Before executing an interpreter program, the branch instruction existing in the program is detected. Then, if there is a branch instruction, the address at which the branch destination instruction specified is stored is searched and the actual address is stored in the storage area, that is, the line number indicating the branch destination in the branch instruction, etc. Is replaced with the searched real address. Then, the program is actually executed. Then, when a branch instruction is reached, the above real address stored in the storage area is used to jump to the branch destination. This eliminates the need for address search processing during program execution, resulting in high-speed processing.
【0007】[0007]
以下、本考案に係るプログラム変換装置の好適な実施例を添付図面を参照にし て詳述する。図1に示すように、本考案に係るプログラム変換装置は、分岐命令 検出手段1を有し、この分岐命令検出手段1にインタプリタ方式で実行されるプ ログラムを構成する命令文が1つづつ逐次入力される。そしてこの分岐命令検出 手段1では、入力された命令文の中に、「GOTO」等の分岐命令が含まれてい るか否かを判断(分岐命令を検出)するようになっている。そして含まれている 場合には、その命令文データを分岐命令検出手段1の出力が接続されたアドレス 検索手段2に送るようになっている。 Hereinafter, preferred embodiments of a program conversion device according to the present invention will be described in detail with reference to the accompanying drawings. As shown in FIG. 1, the program conversion device according to the present invention has a branch instruction detecting means 1, and the branch instruction detecting means 1 successively outputs one instruction sentence each constituting a program executed in an interpreter system. Is entered. The branch instruction detecting means 1 is adapted to judge (detect a branch instruction) whether or not a branch instruction such as "GOTO" is included in the input instruction sentence. When it is included, the instruction statement data is sent to the address search means 2 to which the output of the branch instruction detection means 1 is connected.
【0008】 なお、この送るデータとしては、少なくともアドレス検索を行うに際し必要な 分岐先の行番号を含んでいれば良い。したがって、仮に行番号のみを送る場合に は、上記分岐命令検出手段1にて命令文の内容を解析し、行番号を抽出する処理 を行った後出力するようになる。また、命令文をそのまま出力する場合には、上 記行番号の抽出処理をアドレス検索手段2で行うことになる。It should be noted that the data to be sent may include at least a branch-destination line number required when performing an address search. Therefore, if only the line number is to be sent, the branch instruction detecting means 1 analyzes the content of the statement, performs the process of extracting the line number, and then outputs the line number. When the command statement is output as it is, the address retrieval means 2 performs the above-mentioned line number extraction processing.
【0009】 そして、そのアドレス検索手段2では、得られた分岐先の行番号に基づいて、 かかる行番号の命令が格納されているメモリ上の実アドレスを検索するようにな っている。そして、この検出された実アドレスデータを、次段のアドレス格納手 段3に送るようになっている。Then, the address retrieving means 2 retrieves the real address on the memory in which the instruction of the line number is stored, based on the obtained line number of the branch destination. Then, the detected real address data is sent to the address storage means 3 of the next stage.
【0010】 アドレス格納手段3では、与えられたアドレスデータを格納領域に格納し、上 記分岐命令文中の分岐先を示す行番号を実アドレスに置き換える処理を行うよう になっている。すなわち、仮に行番号10に「GOTO 200」という分岐命 令があり、分岐先の行番号200の命令がアドレス$123に格納されていると すると、図2に示すように、メモリ上には行番号(10)を示す中間コード,「 GOTO」を示す中間コードが格納されており、このアドレス格納手段3を実行 することにより、その次ぎの格納領域内に分岐先(飛び先)のアドレス($12 3)が格納されることになる。The address storage unit 3 stores the given address data in the storage area and replaces the line number indicating the branch destination in the above branch instruction statement with the real address. That is, if there is a branch instruction called "GOTO 200" at line number 10 and the instruction at the branch destination line number 200 is stored at address $ 123, the line is stored in the memory as shown in FIG. The intermediate code indicating the number (10) and the intermediate code indicating “GOTO” are stored. By executing this address storage means 3, the address ($) of the branch destination (jump destination) is stored in the next storage area. 123) will be stored.
【0011】 次ぎに、上記した実施例の作用について説明すると、図3に示すように、プロ グラムの実行に先立ち、分岐命令検出手段1を用いてプログラム中の分岐命令を 検出する(S100)。そして、分岐命令が検出されたなら、アドレス検索手段 2を用いてその分岐命令における分岐先の命令が格納された実アドレスを検索し (S101)、次いでアドレス格納手段3を用いてその実アドレスを格納領域に 格納する(S102)。そして、すべての分岐命令に対する処理が完了したなら 、実際にプログラムを実行する(S103)。そして、このプログラムの実行に 際しては、上記行番号10のように分岐命令を有する行番号にきたら、上記ステ ップ102にて格納された、分岐先の命令が格納されている実アドレス($12 3)に基づいて、直接(従来のようにアドレスの検索を行うこと無く)飛ぶこと になる。これにより、プログラムの実行を高速化することができる。Next, the operation of the above-described embodiment will be described. As shown in FIG. 3, the branch instruction detecting means 1 is used to detect a branch instruction in the program before executing the program (S100). When a branch instruction is detected, the address search means 2 is used to search for the real address in which the branch destination instruction in the branch instruction is stored (S101), and then the address storage means 3 is used to store the real address. The data is stored in the area (S102). When the processing for all branch instructions is completed, the program is actually executed (S103). When this program is executed, when the line number having the branch instruction such as the line number 10 is reached, the actual address stored in the step 102 at which the branch destination instruction is stored. Based on ($ 123), you will fly directly (without searching for an address as in the past). This makes it possible to speed up the execution of the program.
【0012】 なお、上記各ステップ(特にステップ100)での検出処理は、1つの分岐命 令が検出されたなら、その都度分岐先のアドレスの検索並びに格納を行うように しても良く、或いは、各ステップをまとめて、すなわち、まずプログラム中に存 在するすべての分岐命令を検出し(検出した都度、メモリに格納等する)、それ に対してステップ101,102の処理を順次まとめて行うようにしても良く、 その処理のタイミングは任意の方法を採ることができる。そして、前者の方法と しては、例えば図4に示すようなフローチャートにしたがって実行される。The detection processing in each of the above steps (particularly step 100) may search and store the address of the branch destination each time one branch instruction is detected, or , The steps are integrated, that is, all the branch instructions existing in the program are detected (stored in the memory each time they are detected), and the processes of steps 101 and 102 are performed in sequence. Alternatively, the timing of the processing may be an arbitrary method. Then, the former method is executed according to a flowchart shown in FIG. 4, for example.
【0013】 なお、本考案は、例えば、変数へのアクセスに対しても同様にして実行するこ とができる。すなわち、変数を含む命令(この場合には命例文中に具体的な飛び 先の行番号はない)を検出し、予め変数が格納された実アドレスを検索し、変数 を実アドレスに置き換える手段を設けるのである。この様に、本考案でいう「分 岐命令」とは、上記した実施例のように具体的な分岐先の行番号を有する命令は もちろんのこと、上記「変数」等のように具体的な分岐先の行番号が示されてい なくても、その命令実行により他の行番号等へ飛ぶ「命令」を有するものすべて を意味する。It should be noted that the present invention can be similarly executed for access to a variable, for example. That is, an instruction containing a variable (in this case, there is no specific jump destination line number in the imperative sentence), a real address in which the variable is stored is searched in advance, and a means for replacing the variable with the real address is provided. It is provided. As described above, the "branch instruction" in the present invention means not only an instruction having a specific branch destination line number as in the above-described embodiment but also a specific variable such as "variable". Even if the line number of the branch destination is not shown, it means all that have an “instruction” that jumps to another line number etc. by executing the instruction.
【0014】[0014]
以上のように、本考案に係るプログラム変換装置では、分岐命令中に示された 分岐先行番号等の分岐先データを、その分岐先の命令が格納された実アドレスに 置き換えられる。従って、実際にインタプリタ方式でプログラムを実行する際に は、その置き換えられた実アドレスに基づいて分岐先に飛ぶことができる。よっ て、プログラム実行中は係るアドレスの検索処理が不要となり、高速処理が可能 となる。 As described above, in the program conversion device according to the present invention, the branch destination data such as the branch leading number shown in the branch instruction is replaced with the real address in which the branch destination instruction is stored. Therefore, when the program is actually executed by the interpreter method, it is possible to jump to the branch destination based on the replaced real address. Therefore, during the execution of the program, it is not necessary to search for the address, and high-speed processing is possible.
【図1】本考案に係るプログラム変換装置の好適な一実
施例を示すブロック図である。FIG. 1 is a block diagram showing a preferred embodiment of a program conversion device according to the present invention.
【図2】作用を説明するための図である。FIG. 2 is a diagram for explaining the operation.
【図3】作用を説明するためのフローチャート図であ
る。FIG. 3 is a flow chart diagram for explaining the operation.
【図4】作用を説明するためのフローチャート図であ
る。FIG. 4 is a flow chart for explaining the operation.
【図5】プログラムの一例を示す図である。FIG. 5 is a diagram showing an example of a program.
1 分岐命令検出手段 2 アドレス検索手段 3 アドレス格納手段 1 branch instruction detecting means 2 address searching means 3 address storing means
Claims (1)
する分岐命令を検出する検出手段と、 その検出手段にて検出された前記分岐命令中に示された
分岐先の命令が格納されている実アドレスを検索する検
索手段と、 その検索手段により検出された前記実アドレスを格納領
域に格納する実アドレス格納手段とを備えたプログラム
変換装置。1. A detecting means for detecting a branch instruction existing in an interpreter program, and a real address in which an instruction of a branch destination indicated in the branch instruction detected by the detecting means is stored. A program conversion device comprising: a search means for searching; and a real address storage means for storing the real address detected by the search means in a storage area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2319792U JPH0575841U (en) | 1992-03-19 | 1992-03-19 | Program converter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2319792U JPH0575841U (en) | 1992-03-19 | 1992-03-19 | Program converter |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0575841U true JPH0575841U (en) | 1993-10-15 |
Family
ID=12103948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2319792U Pending JPH0575841U (en) | 1992-03-19 | 1992-03-19 | Program converter |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0575841U (en) |
-
1992
- 1992-03-19 JP JP2319792U patent/JPH0575841U/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0575841U (en) | Program converter | |
JPH0887417A (en) | Compiler device | |
JPH08234995A (en) | Program conversion device | |
JP3637606B2 (en) | Data processing device | |
JP2765911B2 (en) | Data driven control method and compiling device | |
JP2555011B2 (en) | Vector data processing method | |
JPH10133866A (en) | Method for shift conversion processing | |
JPS63138427A (en) | Processing system for scheduling instruction to array | |
JPH06222913A (en) | Program analyzer | |
JP2588788B2 (en) | File extraction method | |
JPH0117175B2 (en) | ||
JPS6274130A (en) | Data generating system for program structure | |
JPS62204340A (en) | Data processor | |
JPS63156254A (en) | Control method for intermediate text by interpreter | |
JPH0358144A (en) | System for gathering program run history information | |
JPH0695309B2 (en) | Reuse method of intermediate language text | |
JPH04148335A (en) | Object outputting system for language processing program | |
JPH02308355A (en) | Input procedure management system for interpreter | |
JPS6324425A (en) | Test comprehensive state detection system | |
JPH05250210A (en) | Program trace system | |
JPH05150999A (en) | Structuralization processing system for computer language | |
JPH086814A (en) | Instruction string extracting processor | |
JPH05216828A (en) | Error processing system in batch execution of software simulator | |
JPS6370341A (en) | Task module comparator | |
JPH03167641A (en) | Analyzing system for performance of program source |