JPH09134290A - High-speed shared processing system for intermediate language text - Google Patents

High-speed shared processing system for intermediate language text

Info

Publication number
JPH09134290A
JPH09134290A JP29134595A JP29134595A JPH09134290A JP H09134290 A JPH09134290 A JP H09134290A JP 29134595 A JP29134595 A JP 29134595A JP 29134595 A JP29134595 A JP 29134595A JP H09134290 A JPH09134290 A JP H09134290A
Authority
JP
Japan
Prior art keywords
intermediate language
language text
shared processing
text
pointer
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
JP29134595A
Other languages
Japanese (ja)
Inventor
Akihiko 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
Original Assignee
NEC Corp
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 filed Critical NEC Corp
Priority to JP29134595A priority Critical patent/JPH09134290A/en
Publication of JPH09134290A publication Critical patent/JPH09134290A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the time for searching an intermediate language text in the sharing processing of the intermediate language text. SOLUTION: A same kind text management table 2 is provided with an instruction list where the code values of the various intermediate language texts which a compiler generates are stored and a head pointer indicating the head addresses of the various intermediate language texts. An intermediate language developing memory 3 is used as an area for developing the various intermediate language texts. In an intermediate language text shared processing means 1, inter-same kind chain is provided in the intermediate language texts on the intermediate language developing memory, only the pertinent intermediate language text is searched and a high speed shared processing is executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、各種コンパイラが
生成する中間言語テキストの高速共用処理方式に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high-speed shared processing system for intermediate language texts generated by various compilers.

【0002】[0002]

【従来の技術】一般に、ソースプログラムをコンパイル
した際、同類の算術命令等の共通式が複数存在する場
合、COBOLコンパイラ等が生成する中間言語テキス
トの共用処理では、算術命令等の共通式に対する中間言
語テキストが既にメモリ上に存在するかどうか、毎回
(共用処理の都度)、メモリ上をサーチする。そして、
同類の算術命令等の共通式の中間言語テキストが既にメ
モリ上に存在していれば共用し、存在していなければ、
中間言語テキストを新規に作成する。
2. Description of the Related Art Generally, when a source program is compiled and there are a plurality of common expressions such as arithmetic instructions of the same kind, in the shared processing of intermediate language texts generated by a COBOL compiler etc. Whether or not the language text already exists in the memory, the memory is searched every time (each time the shared processing is performed). And
If an intermediate language text of a common expression such as a similar arithmetic instruction already exists in memory, it is shared, and if it does not exist,
Create a new intermediate language text.

【0003】従来、共用処理に当たっては、共用処理対
象外の中間言語テキストを含めてメモリ上をサーチして
いる。
Conventionally, in the shared processing, the memory is searched including the intermediate language text which is not the shared processing target.

【0004】[0004]

【発明が解決しようとする課題】ところで、上述した従
来の中間言語テキストの共用処理では、共用処理対象外
の中間言語テキストを含めてメモリをサーチしている結
果、各種の中間言語テキストの量に比例して、サーチ時
間が増加するという問題点がある。
By the way, in the above-mentioned conventional shared processing of intermediate language text, as a result of searching the memory including the intermediate language text which is not the target of shared processing, the amount of various intermediate language text is reduced. There is a problem that the search time increases in proportion.

【0005】本発明の目的は、サーチ時間が短時間で済
む中間言語テキストの高速共用処理方式を提供すること
にある。
It is an object of the present invention to provide a high-speed shared processing system for intermediate language text which requires a short search time.

【0006】[0006]

【課題を解決するための手段】本発明によれば、コンパ
イラ等が生成する各種中間言語テキストをメモリ上展開
するための領域である中間言語展開メモリと、前記各種
中間言語テキストのコード値が格納されている命令一覧
及び前記メモリ上の各種中間言語テキストの先頭アドレ
スを指す先頭ポインタを有する同類テキスト管理テーブ
ルと、前記中間言語テキストを中間言語展開メモリに展
開する際前記命令一覧及び前記先頭ポインタに応じて中
間言語展開メモリ上の中間言語テキスト内に同類間チェ
ーンを設け該同類間チェーンに応じて該当する中間言語
テキストをサーチする中間言語テキスト共用処理手段と
を有することを特徴とする中間言語テキストの高速共用
処理方式が得られる。
According to the present invention, an intermediate language expansion memory which is an area for expanding various intermediate language texts generated by a compiler or the like on a memory and a code value of the various intermediate language texts are stored. A similar text management table having a list of stored instructions and a start pointer that points to the start addresses of various intermediate language texts on the memory, and the instruction list and the start pointer when the intermediate language text is expanded in the intermediate language expansion memory Accordingly, an intermediate language text is provided in the intermediate language text on the intermediate language expansion memory, and an intermediate language text shared processing means for searching a corresponding intermediate language text according to the intermediate chain is provided. The high-speed shared processing method can be obtained.

【0007】中間言語テキスト共用処理手段は、中間言
語テキストを中間言語展開メモリに展開する場合、命令
一覧から該当するコード値を持つ中間言語テキストに位
置付け、先頭ポインタから該当する中間言語テキストの
先頭アドレスを取得する。
When the intermediate language text sharing processing means expands the intermediate language text in the intermediate language expansion memory, the intermediate language text sharing processing means positions the intermediate language text having the corresponding code value from the instruction list, and from the leading pointer, the leading address of the relevant intermediate language text. To get.

【0008】そして、取得した先頭ポインタのアドレス
が空(null)の場合、中間言語テキスト共用処理手
段は、中間言語展開メモリ上に中間言語テキストを新規
に作成し、その中間言語テキストのアドレスを先頭ポイ
ンタに設定する。
When the address of the obtained head pointer is null, the intermediate language text shared processing means newly creates an intermediate language text on the intermediate language expansion memory and sets the address of the intermediate language text to the head. Set to the pointer.

【0009】先頭ポインタのアドレスが空以外の場合、
中間言語テキスト共用処理手段は、中間言語テキスト内
の次(next)ポインタをたどり空の値(null)
になるまで共用できる共通式があるかチェックする。
If the address of the head pointer is not empty,
The intermediate language text sharing processing means traces the next (next) pointer in the intermediate language text and returns an empty value (null).
Check if there is a common expression that can be shared until.

【0010】空の値までサーチしたが共用できる共通式
が中間言語展開メモリ上に存在しない場合、中間言語テ
キスト共用処理手段は、中間言語テキストを中間言語展
開メモリ上に新規に作成する。そして、新規に作成した
中間言語テキストの先頭アドレスを最後にサーチした空
の値を持つ中間言語テキスト内のnextポインタに設
定するとともに新規に作成した中間言語テキスト内のn
extポインタは常に空の値を設定する。
When a common expression that has been searched up to an empty value but is not shared exists in the intermediate language expansion memory, the intermediate language text sharing processing means newly creates the intermediate language text in the intermediate language expansion memory. Then, the start address of the newly created intermediate language text is set to the next pointer in the intermediate language text having an empty value that was searched last, and n in the newly created intermediate language text is set.
The ext pointer always sets an empty value.

【0011】共用できる共通式が中間言語展開メモリ上
に存在する場合、中間言語テキスト共用処理手段は、そ
の中間言語テキストの先頭ポインタのアドレスを取得
し、中間言語テキストの共用処理を行う。
When a common expression that can be shared exists in the intermediate language expansion memory, the intermediate language text shared processing means acquires the address of the leading pointer of the intermediate language text and performs the intermediate language text shared processing.

【0012】[0012]

【発明の実施の形態】次に本発明ついて図面を参照して
説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0013】図1は、本発明による中間言語テキストの
高速共用処理方式の一例であり、図2はソースプログラ
ムの一例である。
FIG. 1 shows an example of a high-speed shared processing system for intermediate language text according to the present invention, and FIG. 2 shows an example of a source program.

【0014】図1及び図2を参照して、図示の高速共用
処理方式は、中間言語テキスト共用処理手段1、同類テ
キスト管理テーブル2、及び中間言語展開メモリ3を備
えており、中間言語展開メモリ3には中間言語テキスト
31乃至35が展開されている。
Referring to FIGS. 1 and 2, the illustrated high speed shared processing system comprises an intermediate language text shared processing means 1, a similar text management table 2 and an intermediate language expansion memory 3, and an intermediate language expansion memory. Intermediate language texts 31 to 35 are expanded in 3.

【0015】同類テキスト管理テーブル2には、各中間
言語テキストのコード値が格納されている命令一覧21
及びメモリ上の各中間言語テキストの先頭アドレスを指
す先頭ポインタ22が備えられている。
The similar text management table 2 has a command list 21 in which code values of intermediate language texts are stored.
And a head pointer 22 that points to the head address of each intermediate language text on the memory.

【0016】ここで、中間言語テキスト32及び中間言
語テキスト34は、ソース41、ソース42及びソース
43の右辺に記述されている算術式の中間言語テキスト
であり、中間言語テキスト31、中間言語テキスト33
及び中間言語テキスト35は、ソース41、ソース42
及びソース43の右辺の算術式を左辺に転記する中間言
語テキストである。中間言語展開メモリ3はこれらの各
種中間言語テキストをメモリ上に展開するための領域で
ある。
The intermediate language text 32 and the intermediate language text 34 are intermediate language texts of arithmetic expressions described on the right side of the source 41, the source 42 and the source 43, and the intermediate language text 31 and the intermediate language text 33.
And the intermediate language text 35 are source 41, source 42.
And an intermediate language text in which the arithmetic expression on the right side of the source 43 is transferred to the left side. The intermediate language expansion memory 3 is an area for expanding these various intermediate language texts on the memory.

【0017】中間言語テキスト共用処理手段1では、中
間言語テキストを中間言語展開メモリ3に展開する際、
命令一覧21から該当するコード値を持つ中間言語テキ
ストに位置付け、先頭ポインタ22から中間言語テキス
トの先頭アドレスを取得する。
In the intermediate language text shared processing means 1, when the intermediate language text is expanded in the intermediate language expansion memory 3,
The instruction list 21 is positioned at the intermediate language text having the corresponding code value, and the head address of the intermediate language text is acquired from the head pointer 22.

【0018】そして、取得した先頭ポインタのアドレス
が空(null)の際、中間言語テキスト共用処理手段
1では、中間言語展開メモリ3上に中間言語テキストを
新規に作成し、中間言語テキストのアドレスを先頭ポイ
ンタ22に設定する。先頭ポインタのアドレスが空以外
の場合、中間言語テキスト共用処理手段1では、中間言
語テキスト32及び中間言語テキスト34内の次(ne
xt)ポインタをたどり空の値(null)になるまで
共用できる共通式があるかチェックする。
When the address of the obtained head pointer is null, the intermediate language text shared processing means 1 newly creates an intermediate language text on the intermediate language expansion memory 3 and sets the address of the intermediate language text. The head pointer 22 is set. When the address of the head pointer is not empty, the intermediate language text sharing processing means 1 selects the next (ne) in the intermediate language text 32 and the intermediate language text 34.
xt) Trace the pointer and check whether there is a common expression that can be shared until it becomes an empty value (null).

【0019】空の値までサーチしたが共用できる共通式
が中間言語展開メモリ3上に存在しない場合、中間言語
テキスト共用処理手段1では、中間言語テキストを中間
言語展開メモリ3上に新規に作成する。そして、中間言
語テキスト共用処理手段1では、新規に作成した中間言
語テキストの先頭アドレスを最後にサーチした空の値を
持つ中間言語テキスト内のnextポインタに設定す
る。新規に作成した中間言語テキスト内のnextポイ
ンタは常に空の値を設定する。
If a common expression that has been searched up to an empty value but can be shared does not exist in the intermediate language expansion memory 3, the intermediate language text shared processing means 1 newly creates an intermediate language text in the intermediate language expansion memory 3. . Then, the intermediate language text shared processing means 1 sets the start address of the newly created intermediate language text to the next pointer in the intermediate language text having the empty value searched last. The next pointer in the newly created intermediate language text always sets an empty value.

【0020】共用できる共通式が中間言語展開メモリ3
上に存在する場合、中間言語テキスト共用処理手段1で
は、その中間言語テキストの先頭ポインタのアドレスを
取得し、中間言語テキストの共用処理を行う。
The common expression that can be shared is the intermediate language expansion memory 3
If it exists above, the intermediate language text sharing processing means 1 acquires the address of the leading pointer of the intermediate language text and performs the intermediate language text sharing processing.

【0021】上述のようにして、これらの一連処理は中
間言語テキスト共用処理手段1によって行われる。
As described above, these series of processes are performed by the intermediate language text sharing processing means 1.

【0022】[0022]

【発明の効果】以上説明したように本発明では、中間言
語テキストの共用可能な同類の共通式等の中間言語テキ
ストのみサーチすることにより、従来処理に比べ共用対
象外の中間言語テキストの量に依存することなく、サー
チ時間が向上するという効果がある。
As described above, according to the present invention, by searching only the intermediate language text such as common expressions of the same kind that can share the intermediate language text, the amount of the intermediate language text not to be shared can be reduced as compared with the conventional processing. This has the effect of improving the search time without depending on it.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による中間言語テキストの高速共用処理
方式の一例を説明するための図である。
FIG. 1 is a diagram for explaining an example of a high-speed shared processing system for intermediate language text according to the present invention.

【図2】ソースプログラムの一例を示す図である。FIG. 2 is a diagram illustrating an example of a source program.

【符号の説明】[Explanation of symbols]

1 中間言語テキスト共用処理手段 2 同類テキスト管理テーブル 3 中間言語展開メモリ 4 ソースプログラム 21 命令一覧 22 先頭ポインタ 31〜35 中間言語テキスト 41〜43 ソース 1 intermediate language text shared processing means 2 similar text management table 3 intermediate language expansion memory 4 source program 21 instruction list 22 head pointer 31-35 intermediate language text 41-43 source

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 各種中間言語テキストをメモリ上展開す
るための領域である中間言語展開メモリと、前記各種中
間言語テキストのコード値が格納されている命令一覧及
び前記メモリ上の各種中間言語テキストの先頭アドレス
を指す先頭ポインタを有する同類テキスト管理テーブル
と、前記中間言語テキストを中間言語展開メモリに展開
する際前記命令一覧及び前記先頭ポインタに応じて中間
言語展開メモリ上の中間言語テキスト内に同類間チェー
ンを設け該同類間チェーンに応じて該当する中間言語テ
キストをサーチする中間言語テキスト共用処理手段とを
有することを特徴とする中間言語テキストの高速共用処
理方式。
1. An intermediate language expansion memory, which is an area for expanding various intermediate language texts on a memory, an instruction list in which code values of the various intermediate language texts are stored, and various intermediate language texts on the memory. A similar text management table having a head pointer pointing to a head address, and a like-like text in the intermediate language text on the intermediate language expansion memory according to the instruction list and the head pointer when the intermediate language text is expanded in the intermediate language expansion memory. A high-speed shared processing system for intermediate language text, comprising a chain and an intermediate language text shared processing means for searching a corresponding intermediate language text according to the chain of the same kind.
【請求項2】 請求項1に記載された中間言語テキスト
の高速共用処理方式において、前記中間言語テキスト共
用処理手段は、前記中間言語テキストを中間言語展開メ
モリに展開する際、前記命令一覧から該当するコード値
を持つ中間言語テキストに位置付け前記先頭ポインタか
ら該当する中間言語テキストの先頭アドレスを取得する
ようにしたことを特徴とする中間言語テキストの高速共
用処理方式。
2. The high-speed shared processing system for intermediate language texts according to claim 1, wherein said intermediate language text shared processing means corresponds to said instruction list when expanding said intermediate language texts into an intermediate language expansion memory. A high-speed shared processing system for intermediate language text, characterized in that it is positioned at an intermediate language text having a code value and the start address of the corresponding intermediate language text is acquired from the start pointer.
【請求項3】 請求項2に記載された中間言語テキスト
の高速共用処理方式において、前記中間言語テキスト共
用処理手段は、前記取得した先頭ポインタのアドレスが
空の際、前記中間言語展開メモリ上に前記中間言語テキ
ストを新規に作成し、該新規に作成した中間言語テキス
トのアドレスを前記先頭ポインタに設定するようにした
ことを特徴とする中間言語テキストの高速共用処理方
式。
3. The high-speed shared processing system for intermediate language text according to claim 2, wherein the intermediate language text shared processing means stores in the intermediate language expansion memory when the address of the acquired start pointer is empty. A high-speed shared processing system for intermediate language text, characterized in that the intermediate language text is newly created and the address of the newly created intermediate language text is set in the head pointer.
【請求項4】 請求項3に記載された中間言語テキスト
の高速共用処理方式において、前記中間言語テキスト共
用処理手段は、前記先頭ポインタのアドレスが空以外の
場合、前記中間言語テキスト内の次ポインタをたどって
空の値になるまで共用できる共通式があるか否かをチェ
ックするようにしたことを特徴とする中間言語テキスト
の高速共用処理方式。
4. The intermediate language text high-speed shared processing method according to claim 3, wherein said intermediate language text shared processing means, if the address of said leading pointer is not empty, a next pointer in said intermediate language text. A high-speed shared processing method for intermediate language text, characterized by checking whether there is a common expression that can be shared until it becomes an empty value.
【請求項5】 請求項4に記載された中間言語テキスト
の高速共用処理方式において、前記中間言語テキスト共
用処理手段は、前記空の値までサーチした際共用できる
共通式が中間言語展開メモリ上に存在しないと、前記中
間言語テキストを中間言語展開メモリ上に新規に作成す
るようにしたことを特徴とする中間言語テキストの高速
共用処理方式。
5. The high-speed shared processing system for intermediate language text according to claim 4, wherein said intermediate language text shared processing means stores a common expression that can be shared when searching up to the empty value in an intermediate language expansion memory. If it does not exist, the intermediate language text is newly created in the intermediate language expansion memory, and the intermediate language text high-speed shared processing method is characterized.
【請求項6】 請求項5に記載された中間言語テキスト
の高速共用処理方式において、前記中間言語テキスト共
用処理手段は、前記新規に作成した中間言語テキストの
先頭アドレスを最後にサーチした空の値を持つ中間言語
テキスト内の次ポインタに設定するようにし、前記新規
に作成した中間言語テキスト内の次ポインタは常に空の
値を設定するようにしたことを特徴とする中間言語テキ
ストの高速共用処理方式。
6. The high speed shared processing system for intermediate language text according to claim 5, wherein said intermediate language text shared processing means searches for a start address of the newly created intermediate language text at the end and is an empty value. Is set to the next pointer in the intermediate language text, and the next pointer in the newly created intermediate language text is always set to an empty value. method.
【請求項7】 請求項6に記載された中間言語テキスト
の高速共用処理方式において、前記中間言語テキスト共
用処理手段は、前記共用できる共通式が中間言語展開メ
モリ上に存在すると、その中間言語テキストの先頭ポイ
ンタのアドレスを取得し、中間言語テキストの共用処理
を行うようにしたことを特徴とする中間言語テキストの
高速共用処理方式。
7. The high-speed shared processing system for intermediate language text according to claim 6, wherein said intermediate language text shared processing means, when said common expression that can be shared exists in an intermediate language expansion memory, the intermediate language text. A high-speed shared processing method for intermediate language text, characterized in that the address of the first pointer of is acquired and shared processing of intermediate language text is performed.
JP29134595A 1995-11-09 1995-11-09 High-speed shared processing system for intermediate language text Pending JPH09134290A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29134595A JPH09134290A (en) 1995-11-09 1995-11-09 High-speed shared processing system for intermediate language text

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29134595A JPH09134290A (en) 1995-11-09 1995-11-09 High-speed shared processing system for intermediate language text

Publications (1)

Publication Number Publication Date
JPH09134290A true JPH09134290A (en) 1997-05-20

Family

ID=17767727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29134595A Pending JPH09134290A (en) 1995-11-09 1995-11-09 High-speed shared processing system for intermediate language text

Country Status (1)

Country Link
JP (1) JPH09134290A (en)

Similar Documents

Publication Publication Date Title
JPH09134290A (en) High-speed shared processing system for intermediate language text
JPH03126133A (en) Compiler processing method
JP2003528390A (en) Method of executing a computer program by an interpreter, computer system and computer program product
Williams A multiprocessing system for the direct execution of LISP
JPH08194611A (en) Device for analyzing rang of influence caused by program correction
JP2585793B2 (en) Compiler system
JP2827724B2 (en) Program debug processing method
Costanza Transmigration of object identity: The programming language gilgul
JPH04135243A (en) Label table retrieving system
JPH01292526A (en) Cooperative editing system for program
JPH06175862A (en) Electronic computer
JPH02278340A (en) Compiling system
JPH0675757A (en) Link system for virtual space resident program
JP3304363B2 (en) Job separator output method
JPH0460721A (en) Language processing system directed to object
JPH02146625A (en) Extension system for number of registers
JPS6347839A (en) Inference control system
JP2000132405A (en) In-line expansion processing device and method
JPS63201833A (en) Reference settling system for unsettled label
JPH0635712A (en) Automatic in-line expansion processing system for procedure in fortran program
JPH021030A (en) Compiling system
JPS62180428A (en) Common equation detecting system
JPH0417031A (en) System for optimizing propagation of constant value
JPH1091423A (en) Device and method for correcting program and correction program medium
JPH07141178A (en) Object accessing device

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000614