特許
J-GLOBAL ID:200903097743801538

プログラムコード変換方法

発明者:
出願人/特許権者:
代理人 (1件): 三俣 弘文
公報種別:公開公報
出願番号(国際出願番号):特願2000-272660
公開番号(公開出願番号):特開2001-101012
出願日: 2000年09月08日
公開日(公表日): 2001年04月13日
要約:
【要約】【課題】 浮動小数点アルゴリズムコードから固定小数点アルゴリズム実装への改良された変換方法を提供することが本発明の課題である。【解決手段】 本発明に係る方法の具体的な実施例に従って、従来技術に係る変換手続きの種々の段階に亘って実行される必要があった単調な操作の大部分は、C++クラスの組の定義の内部に有効に隠される。これらのC++クラス定義を利用することによって、浮動小数点設計プロセスが実質的に簡略化される。本発明の望ましい実施例において実現された本発明の原理に従って、プログラマは、前述された変換プロセスのそれぞれの段階に亘ってソースコードをシミュレートする目的で、ある種の予め定義されたヘッダファイルを含ませること及び/あるいは取り除くこと、及び、浮動小数点コード内の変数宣言を変更することのみを行なえばよい。
請求項(抜粋):
プログラムコードの第一の組をプログラムコードの第二の組に変換する方法において、前記第一及び第二のプログラムコードの組は、各々、定義可能なクラス及びオペレータオーバーロード機能を有するオブジェクト指向プログラミング言語によってコーディングされており、前記第一のプログラムコードの組はその中で定義された単一あるいは複数個の浮動小数点変数に関して実行されるべき単一あるいは複数個の浮動小数点算術演算を含み、前記第二のプログラムコードの組は前記単一あるいは複数個の浮動小数点算術演算に関して置換された単一あるいは複数個の固定小数点算術演算を有しており、前記方法が、(a)中間プログラムコードの組を生成する目的で前記第一のプログラムコードの組を修正する段階;ここで、前記第一のプログラムコードの組を修正する前記段階が、(i)前記第一のプログラムコードの組内において単一あるいは複数個の第一追加クラス定義を定義する段階;ここで、前記第一追加クラス定義は対応する第一追加データタイプ及びそれに係る対応するオーバーロード割り当てオペレータの組を有しており、前記オーバーロード割り当てオペレータの組の各々は前記中間プログラムコードの組の実行に際して前記対応する追加データタイプに属する変数に係るダイナミックレンジ情報を捕捉するべく定義されている;及び、(ii)前記第一のプログラムコードの組内の前記単一あるいは複数個の浮動小数点変数のタイプ定義を前記第一追加データタイプのうちの一つに変更する段階;を有している;(b)前記中間プログラムコードの組をコンパイルして実行する段階;このことによって、前記第一追加データタイプに属する単一あるいは複数個の変数に係るダイナミックレンジ情報を捕捉する;及び、(c)前記第二プログラムコードの組を生成する目的で前記中間プログラムコードの組を修正する段階;ここで、前記中間プログラムコードの組を修正する前記段階が、(i)前記中間プログラムコードの組内において単一あるいは複数個の第二追加クラスを定義する段階;ここで、前記第二追加クラス定義は対応する第二追加データタイプ及びそれらに係る単一あるいは複数個のメンバ関数を有しており、前記第二追加データタイプの各々は浮動小数点変数の固定小数点表現に係る対応するフォーマットを定義し、前記関連するメンバ関数の各々は前記固定小数点表現フォーマットのうちの一つと浮動小数点値との変換を行なうように定義されており、及び(ii)前記中間プログラムコードの組内の前記第一追加データタイプに属する変数のタイプ定義をそれらに係る前記捕捉されたダイナミックレンジ情報に基づいて前記第二追加データタイプのうちの一つに変更する段階;を有している;を有していることを特徴とするプログラムコード変換方法。
IPC (2件):
G06F 9/45 ,  G06F 9/455
FI (2件):
G06F 9/44 320 F ,  G06F 9/44 310 A

前のページに戻る