JPH02309421A - 構造記述子結線方式 - Google Patents

構造記述子結線方式

Info

Publication number
JPH02309421A
JPH02309421A JP13239889A JP13239889A JPH02309421A JP H02309421 A JPH02309421 A JP H02309421A JP 13239889 A JP13239889 A JP 13239889A JP 13239889 A JP13239889 A JP 13239889A JP H02309421 A JPH02309421 A JP H02309421A
Authority
JP
Japan
Prior art keywords
depth
row
program
connections
connection
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.)
Pending
Application number
JP13239889A
Other languages
English (en)
Inventor
Yasushi Inoue
泰 井上
Atsushi Wakui
和久井 敦司
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.)
NAGANO NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Nagano Ltd
Original Assignee
NAGANO NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Nagano 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 NAGANO NIPPON DENKI SOFTWARE KK, NEC Corp, NEC Software Nagano Ltd filed Critical NAGANO NIPPON DENKI SOFTWARE KK
Priority to JP13239889A priority Critical patent/JPH02309421A/ja
Publication of JPH02309421A publication Critical patent/JPH02309421A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、構造化プログラミングで記述されたプログラ
ムにおいて、対応する構造記述子間に結線を引く構造記
述子結線方式に関する。
〔従来の技術〕
構造化プログラミングで記述されたプログラムを人間が
読み、理解するためには、プログラムの構造を理解する
必要がある。これを容易にするなめに、対応する構造記
述子を線で結んだものを見ることが行なわれてきた。こ
のなめ従来から、翻訳結果リスト上に結線を付加して印
字するコンパイラや原始プログラムに結線を付加して印
字するアプリケーションプログラム等が作・られてきた
従来の結線方式は1.プログラムの全行を入力しながら
構造記述子が存在する行を検索し、現れた構造記述子に
対応する構造記述子が存在する行を求め、両方の行の番
号を結線の始点・終点位置として記憶していき、プログ
ラム中の全ての構造記述子について対応付けが終了した
後、記憶してある結線位置を基にプログラムに対し結線
を付加して出力していた。
〔発明が解決しようとする課題〕
上述した従来の構造記述子結線方式は、対応付けられた
2つ以上の構造記述子の行番号を記憶しておくために、
構造記述子の数に比例する量のメモリを必要とする欠点
と、プログラムの全行を入力して付加すべき結線の位置
を求めた後にプログラムに結線を付加して出力するため
には再度プログラムの全行を入力しなければならないと
いう欠点がある。
〔課題を解決するための手段〕
本発明の構造記述子結線方式は、構造化プログラミング
で記述されたプログラムを1行ずつ入力する入力手段と
、前記入力手段によって入力された1行を記憶する記憶
手段と、前記記憶手段によって記憶された行の構造の深
さを求める解析手段と、前記解析手段によって求めた構
造の深さ分の本数の結線を記憶してある行に付加する処
理手段と、前記処理手段によって結線を付加された1行
を出力する出力手段とを備えて構成される。
〔実施例〕
次に、本発明について図面を参照しながら説明する。
第1図に示すように、構造記述子結線方式は、結線前の
プログラムを入力する入力手段に1と一入力したプログ
ラムを記憶しておく記憶手段1−2と、構造の深さを求
める解析手段1−3と、記憶している行に結線を付加す
る処理手段1−4と、結線を付加した行を出力する出力
手段1−5とから構成される。
入力手段1−1は、入力装置から結線を必要とするプロ
グラムを入力する。入力装置は、例えばカード読み取り
装置、磁気テープ装置、磁気ディスク装置等が接続され
る。
記憶手段1−2は、入力手段1−1によって入力された
プログラムを一時的に記憶し、行単位に解析手段1−3
へ渡す。
解析手段1−3は、記憶手段1−2から受は取った行中
に構造記述子が存在するかを調べてその行の構造の深さ
を求め、処理手段1−4へ渡す。
次に、構造の深さについて述べる。
構造化プログラミングは、第2図(a)のフロー図で示
す4つの構造の組み合せによって構成される。そして、
それらを構造記述子を用いて記述すると、第2図(b)
となる、ここで用いた構造記述子は、説明のため便宜上
作った記述子で、実際のプログラミング言語ではないが
、第3図に示すように実際の構造化プログラミング言語
の構造記述子は全てこの4つの構造のうちに含まれる。
以下、この記述子を用いて説明する。各構造は、それ自
体を1つの処理とみなし、他の構造の一部として組み込
むことができる。この時処理の分岐を含む構造(すなわ
ちIF型構造、CASE型構造、DO型構造)に組み込
むことを構造が深くなるという。そして、プログラムの
開始点をOとしてそこから何回構造が深くなったかを構
造の深さという。
次に、構造の深さの求め方について述べる。第4図の例
に示すように構造記述子の中には、構造の深さを増すも
の、滅するもの、変化しないものの3種類がある。これ
で全記述子を分類すると、(1)構造の深さを増すもの
  IF、CASE、DO(2)構造の深さを減するも
の ENDIF、ENDCASE。
ENDDO (3)構造の深さを変えないもの ELSE 、 WH
ENとなる。これ°を利用することにより、プログラム
の各行の構造の深さを求めることができる。まず、構造
の深さを表わすデータ項目を用意してプログラムの開始
時で、0″をセットしておく。
次に、記憶手段1−2から1行ずつプログラムを受は取
り、その行中に構造記述子が存在するかを調べる。構造
の深さを□増す構造記述子(すなわちIF、CASE、
Do)が存在する場合、構造の深さを表わすデータ項目
の値に1を加える。構造の深さを減する構造記述子(す
なわちENDIF、ENDCASE。
ENDDO)が存在する場合、構造の深さを表わすデー
タ項目の値から1を減する。構造の深さを変えない構造
記述子が存在する場合と、構造記述子が存在しない場合
構造の深さを表わすデータ項目の値は変化させない。こ
れらの処理を行うことにより、このデータ項目の値が、
各行の構造の深さを表わすことになる。
処理手段1−4は、解析手段1−3から受は取った構造
の深さ分の本数の結線を、記憶手段1−2から受は取っ
た行に付加し、出力手段1−5へ渡す。
出力手段1−5は、処理手段1−4から受は取った行を
、ブロック化して出力装置へ出力する。出力装置は、例
えば、リスト印字装置、磁気テープ装置、磁気ディスク
装置等が接続される。
構造化プログラムの結線例を第5図を用いて述べる。
ステップ5−1ニブログラムの開始で構造の深さを表わ
すデータ項目(以降、単に構造の深さと記す)を0にす
る。
ステップ5−2二行中にIFがあるので、横線■と結合
記号■を付加して出力した後、構造の深さに1を加える
ステップ5−3:行中に構造記述子が存在しないので、
構造の深さ分の本数の結線■を付加して出力する。
ステップ5−4=行中にIFがあるので、構造の深さ分
の本数の結線■を付加し、横線■と、結合記号■を付加
し出力した後、構造の深さに1を加える。
ステップ5−5二行中に構造記述子が存在しないので、
構造の深さ分の本数の結線■、■を付加して出力する。
ステップ5−6=行中にELSEがあるので構造の深さ
分の本数の結線■、[相]を付加し、横線■を付加して
出力する。構造の深さは変えない。
ステップ5−7:行中に構造記述子が存在しないので、
構造の深さ分の本数の結線@、■を付加して出力する。
ステップ5−8二行中にEND−I Fがあるので、構
造の深さから1を減じた後、構造の深さ分の本数の結線
[相]を付加し、横線■と結合記号[株]を付加して出
力する。
ステップ5−9二行中にEND−IFがあるので、構造
の深さから1を減じた後、構造の深さ分の本数の結、!
i(Oなので結線はない)を付加し、横線Oと結合記号
[相]を付加して出力する。
ステップ5−10ニブログラムの終わりなので、処理を
終了する。
〔発明の効果〕
以上説明したように本発明は、構造記述千間に結線を付
加する場合、各行について構造の深さ分の本数の結線を
記憶している行に付加することで、各行ごとに入力と結
線の付加と出力を繰り返すことにより、結線の始点・終
点位置を記憶しておくためのメモリが不要となり、結線
を付加して出力するためのプログラム再入力が不要とな
る。
図面の簡単な説明 第1図は本発明の構成を示すブロック図、第2図(a>
および(b)は構造化プログラミングでの基本構造のフ
ローおよび構造記述子による記述を示す図、第3図は代
表的な構造化プログラミング言語での基本構造のプログ
ラミングの一例を示す図表、第4図は構造記述子を用い
たプログラミング例と、構造の深さとの対応を示す説明
図、第5図は構造の深さを基に結線を付加する手順を示
す説明図である。

Claims (1)

    【特許請求の範囲】
  1. 構造化プログラミングで記述されたプログラムを1行ず
    つ入力する入力手段と、前記入力手段によって入力され
    た1行を記憶する記憶手段と、前記記憶手段によって記
    憶された行の構造の深さを求める解析手段と、前記解析
    手段によって求めた構造の深さ分の本数の結線を記憶し
    てある行に付加する処理手段と、前記処理手段によって
    結線を付加された1行を出力する出力手段とを備えて成
    ることを特徴とする構造記述子結線方式。
JP13239889A 1989-05-24 1989-05-24 構造記述子結線方式 Pending JPH02309421A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13239889A JPH02309421A (ja) 1989-05-24 1989-05-24 構造記述子結線方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13239889A JPH02309421A (ja) 1989-05-24 1989-05-24 構造記述子結線方式

Publications (1)

Publication Number Publication Date
JPH02309421A true JPH02309421A (ja) 1990-12-25

Family

ID=15080461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13239889A Pending JPH02309421A (ja) 1989-05-24 1989-05-24 構造記述子結線方式

Country Status (1)

Country Link
JP (1) JPH02309421A (ja)

Similar Documents

Publication Publication Date Title
US5379407A (en) Error handling in a state-free system
JPH02309421A (ja) 構造記述子結線方式
US4929938A (en) Area searching system
JP2714015B2 (ja) 論理回路合成装置
JPS60178795A (ja) 状態遷移図作成処理方式
JP2895892B2 (ja) データ処理装置
JP2507676B2 (ja) 索引入出力文実行処理方式
JP2586155B2 (ja) 論理シミュレータ
JP3152769B2 (ja) プログラム解析装置
JPH05134879A (ja) プリコンパイル方式
JPH03263136A (ja) パイプラインのトレース方式
JPS6258375A (ja) ネットワ−クデ−タ自動変換方式
JPH02219162A (ja) 電子計算機
JPS63257038A (ja) 原始プログラム変換における対応識別情報付加方式
JPH0546401A (ja) 境界条件変更方式
JPS6370341A (ja) タスクモジユ−ル比較装置
JPH02216527A (ja) ソースプログラムリスト出力方式
JPH04270422A (ja) プリコンパイル処理方式
JPH03266162A (ja) コマンド実行方式
JPS61250731A (ja) デ−タマ−ジ命令制御方式
JPH04289915A (ja) 言語処理プロセッサのリスト出力方式
JPH05204647A (ja) 有向グラフの単一化装置
JPH0660144A (ja) ハードウェア記述自動生成方法とその装置
JPS61236456A (ja) 数値制御装置
JPS6247743A (ja) デ−タ構成図生成処理方式