2010 Fiscal Year Annual Research Report
観点に基づくプログラム分解と合成による編集支援方法
Project/Area Number |
22500036
|
Research Institution | Nanzan University |
Principal Investigator |
吉田 敦 南山大学, 情報理工学部, 准教授 (50283495)
|
Co-Investigator(Kenkyū-buntansha) |
蜂巣 吉成 南山大学, 情報理工学部, 准教授 (30319298)
|
Keywords | プログラム解析 / プログラムパターン変換 / 前処理前解析 |
Research Abstract |
本課題では、ソースプログラムに対する書換えを実現するための土台となる環境を構築した。対象となるソースプログラムはC言語で記述されたものとし、前処理前の状態のまま書換えることを目指した。成果としては、解析後のプログラムの表現形式として(a)属性付き字句系列を、プログラムの解析方法として(b)段階的詳細化による構文解析方法を提案し、(c)評価実験を行なった。 (a) 属性付き字句系列 一般的にプログラムの書換えは、抽象構文木に変換してから木を操作するが、前処理前のプログラムに対して抽象構文木を構築することは難しく、また、空白やコメントなどの情報の欠落もありえる。そこで、単純に字句の並びとしてソースプログラムを捉え、構文要素を的確に扱えるよう、字句に種別や対応関係などの情報を属性として持たせ、構文要素の区切りを表す仮想的な字句を加えた表現形式を考案した。 (b) 段階的詳細化による構文解析方法 前処理前のソースプログラムをそのまま正確に解析する構文解析器を作ることは難しい。しかし、一部の断片だけを見れば構文的には完結しており、構文解析が可能である。そこで、括弧の対応関係の解析や、粗い粒度の構文解析など、やや粗い解析を先に行い、字句の並びなどから確定する情報を補正していくことで、段階的に正確な解析結果に変換していく方法を提案し、実装を行なった。 (c) 評価実験 プログラムのパターン変換系を実装し、実際にプログラムの書換えが実装できるか確認し、また、課題を整理した。また、解析器をオープンソースの解析に適用し、実用的な精度で解析できることを確かめた。
|
Research Products
(4 results)