研究概要 |
部分計算とは,汎用プログラムを実行環境に基づいて特殊化し,効率的なプログラムに変更することである.完全遅延評価と呼ばれる関数プログラムの評価方式は,部分計算の能力をある程度備えていることがわかっている.この研究では,部分計算の実行に適した技法を組込んだ完全遅延評価系の開発をし,これを使った実験を行なった.その結果,新たに以下のような知見を得た: ・まず表計算,遅延メモ化,冗長な仮引数の除去,共通部分式の削除といった,部分計算に有効な技法を組込んだ処理系を提案した.この処理系を科学研究費補助金によって購入した高速なワークステーション上に実現し,これをパタン照合アルゴリズムの導出に適用して,比較的単純なプログラムからAho-Corasickアルゴリズムに対応するプログラムを導出することに成功した. ・また,従来の研究によって部分計算を実行することで,インタプリタからコンパイラやコンパイラコンパイラを導出できることが理論的に示されていたが,満足すべき結果は出ていなかった.本システムによって、その可能性を示すことができた. ・さらに,部分計算の応用例として,プログラムの起動時に与えられるデータに基づきコードをコンパイルしてロードモジュールを構成する方式において,与えられるデータ以外の部分はあらかじめ部分計算しておく手法を提案し,これを実現するための環境を実現した.
|