研究概要 |
本研究は、属性文法に基づくコンパイラ生成系をフリーソフトウェアとして公開するものである。 1.Rieは,1パス型属性文法に基づく生成系である.これは,GNU Bisonをベースに,C言語で実装してある.Rieについては,平成5年度に1.0.3版と1.0.4版,平成6年度に1.0.5版を公開したが,平成7年度は寄せられたコメントやバグ情報へ対応などを行い,GNU規約に基づいたフリーソフトウェアとして1.0.6版を公開した.これらは,fjのニュースグループおよび世界的なネットワークであるusenetのニュースグループcomp.compilersでアナウンスし,具体的にはfip.is.titech.ac.jp:/pub/Rieよりanonymous ftpで入手できるようにした.これに対し,海外からはGNU規約をゆるめられないか等の問合せがあったり,国内ではfjのニュースグループで取り上げられたりしている。また,Rieを用いたコンパイラ記述に関する解説を図書に掲載した. 2.Junは,木の上の属性文法に基づく,コンパイラのバックエンド用の生成系である.これはCommon Lispで実装してある.Junは,属性の依存関係にサイクルがある場合も扱えることが特徴で,これにより最適化器の定式化が可能になった.Junについては,初期版に対し,入力記述の仕様を改訂し,継承属性と合成属性とを対称的に扱うよう生成される属性評価器の形を変更し,全面的な書き直しを行った.これをfj.lang.misc,fj.sources.dなどでアナウンスし,具体的にはftp.is.titech.ac.jp:/pub/Junよりanonymous ftpで入手できるようにした. 3.RieとJun双方を用いた実用規模言語に対するコンパイラ作成を行った.具体的には言語Cのサブセットについて,フロントエンドをRieにより,最適化器,レジスタ割付け,コード生成器をJunにより記述することで,コンパイラ作成を行った.
|