研究概要 |
前年度に引き続き,XMLを用いたANSI C用スライサ・クロスリファレンサのプロトタイプの設計と実装を行った.それに伴って判明したさまざまな技術的問題点について,以下の研究を行った. 1.DWARF2デバッグ情報を用いたバイナリレベル・データ統合方式の提案と実装. 昨年度に構築したACMLはソースコードを解析する方式であり,スライサ等の構築に有効ではあったが,コンパイラの独自機能や規格の未規定動作への対応が困難であることが判明した.そこで,バイナリコードを解析し,それをXML化することで,CASEツール構築を容易にする方式を提案し,DWARF2デバッグ情報に関して,設計と実装を行った. 2.追跡子を用いた,C前処理系解析器の設計 昨年度に構築したACMLはC前処理系の処理後を解析対象にするため,#defineなどのマクロ展開情報を扱えなかった.C前処理の効率よい解析は困難であることが知られているが,本研究では追跡子を使う新しい方式を提案し,基本的な設計を行った. 3.ACMLを用いたプログラム情報抽出システムの設計 昨年度はACMLを用いて,スライサとビジュアライザを実現した.これをさらに進めた応用事例として構文要素を用いたパターンを与えることで,ソースコードの一部を検索できるプログラム情報抽出システムの基本的な設計を行った. 4.属性文法を用いたXML一貫性チェックシステムと属性文法の基礎研究 XML文書の意味的な一貫性保持が難しいため,我々は属性文法技術を用いた宣言的な一貫性チェックシステムを提案・実装している.この方式の有効性を確認するため2つのケーススタディを行った.また,属性文法の基礎研究として,順序属性文法(OAG)を改良し,3型循環が発生しにくいクラスであるOAG*を提案し,その有効性を示した.
|