著者
太田 行紀 田淵 聡 脇田 建 佐々 政孝
雑誌
全国大会講演論文集
巻号頁・発行日
vol.46, pp.81-82, 1993-03-01

プログラム開発環境においてはデバッガの存在が欠かせない。しかし,それを始めから作成するためには多大な時間と労力を要する。本稿は,インタプリタの内部情報を利用することにより,インタプリタ型のデバッガ作成に要する労力を劇的に減少することができることを報告する。われわれは言語処理系を記述する統一的な枠組として属性文法を使ってきた。これまでに,さまざまなクラスの属性文法を用いることでコンパイラの構文解析,意味解析,最適化,コード生成の各フェイスが記述できることを確認したほか,インタプリタやグラフィカルユーザインタフェイスの生成にも利用できることが分かった。このインタプリタに対して,文を実行する前にフックをかけ,コルーチン的に協調動作するデバッガフロントエンドを呼び出すように変更することで,文字端末用のデバッガが実現できた。今回作成したPL/0言語のデバッガの記述に要するコードは従来のデバッガに比べ行数比でわずかに1/65にすぎない。さらに,すでにわれわれが開発した属性文法に基づくグラフィカルユーザインタフェイス(GUI)生成系を利用し,デバッガのGUIも作成した。これにより,xdbxとほぼ同等の機能を持ったものが実現できた。
著者
太田 行紀 脇田 建 佐々 政孝
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告ソフトウェア工学(SE) (ISSN:09196072)
巻号頁・発行日
vol.1995, no.25, pp.185-192, 1995-03-09

コンパイラをテストする際、コンパイラのすべての機能をもれなくテストするようなソースプログラムを人手によって作成することは非常な労力を要する。このテストは,構文的にも意味的にも正しいプログラムが正しく処理されることを調べる正常系試験と、その一方または両方が誤っているプログラムに対して適切なエラーメッセージが出力されることを調べる異常系試験の2つに分けられる。本論文では、そのそれぞれに対して、属性文法によるコンパイラの形式的定義より自動的にソースプログラムを生成する方法を試みた.その際,属性文法の文脈条件を意図的に真または偽にすることによって,意味的に正しいまたは誤ったプログラムを生成できたことがオリジナルな点である.In testing a compiler, it is very hard to manually generate test programs that cover all functions of the compiler. The test consist of the normality test and the abnormality test. The former checks whether the compiler works for syntactically and semantically correct programs. The latter checks whether the compiler detects errors and gives proper error messages for programs including syntax or semantic errors. In this paper, we try to automatically generate test programs for each of the above cases from formal definition by attribute grammars. The originality of this research resides in that we can generate semantically correct/incorrect programs by making context condition true/false intentionally.