研究概要 |
本年度は、申請者が今まで開発してきたOpenC++処理系を改良し、プログラマが最適化処理を拡張するために必要になる機能を、処理系に追加できるようにした。この改良が実際にうまく働くかどうかは、次年度に実際に最適化技法をプログラムしてみることで検証する。具体的な改良点は、(1)まず従来のAPIを改良し、構文木の変換ではなく、オブジェクトにもとづいたより高い抽象度でもプログラムを操作できるようにした。これによって、ある種のプログラム変換が短いメタプログラムで記述できるようになった。(2)またreificationによって取りだせるプログラムのメタ情報を充実させた。例えば、従来から変数の型を調べることができたが、constか否かなど細い情報は調べることができなかった。このような情報もメタプログラムから調べられるように改良した。(3)さらにメタプログラムをコンパイラに動的にリンクできるようにし、OpenC++処理系の操作を簡単にした。従来、メタプログラムを使えるようにするには、コンパイラに静的にリンクする必要があった。このため、新しいメタプログラムを使うたびに、それが静的にリンクされた処理系を作らなければならず、非常に操作が繁雑であった。今回、動的にリンクできるように改良したことで、処理系が必要なメタプログラムを自動的に読み込むようになったので、ユーザはリンクに注意を払わなくてすむようになった。(4)最後に詳細な参照マニュアルをHTMLで記述した。 以上の改良を配布パッケージにまとめ、Webサーバによって公開した。世界中の数十のユーザの関心をあつめることができ、何人かのユーザからのフィードバックは配布パッケージに反映させた。またフランス CNRS,INRIA等で本研究を紹介する発表をおこなった。
|