JP3066643B2 - インタプリタ処理装置 - Google Patents

インタプリタ処理装置

Info

Publication number
JP3066643B2
JP3066643B2 JP62321911A JP32191187A JP3066643B2 JP 3066643 B2 JP3066643 B2 JP 3066643B2 JP 62321911 A JP62321911 A JP 62321911A JP 32191187 A JP32191187 A JP 32191187A JP 3066643 B2 JP3066643 B2 JP 3066643B2
Authority
JP
Japan
Prior art keywords
code
instruction
instruction text
text
processing
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.)
Expired - Lifetime
Application number
JP62321911A
Other languages
English (en)
Other versions
JPH01162933A (ja
Inventor
裕子 原
義三 山道
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62321911A priority Critical patent/JP3066643B2/ja
Publication of JPH01162933A publication Critical patent/JPH01162933A/ja
Application granted granted Critical
Publication of JP3066643B2 publication Critical patent/JP3066643B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔概要〕 インタプリタによってテキストを解釈実行する処理装
置に関し、 1回目に命令テキストを解釈・実行する際にオウンコ
ードに変換して記憶しておき、次回以降の同じ命令テキ
ストの実行時に解釈を省略して高速に処理を行うことを
目的とし、 テキスト中のいずれの命令テキストに対してオウンコ
ード化するか否か、および既にオウンコード化されてい
るか否かを表すオウンコード生成・制御フラグと、テキ
ストから読み込んだ命令テキストが上記オウンコード生
成・制御フラグを参照してオウンコード化すべきもので
あって、かつ未だオウンコード化されていないと判明し
たときに、オウンコードを生成してメモリに格納するオ
ウンコード生成部と、テキストから読み込んだ命令テキ
ストが上記オウンコード生成・制御フラグを参照して既
にオウンコード化されている場合に該当するオウンコー
ドを取り出して処理を実行し、一方、オウンコード化さ
れていないがオウンコード化する必要がある場合に上記
オウンコード生成部に対してオウンコードを生成させた
後、このオウンコードによって処理を実行し、他方、オ
ウンコード生成・制御フラグを参照してオウンコード化
する必要がないと判明した場合にその都度、解釈・イン
タプリット処理を行う処理実行部とを備え、テキストか
ら読み込んだ命令テキストを順次実行するように構成す
る。 〔産業上の利用分野〕 本発明は、インタプリタによってテキストを解釈実行
する処理装置に関するものである。 〔従来の技術と発明が解決しようとする問題点〕 一般に、インタプリタは、処理情報となる定義体にあ
る命令テキストを1回取り出すごとに解釈し実行すると
いった処理方法を取っている。このため、インタプリタ
は1命令テキストを解釈する上で、長く複雑なロジック
を通るために実行ステップ数が多くなり、とりわけ何度
も同じ命令テキストを繰り返して解釈および実行する場
合、特にバッチ処理などにおいて、非常に長い処理時間
が必要となってしまい、高速に処理し得ないという問題
点があった。 本発明は、1回目に命令テキストを解釈・実行する際
にオウンコードに変換して記憶しておき、次回以降の同
じ命令テキストの実行時に解釈を省略して高速に処理を
行うことを目的としている。 〔問題点を解決するための手段〕 第1図は本発明の原理ブロック図を示す。 第1図において、フラグ情報生成部1は、テキスト4
−1中に格納されているいずれの命令テキストに対して
解釈した後にオウンコード化して記憶させるべきか否か
などを指示するオウンコード生成・制御フラグ4−2を
設定するものである。 オウンコード生成部2は、テキスト4−1から読み出
した命令テキストが、オウンコード生成・制御フラグ4
−2を参照してオウンコード化すべきものであって、か
つ未だオウンコード化されていない場合に、当該命令テ
キストを解釈してオウンコードを生成してオウンコード
4−3として記憶させると共に、オウンコード化した旨
を表すようにオウンコード生成・制御フラグ4−2中の
該当フラグをセットするものである。 処理実行部3は、テキスト4−1から読み込んだ命令
テキストが、オウンコード生成・制御フラグ4−2を参
照して既にオウンコード化されている場合に該当するオ
ウンコード4−3を取り出して処理を実行し、一方、オ
ウンコード化されていないがオウンコード化する必要が
ある場合には、オウンコード生成部2にオウンコードを
生成させた後に処理を実行し、他方、オウンコード生成
・制御フラグ4−2を参照してオウンコード化する必要
がないと判明した場合にその都度、解釈・実行するもの
である。 テキスト4−1は、利用者プログラムをコードに変換
した命令テキストの集まりである。 オウンコード生成・制御フラグ4−2は、テキスト4
−1中のいずれの命令テキストに対してオウンコード化
すべきか否か、および既にオウンコード化されているか
否かなどの情報を格納するものである。 オウンコード4−3は、命令テキストを解釈してプロ
セッサが実行し得る状態に変換したコード(例えば機械
語)である。 〔作用〕 本発明は、第1図に示すように、フラグ情報生成部1
がいずれの命令テキストに対してオウンコード化すべき
かの情報をオウンコード生成・制御フラグ4−2に予め
書き込み、テキスト4−1から読み出された命令テキス
トが、オウンコード生成・制御フラグ4−2を参照し
て、オウンコード化されている場合には、処理実行部3
がこのオウンコードを取り出して処理を実行する。この
際、オウンコード化されていない場合には、更にオウン
コード生成・制御フラグ4−2を参照し、その結果オウ
ンコード化すべきものであると判明した場合、オウンコ
ード生成部2が命令テキストを解釈してオウンコード化
してオウンコード4−3として記憶させると共に、処理
実行部3がこのオウンコードを用いて処理を実行する。
また、オウンコード化すべき必要がないと判明した場合
には、処理実行部3は、命令テキストをその都度、解釈
・実行する。 従って、オウンコード生成・制御フラグ4−2中にオ
ウンコード化すべき情報が格納されている命令テキスト
に対しては、2回目以降は、オウンコード4−3から該
当するオウンコードを取り出して処理を実行することに
より、命令テキストの解釈を省略して高速に処理を実行
することが可能となる。 〔実施例〕 まず、第2図ないし第4図を用いて本発明の概念を説
明する。 第2図を用いてオウンコード化について説明する。 第2図において、図中(A)は、インタプリタ本来の
処理であって、利用者プログラム5中にMOVE、MOV
E、IF、COMPUTE、READ、REWRITEなどの順序に
命令が記述されている場合に、図中ないしなどの命
令に対して命令の種類ごとに存在する処理(命令の解釈
・実行)、例えば図中MOVEに対してはMOVE命令の実
行”をその都度、行うようにしている。 図中(B)は、本発明を実現する処理であって、指定
された命令に対して第1回目の実行時に解釈してプロセ
ッサが実行し得るコード(例えば機械語)に変換したオ
ウンコードを生成して記憶、例えばMOVE命令のオウンコ
ードの生成”を行って記憶させておき、2回目以降の命
令の実行時に解釈を省略してこのオウンコードを用いて
処理を行うようにしている。従って、2回目以降の命令
の実行を高速に処理することが可能となる。 また、いずれの命令をオウンコード化させるかの判断
基準は下記のようにすればよい。 方法(1):利用者にオウンコード化すべき命令(命
令テキスト)を直接指定させ、利用者プログラム中に情
報として持たせる。例えば第2図利用者プログラム5中
の、、を指定させ、これをオウンコード化すべき
ものとして利用者プログラム5中に記述しておく。 方法(2):1度ためし実行を行い、実行回数がある特
定回数以上の命令があれば、この命令をオウンコード化
すべきものとして利用者プログラム5中に記述してお
く。 方法(3):インタプリタ自身が判断する。判断基準
としては、命令の項目数が例えば5個以上のもので、処
理に時間がかかると考えられる命令をオウンコード化す
べきものと判断する。 方法(4):方法(1)ないし(3)を組み合わせて
判断する。 第3図を用いて、オウンコード生成・制御フラグ4ー
2を詳細に説明する。 第3図において、利用者プログラム5中の各命令(コ
ード化された命令テキスト)に対応づけてオウンコード
生成・制御フラグ4−2を構成するオウンコード化必要
フラグFLG2およびオウンコード変換済フラグFLG1が夫々
設けられている。オウンコード化必要フラグFLG2は、第
2図を用いて説明した方法(1)ないし(4)によって
オウンコード化が必要と判断された場合に、セット例え
ば“1"にセットされるものである。オウンコード変換済
フラグFLG1は、命令を解釈し、オウンコード化してオウ
ンコード4−3として作業域に記憶させた場合にセット
例えば“1"にセットされるものである。これら両者のフ
ラグは、利用者プログラム5中あるいはインタプリタ中
のいずれか、あるいは両者などに持たせるようにすれば
よい。 第4図を用いて1つの命令テキストに対する実行回数
と実行所要時間(累積)との関係を説明する。図中横軸
はある命令テキストを繰り返して実行した実行回数を表
し、縦軸は累積した実行所要時間を表す。図中実線は本
発明に係わるオウンコードを用いたインタプリタによる
もの、点線は従来のインタプリタによるものを示す。 第4図において、実線と点線との関係を比較して判明
するように、1つの命令テキストの実行回数が1回のみ
の時は従来のインタプリタの方がオウンコードを用いた
本発明に係わるインタプリタより、実行所要時間が短
い。しかし、その後、同じ命令テキストに対する実行回
数が増すごとに両インタプリタ間の差は縮まり、図中
回を超えると、実行回数が多くなる程、オウンコードを
用いた本発明に係わるインタプリタの方が、従来のイン
タプリタよりも実行所要時間が少なくて済むようにな
り、性能の良さを発揮することになる。 次に、第5図を用いて本発明の1実施例の構成および
動作を詳細に説明する。 第5図において、コンピュータ11は、CPU(中央演算
処理装置)12、メモリ13などから構成され、処理を実行
するものである。 メモリ13中には、図示のように、本発明に係わるイン
タプリタ13−1、命令テキスト群からなる定義体(テキ
スト)13−2、オウンコード生成・制御フラグ4−2を
格納するFLAG領域13−3、生成したオウンコードを格納
する作業域13−4が格納あるいは設けられている。尚、
作業域13−4に記憶させた各オウンコードの後尾には、
復帰を意味するコード(RTN)を格納し、これにより、
図中の処理に戻るようにしておく。 DASD14は、磁気ディスク装置などのランダムアクセス
可能な外部記憶装置であって、オウンコード生成用ライ
ブラリ14−1などを格納するものである。 ディスプレイ15は、インタプリタ13−1に対する実行
指示、および処理結果などを表示するものである。 キーボード16は、インタプリタ13−1に対する実行指
示などを行うものである。 次に、図中に記載したフローチャートを用いて動作を
詳細に説明する。 第5図において、図中は、命令の取り出しを行うこ
とを示す。これは、後述する第6図手順によってメモリ
13中に格納された定義体13−2中から、点線を用いて示
すように、命令テキスト(命令)例えば命令テキスト1
を1つ取り出すことを表す。 図中は、命令に対応するFLAG領域13−3の参照を行
うことを示す。これは、点線を用いて示すように、FLAG
領域13−3中から図中で取り出した例えば命令テキス
ト1に対応するオウンコード生成・制御フラグを構成す
るFLG1、FLG2を読み込んで参照することを表す。 図中は、FLG1=ONか否かを判別することを示す。YE
Sの場合(図中の参照によって、FLG1(オウンコード
変換済フラグ)がONの場合、即ちオウンコード化されて
いる場合)には、図中で点線を用いて示すようにFLAG
領域13−3中のアドレス(ポインタ)を参照し、図中
で点線を用いて示すように作業域13−4中から該当する
オウンコードを取り出して実行した後、後尾の“RTN"に
よって図中に復帰する。これにより、命令テキストを
その都度、解釈することを省略して高速に処理を行うこ
とが可能となる。NOの場合(オウンコード化されていな
い場合)には、図中を実行する。 図中は、FLG2=ONか否かを判別することを示す。YE
Sの場合(図中の参照によって、FLG2(オウンコード
化必要フラグ)がONの場合、即ちオウンコード化が必要
な命令テキストの場合)には、図中ないしを実行す
る。NOの場合(オウンコード化が不要の命令テキストの
場合)には、図中で従来と同様に、命令の解釈とイン
タプリット処理を行い、図中以下を繰り返し実行す
る。 図中は、命令の解析と、オウンコードの生成を行う
ことを示す。これは、点線を用いて示すように、オウン
コード生成用ライブラリ14−1を参照して命令(命令テ
キスト)を解釈してオウンコードの生成を行い、作業域
13−4に格納することを表す。 図中は、FLAG領域にオウンコードのアドレスを設定
することを示す。これは、FLAG領域13−3中の該当する
FLG1、FLG2に対応づけてオウンコードを格納した作業領
域13−4をポイントするアドレスを格納することを表
す。 図中および図中は、既述したように、FLAG領域中
のアドレスによってポイントされる作業域13−4から該
当するオウンコードを取り出して処理を実行することを
示す。処理が終了した後、作業域13−4の該当する命令
のオウンコードの後尾に格納されている復帰コード(RT
N)によって図中以下を繰り返し実行する。 以上のように、図中で2回目以降の実行であると判
別された場合(FIG1=ONの場合)に、命令テキストの解
釈を省略し、図中、でオウンコードを取り出して処
理を実行することにより、高速に処理を行うことが可能
となる。 次に、第6図を用いて前処理について説明する。 第6図において、図中は、利用者プログラムを作成
することを示す。 図中は、アプリケーションによりコードに変換して
命令テキストを作成することを示す。これにより、第5
図メモリ13中の定義体13−2を構成する各命令テキスト
が作成される。 図中は、命令テキスト毎に対応するフラグ領域を設
けることを示す。これにより、第5図メモリ13中のFLAG
領域13−3が設けられる。以上の図中、の手順によ
って、第5図右下に示す図中の処理、即ち入力情報に
応じて定義体と、そのFLAG領域とを生成する処理が行わ
れる。 図中は、ユーザがインタプリタの実行を指示するこ
とを示す。これは、第5図図中右下に示す図中の処
理、即ちインタプリタの実行をキーボード16から指示す
ることを表す。 図中は、インタプリタをCPU12にロードすることを
示す。 以上の手順によって第5図メモリ13中に示すようにイ
ンタプリタ13−1、定義体13−2、FLAG領域13−3など
が格納あるいは設けられる。尚、この際に、第2図を用
いて説明したように、オウンコード化必要な命令テキス
トに対応するFLAG領域13−3中のオウンコード化必要フ
ラグFLG2をONに設定しておく。 〔発明の効果〕 以上説明したように、本発明によれば、オウンコード
生成・制御フラグ4−2中にオウンコード化すべき情報
が格納されている命令テキストに対しては、2回目以降
はオウンコード4−3中から該当するオウンコードを取
り出して処理を実行する構成を採用しているため、2回
目以降の命令テキストの実行の際に命令テキストの解釈
を省略して処理を高速に実行することができる。特に、
バッチ処理等、同一の命令を多数回繰り返し処理を行う
場合、高速に処理を行うことができる。
【図面の簡単な説明】 第1図は本発明の原理ブロック図、第2図は本発明の概
念説明図、第3図はオウンコード生成・制御フラグの説
明図、第4図は1つの命令テキストに対する実行回数と
実行所要時間との関係図、第5図は本発明の1実施例構
成図、第6図は本発明に係わる前処理フローチャートを
示す。 図中、1はフラグ情報生成部、2はオウンコード生成
部、3は処理実行部、4−1はテキスト、4−2はオウ
ンコード生成・制御フラグ、4−3はオウンコードを表
す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 原 裕子 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 山道 義三 石川県河北郡宇ノ気町字宇野気ヌ98番地 の2 株式会社ピーエフユー内 (56)参考文献 特開 昭62−254237(JP,A) 発明協会公開技報公技番号85−17011 号

Claims (1)

  1. (57)【特許請求の範囲】 1.命令テキストを逐次解釈して実行するインタプリタ
    処理装置において、 上記命令テキストと命令テキスト毎に該命令テキストの
    オウンコードが生成済みであるか否かを示すオウンコー
    ド変換情報及び該命令テキストをオウンコード化する必
    要があるか否かをオウンコード化必要情報とを対応づけ
    て内部メモリに格納する格納制御手段と、 上記内部メモリから取り出された命令テキストが、上記
    オウンコード変換情報及びオウンコード化必要情報を参
    照して、未だオウンコードが生成されていなく、かつオ
    ウンコード化することが必要である命令テキストである
    と判明した場合に、該命令テキストに対応するオウンコ
    ードを生成して上記内部メモリに格納すると共に上記オ
    ウンコード変換情報をオウンコード生成済みに設定し、
    その後、上記内部メモリから当該命令テキストに対応す
    るオウンコードを読み出して実行する第1の処理手段
    と、 上記内部メモリから取り出された命令テキストが、上記
    オウンコード変換情報及びオウンコード化必要情報を参
    照して、未だオウンコードが生成されていなく、かつオ
    ウンコード化することが必要でない命令テキストである
    と判明した場合に、該命令テキストに対応するオウンコ
    ードを生成することなく解釈・実行する第2の処理手段
    と、 上記内部メモリから取り出された命令テキストが、上記
    オウンコード変換情報及びオウンコード化必要情報を参
    照して、既にオウンコードが生成されている命令テキス
    トであると判明した場合に、上記内部メモリから当該命
    令テキストに対応するオウンコードを読み出して実行す
    る第3の処理手段とを備えたことを特徴とするインタプ
    リンタ処理装置。
JP62321911A 1987-12-18 1987-12-18 インタプリタ処理装置 Expired - Lifetime JP3066643B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62321911A JP3066643B2 (ja) 1987-12-18 1987-12-18 インタプリタ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62321911A JP3066643B2 (ja) 1987-12-18 1987-12-18 インタプリタ処理装置

Publications (2)

Publication Number Publication Date
JPH01162933A JPH01162933A (ja) 1989-06-27
JP3066643B2 true JP3066643B2 (ja) 2000-07-17

Family

ID=18137779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62321911A Expired - Lifetime JP3066643B2 (ja) 1987-12-18 1987-12-18 インタプリタ処理装置

Country Status (1)

Country Link
JP (1) JP3066643B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337940A (ja) * 1993-05-27 1994-12-06 Internatl Business Mach Corp <Ibm> エミュレーション方法および装置
US5896522A (en) * 1996-12-31 1999-04-20 Unisys Corporation Selective emulation interpretation using transformed instructions
JP5520326B2 (ja) * 1999-01-28 2014-06-11 エーティーアイ・テクノロジーズ・ユーエルシー コンピュータのメモリを参照する方法およびコンピュータ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62254237A (ja) * 1986-04-23 1987-11-06 Nec Corp インタプリタ方式の分岐命令実行方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
発明協会公開技報公技番号85−17011号

Also Published As

Publication number Publication date
JPH01162933A (ja) 1989-06-27

Similar Documents

Publication Publication Date Title
US7089563B2 (en) Methods and apparatus for exchanging information between browser pages
US6363522B1 (en) Method and apparatus for handling exceptions as normal control flow
US7089544B2 (en) Just in time compilation of java software methods
JP3066643B2 (ja) インタプリタ処理装置
JPH07117898B2 (ja) 多数の割込みサービスを行うマイクロプロセッサシステム
US5016164A (en) Computer system having delayed save on procedure calls
JP2715988B2 (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
EP0336091A2 (en) Pipeline type microprocessor
JP3119051B2 (ja) 印字情報変換方法およびその装置
JP2591212B2 (ja) 高速割込み処理装置
JPH04268928A (ja) エミュレーション装置及び半導体装置
JP2915680B2 (ja) Riscプロセッサ
KR0136511B1 (ko) 다중 페이지 구조를 갖는 가상주소변환장치의 적중실패 처리장치 및 그 방법
JPS61213935A (ja) 高級言語プログラムのデバック装置及びそのステップ方式
JPS58215779A (ja) デ−タ処理装置
JP2932812B2 (ja) 言語処理プログラム実行装置
JPH04242420A (ja) 磁気テープデータ記録方式
JPS61100836A (ja) 移動命令論理比較命令処理方式
JP2743947B2 (ja) マイクロプログラム制御方式
JPH04266133A (ja) プログラムのデバッグ方法
JPH05158507A (ja) 計装制御装置
JPS60220468A (ja) ベクトル演算制御方式
Weicker The influence of the machine model on the time complexity of context-free language recognition
JPS583042A (ja) プログラム実行方式
JPH031238A (ja) 情報処理装置のコンパイラ

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080519

Year of fee payment: 8