現在稼働しているモード解析系klint第1版を発展させることによって、KL1プロ グラムの、実装方式非依存の解析情報を統合的に出力する解析系を構築する。具 体的には、次のような機能を順次検討し、実現する。
ガードおよびボディの組込述語の呼出し、特にベクタ操作など、構造データへの ランダムアクセス操作へのモードづけをklintに組込む。
現在公開されているklintのバグを修正する。
本研究で考える型とは、データ構造中の特定の場所に出現しうる関数記号の集合 のことである。リスト、ベクタ、整数、浮動小数点数、列挙型(例:ストリーム中 を流れるメッセージの種類を列挙したもの)などを、これで表現することができ る。この型情報を、単一化に基づく解析によって求める機能の設計と実装を行な う。
本研究で考える参照数とは、データ構造中の特定の場所に出現するデータの読み 手が、単数に限られるか複数になりうるかに関する情報である。参照数解析も、 他の情報と同様に、制約充足問題として定式化することができ、近似的には単一 化によって容易に求めることができる。しかし、より詳細な解析を行なうために は、単一化よりも複雑な制約充足が必要となることもわかってきた。
そこで、まずは近似解を効率良く求める機能を実装し、その後、正確な解を求め る方法の研究開発を行なう。