研究実施計画に従い、トランスレータの生成系の実装を進めた.本研究の目的は、個々のプログラミング言語に透明な分散性を与えるソースコード・トランスレータを系統的に生成するための生成系を実現することにある.生成されるトランスレータは、透明な分散性をもたない静的に型付けられたプログラミング言語Lがあるとき、Lのポインタ型や関数型を含む任意のデータ型を分散透明に受け渡せるように拡張された言語LDで記述されたプログラムを入力し、Lと分散通信を実現するための実行時ライブラリ呼び出しで書かれたプログラムを生成する. トランスレータ生成系の作成にあたり、まず2つの抽象構文木CAST-LおよびCAST-LDの仕様を、本生成系が適用されるプログラミング言語とは独立に定めた.CAST-LDは言語LDの各構文および各構文に対応する型付け情報を定めたものである.このとき、透明な分散性の導入に関与しない構文は隠蔽され、最後にソースコードを生成するときに再び展開される.CAST-Lは言語Lに対応する抽象構文木である(図参照). LDで記述されたプログラムからCAST-LDで表現された抽象構文木への変換を行うパ-ザの生成は、Yaccなどの既存のパ-ザ生成系を用いることとし、本生成系はパ-ザ仕様記述を簡略化するテンプレートを提供する.CAST-Lで表現された抽象構文木からLプログラムへの変換を行う逆パ-ザも基本的にはユーザが提供することとし、本生成系は逆パ-ザ記述を容易化するテンプレートを提供する.CAST-LDからCAST-Lへ変換するプログラムモジュールは、研究代表者らが既に開発した基本変換アルゴリズムを実装したものである.以上のモジュールを統合してトランスレータ生成系の実装を行った.実装を検証するために言語LをプログラミングPascalとして本トランスレータ生成系を適用し、Pascalに透明な分散性を導入できたことを確認した.
|