プログラミングを全的な知的作業としてとらえるプログラミング環境の考え方が注目を浴びている。 本研究の考え方は、ソースプログラムあるいは構文木に対する属性文法を用いた生成系により、コンパイラ、インタプリタ、デバッガ等を形式的な仕様から生成し、かつそれらのモジュールを使用する統合的なグラフィカル・ユーザ・インタフェィス自身も属性文法を基とした仕様から作り出すものである。 本研究期間に次を実現した。 1.コンパイラのフロントエンド用1パス・コンパイラ生成系RieのGNU版フリー・ソフトウェアの公開 2.言語指向エディタの核となるインクリメンタル構文・意味解析器とその生成系の作成 3.木属性文法に基づく生成系Junを用いたコンパイラの最適化器のプロトタイプの作成 4.グラフィカル・ユーザ・インタフェイス部に対する属性文法を基とした記述法とその記述からグラフィカル・ユーザ・インタフェイスを生成する生成系Wingの作成と評価 5.WingとJunを用いたウィンドウ上のデバッガの生成 以上の結果により、従来手続きで作成されていた言語処理系の各フェイズを属性文法という単一の枠組みで扱えること、また、現在では作成ステップが長大になると言われているウィンドウ環境も属性文法を基とした簡潔な記述から生成できることが確かめられた。 これまで作成したツール群は、研究の方向性を確認するには充分であるが、より実用規模のプログラミング言語やプログラミング環境に適用することが今後の課題である。
|