研究概要 |
1.研究の背景と特色 近年,コンパイラのバックエンド処理の新しい内部表現として,単一代入の変数を用いるSSA(Static Single Assignment)形式が提唱され,コンパイラの最適化変換やプログラム変換が容易にできるとして注目を浴びている.しかし,現状のSSA形式には次のような問題がある. (1)構文木等の中間表現からSSA形式への変換が手続き的にしか記述されていない (2)SSA形式による解析アルゴリズムが従来のデータフロー方程式のような簡潔な等式で定式化されていない 本研究では,これらの問題を解決するため,次を行う点に特色がある. (1)構文木等の中間表現からSSA形式への変換を,構文木の書換え系として読解性の良い形に定式化する. (2)SSA形式に基づく種々の解析と最適化されたSSA形式への変換を,簡潔な等式によりわかりやすく定式化する. (3)これらを扱えるよう,バックエンドを生成する生成系自身の新たな体系化を行う.この出発点として属性文法による体系化を採用する. 2.平成8年度の研究経過 (1)構文木からSSA形式への変換法を定式化した. (2)C言語のサブセットについて,SSA形式による最適化やレジスタ割付のアルゴリズムを属性文法により定式化し,生成系Junを利用してプロトタイプ・コンパイラを作成した.
|