本研究では、自己反映並列オブジェクト指向言語ABCL/R3の言語設計および、インタプリタ処理系の作成を行い、従来のものより、より記述が容易で効率的な実行が可能となる言語処理系作成のための方向付けが得られた。具体的には、以下のとおりである。 (1)ABCL/R3の言語設計、特にメタオブジェクトプロトコルに関しては、継承と委譲(delegation)による拡張を念頭に置き、細分化されたメソッド群によって定義を行った。特にこの細分化は、部分計算による実現を前提とすることで、プログラマが利用しすい形で定義することが可能になっている。そのため、報告者らがこれまで設計・実現を行ってきたABCL/R./R2に比べて、メタオブジェクトの拡張に継承機構が利用でき、再利用性を向上させている。 また、メタインタプリタ設計に関しては、新しく委譲にもとづいた設計を行った。これによって、インタプリタ実行時にインタプリタ定義を拡張することが可能になり、動的かつ局所的な変更を容易にしている。さらに委譲オブジェクトは、関数定義への変換できるように制限されているため、部分計算を用いたコンバイルを容易にしている。 (2)Schemeの並列オブジェクト指向拡張であるSchematicをもとにして、ABCL/R3のインタプリタ処理系を作成した。現在のところ、メタレベルの変更を含めた簡単なサンプルプログラムが動いている。Schematic処理系は、並列環境に対応しているため、ABCL/R3処理系を並列に動作させることは容易であると思われる。 また、コンパイル方法については、メタオプジェクトを部分計算した結果を、他のオブジェクトと同様に扱うための枠組が必要であることが分かり、現在はその解決方法を新たな研究課題として検討している。
|