計算中のプロセスの計算状態を安全に操作可能にすることで、高い実行性能と安全性・正当性を両立させるための拡張C言語の仕様設計、実装技術および応用手法を提案し、それらの評価することで、多数のプロセッサやノードから成るシステムを統合できることを示そうとしている。平成18年度は以下の成果を得た。 1.提案手法の評価環境の構築 平成17年度に開発した入れ子関数(L-closure)の仕様及び実装技術を、実動するコンパイラとして実現した。具体的にはGM C Compiler(GCC)のバージョン3.2を用いている。また、バージョン4対応に向けての調査を行った。また、通常のC言語へのトランスレータとしての実装も行った。 2.応用プログラムの開発 特にマルチスレッド、負荷分散、自動メモリ管理のポインタ補正を中心として応用プログラムを作成した。 3.言語仕様の改良 言語仕様としては入れ子関数(クロージャ)をベースとし、関数呼出しの呼出し元のフレームで眠っている変数の値への正式なアクセスを可能としている。本研究では、L-closureと呼ぶ、高い実行性能を得るためのクロージャを提案しているため、その呼び出しには通常の関数とは異なる呼び出し方試を用いる。このためキーワードを付与して入れ子関数を定義するようにしていたが、L-closureへのポインタ(や型)を構造体メンバ、関数、配列、型定義などでも利用できるように(構文解析ができるように)、構文の変更を行った。
|