JP2978189B2 - 自動フローチャート作成装置 - Google Patents
自動フローチャート作成装置Info
- Publication number
- JP2978189B2 JP2978189B2 JP1299012A JP29901289A JP2978189B2 JP 2978189 B2 JP2978189 B2 JP 2978189B2 JP 1299012 A JP1299012 A JP 1299012A JP 29901289 A JP29901289 A JP 29901289A JP 2978189 B2 JP2978189 B2 JP 2978189B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- intermediate code
- instruction
- source program
- line number
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、たとえばマイクロコンピュータに用いられ
るアセンブラ言語によるソースプログラムを解析して自
動的にフローチャートを作成する装置に関する。
るアセンブラ言語によるソースプログラムを解析して自
動的にフローチャートを作成する装置に関する。
従来の技術 近年、各種電子機器にマイクロコンピュータが用いら
れている。マイクロコンピュータは動作プログラムが書
込まれたROM(リードオンリメモリ)を搭載しており、
このROMの容量が増大することにより複雑多様な制御が
実現できるようになっている。このような動作プログラ
ムはアセンブラ言語で記述される場合が多く、そのデバ
ッグはアセンブラリストを目視して行っている。
れている。マイクロコンピュータは動作プログラムが書
込まれたROM(リードオンリメモリ)を搭載しており、
このROMの容量が増大することにより複雑多様な制御が
実現できるようになっている。このような動作プログラ
ムはアセンブラ言語で記述される場合が多く、そのデバ
ッグはアセンブラリストを目視して行っている。
発明が解決すべき課題 上記従来技術では、デバッグに多大の労力を要してし
まうとともに、ミスが発生しやすいという課題がある。
またソースプログラムの処理の流れを把握するためにフ
ローチャートが作成されるが、一旦作成された後にソー
スプログラムに変更が生じた場合、目視にてフローチャ
ートを変更しなければならず、やはり労力を要するとと
もに、ミスが発生しやすいという課題がある。さらにマ
イクロコンピュータは複数の種類が流通しており、用い
るマイクロコンピュータの種類を変更した場合に、対応
するアセンブラ言語の種類も変更されることになり、こ
のようなアセンブラ言語の変更に伴ってソースプログラ
ムの変更を目視によって行うことは困難である。
まうとともに、ミスが発生しやすいという課題がある。
またソースプログラムの処理の流れを把握するためにフ
ローチャートが作成されるが、一旦作成された後にソー
スプログラムに変更が生じた場合、目視にてフローチャ
ートを変更しなければならず、やはり労力を要するとと
もに、ミスが発生しやすいという課題がある。さらにマ
イクロコンピュータは複数の種類が流通しており、用い
るマイクロコンピュータの種類を変更した場合に、対応
するアセンブラ言語の種類も変更されることになり、こ
のようなアセンブラ言語の変更に伴ってソースプログラ
ムの変更を目視によって行うことは困難である。
本発明の目的は、上述の技術的課題を解消し、デバッ
グの効率を格段に向上することができるとともに、使用
性が格段に向上されている自動フローチャート作成装置
を提供することである。
グの効率を格段に向上することができるとともに、使用
性が格段に向上されている自動フローチャート作成装置
を提供することである。
課題を解決するための手段 ソースプログラムを行番号毎に記憶するソースプログ
ラム記憶手段と、 ソースプログラム中で使用されるジャンプ命令を予め
記憶するジャンプ命令記憶手段と、 前記ソースプログラム記憶手段に記憶されているソー
スプログラムの各行がジャンプ命令もしくはジャンプ命
令に伴うラベル行であるかを前記ジャンプ命令記憶手段
に記憶された内容に基づいて解析し、さらに命令の実行
内容が命令の配列方向に隣接する命令間で連続する内容
であるかどうかを識別した結果を、第1中間コードとし
て記憶する第1中間コード記憶手段と、 さらに該ソースプログラムにおけるジャンプ命令行番
号およびジャンプ先を解析し、ジャンプ位置データとし
て新たに行番号を付与した第2中間コードを記憶する第
2中間コード記憶手段と、 前記第1中間コード記憶手段および第2中間コード記
憶手段に記憶されている内容に基づいて、ソースプログ
ラムの処理の流れを解析し、フローチャートとして出力
する解析出力手段とを含むことを特徴とする自動フロー
チャート作成装置である。
ラム記憶手段と、 ソースプログラム中で使用されるジャンプ命令を予め
記憶するジャンプ命令記憶手段と、 前記ソースプログラム記憶手段に記憶されているソー
スプログラムの各行がジャンプ命令もしくはジャンプ命
令に伴うラベル行であるかを前記ジャンプ命令記憶手段
に記憶された内容に基づいて解析し、さらに命令の実行
内容が命令の配列方向に隣接する命令間で連続する内容
であるかどうかを識別した結果を、第1中間コードとし
て記憶する第1中間コード記憶手段と、 さらに該ソースプログラムにおけるジャンプ命令行番
号およびジャンプ先を解析し、ジャンプ位置データとし
て新たに行番号を付与した第2中間コードを記憶する第
2中間コード記憶手段と、 前記第1中間コード記憶手段および第2中間コード記
憶手段に記憶されている内容に基づいて、ソースプログ
ラムの処理の流れを解析し、フローチャートとして出力
する解析出力手段とを含むことを特徴とする自動フロー
チャート作成装置である。
作 用 本発明に従えば、ソースプログラムは行番号毎にソー
スプログラム記憶手段に記憶される。ソースプログラム
に用いられる言語におけるジャンプ命令は、ジャンプ命
令記憶手段に予め記憶される。識別データ作成手段は、
前記ソースプログラム記憶手段とジャンプ命令記憶手段
との記憶内容を比較解析して、ソースプログラムの各命
令毎に対応して各命令の種類を識別し、かつ命令の実行
内容が命令の配列方向に隣接する命令間で連続する命令
であることを識別する第1識別データを作成する。また
ソースプログラムにおけるジャンプ命令またはジャンプ
先の命令毎にジャンプ先命令の位置データおよび対応す
るジャンプ命令の位置データを含んで成る第2識別デー
タとを作成する。
スプログラム記憶手段に記憶される。ソースプログラム
に用いられる言語におけるジャンプ命令は、ジャンプ命
令記憶手段に予め記憶される。識別データ作成手段は、
前記ソースプログラム記憶手段とジャンプ命令記憶手段
との記憶内容を比較解析して、ソースプログラムの各命
令毎に対応して各命令の種類を識別し、かつ命令の実行
内容が命令の配列方向に隣接する命令間で連続する命令
であることを識別する第1識別データを作成する。また
ソースプログラムにおけるジャンプ命令またはジャンプ
先の命令毎にジャンプ先命令の位置データおよび対応す
るジャンプ命令の位置データを含んで成る第2識別デー
タとを作成する。
作成された第1識別データおよび第2識別データは、
識別データ記憶手段に記憶される。前記第1識別データ
および第2識別データによってソースプログラムの種類
の流れの状態が把握できることになる。したがって解析
出力手段は、識別データ記憶手段の記憶内容に基づいて
ソースプログラムの処理の流れを解析し、フローチャー
トとして出力する。
識別データ記憶手段に記憶される。前記第1識別データ
および第2識別データによってソースプログラムの種類
の流れの状態が把握できることになる。したがって解析
出力手段は、識別データ記憶手段の記憶内容に基づいて
ソースプログラムの処理の流れを解析し、フローチャー
トとして出力する。
これによりソースプログラムをフローチャートに容易
に変換することができ、命令列を目視にてデバッグする
場合と比較し、デバッグの効率を格段に向上することが
でき、またデバッグに際してミスの発生を防止すること
ができる。また一旦フローチャートが作成された後にソ
ースプログラムに変更が生じた場合であっても、フロー
チャートは自動的に作成されるので、フローチャートの
変更に要する労力を格段に削減できる。またソースプロ
グラムを記述する言語が変更された場合であっても、ジ
ャンプ命令記憶手段に記憶されるジャンプ命令の形式を
新たな言語に対応して変更すれば、前述の説明と同様に
して新たな言語に基づくフローチャートを容易に作成す
ることができる。これにより操作性が格段に向上され
る。
に変換することができ、命令列を目視にてデバッグする
場合と比較し、デバッグの効率を格段に向上することが
でき、またデバッグに際してミスの発生を防止すること
ができる。また一旦フローチャートが作成された後にソ
ースプログラムに変更が生じた場合であっても、フロー
チャートは自動的に作成されるので、フローチャートの
変更に要する労力を格段に削減できる。またソースプロ
グラムを記述する言語が変更された場合であっても、ジ
ャンプ命令記憶手段に記憶されるジャンプ命令の形式を
新たな言語に対応して変更すれば、前述の説明と同様に
して新たな言語に基づくフローチャートを容易に作成す
ることができる。これにより操作性が格段に向上され
る。
実施例 第1図は本発明の一実施例の自動フローチャート作成
装置1の構成を示すブロック図である。ソースリスト記
憶手段2はハードディスク記憶装置やフロッピィディス
ク記憶装置などの外部記憶装置であり、マイクロコンピ
ュータの種類に対応するアセンブラ言語により記述され
たソースプログラムが、行番号毎の下記第1表のような
リストとして記憶される。
装置1の構成を示すブロック図である。ソースリスト記
憶手段2はハードディスク記憶装置やフロッピィディス
ク記憶装置などの外部記憶装置であり、マイクロコンピ
ュータの種類に対応するアセンブラ言語により記述され
たソースプログラムが、行番号毎の下記第1表のような
リストとして記憶される。
ジャンプコード記憶手段3はソースプログラムを記述
するアセンブラ言語における下記第2表に示すようなジ
ャンプ命令、したがってソースプログラム中に含まれ得
るジャンプ命令を予め記憶する。
するアセンブラ言語における下記第2表に示すようなジ
ャンプ命令、したがってソースプログラム中に含まれ得
るジャンプ命令を予め記憶する。
ソースリスト記憶手段2に記憶されたソースプログラ
ムは、命令毎にソースリスト解析手段4によってジャン
プコード記憶手段3に記憶されたジャンプ命令と順次的
に対比され、後述するような処理によって中間コード1
および中間コード2を作成し、中間コード1記憶手段5
および中間コード2記憶手段6に記憶する。
ムは、命令毎にソースリスト解析手段4によってジャン
プコード記憶手段3に記憶されたジャンプ命令と順次的
に対比され、後述するような処理によって中間コード1
および中間コード2を作成し、中間コード1記憶手段5
および中間コード2記憶手段6に記憶する。
中間コード1および中間コード2の記憶手段5,6に後
述するように記憶されている中間コード1および中間コ
ード2は、対応する解析手段7,8により後述する処理に
沿って解析され、解析結果はたとえばプロッタなどの出
力コントロール手段9に入力され、記録紙10に後述する
ようなフローチャートが描画される。
述するように記憶されている中間コード1および中間コ
ード2は、対応する解析手段7,8により後述する処理に
沿って解析され、解析結果はたとえばプロッタなどの出
力コントロール手段9に入力され、記録紙10に後述する
ようなフローチャートが描画される。
第2図は自動フローチャート作成装置1の基本的動作
を説明するフローチャートである。本実施例ではソース
リスト解析手段4により第2図ステップa1,a2において
それぞれ中間コード1および中間コード2が作成され
る。また出力コントロール手段9によって後述するフロ
ーチャート作成プログラム「フロー1」および「フロー
2」が実行され、フローチャートが描画される。
を説明するフローチャートである。本実施例ではソース
リスト解析手段4により第2図ステップa1,a2において
それぞれ中間コード1および中間コード2が作成され
る。また出力コントロール手段9によって後述するフロ
ーチャート作成プログラム「フロー1」および「フロー
2」が実行され、フローチャートが描画される。
第3図(1)および第3図(2)では、後述すする中
間コード1 CODE(*,1),CODE(*,2),CODE(*,3) および 中間コード2 LA(*,1),LA(*,2),LA(*,3),LA(*,4) が後述するように作成される。中間コード1,2は、CODE1
〜3,LA1〜4のように略記する場合もある。
間コード1 CODE(*,1),CODE(*,2),CODE(*,3) および 中間コード2 LA(*,1),LA(*,2),LA(*,3),LA(*,4) が後述するように作成される。中間コード1,2は、CODE1
〜3,LA1〜4のように略記する場合もある。
第3図におけるステップb1では処理に用いられる変数
LINE,CONT,LANO,ADDがすべて0に初期化され、ステップ
b2ではジャンプ命令記憶手段3に記憶されているジャン
プ命令が読出され、ステップb3ではソースリスト記憶手
段2に記憶されているソースプログラムが読出され、そ
の最大行番号LENDが読取られる。
LINE,CONT,LANO,ADDがすべて0に初期化され、ステップ
b2ではジャンプ命令記憶手段3に記憶されているジャン
プ命令が読出され、ステップb3ではソースリスト記憶手
段2に記憶されているソースプログラムが読出され、そ
の最大行番号LENDが読取られる。
ステップb4では、現在記憶している行番号LINEが最大
行番号LENDに等しいかどうかが判断される。等しければ
後述する種類はすべて終了していることになり、メイン
ルーチンへ復帰する。ステップb4の判断が否定であれば
ステップb5で行番号LINEが+1インクリメントされる。
ステップb6では、行番号LINEに対応するソースプログラ
ムの命令を示す関数SOURSE(LINE)にラベルが含まれる
か否かを判断する。ソースプログラムの行番号1〜5で
はステップb6の判断はすべて否定であり、ステップb7で
対応する行番号の命令にジャンプ命令が含まれるか否か
が判断され、ステップb8では当該命令がRETであるか否
かを判断する。これらはいずれも否定となる。
行番号LENDに等しいかどうかが判断される。等しければ
後述する種類はすべて終了していることになり、メイン
ルーチンへ復帰する。ステップb4の判断が否定であれば
ステップb5で行番号LINEが+1インクリメントされる。
ステップb6では、行番号LINEに対応するソースプログラ
ムの命令を示す関数SOURSE(LINE)にラベルが含まれる
か否かを判断する。ソースプログラムの行番号1〜5で
はステップb6の判断はすべて否定であり、ステップb7で
対応する行番号の命令にジャンプ命令が含まれるか否か
が判断され、ステップb8では当該命令がRETであるか否
かを判断する。これらはいずれも否定となる。
ステップb9で後述する変数CONTが1か否かが判断さ
れ、否定であればステップb10に移り、3種類の中間コ
ード1CODE1〜CODE2にスペース記号が与えられ、CODE3に
は対応する命令が設定される。ステップb11では変数CON
Tを1に設定し処理はステップb4に戻る。ソースプログ
ラムの行番号6でラベルが存在することになり、ステッ
プb6の判断は肯定となり、ステップb12へ移る。ステッ
プb12では下記第3表および第4表に示す中間コード1,2
の行番号LANOを+1インクリメントし、中間コード2の
行のいずれか1つを示す変数Iを0に初期化する。
れ、否定であればステップb10に移り、3種類の中間コ
ード1CODE1〜CODE2にスペース記号が与えられ、CODE3に
は対応する命令が設定される。ステップb11では変数CON
Tを1に設定し処理はステップb4に戻る。ソースプログ
ラムの行番号6でラベルが存在することになり、ステッ
プb6の判断は肯定となり、ステップb12へ移る。ステッ
プb12では下記第3表および第4表に示す中間コード1,2
の行番号LANOを+1インクリメントし、中間コード2の
行のいずれか1つを示す変数Iを0に初期化する。
ステップb13では変数Iを+1インクリメントし、ス
テップb14では変数Iが行番号LANOと一致するか否かを
を判断する。一致しなければステップb15で行番号Iの
中間コード2LA1がラベルであるか否かを判断する。ラベ
ルでなければステップb13に戻るが、ソースプログラム
の行番号6ではラベルであり、ステップb16に移り、中
間コード2 LA(I,3)=LINE+ADD ……(1) の設定を行い処理をステップb13に戻す。
テップb14では変数Iが行番号LANOと一致するか否かを
を判断する。一致しなければステップb15で行番号Iの
中間コード2LA1がラベルであるか否かを判断する。ラベ
ルでなければステップb13に戻るが、ソースプログラム
の行番号6ではラベルであり、ステップb16に移り、中
間コード2 LA(I,3)=LINE+ADD ……(1) の設定を行い処理をステップb13に戻す。
ステップb14の判断が肯定となるとステップb17に移
り、新たな行番号LANOについて中間コード2LA1をラベル
に設定し、LA2を0とし、LA3について LA(LANO,3)=LINE+ADD ……(2) の設定を行う。ステップb18では中間コード1についてC
ODE1に「T」を設定し、CODE2にスペース(SP)記号を
設定し、CODE3をラベルに設定する。
り、新たな行番号LANOについて中間コード2LA1をラベル
に設定し、LA2を0とし、LA3について LA(LANO,3)=LINE+ADD ……(2) の設定を行う。ステップb18では中間コード1についてC
ODE1に「T」を設定し、CODE2にスペース(SP)記号を
設定し、CODE3をラベルに設定する。
ここで前記中間コード1は下記のような関数値を意味
する関数として定義される。
する関数として定義される。
CODE(*,1)=T(行番号*=ラベル) N(行番号*=ジャンプ命令) ……(3) G(行番号*=RET文) SP(行番号*=他の命令) CODE(*,2)=「*」(行番号*=継続行) SP(行番号*=フローチャートの1つ
の枠内の最初の命令か、または単項) ……(4) CODE(*,3)=行番号*の命令またはラベル ……(5) ステップb19では、前記変数CONTを0に設定する。こ
の変数CONTは下記のように定義される。
の枠内の最初の命令か、または単項) ……(4) CODE(*,3)=行番号*の命令またはラベル ……(5) ステップb19では、前記変数CONTを0に設定する。こ
の変数CONTは下記のように定義される。
CONT=0(次行が継続行である可能性なし) 1(次行が継続行である可能性有り) ……(6) ここに言う継続行とは、ソースプログラムの
ある命令に引続く行番号の命令が前行の命令と連続する
処理を行う命令であることをいう。
ある命令に引続く行番号の命令が前行の命令と連続する
処理を行う命令であることをいう。
ステップb20では、前記ラベルが検出された同一行に
さらに命令が記述されているかどうかを判断する。ソー
スプログラムの行番号6ではこれは否定となり、処理は
ステップb4に戻る。
さらに命令が記述されているかどうかを判断する。ソー
スプログラムの行番号6ではこれは否定となり、処理は
ステップb4に戻る。
行番号7はジャンプ命令以外の命令であり、ラベルは
含まれていない。したがつて処理はステップb4,b5,b6,b
7,b8,b9,b10,b11を経てステップb4に戻る。行番号8で
は処理がステップb9に到達したとき判断は肯定となり、
ステップb21にて前記第3式〜第5式の定義に従い中間
コード1が作成され、処理がステップb4に戻る。以下、
行番号10まで同様な処理が行われ、行番号11ではステッ
プb7の判断が肯定となり、ステップb22へ移る。ステッ
プb22以降ステップb23,b24では、前記ステップb12,b13,
b14と同一の処理が行われる。
含まれていない。したがつて処理はステップb4,b5,b6,b
7,b8,b9,b10,b11を経てステップb4に戻る。行番号8で
は処理がステップb9に到達したとき判断は肯定となり、
ステップb21にて前記第3式〜第5式の定義に従い中間
コード1が作成され、処理がステップb4に戻る。以下、
行番号10まで同様な処理が行われ、行番号11ではステッ
プb7の判断が肯定となり、ステップb22へ移る。ステッ
プb22以降ステップb23,b24では、前記ステップb12,b13,
b14と同一の処理が行われる。
ステップb24の判断が否定であれば、ステップb25へ移
り、中間コード2LA2が0であるか否かを判断する。この
判断が否定であれば処理はステップb23に移り、肯定で
あればステップb26で同一の変数を行番号とする中間コ
ード2LA1がジャンプ先ラベルであるか否かを判断する。
否定であれば前記ステップb23へ移る。肯定であればス
テップb27へ移り、下記のように定義される中間コード
2が設定される。
り、中間コード2LA2が0であるか否かを判断する。この
判断が否定であれば処理はステップb23に移り、肯定で
あればステップb26で同一の変数を行番号とする中間コ
ード2LA1がジャンプ先ラベルであるか否かを判断する。
否定であれば前記ステップb23へ移る。肯定であればス
テップb27へ移り、下記のように定義される中間コード
2が設定される。
LA(*,1)=行番号*のラベルまたはジャンプ命令で
あるときのジャンプ先データ ……(7) LA(*,2)=0(行番号*=ラベル) n(行番号*がジャンプ命令のときの行
番号) ……(8) LA(*,3)=ジャンプ命令のジャンプ先データ ……(9) ステップb28では行番号LINE+ADDの命令について前記
第3式〜第4式に示す定義に基づき中間コード1が設定
され、ステップb29で変数CONTが0に設定され、処理は
ステップb4に戻る。前記ステップb24の判断が肯定とな
ると、ステップb30にて前記第7式〜第9式の定義に基
づき最新の行番号LANOに基づく中間コード2が設定さ
れ、ステップb28へ処理が移る。
あるときのジャンプ先データ ……(7) LA(*,2)=0(行番号*=ラベル) n(行番号*がジャンプ命令のときの行
番号) ……(8) LA(*,3)=ジャンプ命令のジャンプ先データ ……(9) ステップb28では行番号LINE+ADDの命令について前記
第3式〜第4式に示す定義に基づき中間コード1が設定
され、ステップb29で変数CONTが0に設定され、処理は
ステップb4に戻る。前記ステップb24の判断が肯定とな
ると、ステップb30にて前記第7式〜第9式の定義に基
づき最新の行番号LANOに基づく中間コード2が設定さ
れ、ステップb28へ処理が移る。
このように処理が進行してソースプログラム行番号LI
NE=22に到達した場合、ステップb20の判断は肯定とな
り、処理はステップb31に進み、変数ADDが+1インクリ
メントされる。ステップb32では、その命令がジャンプ
命令であるかどうかが判断され、否定であればステップ
b33に移り、RET命令であるかどうかを判断する。否定で
あればステップb34に移り、前記第3式〜第5式の定義
にもとづいて、中間コード1が設定される。ステップb3
5で変数CONT=1に設定して、処理はステップb4に戻
る。
NE=22に到達した場合、ステップb20の判断は肯定とな
り、処理はステップb31に進み、変数ADDが+1インクリ
メントされる。ステップb32では、その命令がジャンプ
命令であるかどうかが判断され、否定であればステップ
b33に移り、RET命令であるかどうかを判断する。否定で
あればステップb34に移り、前記第3式〜第5式の定義
にもとづいて、中間コード1が設定される。ステップb3
5で変数CONT=1に設定して、処理はステップb4に戻
る。
この命令がソースプログラムの行番号LINE=28の命令
のようにRET命令であれば、ステップb33の判断は肯定と
なり、処理はステップb36に移り、前記第3式〜第5式
の定義に基づいて、中間コード1が設定される。ステッ
プb37で変数CONT=0に設定され、処理はステップb4に
戻る。
のようにRET命令であれば、ステップb33の判断は肯定と
なり、処理はステップb36に移り、前記第3式〜第5式
の定義に基づいて、中間コード1が設定される。ステッ
プb37で変数CONT=0に設定され、処理はステップb4に
戻る。
ソースプログラム行番号LINE=22の場合のように、同
一行にラベルとともにジャンプ命令が記述されている場
合、ステップb32の判断は肯定となり、ステップb38に移
り、行番号LANOが+1インクリメントされ、また変数I
=0に設定される。ステップb39では変数Iが+1イン
クリメントされ、ステップb40では変数Iが行番号LANO
に一致したかどうかが判断される。否定であればステッ
プb41に移り、変数Iの行番号の中間コード2LA(I,2)
が0であるかどうか判断する。肯定であればステップb4
2で、その変数Iの中間コード2LA(I,1)がジャンプ先
ラベルであるかどうかが判断される。
一行にラベルとともにジャンプ命令が記述されている場
合、ステップb32の判断は肯定となり、ステップb38に移
り、行番号LANOが+1インクリメントされ、また変数I
=0に設定される。ステップb39では変数Iが+1イン
クリメントされ、ステップb40では変数Iが行番号LANO
に一致したかどうかが判断される。否定であればステッ
プb41に移り、変数Iの行番号の中間コード2LA(I,2)
が0であるかどうか判断する。肯定であればステップb4
2で、その変数Iの中間コード2LA(I,1)がジャンプ先
ラベルであるかどうかが判断される。
ステップb41の判断が否定であればステップb39に戻
る。ステップb42の判断が否定であっても同様である。
ステップb42の判断が肯定であれば、ステップb43で前記
第7式〜第9式の定義に基づいて、中間コード2が設定
される。ステップb44では前記第3式〜第5式の定義に
基づいて、中間コード1がそれぞれ設定される。ステッ
プb45で変数CONT=0に設定して、処理はステップb4に
戻る。
る。ステップb42の判断が否定であっても同様である。
ステップb42の判断が肯定であれば、ステップb43で前記
第7式〜第9式の定義に基づいて、中間コード2が設定
される。ステップb44では前記第3式〜第5式の定義に
基づいて、中間コード1がそれぞれ設定される。ステッ
プb45で変数CONT=0に設定して、処理はステップb4に
戻る。
ここで、前記ステップb8の判断が肯定となる場合、す
なわちラベルと同一行の命令がRET命令である場合、処
理はステップb47に移り、前記第3式〜第5式の定義に
基づいて中間コード1がそれぞれ設定される。ステップ
b48では変数CONT=0に設定して、処理はステップb4に
戻る。
なわちラベルと同一行の命令がRET命令である場合、処
理はステップb47に移り、前記第3式〜第5式の定義に
基づいて中間コード1がそれぞれ設定される。ステップ
b48では変数CONT=0に設定して、処理はステップb4に
戻る。
このようにして、ソースリスト解析手段4によって前
記第3表および第4表に示したような中間コード1およ
びLA(*,1),LA(*,2),LA(*,3)の中間コード2が
それぞれ得られ、中間コード1,2に対応する記憶手段5,6
にそれぞれ記憶される。
記第3表および第4表に示したような中間コード1およ
びLA(*,1),LA(*,2),LA(*,3)の中間コード2が
それぞれ得られ、中間コード1,2に対応する記憶手段5,6
にそれぞれ記憶される。
第4図は中間コード2のLA(*,4)を求める処理を説
明するフローチャートである。ステップc1では行番号の
変数JLが0に初期化される。ステップc2では変数JLが中
間コード2の行番号LANOと一致したかどうかが判断さ
れ、否定であればステップc3で変数JLが+1インクリメ
ントされる。ステップc4でこのときの変数JLに対応する
中間コード2LA(JL,2)が0であるかどうかが判断され
る。
明するフローチャートである。ステップc1では行番号の
変数JLが0に初期化される。ステップc2では変数JLが中
間コード2の行番号LANOと一致したかどうかが判断さ
れ、否定であればステップc3で変数JLが+1インクリメ
ントされる。ステップc4でこのときの変数JLに対応する
中間コード2LA(JL,2)が0であるかどうかが判断され
る。
この判断が否定であればステップc5で、 LA(JL,4)=LA(JL,3)−LA(JL,2) ……(10) の演算が実行され、中間コード2のLA(JL,4)が得られ
る。ステップc4の判断が肯定であるとき、すなわちLA
(JL,1)がラベルであれば処理はステップc2に戻る。ス
テップc2の判断が肯定であればステップc6に移り、各変
数LA1〜LA3,LANOを記憶手段6に記憶する。また各変数L
INE,ADD,CODEを同様に記憶する。
る。ステップc4の判断が肯定であるとき、すなわちLA
(JL,1)がラベルであれば処理はステップc2に戻る。ス
テップc2の判断が肯定であればステップc6に移り、各変
数LA1〜LA3,LANOを記憶手段6に記憶する。また各変数L
INE,ADD,CODEを同様に記憶する。
第5図および第6図は解析手段7,8および出力コント
ロール手段9のフローチャート作成プログラム「フロー
1」および「フロー2」の動作を説明するフローチャー
トであり、第7図は出力されるフローチャートの例を示
す図である。ステップd1では行番号の変数LINEを0に初
期化する。ステップd2では変数LINEが最終行番号LENDに
到達したかどうかが判断され、肯定であれば他の処理に
復帰する。否定であればステップd4で変数LINEを+1イ
ンクリメントする。ステップd5では行番号LINEの中間コ
ード1CODE(LINE,1)=Nであるかどうか、すなわち行
番号LINEの命令がジャンプ命令であるかどうかを判断す
る。
ロール手段9のフローチャート作成プログラム「フロー
1」および「フロー2」の動作を説明するフローチャー
トであり、第7図は出力されるフローチャートの例を示
す図である。ステップd1では行番号の変数LINEを0に初
期化する。ステップd2では変数LINEが最終行番号LENDに
到達したかどうかが判断され、肯定であれば他の処理に
復帰する。否定であればステップd4で変数LINEを+1イ
ンクリメントする。ステップd5では行番号LINEの中間コ
ード1CODE(LINE,1)=Nであるかどうか、すなわち行
番号LINEの命令がジャンプ命令であるかどうかを判断す
る。
この判断が否定であればステップd6で、行番号LINEの
中間コード1CODE(LINE,1)=T,Gであるかどうか、すな
わち行番号LINEの命令がラベルかRET命令であるかどう
かを判断する。否定であればステップd7で第5図および
第7図示の処理記号12の上端部分を出力し、そのなかに
対応する命令を出力する。
中間コード1CODE(LINE,1)=T,Gであるかどうか、すな
わち行番号LINEの命令がラベルかRET命令であるかどう
かを判断する。否定であればステップd7で第5図および
第7図示の処理記号12の上端部分を出力し、そのなかに
対応する命令を出力する。
ステップd8では変数Jを1に設定し、ステップd9で中
間コード1CODE(LINE+J,2)=「*」であるか否か、す
なわち当該行番号の命令が前行の命令に連続する処理内
容を有する命令である継続行であるか否かを判断する。
肯定であればステップd10で前記処理記号12の上端部分
に引続く両側部分の縦罫線を出力し、その中に対応する
命令を出力する。ステップd11で前記変数Jを+1イン
リメントし、処理をステップd9に移す。このような処理
は、操作プログラムの行番号7〜10の命令に関して引続
き行われ、行番号11したがって前記第3表に示す中間コ
ード1の行番号11の命令において前記ステップd9の判断
は否定となる。このとき処理はステップd12に移り、前
記処理記号12の下端部分である横罫線を出力する。ステ
ップd13では、行番号LINEについて、 LINE=LINE+J−1 ……(11) の演算を行い、処理をステップd3に戻す。
間コード1CODE(LINE+J,2)=「*」であるか否か、す
なわち当該行番号の命令が前行の命令に連続する処理内
容を有する命令である継続行であるか否かを判断する。
肯定であればステップd10で前記処理記号12の上端部分
に引続く両側部分の縦罫線を出力し、その中に対応する
命令を出力する。ステップd11で前記変数Jを+1イン
リメントし、処理をステップd9に移す。このような処理
は、操作プログラムの行番号7〜10の命令に関して引続
き行われ、行番号11したがって前記第3表に示す中間コ
ード1の行番号11の命令において前記ステップd9の判断
は否定となる。このとき処理はステップd12に移り、前
記処理記号12の下端部分である横罫線を出力する。ステ
ップd13では、行番号LINEについて、 LINE=LINE+J−1 ……(11) の演算を行い、処理をステップd3に戻す。
前記ステップd6の判断が肯定である場合、当該命令は
他の箇所のジャンプ命令に対応するジャンプ先の命令か
またはサブルーチンプログラムの終端の命令であるRET
命令のいずれかであることになり、第5図示のステップ
d14および第7図に示されるような分岐先記号13および
ラベル名を出力し、ステップd3に戻る。
他の箇所のジャンプ命令に対応するジャンプ先の命令か
またはサブルーチンプログラムの終端の命令であるRET
命令のいずれかであることになり、第5図示のステップ
d14および第7図に示されるような分岐先記号13および
ラベル名を出力し、ステップd3に戻る。
第6図は後述するフローチャートの出力に関する次の
動作例を示すフローチャートである。第6図ステップe1
では、行番号LINEを0に設定し、ステップe2では前記第
4表の中間コード2の各データおよびソースプログラム
の最終行データLENDを読出す。
動作例を示すフローチャートである。第6図ステップe1
では、行番号LINEを0に設定し、ステップe2では前記第
4表の中間コード2の各データおよびソースプログラム
の最終行データLENDを読出す。
ステップe3では、変数である行番号LINEが最大行番号
データLENDに一致するか否かを判断し、一致するならば
処理を終了する。否定であればステップe4に移り、行番
号LINEを+1インリメントする。
データLENDに一致するか否かを判断し、一致するならば
処理を終了する。否定であればステップe4に移り、行番
号LINEを+1インリメントする。
ステップe5では、中間コード2LA(LINE,2)が0であ
るか否か、すなわち行番号LINEの命令がラベルであるか
否かを判断する。肯定であれば処理はステップe3に戻
り、否定であればステップe6に移る。ステップe6では、
中間コード2LA(LINE,3)が0であるか否か、すなわち
当該行番号LINEの命令がジャンプ命令である場合に当該
命令に含まれるジャンプ先データが0であるか否かを判
断する。肯定であればステップe3に戻り、否定であれば
ステップe7に移る。
るか否か、すなわち行番号LINEの命令がラベルであるか
否かを判断する。肯定であれば処理はステップe3に戻
り、否定であればステップe6に移る。ステップe6では、
中間コード2LA(LINE,3)が0であるか否か、すなわち
当該行番号LINEの命令がジャンプ命令である場合に当該
命令に含まれるジャンプ先データが0であるか否かを判
断する。肯定であればステップe3に戻り、否定であれば
ステップe7に移る。
ステップe7では、中間コードにLA(LINE,4)が負であ
るか否か、すなわち当該行番号LINEの命令がジャンプ命
令である場合、ジャンプ先が当該行番号LINEより小さな
行番号であるか否かを判断する。肯定であればステップ
e8に移り、第6図および第7図に示されるように小さい
行番号へ処理がジャンプする経路を示す記号14を出力
し、処理をステップe3に戻す。ステップe7の判断が否定
であればステップe9に移り、第6図および第7図に示さ
れるように行番号が大きなジャンプ先処理がジャンプす
る記号15を出力し、処理はステップe3に戻る。
るか否か、すなわち当該行番号LINEの命令がジャンプ命
令である場合、ジャンプ先が当該行番号LINEより小さな
行番号であるか否かを判断する。肯定であればステップ
e8に移り、第6図および第7図に示されるように小さい
行番号へ処理がジャンプする経路を示す記号14を出力
し、処理をステップe3に戻す。ステップe7の判断が否定
であればステップe9に移り、第6図および第7図に示さ
れるように行番号が大きなジャンプ先処理がジャンプす
る記号15を出力し、処理はステップe3に戻る。
このようにして第5図および第6図に示される解析手
段7,8および出力コントロール手段9の動作に基づいて
第7図に示されるフローチャート11が出力される。
段7,8および出力コントロール手段9の動作に基づいて
第7図に示されるフローチャート11が出力される。
以上のように本実施例によれば、第1表に示される操
作プログラムに関して第2表のジャンプ命令を別途ジャ
ンプ命令記憶手段3に記憶しておくことにより、前記ソ
ースプログラムが第3表および第4表の中間コード1,2
に変換され、これらに基づいて第7図示のフローチャー
トを自動的に印字出力することができる。これによって
一旦フローチャート11が出力された後にソースプログラ
ムの変更が行われても、目視によるチェックにより再度
フローチャートを書直す必要がなく、デバッグ作業の効
率化とミスの発生の防止とを併せて図ることができる。
作プログラムに関して第2表のジャンプ命令を別途ジャ
ンプ命令記憶手段3に記憶しておくことにより、前記ソ
ースプログラムが第3表および第4表の中間コード1,2
に変換され、これらに基づいて第7図示のフローチャー
トを自動的に印字出力することができる。これによって
一旦フローチャート11が出力された後にソースプログラ
ムの変更が行われても、目視によるチェックにより再度
フローチャートを書直す必要がなく、デバッグ作業の効
率化とミスの発生の防止とを併せて図ることができる。
また用いられるマイクロコンピュータが他の種類に変
更され、したがって命令を記述するアセンブラ言語が変
更される場合であっても、ジャンプ命令記憶手段3に記
憶されるジャンプ命令を変更すれば、前記実施例で説明
した処理手順と同一の処理手順にてフローチャートを出
力することができる。これによりアセンブラ言語の種類
を問わない汎用性を有する自動フローチャート作成装置
を構成できる。
更され、したがって命令を記述するアセンブラ言語が変
更される場合であっても、ジャンプ命令記憶手段3に記
憶されるジャンプ命令を変更すれば、前記実施例で説明
した処理手順と同一の処理手順にてフローチャートを出
力することができる。これによりアセンブラ言語の種類
を問わない汎用性を有する自動フローチャート作成装置
を構成できる。
発明の効果 以上のように本発明によれば、ソースプログラムをフ
ローチャートに容易に変換することができ、命令列を目
視にてデバッグする場合と比較し、デバッグの効率を格
段に向上することができ、またデバッグに際してミスの
発生を防止することができる。また一旦フローチャート
が作成された後にソースプログラムに変更が生じた場合
であっても、フローチャートは自動的に作成されるの
で、フローチャートの変更に要する労力を格段に削減で
きる。またソースプログラムを記述する言語が変更され
た場合であっても、ジャンプ命令記憶手段に記憶される
ジャンプ命令の形式を新たな言語に対して変更すれば、
前述の説明と同様にして新たな言語に基づくフローチャ
ートを容易に作成することができる。さらに、フローチ
ャートを作成する言語や環境が変更されても、第1中間
コードおよび第2中間コードにより、言語や環境の変更
に迅速な対応ができる。
ローチャートに容易に変換することができ、命令列を目
視にてデバッグする場合と比較し、デバッグの効率を格
段に向上することができ、またデバッグに際してミスの
発生を防止することができる。また一旦フローチャート
が作成された後にソースプログラムに変更が生じた場合
であっても、フローチャートは自動的に作成されるの
で、フローチャートの変更に要する労力を格段に削減で
きる。またソースプログラムを記述する言語が変更され
た場合であっても、ジャンプ命令記憶手段に記憶される
ジャンプ命令の形式を新たな言語に対して変更すれば、
前述の説明と同様にして新たな言語に基づくフローチャ
ートを容易に作成することができる。さらに、フローチ
ャートを作成する言語や環境が変更されても、第1中間
コードおよび第2中間コードにより、言語や環境の変更
に迅速な対応ができる。
第1図は本発明の一実施例の自動フローチャート作成装
置1の構成を示すブロック図、第2図は本実施例の基本
的動作を説明するフローチャート、第3図および第4図
は中間コード1、中間コード2を作成する動作をそれぞ
れ説明するフローチャート、第5図および第6図はフロ
ーチャートを作成する処理手順を説明するフローチャー
ト、第7図は印字出力されるフローチャートの例を示す
図である。 1……自動フローチャート作成装置、2……ソースリス
ト記憶手段、3……ジャンプ命令記憶手段、4……ソー
スリスト解析手段、5……中間コード1記憶手段、6…
…中間コード2記憶手段、7……中間コード1解析手
段、8……中間コード2解析手段、9……出力コントロ
ール手段
置1の構成を示すブロック図、第2図は本実施例の基本
的動作を説明するフローチャート、第3図および第4図
は中間コード1、中間コード2を作成する動作をそれぞ
れ説明するフローチャート、第5図および第6図はフロ
ーチャートを作成する処理手順を説明するフローチャー
ト、第7図は印字出力されるフローチャートの例を示す
図である。 1……自動フローチャート作成装置、2……ソースリス
ト記憶手段、3……ジャンプ命令記憶手段、4……ソー
スリスト解析手段、5……中間コード1記憶手段、6…
…中間コード2記憶手段、7……中間コード1解析手
段、8……中間コード2解析手段、9……出力コントロ
ール手段
フロントページの続き (56)参考文献 特開 昭61−49245(JP,A) I/O編集部編「I/D別冊 FM− 8活用研究(第2版)」(昭57−8− 5)工学社 P.122−126 研究実用化報告 24[11](1975)日 本電信電話公社武蔵野電気通信研究所 P.2487−2501
Claims (1)
- 【請求項1】ソースプログラムを行番号毎に記憶するソ
ースプログラム記憶手段と、 ソースプログラム中で使用されるジャンプ命令を予め記
憶するジャンプ命令記憶手段と、 前記ソースプログラム記憶手段に記憶されているソース
プログラムの各行がジャンプ命令もしくはジャンプ命令
に伴うラベル行であるかを前記ジャンプ命令記憶手段に
記憶された内容に基づいて解析し、さらに命令の実行内
容が命令の配列方向に隣接する命令間で連続する内容で
あるかどうかを識別した結果を、第1中間コードとして
記憶する第1中間コード記憶手段と、 さらに該ソースプログラムにおけるジャンプ命令行番号
およびジャンプ先を解析し、ジャンプ位置データとして
新たに行番号を付与した第2中間コードを記憶する第2
中間コード記憶手段と、 前記第1中間コード記憶手段および第2中間コード記憶
手段に記憶されている内容に基づいて、ソースプログラ
ムの処理の流れを解析し、フローチャートとして出力す
る解析出力手段とを含むことを特徴とする自動フローチ
ャート作成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1299012A JP2978189B2 (ja) | 1989-11-16 | 1989-11-16 | 自動フローチャート作成装置 |
US08/164,761 US5446911A (en) | 1989-11-16 | 1993-12-10 | Apparatus for automatically preparing a flowchart by analyzing a source program and a list of jump commands |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1299012A JP2978189B2 (ja) | 1989-11-16 | 1989-11-16 | 自動フローチャート作成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03157725A JPH03157725A (ja) | 1991-07-05 |
JP2978189B2 true JP2978189B2 (ja) | 1999-11-15 |
Family
ID=17867085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1299012A Expired - Fee Related JP2978189B2 (ja) | 1989-11-16 | 1989-11-16 | 自動フローチャート作成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5446911A (ja) |
JP (1) | JP2978189B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2797698B2 (ja) * | 1990-11-14 | 1998-09-17 | 株式会社日立製作所 | ソフトウェア再利用支援方法 |
JPH06318151A (ja) * | 1992-09-09 | 1994-11-15 | Central Syst Kk | フロー図・処理プログラム間変換装置および方法 |
JPH07219758A (ja) * | 1994-02-02 | 1995-08-18 | Fujitsu Ltd | 仕様書生成方法 |
US5940296A (en) * | 1995-11-06 | 1999-08-17 | Medar Inc. | Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system |
US6199198B1 (en) * | 1997-12-10 | 2001-03-06 | International Business Machines Corp. | Computer system, method, and article of manufacture for visualizing differences between design artifacts and object-oriented code |
US6959431B1 (en) * | 1999-05-13 | 2005-10-25 | Compuware Corporation | System and method to measure and report on effectiveness of software program testing |
US7310784B1 (en) * | 2002-01-02 | 2007-12-18 | The Jellyvision Lab, Inc. | Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart |
DE10308815B4 (de) * | 2003-02-27 | 2008-06-05 | Siemens Ag | Verfahren zur Erzeugung und Visualisierung einer aufgabenorientierten Schrittdarstellung |
US8521709B2 (en) * | 2006-10-31 | 2013-08-27 | The Jellyvision Lab, Inc. | Methods for preloading media assets |
US8127238B2 (en) | 2006-12-14 | 2012-02-28 | The Jellyvision Lab, Inc. | System and method for controlling actions within a programming environment |
US8276058B2 (en) | 2007-02-08 | 2012-09-25 | The Jellyvision Lab, Inc. | Method of automatically populating and generating flowerchart cells |
JP2010237951A (ja) * | 2009-03-31 | 2010-10-21 | Jx Nippon Oil & Energy Corp | コンピュータプログラム処理方法及びコンピュータプログラム処理装置 |
US9519463B1 (en) | 2012-11-15 | 2016-12-13 | Advanced Testing Technologies Inc. | Application for automatically generating graphical flowcharts based on configurable means |
US10157057B2 (en) * | 2016-08-01 | 2018-12-18 | Syntel, Inc. | Method and apparatus of segment flow trace analysis |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3781807A (en) * | 1969-01-20 | 1973-12-25 | Olivetti & Co Spa | Stored program electronic computer using macroinstructions |
US4115853A (en) * | 1976-12-21 | 1978-09-19 | Allen-Bradley Company | Jump structure for a digital control system |
JPS57157362A (en) * | 1981-03-25 | 1982-09-28 | Hitachi Ltd | Method and apparatus of execution path career data pickup for architecture program |
DE3302715A1 (de) * | 1983-01-27 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zum betrieb einer prozessorgesteuerten ausgabeeinheit |
JPH0830971B2 (ja) * | 1984-03-26 | 1996-03-27 | 株式会社日立製作所 | プログラマブルコントローラ |
JPS6120145A (ja) * | 1984-07-07 | 1986-01-28 | Iwatsu Electric Co Ltd | マイクロプロセツサ動作解析装置 |
JPS6149245A (ja) * | 1984-08-17 | 1986-03-11 | Nec Corp | プログラム・モジユ−ル構造の自動解析装置 |
IT1184054B (it) * | 1985-03-25 | 1987-10-22 | Cselt Centro Studi Lab Telecom | Unita di controllo di microprogramma autocollaudante con rilevazione in linea degli errori in tecnologia mos |
CA1268557A (en) * | 1986-04-01 | 1990-05-01 | Mikio Tomioka | Method for displaying program executing circumstances and an apparatus using the same |
US4943968A (en) * | 1987-03-04 | 1990-07-24 | Hitachi, Ltd. | Method of displaying execution trace in a logic programming language processing system |
US4852047A (en) * | 1987-04-14 | 1989-07-25 | Universal Automation Inc. | Continuous flow chart, improved data format and debugging system for programming and operation of machines |
US4953084A (en) * | 1987-11-16 | 1990-08-28 | Hewlett-Packard Company | Method and apparatus using variable ranges to support symbolic debugging of optimized code |
US5038348A (en) * | 1988-07-01 | 1991-08-06 | Sharp Kabushiki Kaisha | Apparatus for debugging a data flow program |
JP2786206B2 (ja) * | 1988-07-29 | 1998-08-13 | 株式会社日立製作所 | 機能設計図生成方法 |
US5119377A (en) * | 1989-06-16 | 1992-06-02 | International Business Machines Corporation | System and method for software error early detection and data capture |
US5048018A (en) * | 1989-06-29 | 1991-09-10 | International Business Machines Corporation | Debugging parallel programs by serialization |
-
1989
- 1989-11-16 JP JP1299012A patent/JP2978189B2/ja not_active Expired - Fee Related
-
1993
- 1993-12-10 US US08/164,761 patent/US5446911A/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
I/O編集部編「I/D別冊 FM−8活用研究(第2版)」(昭57−8−5)工学社 P.122−126 |
研究実用化報告 24[11](1975)日本電信電話公社武蔵野電気通信研究所 P.2487−2501 |
Also Published As
Publication number | Publication date |
---|---|
JPH03157725A (ja) | 1991-07-05 |
US5446911A (en) | 1995-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2978189B2 (ja) | 自動フローチャート作成装置 | |
US6728950B2 (en) | Method and apparatus for translating between source and target code | |
US8056062B2 (en) | Methods and systems for converting application code in turbine control systems | |
CN109918081B (zh) | 一种编译方法及编译器 | |
CN109976760A (zh) | 一种图形语言的交叉编译方法及交叉编译器 | |
JPH03102484A (ja) | 図式データ駆動型プログラム開発支援装置 | |
JPH03268058A (ja) | 文書作成方法及びその装置 | |
JP2007200082A (ja) | 組立性評価方法、そのシステム及びプログラム | |
CN113672504A (zh) | 一种智能设备测试方法、装置、设备以及存储介质 | |
KR20050087713A (ko) | 그래피컬 프로그래밍 장치 및 프로그래머블 표시기 | |
CN114326642B (zh) | 用于核电dcs***的接口匹配方法、装置、设备和介质 | |
JP7338922B2 (ja) | 異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 | |
CN114594943A (zh) | 数据建模方法、装置、设备和存储介质 | |
CN114283027A (zh) | 基于三维模型的电力造价编制方法、***、介质及计算机 | |
Poole | A block design for introductory functional programming in Haskell | |
CN117952481B (zh) | 一种效能评估体系的构建方法、装置、设备及存储介质 | |
JPH04216129A (ja) | 自動フローチャート作成装置 | |
CN114326534B (zh) | 用于核电dcs***间的接口匹配方法、装置、设备和介质 | |
KR100423742B1 (ko) | 순차기능챠트에 의한 전용 제어 시스템 | |
JP2701554B2 (ja) | プリント基板自動配線装置 | |
JP3059011B2 (ja) | コンパイル装置 | |
JP2008003725A (ja) | 制御プログラム保守方法、制御プログラム保守装置及び制御プログラム保守プログラム。 | |
CN117952481A (zh) | 一种效能评估体系的构建方法、装置、设备及存储介质 | |
JP2653880B2 (ja) | プログラム内容解析装置 | |
JP4472295B2 (ja) | 部品ライブラリ変換処理用作業管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |