JPH05233370A - 機械語命令テーブル参照テスト網羅度チェック方式 - Google Patents

機械語命令テーブル参照テスト網羅度チェック方式

Info

Publication number
JPH05233370A
JPH05233370A JP4038968A JP3896892A JPH05233370A JP H05233370 A JPH05233370 A JP H05233370A JP 4038968 A JP4038968 A JP 4038968A JP 3896892 A JP3896892 A JP 3896892A JP H05233370 A JPH05233370 A JP H05233370A
Authority
JP
Japan
Prior art keywords
machine language
language instruction
instruction table
address
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP4038968A
Other languages
English (en)
Inventor
Yoshiaki Hamada
佳明 浜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe Ltd
Original Assignee
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KOBE NIPPON DENKI SOFTWARE KK, NEC Software Kobe Ltd filed Critical KOBE NIPPON DENKI SOFTWARE KK
Priority to JP4038968A priority Critical patent/JPH05233370A/ja
Publication of JPH05233370A publication Critical patent/JPH05233370A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【構成】コンパイラ1のオブジェクト生成部のテストに
おいて、オペランドの条件に応じて、出力すべき機械語
命令をテーブル化し、その機械語命令テーブルを参照す
ることによって、機械語命令を生成する。参照された機
械語命令テーブルのアドレスをアドレステーブル3に出
力する。そのアドレステーブル3を使用して、参照され
た機械語命令テーブルの一覧表を出力して、機械語命令
テーブルのテストが、より効率的により確実に行えるよ
うにする。 【効果】機械語命令テーブルのテストが、より効率的に
より確実に行える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、機械語命令テーブル参
照テスト網羅度チェック方式に関し、特に、コンパイラ
のオブジェクト生成部のテストにおいて、オペランドの
条件に応じて出力すべき機械語命令をテーブル化し、そ
の機械語命令テーブルを参照することによって機械語命
令を生成するコンパイラの機械語命令テーブル参照テス
ト網羅度チェック方式に関する。
【0002】
【従来の技術】ソースプログラムを翻訳して中間的なテ
キストから機械語に変換するときに、機械語命令テーブ
ルを参照することによって機械語命令を生成するコンパ
イラでは、機械語命令テーブルの設計がコンパイラの品
質および性能に大きく影響する。そのために、コンパイ
ラのテストにおいても、機械語命令テーブルの内容をす
べて入念にチェックする必要があり、テストですべての
機械語命令テーブルの内容が参照されたかどうかという
情報が品質を保証する際に重要となっている。
【0003】従来の機械語命令テーブル参照テスト網羅
度チェック方式のその1は、人手で、コンパイラが出力
したオブジェクトリストを参照しながら、機械語命令テ
ーブルの設計書と照らし合わせ、前後の関係からその時
点でのオペランド等の条件を考慮にいれて、参照された
機械語命令テーブルの内容を見つけだしている。
【0004】また、その2は、機械語命令テーブルが選
択された時点で機械語命令テーブルへのポインタの内容
を出力できるように、コンパイラにデバックトレースル
ーチンを埋め込むかデバッガを使うかなどしてアドレス
を出力している。そして、そのアドレスをもとに、人手
で、リンクマップから機械語命令テーブルの相対アドレ
スを計算し、機械語命令テーブルのマップリストより、
参照された機械語命令テーブルの内容を求めている。
【0005】
【発明が解決しようとする課題】上述した従来の機械語
命令テーブル参照テスト網羅度チェック方式その1は、
人手でコンパイラが出力したオブジェクトリストと機械
語命令テーブル設計書とを照らし合わせているので、第
一に、オペランド等の条件を判定することをはじめ、ほ
とんどが人手によって行われるために、ある程度の知識
を必要として時間もかかるという欠点を有するととも
に、第二に、機械語命令テーブルによっては、全部また
は一部の機械語命令列が同じ並びになっているものもあ
り、オブジェクトリスト上の前後関係からだけでは、正
確に機械語命令テーブルを決定できないことがあるとい
う欠点を有している。
【0006】また、その2は、選択された機械語命令テ
ーブルの内容へのポインタを出力しているので、上記の
ように機械語命令テーブルを決定できない場合は無くな
るが、相対アドレスの計算や相対アドレスから機械語命
令テーブルをサーチするのが人手であるために、時間が
かかったり、間違いを生じ易いという欠点を有してい
る。
【0007】
【課題を解決するための手段】本発明の機械語命令テー
ブル参照テスト網羅度チェック方式は、コンパイラのオ
ブジェクト生成部のテストにおける機械語命令テーブル
参照テスト網羅度チェック方式において、オペランドの
条件に応じて出力すべき機械語命令をテーブル化し、そ
の機械語命令テーブルを参照することによって機械語命
令を生成する場合に、参照された前記機械語命令テーブ
ルの各モジュール単位の先頭アドレスおよび参照された
前記機械語命令テーブルのアドレスのテーブルであるア
ドレステーブルと、四則演算等に分類された前記機械語
命令テーブルのモジュール単位に対してその処理内容が
すぐわかるようにつけられた名標および前記機械語命令
テーブルのモジュール単位内の相対アドレスの対応をと
った名標テーブルと、前記名標テーブルを作成する名標
テーブル作成手段と、前記アドレステーブルおよび前記
名標テーブルを入力して参照された前記機械語命令テー
ブルの名標および相対アドレスの一覧表を出力するテス
ト網羅度チェック手段とを有して構成されている。
【0008】
【実施例】以下に、本発明の実施例について図面を参照
して説明する。
【0009】図1は、本発明の機械語命令テーブル参照
テスト網羅度チェック方式の一実施例を示ブロック図で
ある。図1に示すように、本実施例は、コンパイラ1、
アドレス出力手段2、アドレステーブル3、名標テーブ
ル4、網羅度チェック手段5、名標テーブル作成手段6
を有して構成されている。
【0010】また、図2は、本実施例の処理の一例を示
す流れ図である。図2に示すように、本実施例の処理
は、語彙・構文・意味解析手段7、中間語入力手段8、
機械語命令テーブル選択手段9、アドレス出力手段2、
網羅度チェック手段5、名標テーブル作成手段6、アド
レステーブル入力手段10、相対アドレス計算手段1
1、参照判定手段12、参照機械語命令テーブル一覧出
力手段13、アドレステーブル3、名標テーブル4、機
械語命令テーブルファイル14、ソースファイル15、
中間語ファイル16、一覧表17、機械語命令テーブル
マップリスト18、参照フィールド19により構成され
ている。
【0011】次に、本実施例の処理について図2を基に
して説明する。
【0012】まず、語彙・構文・意味解析手段7は、ソ
ースファイル15を入力し、中間語に翻訳して、中間語
ファイル16に出力する。また、中間語入力手段8は、
中間語ファイル16を入力し、その内容に応じて、機械
語命令テーブル内の各グループ、たとえば、加算,乗
算,比較などを決定して、機械語命令テーブル選択手段
9に制御を渡す。中間語ファイル16を読み終えれば、
処理を終了する。
【0013】また、機械語命令テーブル選択手段9は、
機械語命令テーブルの各グループより、機械語命令テー
ブルを決定するためのオペランドの条件調査と、それに
基づいて、機械語命令テーブルの選択を行う。同じ加算
であっても、オペランドがレジスタ上かメモリ上か定数
かなどによって、出力すべき機械語命令が異なるためで
ある。これは、CPUによって、機械語命令ごとにオペ
ランド種別の制約があり、より最適な機械語命令列を出
力するためには、このオペランド条件を十分に考慮しな
くてはならないからである。そこで、機械語命令テーブ
ルは、可能なオペランド条件の組み合わせのすべてに対
応して作成している。機械語命令テーブル選択手段9で
は、中間語ファイル16の情報より、オペランド条件を
調査し、その情報をもとに、機械語命令テーブルファイ
ル14をサーチして、該当する機械語命令テーブルを選
択する。次に、アドレス出力手段2に制御を移す。
【0014】そこで、アドレス出力手段2は、機械語命
令テーブルの各モジュールの先頭アドレスと、機械語命
令テーブル選択手段9によって選択された機械語命令テ
ーブル内のアドレスとを外部ファイルであるアドレステ
ーブル3に出力する。機械語命令テーブル選択手段9の
サーチは、機械語命令テーブルへのアドレスを機械語命
令単位に更新していくことによっておこなわれるので、
サーチしたときに条件が一致したアドレスを出力する。
機械語命令テーブルの各モジュールの先頭アドレスは、
相対アドレス計算手段11によって参照される。アドレ
ス出力手段2が終了したら、中間語入力手段8に制御を
戻す。
【0015】一方、名標テーブル作成手段6は、コンパ
イラとは別に動作する。各々の機械語命令テーブルのモ
ジュール単位に、その処理内容がすぐわかる名標がつけ
られている。名標テーブル作成手段6は、機械語命令テ
ーブルをコンパイルする際に出力した機械語命令テーブ
ルマップリスト18を基に、名標やその相対アドレスだ
けを残し、不必要な部分を削除して名標とその相対アド
レスとの対応表を作り、それを名標テーブル4として外
部ファイルに出力する。
【0016】次に、網羅度チェック手段5は、コンパイ
ラ1によって出力されたアドレステーブル3と名標テー
ブル4とを入力し、参照された機械語命令テーブルの一
覧表17を出力する一連の動作を制御する。最初に、ア
ドレステーブル入力手段10に制御を移す。アドレステ
ーブル入力手段10は、コンパイラ1によって出力され
たアドレステーブル3を逐次読み込み、相対アドレス計
算手段11に制御を移す。ただし、アドレステーブル3
を読み終えた場合には、参照機械語命令テーブル一覧出
力手段13に制御を移す。
【0017】そして、相対アドレス計算手段11では、
アドレステーブル3の機械語命令テーブルへの絶対アド
レスを各モジュールの相対アドレスへ変換する。機械語
命令テーブルは四則演算,比較,代入等の動作に応じて
各々のモジュールに分けられている。そして、アドレス
出力手段2で出力された機械語命令テーブルへのアドレ
スは、絶対アドレスになっている。相対アドレス計算手
段11では、各モジュールの先頭アドレスをアドレステ
ーブル3から入力し、絶対アドレスと各々のモジュール
の先頭アドレスとを比較し、モジュールを決定する。次
に、そのモジュールの先頭アドレスから、絶対アドレス
をそのモジュールの相対アドレスに変換する。次に、参
照判定手段12に制御を移す。
【0018】そこで、参照判定手段12では、名標テー
ブル4を読み込み、相対アドレス計算手段11で求めた
相対アドレスより、名標テーブル4をサーチする。名標
テーブル4は、機械語命令テーブルのモジュールごと
に、名標とその相対アドレスとの対応をとったテーブル
である。参照判定手段12では、はじめに名標テーブル
4を読み込み、名標に対応して参照フィールド19を設
ける。この参照フィールド19は、すべてオフにしてお
く。次に、相対アドレス計算手段11で決定されたモジ
ュールと相対アドレスとを基に名標テーブルを読み、相
対アドレスと一致する名標をサーチする。サーチされた
名標に対応する参照フィールド19を参照し、オフであ
れば、参照フィールド19をオンにする。対応する参照
フィールド19が、オンであれば、そのままにしてお
く。再び、アドレステーブル入力手段10に制御を移
し、以上をアドレステーブル3を全部読み終えるまで繰
り返す。
【0019】最後に、参照機械語命令テーブル一覧出力
手段13は、名標テーブル4の参照フィールド19を参
照し、名標とその機械語命令テーブルのモジュールの各
内容とが参照されたかどうかを一覧表17として出力す
る。
【0020】
【発明の効果】以上説明したように、本発明の機械語命
令テーブル参照テスト網羅度チェック方式は、機械語命
令テーブルを参照することによって機械語命令を生成す
るコンパイラで、コンパイラの性能および品質に大きく
影響する機械語命令テーブルの参照情報を簡単にすばや
く出力することができるという効果を有している。ま
た、これにより、未参照の機械語命令テーブルのテスト
が行えるようにテストプログラムを追加するなど、機械
語命令テーブルに関するテストが、より効率的により確
実に行えることにより、コンパイラの十分な品質を保証
することが可能になるという効果を有している。
【図面の簡単な説明】
【図1】本発明の機械語命令テーブル参照テスト網羅度
チェック方式の一実施例を示すブロック図である。
【図2】本実施例の処理の一例を示す流れ図である。
【符号の説明】
1 コンパイラ 2 アドレス出力手段 3 アドレステーブル 4 名標テーブル 5 網羅度チェック手段 6 名標テーブル作成手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンパイラのオブジェクト生成部のテス
    トにおける機械語命令テーブル参照テスト網羅度チェッ
    ク方式において、オペランドの条件に応じて出力すべき
    機械語命令をテーブル化し、その機械語命令テーブルを
    参照することによって機械語命令を生成する場合に、参
    照された前記機械語命令テーブルの各モジュール単位の
    先頭アドレスおよび参照された前記機械語命令テーブル
    のアドレスのテーブルであるアドレステーブルと、四則
    演算等に分類された前記機械語命令テーブルのモジュー
    ル単位に対してその処理内容がすぐわかるようにつけら
    れた名標および前記機械語命令テーブルのモジュール単
    位内の相対アドレスの対応をとった名標テーブルと、前
    記名標テーブルを作成する名標テーブル作成手段と、前
    記アドレステーブルおよび前記名標テーブルを入力して
    参照された前記機械語命令テーブルの名標および相対ア
    ドレスの一覧表を出力するテスト網羅度チェック手段と
    を有することを特徴とする機械語命令テーブル参照テス
    ト網羅度チェック方式。
JP4038968A 1992-02-26 1992-02-26 機械語命令テーブル参照テスト網羅度チェック方式 Withdrawn JPH05233370A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4038968A JPH05233370A (ja) 1992-02-26 1992-02-26 機械語命令テーブル参照テスト網羅度チェック方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4038968A JPH05233370A (ja) 1992-02-26 1992-02-26 機械語命令テーブル参照テスト網羅度チェック方式

Publications (1)

Publication Number Publication Date
JPH05233370A true JPH05233370A (ja) 1993-09-10

Family

ID=12539964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4038968A Withdrawn JPH05233370A (ja) 1992-02-26 1992-02-26 機械語命令テーブル参照テスト網羅度チェック方式

Country Status (1)

Country Link
JP (1) JPH05233370A (ja)

Similar Documents

Publication Publication Date Title
US6954747B1 (en) Methods for comparing versions of a program
US5048018A (en) Debugging parallel programs by serialization
US20090249307A1 (en) Program analysis apparatus, program analysis method, and program storage medium
JPH06168111A (ja) デバッグ文の自動作成方式
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP2752827B2 (ja) デバッガ処理方式
JP2636720B2 (ja) コーディング時の入力文字列修正装置
JP3309418B2 (ja) 宣言解析処理装置
JPH07281879A (ja) アプリケーションプログラム編集装置
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JP2764782B2 (ja) Cobolプログラムのデータ構造展開方式
JP2004133827A (ja) core解析装置
JP2797777B2 (ja) 言語処理装置
JPH04270422A (ja) プリコンパイル処理方式
JPH103411A (ja) リアルタイムトレース時の情報保存方法およびその方法を実施する開発支援装置
JP3367438B2 (ja) 条件実行処理装置
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH05233314A (ja) コンパイル処理およびプログラム実行における用語辞書処理方式
JPH07105014A (ja) 言語処理システムのシンボル処理方式
JPH0750442B2 (ja) 外部行番号によるデバッグ方式
JPH05204699A (ja) デバッグ時識別子探索方式
JPH06175858A (ja) プログラム翻訳装置
JPS63140339A (ja) バ−ジヨン識別予約語管理方式
JPH0695889A (ja) プログラム修正方式
JPH0756718A (ja) システムデータの変更方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518