研究概要 |
XMLを用いたANSI C用スライサ・クロスリファレンサのプロトタイプの設計と実装を行った. 1.ANSI C言語の静的な意味の抽象化・モデル化,およびDTD (Document Type Definition)の定義. 実装を重視し,地に足のついた研究とするため,初年度はANSI C言語の静的な意味,主に構文・型・シンボル・参照(定義参照関係,データフロー,制御フローなど)の情報に絞って,抽象化・モデル化を行った. またその結果に基づいて,XMLに基づくCASEツールのためのDTDを定義した. 2.ANSI C言語から上記DTDに合致したXML文書への変換器の設計・実装・評価. まず,ANSI C言語用の構文解析器を設計・実装した. 多くの実装がtypedef名などの処理を簡略化しているが,本研究では,実用性を重視して,これらも扱えるフルスペックの構文解析器とした. 次に,上で定義するDTDに合致したXML文書を出力する機能を付加して,変換器を構築した. 3.XMLを用いたANSI C言語の静的スライサ・ビジュアライザの設計・実現・評価. 上記の変換器が出力した(C言語を表す)XML文書を入力とする,ANSI C言語用の静的スライサ・ビジュアライザ(クロスリファレンサ)のプロトタイプの設計と実現を行った.静的スライサでは既存アルゴリズム(Weiserのスライサ)を用いた. ビジュアライザは整形と(変数名を含めた)高度なタグジャンプ機能を実現した. 4.XMLの問題点として,文書の一貫性チェックを宣言的に記述できず,アプリケーションプログラムに埋め込む必要がある.この問題を解決するため,属性文法の技術を応用して宣言的に一貫性チェックを行う新しい方式を提案した.
|