JPS63317849A - プログラム内容解析装置 - Google Patents

プログラム内容解析装置

Info

Publication number
JPS63317849A
JPS63317849A JP62154057A JP15405787A JPS63317849A JP S63317849 A JPS63317849 A JP S63317849A JP 62154057 A JP62154057 A JP 62154057A JP 15405787 A JP15405787 A JP 15405787A JP S63317849 A JPS63317849 A JP S63317849A
Authority
JP
Japan
Prior art keywords
instruction
block
program
condition
contents
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.)
Granted
Application number
JP62154057A
Other languages
English (en)
Other versions
JPH0820971B2 (ja
Inventor
Toshinori Yasuki
安木 寿教
Minoru Takahashi
稔 高橋
Masaki Hitotsuya
一津屋 正樹
Kiyoshi Yagi
八木 潔
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.)
Denso Ten Ltd
Original Assignee
Denso Ten 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 Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP62154057A priority Critical patent/JPH0820971B2/ja
Publication of JPS63317849A publication Critical patent/JPS63317849A/ja
Publication of JPH0820971B2 publication Critical patent/JPH0820971B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロコンピュータなどを作動するために
用いられるプログラムの内容を解析する装置に関する。
従来技術 マイクロコンピュータ用などに設計されたプログラムの
点検は、以下のように行なわれる。まずシンタックスエ
ラーなどの基本的なバグを取除いた後、プリントアウト
されたプログラムリストに基づいて、人手によって、該
プログラムの構造と、該プログラムに基づく各種入出力
装置の動作とを把握し、これを仕様書の記載内容と照合
する。さらに該プログラムが用いられるハードウェアに
実際に組込み、プログラムの実行によって要求される各
種入力条件を入力して、シミュレーションさせ、プログ
ラムの動作状態を確認する。
発明が解決しようとする問題点 しかしながら実際のプログラムは膨大なステップ数に及
ぶことがあり、その中にはやはり膨大な分岐命令が含ま
れている。したがってこれらの分岐命令に基づく処理の
流れの数はやはり膨大な数となり、上記人手による内容
化!ff−業では実現が困難である。したがって前述し
たようなシミュレーションまたはエミュレーションによ
るチェックが竹なわれがちになり、仕様書の内容の遺漏
やバグなどを完全に解消するには、むやみに時間を要し
てぃた。また、前述したようなシミュレーションやエミ
ュレーションを行なうには、実際のプログラム作動時に
おいて必要とされる入力要求をすべて充足させねばなら
ず、繁雑な手間を要していた。
本発明の目的は、上述の問題点を解決し、仕禄書など、
プログラム内容のチェックの基準となる物との照合が容
易な形態にプログラム内容を解析でさるとともに、チェ
ック対象となる該プログラムを実行することなく、プロ
グラム内容の解析を行なうようにできるプログラム内容
解析装置を提供することである。
問題点を解決するための手段 本発明は、機能語のみまたは機能語とオペランドとの組
合せからなる命令列中の相互に関連する入力命令および
出力命令を検出し、 上記入力命令と出力命令との間の命令列の実行内容と、
該実行内容が遂行されるための条件とを求めてこれらを
対とて記憶し、特定の対に含まれる未決定パラメータを
規定する実行内容が含まれる他の対を該特定の対に接続
して出力するようにしたことを特徴とするプログラム内
容解析′F装置である。
作  用 本発明に従えば、命令列中の相互に関連する入力命令お
よび出力命令を検出し、これらの間の命令列の実行内容
と、該実行内容が遂行されるための条件とを求めて、こ
れらを対として記憶し、関連する対を順次接続する。こ
れによりプログラム内容の把握が格段に容易となる。
実施例 第1図は本発明の一実施例のプログラム内容解析装置(
以下、解析装置と称する)1の構成を示すブロック図で
ある。第1図を参照して、解析装置1は、従来技術の項
で述べたようなチェックが行なわれる被解析プログラム
が、シーケンシャルな形式で記憶されている磁気テープ
記g/再生装置(以下、磁気テープ装置と称する)2と
、ランダムな記憶が竹なわれる磁気ディスク装r!t3
と、たとえばランダムアクセスメモリ(RA M )な
どによって実現される内部記憶装置4と、たとえばCR
T(陰極線管)装置や液晶表示装置などによって実現さ
れる表示装置5と、インパクト形または非インパクト形
などの印字装置6と、各種キーやスイッチ類などによっ
て実現されるキー人力装ra7と、これらによって入力
される情報を処理し、またこのような情報の入力/出力
動作を制御するマイクロプロセッサなどを含んで構成さ
れる処理装置8とを含む。
佳様書の内容に従って作成されたプログラムは、従来技
術の項で述べたように、まずシンタックスエラーなどの
基本的なバグを取除いた後、磁気テープ装置2に記憶さ
れる。磁気テープ装置2の被解析プログラムは、解析装
(!!1の内部記憶装置4へ転送され、後述するような
チェック処理がイブなわれる。その結果は再び磁気テー
プ装置2へ記憶され、または磁気ディスク装置3へ記憶
される。
またこのような記憶処理とともに、表示装置5へ表示出
力され、また印字装置6によって印字出力される。
第2図は磁気テープ装置2や磁気ディスク装置3などの
記憶装置の記録状態を示す系統図である。
処理装置8にバス9などを介して接続された磁気テープ
装r!12の記憶頭載10は、前記被解析プログラムの
実行対象となるたとえばマイクロコンピュータに関する
アーキテクチャが記憶されるアーキテクチャ記憶領域1
0aや、この被解析プログラムによる制御の対象となる
入力/出力に用いられるアナログ信号をデジタル信号に
変換する際の比較電圧値など、このようなアナログ/デ
フタル変換器の諸元などを記憶するA/D変換器諸元記
憶領域10bや、本被解析プログラムの実行N象となる
マイクロコンピュータの有する各端子の信号の出力状態
と、この端子に接続される各人力/出力装置の動作状態
との関係の定義(たとえばマイクロコンピュータの成る
ビンからハイレベルの信号が導出されると、LED(発
光ダイオード)が点灯する、などの定義)が、記憶され
る定義記憶領域10cなどを含んで第1成される。
第3図は第1図示の解析装置1の基本的動作を説明する
フローチャートであり、f:lS4図は解析装置1の表
示装置5の表示例を示す図である。第1図〜PItJ4
図を参照して、解析vc置1の基本的動作について説明
する。解析装置1の電源が投入されるとm3図ステップ
n1  以降の処理が開始され、表示VCm5上に各種
入力要求を表示する。ステップ112  では、このよ
うな入力要求に対応して、解析されるプログラムの実行
対象となるマイクロコンピュータの名称を入力する。こ
の様子は第4図(1)に示される。
続くステップ13  では、入力された名称のマイクロ
コンピュータのアーキテクチャが、アーキテクチャ領域
10aに存在するかどうかを判断する。
存在していればステップn4で当該アーキテクチャを呼
出し、たとえば内部記憶4に転送し、ステップ115 
 でアナログ/デジタル変換器の名称を入力する。一方
、前記ステップn3  の判断が否定であれば処理はス
テップn6  に移り、解析装置itは、入力された名
称に対応するアーキテクチャが記憶されていないことを
表示し、新規登録を要求する。
この後、処理はステップn5  へ移る。
ステップn5  のアナログ/デジタル変換器の名称入
力の様子は、第4図(1)に示される。続くステップn
7  では、解析されるプログラムが動作対象とするマ
イクロコンピュータに設定される各ボートの状態と外部
状態との関係を、第4図(2)に示すように入力する。
たとえばPOI’?T17がハイレベルとなれば、スタ
ートスイッチがオン状態に切換わり、PORT16がハ
イレベルになるとサーモスイッチがオン状態に切換わる
。ステップn8  では、前記マイクロコンピュータの
割込み端子の状態と、外部状態との関係の入力が、表示
装rf15上で要求される。またアナログ/デフタル変
換器チャンネル用ボートについては、キー人力装W17
によって所定の事項を入力し、第4図(3)に示すよう
に所定のデータ項目を入力して各ボートを定義する。
ステップn9では、ステップn?、n8での各種入力が
正しく実行されたかどうかを判断する0判断結果が否定
であれば処理はステップn7  に戻り、上記入力され
たデータを訂正する0判断結果が肯定であればステップ
+110  に移り、たとえば磁気テープ装置2に記憶
されている被解析プログラムを内部記憶装置4に転環し
て読取る。ステップn11では、後述するような被解析
プログラムを解析し、ステップn12  で解析結果を
出力して処理を終了する。
Pt5s図は第3図のステップnil  のプログラム
の解析処理の内容を説明する70−チャートである。@
S図を併せて参照して、解析装置1の繰作について説明
する。上述したように本発明は、たとえばマイクロコン
ピュータ用にたとえばアセンブラ言語によって作成され
たプログラムの内容を解析する装置に関する。被解析プ
ログラムは、解析装置1の磁気テープ装fi2に記憶さ
れており、第3図ステップnlOで説明したように、こ
のようなプログラムは磁気テープ装置2からたとえば内
部記憶装置4へ啄送される。
本実施例では、被解析プログラムを以下の第1表に示す
プログラムと想定して説明する。
第 1 表(プログラムリスト) 上記第1表のプログラムの内容は、第6図および第7図
の70−チャートに示される。第6図および第7図のス
テップ番号alta2+・・・、a21は、上記第1表
のプログラムリストの行番号に対応している。また、、
第1表の全21行の各命令の実行に関する各7ラグの状
態を示すコンディションコードレジスタ (以下、CC
Rと称する)は、下記第2表に示される。ここでは、符
号7ラグN1ゼロ7ラグZ、オーバ70−7ラグVおよ
びキャリ7ラグCの状態を示す。
(以下余白) 12表 れぞれ「結果によってセットまたはりセットされる」、
 「変化しない」、[リセット(クリア)される」お上
り「セットされる」を表わす。
(注2)上記プログラムには、レジスタ名称の定義、割
込み制御レジスタの設定、ボート入出力方向の設定、割
込みベクトルの設定等は省略されているが、割込みはC
APT 1のみ許可、その割込みアドレス(ラベル)は
CAP 1”とする。
上記第1表のプログラムリストで、 (1)入カニ PORTIの第6ビツトにスイッチ人力
(スイッチONでハイレベルに変化): PORT2の
第Oビットに可変周波信号入力 および、 (2)出カニ PORTIのpIS7ビツトから発光グ
イオード出力 (出力ハイレベルで発光ダイオード点灯
)の入出力繰作が行なわれる、と定義しておく。
これは第3図ステップn7で行なわれる。
上記第1表のプログラムリストが読込まれた解析装置l
l!1では、第5図ステップ噛1 でプログラムの流れ
構造の解析が行なわれる。
上述したように、第1表に示すプログラムリストは、第
6図および第7図に示す動作内容を(T Lでいる。し
かしながら、第1表のプログラムリストから第6図およ
び17図示の70−チャートを得るには、人手によって
、各命令が単なる処理命令か条件文による分岐命令かを
把握する作業と、分岐命令の場合にはその分岐先の検出
作業などが含まれ、これらの作業に基づいて上記フロー
チャートが作成される。
本発明の眼目の1つは、任意のプログラムリストから1
、該プログラムの分岐命令と、該分岐命令によって定め
られる分岐先命令とを把握した後、該プログラムの処理
の流れのNII造の把握を人間の頭脳による作業を介す
ることなく、解析装置によって自動的に行なうことがで
きるようにしたことである。またこれによって、後述す
るように上記フローチャートと類似の形態の出力を得る
ことができる。
このような流れの構造を把握する処理を、第8図の70
−チャートにおいて示す。第8図ステップb1では、命
令行番号を示すパラメータkを「1」に初期化し、ステ
ップ1】2で第に命令11表における行番号にの命令)
の読取りを行なう。続くステップb3では、この読取ら
れたt5に命令が分岐命令であるかどうかを判断する。
この判断はたとえば、第1表における命令を構成する二
一モニツクを読取ればよい。すなわち上述したように、
所望のマイクロコンピュータのアーキテクチャを呼出し
た段階で、解析装置1の内部記憶4には、当該マイクロ
コンピュータに用いられるアセンブラ言語のコマンドや
、コマンドに関連するフラグなどのテーブルが別途記憶
され、これを参照することによって、第1表の各命令が
分岐命令であるか否かを容易に判断できるからである。
上記ステップb3  の判断結果が否定であれば、ステ
ップb4でパラメータkを+1インクリメントし、処理
をステップb2  に戻し、上述の説明と同様な処理を
行なう。このとき第1表のプログラムリストに従えば、
第4命令を読取ったとき、アーキテクチャが参照され、
この第4命令がゼロ7ラグZの状!!IHIJまたは「
0」)を条件とする分岐命令であることが把握される。
したがって、第8図の処理において第4命令が読取られ
たときステップb3の判断は肯定となり、処理はステッ
プb5に移る。
ステップb5  では、第1表の第4命令のオペランド
l’LOOPJと対応するラベル名を検索する。
第1表のプログラムリストでは、tjS2命令に上記オ
ペランドと同一のラベルが付されており、したがって第
4命令の分岐先は、第2命令であることが理解される。
ステップb6  では、一般に分岐命令の行番号にと、
これに対応する分岐先命令行番号−との対(以下、ブロ
ック化情報と称する)(k、m)を、内部記憶装置4に
記憶する。この後、処理はステップb4  に移り、行
番号を+1インクリメントして次の行へ処理を進める。
このような処理を行なうことによって、第1表のプログ
ラムリストにおける分岐命令と分岐先命令との行番号の
対(k、+a)に関して、下記第3表のような結果が得
られる。
第3表 この段階で解析装置1は、第1表に示すプログラムリス
トの流れ構造が把握できたことになる。すなわち第3表
として得られた結果を操作者が容易に理解できる形式に
出力する場合、たとえば第1表のプログラムリストの行
番号1〜21を第9図に示すようにi列に配列し、上記
#S3表に基づいて、行番号kから行番号輸へ向かう分
岐矢符をこれに付すことによって、プログラムリストの
流れ構造として第9図示のような出力が得られる。これ
によって操作者も、mi表のプログラムリストの流れ構
造を容易に把握することができる。こうしてfi5図ス
ナステップl111の処理は終了する。
次に第5図ステップ瞼2では、ステップI11で得られ
た被解析プログラムの流れ構造の認識に基づいて、該プ
ログラムをブロックに区分する処理を行なう、このよう
なブロック化処理には、以下のような利点がある0本発
明のプログラム内容解析処理が行なわれる被解析プログ
ラムは、一般にはたとえば数百ステップのような場合も
あり、このようなプログラムには、各種分岐命令も大量
に含まれている。したがって、このような分岐命令の条
件の成立の是非に関する組合わせの数が膨大な数になる
ことは、容易に想定される。このような膨大な組合わせ
数のプログラムの系統を逐次的に考察の対象とし、各系
統ごとに全命令のコンディションフードレジスタ(OC
R)を記憶するのは、極めて繁雑であるとともに膨大な
記憶容量が要求される。
したがって本発明の眼目の1つは、被解析プログラムを
後述するような条件、の下で、複数のブロックに区分し
、各ブロックに対して第5図ステップ113  の分岐
条件摘出処理、ステップ1114  の書込み命令単位
の入出力結合処理、およびステップm5のパイルの結合
処理などから成る同一内容の処理を施すようにしたこと
である。このようなブロックの区分点は、プログラムに
おける分岐命令行か分岐先命令行であり、1ブロツクは
分岐命令行または分岐先命令行で始まり、これらのいず
れかで終了し、かつその間にはこれら分岐命令または分
岐先命令行を含まないように選ぶ。
すなわち全プログラムは、このような複数のブロックの
結合として表現され、同一ブロック内のプログラムの異
なる流れの!!1Mも極めて少数となる。これにより各
ブロックごとの内容解析を格段に容易に行なえるように
なり、全プログラムの内容解析は、ブロックごとに得ら
れた内容解析結果の結合として示される。
このようなブロック分は処理は、第10図の70−チャ
ートに示される。このとさ、前記第8図を参照して説明
した第5図ステップ−1の流れ構造の解析処理によって
得られたブロック化情報対(klm)について、第1表
の全プログラムについて行なうことによって、第3表に
示したような結果が得られる。すなわち、このようなブ
ロック化情報対(kl 9ml )−(k22m2 )
−−、(ks、ms) (本実施例では5=4)が、第
1図示の内部記憶装置4に記憶されている。以下に説明
する第10図の処理には、このブロック化情報対列を坩
いる。なお上記ブロック化情報列の各数値kl 、に2
、− 、ks;mX、+n2、− 。
msについて総称する場合には、それぞれ記号k r 
Illを用いて示す。
第10図ステップc1 では、!W1表のプログラムの
行番号を示すパラメータiを「1」に初期化する。ステ
ップC2では上記行番号iに関して、この行番号iに等
しい上記ブロック化情lkまたはブロック化情報鴇が存
在するか否かを判断する。このfII断が11定であれ
ば、ステップC3でブロック化情報に、 +1によるブ
ロック化処理を行なう。
このブロック化処理は、以下のように行なわれる。まず
ステップc3  において、判断が肯定となるブロック
化情報に、 mが記憶される。次にステップc4で行番
号iが+1インクリメントされ、ステップc5では行番
号iがこのような行番号の最終値すなわちM A X 
(i)を超えたかどうかの判断を行なう。
判断結果が否定であれば、第10図に示すブロック化処
理は被解析プログラムの最終行まで到達していないこと
になり、ステップc2  に戻る。以下、同様の処理が
繰り返し行なわれ、ステップC2の判断が前足となるブ
ロック化情報に、@があった場合、前回ステップc2 
 の判断を肯定としたブロック化情報ktI11を呼び
出し、これらを組み合わせてブロック情報対(α、β)
として記憶する。以下、このような処理がプログラムの
最終行まで繰り返し行なわ耽る。
上記ステップc1〜c5でイテなわれる処理は、たとえ
ば第1表のプログラムの11行から第21行までを順番
にたどって、その中でブロック(lI[l(k、a+)
として示される分岐命令行および分岐先命令行に関して
、行番号の増加方向において隣接する命令列の組をブロ
ック情報(α、β)として記憶する処理である。
上記ステップc5  の判断が肯定となれば、処理はス
テップc6 に移り、上記ブロック化情報列(kjym
j)                      ・
・・(1)J=1y2v・・・、S によるブロック化処理を行なう。
このブロック化処理は、第1表のプログラムリ、ストに
おいて、分岐処理を実現するブロックを決定する処理と
なる。すなわち第3表のブロック化情報(klm)にお
いて、たとえばブロック化情報対(4,2)は、第4命
令から第2命令へ処理が分岐する系統を規定している。
したがって、これらのブロック化情N対(k、 m)を
、前記ブロック情報対(α、β)と異なる内容をなす分
岐ブロック情報対(α、β)brとして再定義すること
により、第1表のプログラムリストに関して、分岐を行
なう系統を網羅できる。ステップc6  による分11
1fiブロック化処理が終了すると、第11図に示すブ
ロック分は結果が得られる。
また上述のように、ブロック情報対(α、β)と、。
分岐ブロック情報対(α、β)brとを定義することに
より、第1表のプログラムリストのたとえば第9命令、
第10命令および第11命令からなるプロックと、第9
命令とft511命令とからなる分岐ブロックとを明瞭
に区分でさる。このようなブロック情報対Ca、β)お
よび分岐ブロック情報対(α。
β)brを、下記のPt44表に示す。
以下、得られた各ブロックを示すに際しで、第11図に
示すように記号■、■、パ・・、■ をもって示す。す
なわちブロック■は、行番号1,2の命令群を示してい
る。このような記法に従い、第1衰のプログラムはPt
Si2図およびfjIJ13図で示されるように表現さ
れる。ここで、第1表のプログラムをf512図および
第13図の2つの図に区分したのは、第12図は行番号
1〜12のメイン処理ルーチンを表わし、m13図は行
番号13〜21の後述するような割込み処理ルーチンを
表わし、これらは相互間に亘って分岐関係が存在しない
独立な内容だからである。このようにして、第5図ステ
ップ輸2 のブロック分は処理が終了する。
第5図ステップ論3 では、分岐条件摘出処理が行なわ
れる。このような分岐条件摘出処理は、第14図の70
−チャートに示される。第14図ステップd1  では
、上述したようなブロック化処理を行ない、各ブロック
情報対(’tβ)、(α、β)brを得る。ステップd
2では変数jを「1」に初期化する。ステップd3  
以降の処理では、分岐条件として第1ブロツク■、第2
ブロツク■、第3ブロツク■、・・・、tIS13ブロ
ック■を処理が通過する条件を求めることになる。
(1)第1ブロツク■を通る条件 第1ブロツク■は第6図に明らかなように、第12命令
の無条件ノヤンブ命令によって処理が無条件に通過する
ブロックである。
(212ブロツク■を通る条件 第14図ステップd3  では、第3表を参照して第j
番目(現時点ではj=1)のブロック化情報対(k。
m)を参照する。ステップd4では、ステップd3にお
けるブロック化情報対(k、m)において、第に命令の
分岐条件を支配するフラグを検出する。第4表によれば
、j=1のとi%に=4であり、第1表のプログラムの
第k(= 4 )命令「BNEJの分岐条件を支配する
フラグの検出を行なう。これはアーキテクチャによって
、各命令それ自体に規定される条件となる。すなわち上
記第4命令の場合には、ゼロ7ラグZである。
ステップd5  では、命令列の配列方向と反対方向に
一命令を読取る。この命令が上記フラグ(ゼロ7ラグZ
)を変化させる命令であるかどうかのステップd6  
における判断が否定であれば、ステップd5.d6を繰
り返す。肯定であればステップd7  に移り、フラグ
を変化させる命令を記憶する。
第1表のプログラムリストと第2表のOCRとを参照す
れば、この命令は第3命令rCMPA  C0UNTJ
であり、ゼロ7ラグZを変化させる命令であることが判
断される。ステップd8  では、第1表のプログラム
リストを参照して、ゼロ7?グZに関する当該PJS3
命令中のパラメータを検出する。すなわち第3命令はア
キュムレータAに関する命令であり、パラメータとして
アキュムレータAが検出される。
ステップd9  では、該命令が該パラメータを変化さ
せる命令か否かをf1断する。この判断は前記アーキテ
クチャに含まれる前記CCRを参照して行なわれる。t
ll断が肯定であれば、ステップd10に移り当該命令
が記憶され、ステップd11  に移る。J3命令rC
M P A JはアキュムレータAの内容を変化せず、
ステップd9  の判断が否定となり、ステップdlO
を経ることな(ステップdllに移る。
ステップdll  では、現在検討中のブロックが第1
表のプログラムリスト中でループをv1成するブロック
かどうかを10断する。現時点では、解析装置1は第4
命令お上びPt53命令しか認識しておらず、このfq
断は否定となり、処理はステップd12に移り、ステッ
プdlo  で記憶した命令が、j前記パラメータの入
力命令であるかどうかを判断する。このtq断が肯定で
あれば、ステップd15に移る。一方、上記ステップd
ll  の判断が肯定であれば、ステップd14  で
分岐条件に後述するようなループ要素を追加し、処理は
ステップt415に移る。
ステップd15  では、当該分岐命令が第9図に示す
ような本叉施例における被解析プログラムの構造におい
て、ネスティング構造に含まれるものであるかどうかを
判断する。判断結果が11定ならば、ステップd16 
 で後述するようなネスティング要素を追加し、ステッ
プcl13  で記憶したブロック列のMUがすべて終
了したかどうかを判断し、判断結果が肯定であればステ
ップd17  で分岐討のパラメータjをプラス1イン
クリメントシ、処理はステップd3に戻る。前記ステッ
プd15のf1断が否定であれば、ステップd16  
を経ることなく、処理はステップd13 に移る。
第3命令1’cMPAJについて、前記ステップd12
の判断は否定となり、処理はステップd19に移り、現
在検討中の命令が当該命令を含むブロックの先頭である
かどうかを判断する。第3命令についてtq断結果は否
定であり、ステップd2(1で命令列の配列方向と反対
方向に一命令を読取り、処理はステップd9  に移り
、i「述の処理を繰返す。
前記ステップd19  でflI断結果がYr定ならば
、ステップd21  に移り、当該ブロックに処理が到
達するブロック列の種類を記憶する。すなわち当該ブロ
ックに至るルートの種類を記憶する。ステップd22 
 では、記憶したブロック列中から−ブロック列を選択
し処理はステップd20に戻る。
fJS1表のプログラムリストにおいて、第4ω令から
上述の処理が繰り返される。このとさ、t51命令rL
DAAJを解析する段階で、ステップdlOで記憶され
てきた命令は、オペランドで記述すると、 A=TIME−(COUNT+1)   ・・・(2)
になる。
またステップdi 1  の判断は肯定となり、第2式
の分岐条件にステップd14  でループ要素が付加さ
れ、下記第3式の分岐条件が得られる。すなわちループ
をnl1li]繰返せば上記152式は、−A=TIM
E  (COUNT+n)   −・・(3)と表され
る。この大行内容がループを構成する条件は、第4命令
で分岐条件が成立すること、すなわちゼロ7ラグZl:
関して、 2=0               ・・・(4)が
成立する場合である。したがって上記ステップdlo 
 では最終的に、 T I ME −(COUNT+n)≠O・(5)の条
件が得られる。これは第2ブロツク■を処理が通過する
条件となる。
(3)第3ブロツク■を通る条件 この場合、第1表のプログラムリストにおいて、処理が
第2ブロツク■に進行しない条件、すなわち、上記tj
Ss式の条件の否定 TIME−(COUNT+n)−0−(6)が求めるべ
き条件となる。
(4)第4ブロツク■を通る条件 ステップd3  では、第4ブロツク■の最終行番号9
をブロック化情報にとする対(klm)が、j=2の場
合として、第3表より(8,11)として読出される。
この第8命令に対して、上記第2ブロツク■を通る条件
を求めた処理と同様な処理が行なわれる。ステップd4
  では、第1表のプログラムの第k(= 8 )命令
[BMIJの分岐条件を支配するフラグの検出を行なう
。すなわち、上記第8命令の場合には、符号7ラグNで
ある。
ステップd5.j6では、この符号7ラグNを変化しう
る最近の命令を検索する。上記第1表および第2表を参
照すれば、第7命令「LDAB  PORTIJが対応
することが検出される。ステップd8  では、この符
号7ラグNに関する第7命令中のパラメータを検出する
。すなわち第7命令はアキュムレータBl:関する命令
であり、このアキユムレータBがパラメータとして検出
される。
ステップcl12  では、パラメータとしての7キユ
ムレータBの入力命令を検出する。fjSi表のプログ
ラムリストを参照すれば、上記第7命令自身が7キユム
レータBの入力命令であることが検出される。したがっ
てステップd12  の判断は肯定となり、ステップd
15 でのネスティング構造判断は否となるため、f¥
S3ブロック■の実行内容をオペランドによって表現す
れば、求める分岐条件は、 PORT17=O・・・(7) となる。ここで表記[PORT17=OJは、入出カポ
−) PORT 1の第7ビツトが「0」となる状態を
表現する。この後、処理はステップd13  に移り判
断が否定となり、前述のような処理を経て処理はステッ
プd3に戻る。
(5)第5ブロツク■を通る条件 ステップd3では、j=3の場合としてブロック化情報
対(k、m)= (9、11)が読出され、ステップd
4では第k(= 9 )命令rBEQ  NANNOI
Jの分岐条件を支配するフラグすなわちゼロ7ラグZが
検出される。続いてステップd5.d6では、このゼロ
7ラグZを変化し与る最近の命令として、第1表および
tjS2表を参照して、第7命令「LDABJが検出さ
れる。
このロード命令はアキュムレータBにrPORTl」の
内容を読込む内容であり、この7キユムレータBに関す
るゼロ7ラグZの成立の是非が分岐条件となる。したが
って、前述のような処理が繰り返された後、ステップd
lo  では、PORTIの少なくとも1つのビット=
1・・・(8) が得られる。この後、処理はステップdi 1  に移
り、第5ブロツク■がループ構造の一部をなすがどうか
が判断され、これは否定となる。
続(ステップd12  の判断は肯定となり、ステップ
d15  で第5ブロツク■がネスティング構造の一部
を成すかどうかが判断される。第5ブロツク■は2!1
のネスティング構造を構成しており、ステップd16 
 で上記第8式の分岐条件にネスティング要素が付加さ
れる。
すなわち、第12図に明らかなように、第5ブロツク■
は、第4ブロツク■を通過しなければ到達しない処理ブ
ロックであり、したがって第5ブロツク■の通過条件は
、第4ブロツク■の通過条件と上記第8式の条件との論
理積となる。すなわち、 PORTI 7=0 かつ、 PORTIの少なくとも1つのビット=1・・・(9) の分岐条件が得られる。この後、ステップd13におい
て、記憶したブロック列はないので、処理はステップd
3に戻る。
(6)第6ブロツク■を通る条件 第14図の70−チャートにおいて、ステップd3でj
=4のとさ、対応するブロック化情報kt−が、rjS
3表を参照して存在しないことが判断される。したがっ
て、本件実施例のプログラム内容解析装置1は、現在の
第6ブロツクの分岐条件を、以前の直鎖ブロックと同一
分岐条件として設定する。すなわち現在の第6ブロツク
■の分岐条件は、以前の直鎖ブロックである第3ブロツ
ク■の分岐条件、すなわち上記第6式の条件として設定
される。この後、処理は前記パラメータjを+1インク
リメントした後に、ステップd3に戻る。
(7)第7ブロツク■を通る条件 第7ブロツク■は、上記第2ブロツク■の分岐条件を考
察した段階で、第2ブロツク■と組合されてループ構造
を構成するブロックとして把握されている。したがって
tjS7ブロツク■の分岐条1′1:は、上記第3ブロ
ツクで挙げたループ処理の離脱条件の否定の形式の条件
である上記ff15式の条件として示される。
(8)第8ブロツク■を通る条件 第8ブロツク■は、第3表および第4表に示す分岐ブロ
ック情報対(8,11)I+rで示される。したがって
第1表第8命令の分岐条件より、f!6Bブロック■を
処理が通る条件は、rjS4ブロック■を通る条件の否
定、すなわち、 PORT  1 7  =  1          
     、、(10)となる。
(9)第9ブロツク■を通る条件 f59ブロック■も、第3表!;よび第4表から分岐ブ
ロック情報(9,11)brによって規定されるブロッ
クであり、したがって前記15ブロツク■を通る条件を
考察した際に検討したPt51表fjS9命令の分岐条
件(ffS8式)の否定の条件と、第4ブロツク■を通
る条件(ffi7式)との論理積となる。すなわち、 PORTIの 全ピット二〇 かっ PORTIのfPS7ビツト=0  ・・・(1
1)の条件が得られる。
(10)第10ブロツク[相]を通る条件第10ブロツ
ク[相]は、第6ブロツク■と分岐命令を介在すること
なく線形に続くブロックであり、したがって第10ブロ
ツク[相]を処理が通る条件は、第6ブロツク■を通る
条件、すなわちft53ブロツク■を通る条件(上記f
56式)と同一になる。
(11)fi 11ブロツク■を通る条件PtS1表の
プラグラムリストから明かなように、第13命令〜第2
1命令は、ml命令〜@12命令のメインルーチンに対
する割込み処理ルーチンである。その内容から、上記第
2表の欄外に付した入力/出力の定義において、POR
T2のPjS0ビットに立ち上がりエツジまたは立ち下
がりエツジの信号が入力された状態を表わす割込みベク
トルの条件、 IRQ2=O・・・(12) が得られる。
(12)第12ブロツク@を通る条件 上記第4ブロツク■を通る条件が導出された処理と同様
な処理を経で、PIS18命令「BNEJでゼロ7ラグ
Z=1となる条件が求められればよい。
すなわち第18命令からプラグラムリストをさかのぼり
、当該分岐命令を支配するフラグであるゼロ7ラグZを
変化させる最近の命令を検出する。
これは第17命令でストア命令[5TAAJが検出され
、パラメータとしてアキュムレータAが検出される。ア
キュムレータAの入力命令として、第13命令でロード
命令1”LDDJが検出される。しtこがって第13命
令〜第18命令の実行内容をオペランドで記述すれば、 fCAPTl(D)−ZCAPT(D)lの上位バイト
=O・・・(13) が得られる。
(13)第13命令■を通る条件 この場合、fjS1表のプログラムリストにおいて、f
jS13命令以降の処理の進行において、処理が第12
ブロツク@に進行しない条件、すなわち上記第13式の
条件の否定、 fCAPTl(D)−ZCAPT(D)lの上位バイト
≠0・・・(14) が求めるべき条件となる。
このようにしてtIS5図ステップI3  において摘
出されるべき分岐条件は、各ブロック■〜■を処理が通
る条件として導出された。これ以降、処理はr:IS5
図ステップl114に移る。
ステップ端4 では、書込み命令単位の入出力結合処理
が行なわれる。ここに言う書込み命令とは、ストア命令
と、オペランドの直接操作命令(たとえばオペランドの
数値を+1増加させるインクリメント命令「INC」な
ど)とを指す。このような命令の検出は、!#1表のプ
ログラムリストにおいて、各命令を読取ることによって
直ちに実現できる。
このような入出力の結合処理は、第15図の70−チャ
ートに示される。第15図 ステップel。
e2  では、第1表で示されるプログラムに対して、
前述したブロック化処理と分岐条件の生成処理とを行な
う。この後、ステップe3  では、第1表に示される
プログラムにおいて、書込命令が検出される。このよう
な書込み命令としては、第2命令[INcJ、第6命令
「5TAAJ、第11命令[5TAAJ、第16命令1
’5TXJ、第17命令[5TAAJおよび第20命令
「5TAAJが、後述するように検出される。
(1)第2命令1’1NcJについて 第15図ステップe4  では、当該命令に関するパラ
メータを検出する。上述した残余の書込命令、たとえば
第6命令[5TAAJでは、このようなパラメータとし
てたとえば7キユムレータAが検出されるが、第5命令
のようなメモリの直接繰作命令では、本ステップを行な
うことなく、ステップe5  で当該命令がその命令の
所属するブロックの先頭であるかどうかを判断する。否
定であれば、ステップe6  に移って、命令列の配列
方向と反対方向に一命令を検出する。肯定であればステ
ップe7  で、当該ブロックに至るブロック列の種類
、すなわち当該ブロックに至る処理の系統のa類を記憶
する。
第2命令に関しては、PIS2命令を含む12ブロツク
■に至るブロックは、上記ブロック化処理から得られた
ttS12図および第13図の処理の流れ図に示される
ように、第1ブロツク■お上り第71aツク■である。
ステップe8  では、このような記憶したブロック列
中から−ブロック (たとえば第7ブロツク■)を選択
し、処理はステップe6に移る。
ステップe6  では、選択されたブロックにおいて、
命令列の配列方向と反対方向に一命令を検出し、現時点
では第4命令1’BNEJを検出する。これによりステ
ップe9+el ly el 2のtq断は、それぞれ
すべて否定であり、したがって処理はステップe5  
に戻る。このようにして上述した処理を繰り返し行ない
、ステップe6  でf:tS2命令が読取られたとさ
、ステップcl 1  でループになったことが判断さ
れ、ステップe13・でループ要素が追加される。すな
わち第2命令の実行内容は、C0UNT4−C0UNT
+n     ・(15)であるが、この処理がループ
構造にしたがってn回実行される場合を想定すると、 C0UNT+C0UNT+n     −(16)とな
る。これが第2命令の実行内容の一般形である。
このときの実行条件は、上記第7ブロツク■を通る条件
、すなわち上記第5式の条件となる。したがってPI4
2ttr令に関しては、if   TIME −(n十
COυNT)−〇then  C0UNT4− C0U
NT+n         −(17)となる。
(2)第6命令について ステップe3  では、次の書込命令である第6命令を
検出し、ステップe4  で第6命令に関するパラメー
タすなわちアキュムレータAを検出する。
ステップe5の判断は否定となり、ステップe6でm5
命令[cLRAJを検出する。
ステップe9  では、この第5frt令が上記パラメ
ータであるアキュレータAを変化させる命令であること
がtq断され、ステップelOで第5命令が記憶される
。ステップell  では、当譲第5命令がループ構造
に含まれないことが判断され、ステップe12  では
、第5命令が7キユムレータAの入力命令であることが
判断される。この後、ステップe14  の判断で肯定
となり、処理はステップe15に移る。
したがって実行内容は、 C0UNT←0          ・・・(18)と
なり、実行条件は、処理が第3ブロツク■を通る条件、
すなわち上記第6式で示される条件と同一になり、これ
らを整理すれば、 if   TIME−(n+ C0UNT)= 0tb
en  C0IJNT= O、−(19)の結果が得ら
れる。
(3)第11命令について 第11命令については、第15図に示されるステップe
3  で当該命令が検出された後、ステップe4  で
パラメータとして7キユムレータAが検出される。ステ
ップe5  では、上記第3表および第4表を参照して
、第11命令が第6ブロツク■の先頭であることが判断
され、処理はステップe7に移る。この判断によって、
第1表のプログラムリストにおいて、第11命令に到達
するには第5ブロツク■、第9ブロツク■および第8ブ
ロツク■をそれぞれ通る3つの経路が存在することが認
識されろ、以下、後述する実行内容の検出と実行条件の
検出とを各経路毎に行ない、それらの結果が論理和とし
て出力される。
(7>tIS5ブロック■を通る経路の場合ステップe
4 でパラメータであるアキュムレータAを検出し、プ
ログラムをさがのばると、PjS10命令でアキュムレ
ータAに閃するロード命令が検出される。ここで第11
命令は、入出力ボートへの書込み命令であり、論理演算
として扱う。したがって第10命令および第11命令に
よる実行内容は、第1表のプログラムリスト上の表現で
は、PORTI←¥80        ・・・(20
)と表現されるが、論yJ、演算の結果としては、上記
第10式と同等な PORT17←1        ・・・(10)なる
i!!i埋式が得られる。
このときの実行条件は、fiSsブロック■を処理が通
る条件(上記第9式)と、第2ブロツク■および第7ブ
ロツク■からなるループを処理が離脱する条件、すなわ
ち処理が第3ブロツク■を通る条件(上記第6式)との
論J!ll!積となる。したがって、if   TIM
E−(n+ C0LINT) = 0ancl  PO
RT17= 0 andPORTI≠¥0O Lben  PORT17−1         − 
(21)なる論理式出力が得られる。
(イ)第8ブロツク■を通る場合 ステップe6  でプログラムをさかのぼると、第6命
令でストア命令[5TAAJが検出される。したがって
求める実行内容は、前述の第6i87介の場合と同様に
して、PORTI←¥00が求められる。
また実行条件は、前述したループの離脱条件すなわち第
3ブロツク■を通る条件(f56式)と、第8ブロツク
■を処理が通る条件(110式)との論理積である。し
たがってこれらをまとめて、if   TIME−(n
+ C0UNT)= 0and  PORT17= 1 t l+ e n  P ORT 14−¥00   
      ・(22)の論理式出力が得られる。
(ワ)第9ブロツク■を通る場合 ステップe4  で検出されるパラメータは、アキュム
レータAであり、第9ブロツク■を通ってプログラムを
さかのぼるとPIS6 命令を検出する。したがってこ
の場合の実行内容は、上記第22式と同一であり、実行
条件はループの離脱条件すなわち第3ブロツク■を通る
条件(第6式)と、t!IJ4ブロック■を通る条件(
ff$7式)と、第9ブロツク■を通る条件(fiS1
1式)との論理積である。したがってこれらをまとめて
、 if   TIME  (n+ C0UNT)= 0a
nd  PORTI7”0 and  (PQRT17=Oand PORTl=¥
00)しb e n   P ORT 1−  ¥ 0
0                   、、 (2
3)の出力が得られる。
このようにして、第11命令に関する入出六条。
件の結合処理が実現された。
(4)第16命令について ft51表のプログラムリストにおいて、行番号13〜
21は割込みルーチンであり、行番号1〜12のメイン
処理ルーチンとは独立の内容となっている。したがって
第15図ステツ7′e4  で第16命令[5TXJが
検出される。第1(3+Q令に閃して検出されるパラメ
ータは、インデックスレノスタXであり、ステップe6
  でプログラムをさかのぼると第15命令でロード命
令が検出される。したかって第16命令に関する入出力
結合結果は、if   IRQ2=1 then   ZCAPT”CAPTI       
−(24)の論理式出力が得られる。
(5)l 17命令[5TAAJについてff11G命
令と同様にステップe4 で、パラメータとしてアキュ
ムレータAを検出する。ステップe6  でプログラム
をさかのぼると、第13命令でロード命令[LDDJが
検出される。したがって第17命令でオペランドrTI
MEJにストアされるのは、オペランド「cAPTIJ
およびオペランド[ZcAPTJの各上位バイト情報で
ある。まrこ実行条件は第16命令と同一である。した
がってこれらをg埋して、 if   IRQ2=1 LI+en  TIME −(CAPTI(D)−ZC
APT(D))(H)・・・(25) 注:@25式の右辺末尾の(H)は、右辺のオペランド
の上位バイトであることを示す。
(6)第20命令rsTAAJについてfjS20命令
の場合には、第5図ステップ14で、当該命令に関する
パラメータすなわちアキュムレータAを検出する。この
パラメータを決定する最新の命令をプログラムをさかの
ぼってステップe6  で検索すると、第19命令で7
キユムレータAに関する繰作命令[DECAJが検出さ
れる。
したがってfi20命令の実行内容は、C0UNT+A
−1・・・(26) となる。
ここでfjS19命令は、第18i8+7令の分岐命令
でゼロ7ラグZ=1の場合であることを考慮すると、上
記fJS25式においで、 T I M E =7キユムレータA=0   ・・・
(2))の場合に相当する。したがって上記第26式に
おいて、アキュムレータA=0であり、 C0UNT←¥FF         ・・・(28)
が結論される。
その実行条件は、ttS11ブロック■お上り第12ブ
ロツク@を処理が通る条件、すなわち上記第12式およ
び第13式で示される各条件の論理積となる。したがっ
てこれらをまとめれば、if   IRQ2 = 1 and  (CAPTI (D)  ZCAI’T(D
))(Il)= 0then  C0UNT+¥FF 
        −(29)が得られ、これで第1表の
プログラムリストに関して第5図ステップ14  の書
込み命令単位の入出力結合処理が行なわれる。
続いて、第5図ステップms  で後述するようなパイ
ルの結合処理が行なわれる。ここに言うパイルとは、プ
ログラムリスト中におけるオペランドの直接振作命令を
含むたとえば上記第29式のような書込み命令が実行さ
れるための実行条件と実行内容との結合表記を指す、そ
の具体的処理内容は第16図の70−チャートに示され
る。
上述したように、第1表のプログラムリストには6個の
書込み命令があり、第3命令には第17式のパイルD7
、tJs6命令には第19式のパイルD6、第4命令に
は第21式〜第23式のパイルD3.D2.DI、pl
Sl 5命令には第24式のパイルD5、第17命令に
は第25式のパイルD4、第20命令には第29式のD
8がそれぞれ作成される。
以下、第16図を参照して、パイル結合処理について説
明する。ステップr1  では、ポートへの書込み命令
がある外部出力命令パイルD 1 、D 2 。
D3を検出する。
ステップf2  では、たとえばパイルD1中の未決定
パラメータを決定するパイルを検出する。すなわち、パ
イルD1の実行条件に関して、パラメータl−TIME
J、[cOUNTJが未決定である。
また、残余の外部出力命令パイルD2.D3についても
、それぞれ実行内容は異なるものの、未決定パラメータ
はパイルD1と同一のものが検出される。
゛ 以下、このようなパラメータを決定するパイルを検
出する。パラメータ「TIMEJについてはパイルD4
が検出され、続くステップr3  では該パイルD4に
含まれる全てのパラメータが決定されているかどうかを
判断する。現時点では判断結果は否定であり、処理はス
テップ「2 に戻り、パラメータrCAPT I J、
rZcAPTJを決定するパイルを検出する。このと!
&第5パイルD5が選ばれる。このときステップf3 
 では、全パラメータが決定されたことが判断され、処
理はステップf4に移り、外部出力命令パイルが終了し
たかどうかを判断する。現時点では外部出力命令パイル
D1のみを検討しており、判断結果は否定となり、処理
はステップf1  に戻る。
これ以降、パイルD2.D3が外部出力命令パイルとし
て検出され、それぞれについて前述の場合と同様な処理
が行なわれる。パイルD1〜D3では、未決定のパラメ
ータは共通であり、したがってステップf2  では同
一内容の処理が行なわれる。このようにしてパイルD3
に対するパイル結合が終了した後、ステップf4  で
は判断結果が肯定となり、ステップf5に移って第17
図(1−1)〜(3−3)のパイル結合結果が出力され
る。このようにして第5図ステップ15  のパイルの
結合処理が終了する。
以上のように本実施例では、Pt55図ステップI3以
降の分岐条fl−Am出処理などを行なうに先だって、
第5図ステップm 1  の流れ構造の解析処理を行な
うようにした。したがってプログラム中ノ分岐命令や分
岐先命令が事眞に明らかとなり、CCRなどの制01J
 <+1報は、これらの命令に関してのみ記憶すればよ
い。したがって被解析プログラムの動作内容を分析する
に当り、たとえばCCRを全命令にわたって記憶する心
変がなく、装置に要求されろ記憶容量を格段に削減でき
る。
効  果 以上のように本発明に従えば、被解析プログラムを、入
力命令と出力命令とで挟まれる部分命令列で区分した。
この部分命令列ごとに、当該命令列の実行内容と該実行
内容が遂行されるための条件とを求めて、これらを対と
して記憶し、相互に結合すれば、被解析プログラムの全
実行内容を理解容易な形式で出力することができる。こ
れに上りプログラムを実行することなく、その内容を効
率的に検討することができる。
【図面の簡単な説明】
第1図は本発明の一実施例のプログラム内容解析装置1
の構成を示すブロック図、第2図は解析VC置1の記憶
領域10の構成を示すブロック図、Pt53図はプログ
ラム内容解析装置1の基本的動作を示す70−チャート
、第4図は表示装置5の表示例を示す図、第5図は解析
vc置1のプログ2ム内容解析処理手順を示すフローチ
ャート、第6図および第7図は被解析プログラム例の動
作内容を示す70−チャー)、 158図は流れ構造の
解析処理手順を示す70−チャート、第9図は流れ構造
の解析処理結果を示す系統図、第10図はブロック化処
理手順を示す70−チャー)、fj%11図はブロック
化処理の中間結果を示す系統図、第12図および第13
図はブロック化処理結果を示す系統図、第14図は分岐
条件摘出処理手順を示す70−チャート、第15図は入
出力結合処理手順を示す70−チャート、第16図はパ
イル結合処理手順を示す70−チャート、第17図はパ
イル結合処理結果を示す系統図である。 1・・・プログラム内容解析装置、2・・・磁気テープ
装置、3・・・磁気ディスク装置、4・・・内部記憶装
置、5・・・表示装置、8・・・処理装置、10・・・
記憶領域、10a・・・アーキテクチャ記位領域 代理人  弁理士 画数 圭一部 第3図 第4図 第 5 図 第 6図 メインルーチンへ 第8 図 13−m−−1ll込 第10図 第12図     第13図 第16図 M 17因

Claims (1)

  1. 【特許請求の範囲】 機能語のみまたは機能語とオペランドとの組合せからな
    る命令列中の相互に関連する入力命令および出力命令を
    検出し、 上記入力命令と出力命令との間の命令列の実行内容と、
    該実行内容が遂行されるための条件とを求めてこれらを
    対とて記憶し、特定の対に含まれる未決定パラメータを
    規定する実行内容が含まれる他の対を該特定の対に接続
    して出力するようにしたことを特徴とするプログラム内
    容解析装置。
JP62154057A 1987-06-20 1987-06-20 プログラム内容解析装置 Expired - Fee Related JPH0820971B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62154057A JPH0820971B2 (ja) 1987-06-20 1987-06-20 プログラム内容解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62154057A JPH0820971B2 (ja) 1987-06-20 1987-06-20 プログラム内容解析装置

Publications (2)

Publication Number Publication Date
JPS63317849A true JPS63317849A (ja) 1988-12-26
JPH0820971B2 JPH0820971B2 (ja) 1996-03-04

Family

ID=15575967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62154057A Expired - Fee Related JPH0820971B2 (ja) 1987-06-20 1987-06-20 プログラム内容解析装置

Country Status (1)

Country Link
JP (1) JPH0820971B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5854449A (ja) * 1981-09-28 1983-03-31 Fujitsu Ltd 分岐命令短縮化処理方式
JPS6081641A (ja) * 1983-10-11 1985-05-09 Matsushita Electric Ind Co Ltd レジスタトレース方法
JPS60107142A (ja) * 1983-11-16 1985-06-12 Matsushita Electric Ind Co Ltd プログラム翻訳装置
JPS6167131A (ja) * 1984-09-10 1986-04-07 Fujitsu Ltd ドキユメント自動出力制御方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5854449A (ja) * 1981-09-28 1983-03-31 Fujitsu Ltd 分岐命令短縮化処理方式
JPS6081641A (ja) * 1983-10-11 1985-05-09 Matsushita Electric Ind Co Ltd レジスタトレース方法
JPS60107142A (ja) * 1983-11-16 1985-06-12 Matsushita Electric Ind Co Ltd プログラム翻訳装置
JPS6167131A (ja) * 1984-09-10 1986-04-07 Fujitsu Ltd ドキユメント自動出力制御方式

Also Published As

Publication number Publication date
JPH0820971B2 (ja) 1996-03-04

Similar Documents

Publication Publication Date Title
Hopcroft et al. Formal languages and their relation to automata
CN105426711B (zh) 一种计算机软件源代码相似度检测方法
JP2939288B2 (ja) はしご形諭理機械語プログラムの逆コンパイル方法
JP3030786B2 (ja) ユーザー拡張の可能なデータベースシステム
JPS63115245A (ja) ソフトウエアモニタにおけるブレ−クポイントを供給し且つ取り扱うための方法及び装置
CN110471835A (zh) 一种基于电力信息系统代码文件的相似度检测方法及系统
JPS63317849A (ja) プログラム内容解析装置
JPS63317848A (ja) プログラム内容解析装置
JPS63317844A (ja) プログラム内容解析装置
JPH0820973B2 (ja) プログラム内容解析装置
JP2548197B2 (ja) プログラム内容解析装置
JPH0820972B2 (ja) プログラム内容解析装置
JPH03174685A (ja) パターン認識装置
JPH0820968B2 (ja) プログラム内容解析装置
Vogler Iterated linear control and iterated one-turn pushdowns
JPS63317845A (ja) プログラム内容解析装置
JPS63317851A (ja) プログラム内容解析装置
JPH0820970B2 (ja) プログラム内容解析装置
JPH02128240A (ja) コンピユータプログラムの検査方法
JPS63317846A (ja) プログラム内容解析装置
JP2653880B2 (ja) プログラム内容解析装置
Rodger et al. Increasing the use of JFLAP in Courses
Berwick Natural language, computational complexity, and generative capacity
JP3594106B2 (ja) 自動プログラミング装置、自動プログラミング方法および記録媒体
Noguez A standardized microprogram sequencing control with a push down storage

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees