【手続補正書】
【提出日】平成15年12月4日(2003.12.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンパイラにより生成された中間コードを逐次解釈して実行するインタプリタ方式のプログラム実行装置において、
前記中間コードを記憶装置に読み込むコード読込手段と、
該記憶装置に読み込まれた中間コードのデータ参照を解決するデータ参照解決手段と、
該解決された情報に基づいて前記記憶装置内の中間コードを書き換えるコード書換手段と、
前記データ参照の解決が完了した中間コードを逐次解釈して実行する主解釈実行手段とを備えたことを特徴とするプログラム実行装置。
【請求項２】
前記コード書換手段による書き換えによって中間コードのサイズが変化する場合、該中間コードのアドレスを更新するアドレス更新手段を備えたことを特徴とする請求項１記載のプログラム実行装置。
【請求項３】
前記データ参照解決手段、前記コード書換手段および前記アドレス更新手段によって行われる全てのデータ参照の解決は、前記コード読込手段によって前記中間コードが前記記憶装置に読み込まれてから前記主解釈実行手段により実際の中間コードの解釈実行が開始されるまでの間に完了することを特徴とする請求項２記載のプログラム実行装置。
【請求項４】
前記アドレス更新手段は、前記コード書換手段による書き換えによって中間コードのサイズが変化する場合、アドレスの更新が必要な中間コードを全て検索し、変化したサイズの値だけ元のアドレスの値を更新することを特徴とする請求項２記載のプログラム実行装置。
【請求項５】
前記コード書換手段は、マシンアーキテクチュアに基づくデータ配置方法で中間コードを書き換えることを特徴とする請求項１記載のプログラム実行装置。
【請求項６】
前記主解釈実行手段は、前記コード書換手段によってマシンアーキテクチュアに基づくデータ配置方法で書き換えられた中間コードを、アクセスするデータタイプのデータ長で一度にアクセスすることを特徴とする請求項５記載のプログラム実行装置。
【請求項７】
前記主解釈実行手段によって実行された後の中間コードを記憶する実行後コード記憶手段を備え、
次にデータ参照を伴う同じ中間コードを読み込んだ場合、前記実行後コード記憶手段に記憶されたデータ参照が解決済みの中間コードを読み出すことを特徴とする請求項１記載のプログラム実行装置。
【請求項８】
コンパイラにより生成された中間コードを逐次解釈して実行するインタプリタ方式のプログラム実行装置の制御方法において、
前記中間コードを記憶装置に読み込むコード読込工程と、
該記憶装置に読み込まれた中間コードのデータ参照を解決するデータ参照解決工程と、
該解決された情報に基づいて前記記憶装置内の中間コードを書き換えるコード書換工程と、
前記データ参照の解決が完了した中間コードを逐次解釈して実行する主解釈実行工程とを有することを特徴とするプログラム実行装置の制御方法。
【請求項９】
前記コード書換工程での書き換えによって中間コードのサイズが変化する場合、前記中間コードのアドレスを更新するアドレス更新工程を有することを特徴とする請求項８記載のプログラム実行装置の制御方法。
【請求項１０】
前記主解釈実行工程で実行された後の中間コードを記憶する実行後コード記憶工程を有し、
次にデータ参照を伴う同じ中間コードを読み込んだ場合、前記実行後コード記憶工程で記憶されたデータ参照が解決済みの中間コードを読み出すことを特徴とする請求項８記載のプログラム実行装置の制御方法。
【請求項１１】
コンパイラにより生成された中間コードを逐次解釈して実行するインタプリタ方式のプログラム実行装置によって実行されるプログラムコードが格納された記憶媒体において、
前記プログラムコードは、
前記中間コードを記憶装置に読み込むコード読込手順と、
該記憶装置に読み込まれた中間コードのデータ参照を解決するデータ参照解決手順と、
該解決された情報に基づいて前記記憶装置内の中間コードを書き換えるコード書換手順と、
前記データ参照の解決が完了した中間コードを逐次解釈して実行する主解釈実行手順とを含むことを特徴とする記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
請求項１０に記載のプログラム実行装置の制御方法は、請求項８に係るプログラム実行装置の制御方法において、前記主解釈実行工程で実行された後の中間コードを記憶する実行後コード記憶工程を有し、次にデータ参照を伴う同じ中間コードを読み込んだ場合、前記実行後コード記憶工程で記憶されたデータ参照が解決済みの中間コードを読み出すことを特徴とする。


【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
請求項１１に記載の記憶媒体は、コンパイラにより生成された中間コードを逐次解釈して実行するインタプリタ方式のプログラム実行装置によって実行されるプログラムコードが格納された記憶媒体において、前記プログラムコードは、前記中間コードを記憶装置に読み込むコード読込手順と、該記憶装置に読み込まれた中間コードのデータ参照を解決するデータ参照解決手順と、該解決された情報に基づいて前記記憶装置内の中間コードを書き換えるコード書換手順と、前記データ参照の解決が完了した中間コードを逐次解釈して実行する主解釈実行手順とを含むことを特徴とする。


【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
【発明の効果】
本発明の請求項１に記載のプログラム実行装置によれば、コード読込み手段によって記憶装置に読み込まれた中間コードの命令がデータ参照を含む命令である場合、データ参照解決手段によりそのデータ参照を解決し、コード書換え手段により解決された情報に基づいて中間コードを書き換え、主解釈実行手段により書換えが完了した中間コードを逐次解釈して実行するので、中間コードを高速に実行することができる。また、データ参照解決のためのハッシュテーブルやデータキャッシュのためのメモリ領域をなくし、それにより使用するメモリ容量を減らすことができる。尚、請求項８に記載のプログラム実行装置の制御方法および請求項１１に記載の記憶媒体においても同様の効果を得ることができる。


【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
請求項２に記載のプログラム実行装置によれば、前記コード書換手段による書き換えによって中間コードのサイズが変化する場合、アドレス更新手段が中間コードのアドレスを更新するので、書き換えによって中間コードのサイズが変化する場合に対処することができる。尚、請求項９に記載のプログラム実行装置の制御方法においても同様の効果を得ることができる。


【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
請求項３に記載のプログラム実行装置によれば、コード読込み手段によって記憶装置に読み込まれた中間コードの命令のデータ参照は、データ参照解決手段、コード書換手段およびアドレス更新手段によってあらかじめ解決されて書き換えられているので、主解釈実行手段によって中間コードを逐次解釈して実行する度にデータ参照を解決する必要がなくなる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
請求項４に記載のプログラム実行装置によれば、コード書換手段によって中間コードのサイズが変化する場合、アドレスの更新が必要な中間コードを全て検索し、サイズが変化した値だけ元のアドレスの値を更新するので、アドレスを正しく参照することができる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
請求項５に記載のプログラム実行装置によれば、コード書換手段は、マシンアーキテクチャに基づくデータ配置方法で中間コードを書き換えるので、メモリアクセスを効果的に行うことができ、中間コードを高速に逐次解釈して実行することができる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
請求項６に記載のプログラム実行装置によれば、主解釈実行手段は、マシンアーキテクチャに基づくデータ配置方法で書き換えられた中間コードを、アクセスするデータタイプのデータ長で一度にアクセスするので、メモリアクセスの回数を減らすことができ、これにより中間コードを高速に逐次解釈して実行することができる。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
請求項７に記載のプログラム実行装置によれば、前記主解釈実行手段によって実行された後の中間コードを記憶する実行後コード記憶手段を備え、次にデータ参照を伴う同じ中間コードを読み込んだ場合、前記実行後コード記憶手段に記憶されたデータ参照が解決済みの中間コードを読み出すので、データ参照を解決する必要がなくなり、高速に中間コードを実行することができる。尚、請求項１０に記載のプログラム実行装置の制御方法においても同様の効果を得ることができる。


【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
請求項１１に記載の記憶媒体によれば、コンパイラにより生成された中間コードを逐次解釈して実行するインタプリタ方式のプログラム実行装置によって実行されるプログラムコードが格納された記憶媒体において、前記プログラムコードは、前記中間コードを記憶装置に読み込むコード読込手順と、該記憶装置に読み込まれた中間コードのデータ参照を解決するデータ参照解決手順と、該解決された情報に基づいて前記記憶装置内の中間コードを書き換えるコード書換手順と、前記データ参照の解決が完了した中間コードを逐次解釈して実行する主解釈実行手順とを含むので、プログラム実行装置の拡張性、汎用性を高めることができる。