JPH0210429A - プログラム構造化処理方式 - Google Patents

プログラム構造化処理方式

Info

Publication number
JPH0210429A
JPH0210429A JP63161812A JP16181288A JPH0210429A JP H0210429 A JPH0210429 A JP H0210429A JP 63161812 A JP63161812 A JP 63161812A JP 16181288 A JP16181288 A JP 16181288A JP H0210429 A JPH0210429 A JP H0210429A
Authority
JP
Japan
Prior art keywords
structuring
structure table
structured
source program
program
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
JP63161812A
Other languages
English (en)
Inventor
Ikuyoshi Hiroshima
郁芳 廣島
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP63161812A priority Critical patent/JPH0210429A/ja
Publication of JPH0210429A publication Critical patent/JPH0210429A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ソースプログラム中に存在するGOTo 
、JUMP命令を除去し、ソースプログラムを構造化さ
れたプログラムに変換するプログラム構造化処理方式に
関するものである。
〔従来の技術〕
一般にプログラム構造の単純化や読解の容易さなどを向
上するために構造化プログフミング技法が導入されるよ
うになった。第5図は、構造化プログラムの一例を示し
たもので、第5図(a)は構造化される前のソースプロ
グラムを示スモのでGOTO命令を含んでいるが、第5
図(ロ)は構造化された後のソースプログラムを示すも
のでGOTO文が除去されている。第5図(り及び(b
)のソースプログラムは全く同じ内容である。
従来このような構造化処理は、例えば第6図(@)〜(
C)に夫々示すような決まったパターンだけを自動的に
構造化しており、パターンに当てはまらなければ構造化
が行なわれず、人の手でソースプログラムを修正する等
の処理を必要としていた。なお、第6図において、Sl
、Sl  はプログラムの構造上1つにまとめることの
できる行の集まりを表わす。
〔発明が解決しようとする課題〕
従来のプログラミング構造化処理方式では、特定のパタ
ーンのGOTO、j ump命令だけの構造化が可能で
、プログラムを全て自動的に構造化することができず、
ソースプログラムの構造化に時間がかかるという11に
題があった。
この発明は、上記のような課題を解消するためになされ
たもので、ソースプログラム中に存在する全てのGOT
O、Jump 命令を自動的に除去し、構造化されたプ
ログツムに変換するプログラム構造化処理方式を得るこ
とを目的とする。
CI!!!題を解決するための手段〕 この発明に係るプログラム構造化処理方式は。
構造化のためCζソースプログツ為Iζは存在しない変
数を新たに生成し、その変数により、構造化を行なうよ
うにしたものである。
〔作用〕
この発明におけるプログラム構造化処理方式は、新たに
生成した変数をIF文、WHLLE文の条件式に使用し
、また、ENDIF文、生成した変数への代入文、EN
DWHILE文等を付加することによりGo To  
、 j u m p命令を全て除去し、プログラムの構
造化を行うようにしたものである。
〔発明の実施例〕
以下、この発明の一実施例を図について説明する。第1
図において、(21Jは入力対象のソースプログラム、
@はソースプログラムを入力として構造、つまり、00
文・IF文・GOTO文等が何行目にあり、プログラム
がどのような顆序で実行されるのかを表わすプログラム
の流れの構造を抽出し構造テーブルを作成する構造テー
ブル作成部、(社)はこの構造テーブル作成部によって
作成された構造テーブル%(財)はこの構造テーブルを
入力とし、検索することにより、構造テーブル(至)か
ら構造化lζ必要な情報、例えば、GOTO文の個数や
構造化の必要なブロックの制御構造等を抽出する構造解
析部、器はこの構造解析部より抽出された構造化情報で
あり、たとえば、何行目から何行目は1つのブロックと
して扱えるといった情報やGOTO命令の場所等、構造
化処理に必要な情報である。
凶は構造テーブル@と構造化情報−を入力とし。
新たに変数を生成し、GOTO、j ump命令を繰返
し命令、IF命令等に変換する構造化変換部。
(5)はこの構造化変換部により作成された構造化され
た構造テーブル、(支)はこの構造テーブルをソースプ
ログラムに再生するソースプログラム変換部、四は構造
化されたソースプログラムである。
各部の動作は前述したとおりだが、構造化変換部固の動
作を第2図のフローチャートと第3図の構造化の実際の
例に従って説明する。まず、構造テーブル作成部(支)
によって作成された構造テーブル@と構造解析部(財)
によって作成された構造化情報□□□を読み込む(ステ
ップ1.以下ステップをSTと略す。)、この構造化処
理方式ではGOTO文(命令)の飛び先きのラベルの数
だけ変数が必要になるので、構造化情報(ハ)によりラ
ベルの数と同じ数の変数を生成する( ST2 )。第
3図(b)の■に変数が4個生成されている。ソースプ
ログラムの構造を独立して取り扱えるい(っかのブロッ
クに分け、構造化が必要なブロックを選択する(ST3
 L 構造化が必要なブロックの構造テーブルを1つず
つ処理する( s”r4 )e処理中に構造化が必要な
GOTO文が出てきたかどうかを判定する( ST5 
)。GOTO文が出現した場合、その時の構造化情報l
ζ従ってIF文1代入文、ENDIF文、ENDDO文
等に変換する(ST6)、第3図の■にその例を示して
いる。処理中にGOTOの飛び先きのラベルが出てきた
かどうかを判定する( s’r7 )。GOTO飛び先
きラベルが出現した場合、その時の構造化情報に従って
無変換。
WHILE文代人文、ENDIF文等に変換する(ST
9 )。第3図の■にその列を示している。この処理を
1ブロツクの全ての構造テーブルについて行なわれたか
判定し、まだ1ブロツクの処理が終了していなければ元
に戻り、終了していれば、欠のブロックの処理を行う(
ST9 )。つぎにこの処理が全ブロックについて行な
われたか判定し、まだブロックが残っているなら繰り返
し処理し、残っていなければ最後の処理に進む(sr1
oL最後に、前記処理で新しく構造化された構造テーブ
ルを出力する(STI 1 )e なお、上記実施例では新たに変数を生成しGOTO。
jump命令を除去する方法を示したが、この処理を行
う前に従来から使われてきた決まったパターンのGOT
O文をブロックIF文等に変換する処理を行ってもよく
、その後に本発明の処理を行うと生成ラベル数が減るな
どの効果が得られる。
また、生成ラベル個数を1個として、条件式の内容等を
変えることによりソースプログラムを構造化することが
できる。その実際の例を第4図に示す。なお、第4図に
は変換上WHILE()〜ENDDO文ではな(、DO
,WHIEL()文を使用している。
〔発明の効果〕
以上のように、この発明によnば全てのGOTO。
j u m p命令等を新たな変数を生成することによ
り除去できるので構造化処理が全て自動に行えるという
効果がある。
【図面の簡単な説明】
第1図はこの発明の一実#4列によるブロック図。 第2図はこの発明の動作を示す流れ図、第3図はこの発
明における構造化の実際の例、第4図は生成ラベル個数
を1個とした場合の構造化の実施例。 第5図は構造化プログラミングの例、第6図は決まった
パターンの構造化の例である。 図において、@はソースプログラム、■は構造テーブル
作成部、(財)は構造解析部、(至)は構造化変換部、
(ハ)はソースプログラム変換部である。 なお、各図中、同一符号は同一あるいは相当部分を示す
ものとする。

Claims (1)

    【特許請求の範囲】
  1.  ソースプログラム中に含まれるGOTO及びJUMP
    命令を除去するプログラム構造化処理方式において、ソ
    ースプログラムを入力し、その構造テーブルを作成する
    構造テーブル作成部、この構造テーブル作成部で作成さ
    れた構造テーブルを構造解析し、構造化に必要な情報を
    抽出する構造解析部、この構造解析部で抽出した情報及
    び上記構造テーブル作成部で作成した構造テーブルによ
    り、上記GOTO及びJUMP命令を繰返し命令あるい
    はIF命令に変換した構造化された構造テーブルを作成
    する構造化変換部、及びこの構造化変換部により作成さ
    れた構造テーブルを構造化されたソースプログラムに変
    換するソースプログラム変換部を備えたことを特徴とす
    るプログラム構造化処理方式。
JP63161812A 1988-06-28 1988-06-28 プログラム構造化処理方式 Pending JPH0210429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63161812A JPH0210429A (ja) 1988-06-28 1988-06-28 プログラム構造化処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63161812A JPH0210429A (ja) 1988-06-28 1988-06-28 プログラム構造化処理方式

Publications (1)

Publication Number Publication Date
JPH0210429A true JPH0210429A (ja) 1990-01-16

Family

ID=15742381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63161812A Pending JPH0210429A (ja) 1988-06-28 1988-06-28 プログラム構造化処理方式

Country Status (1)

Country Link
JP (1) JPH0210429A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035213A1 (fr) * 1999-11-11 2001-05-17 Information System Development Institute Procede et dispositif de reproduction de programme, et support de programme pour enregistrement de reproduction de programme
EP1465068A1 (en) * 2002-04-29 2004-10-06 Hewlett-Packard Company Improvements in structuring program code
JP2009245250A (ja) * 2008-03-31 2009-10-22 Nec Corp 記述処理装置、記述処理方法およびプログラム
JP6341582B1 (ja) * 2017-04-05 2018-06-13 石田 伸一 ソースコード変換装置、ソースコード変換プログラム及びソースコード変換方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52106506A (en) * 1976-03-03 1977-09-07 Japanese National Railways<Jnr> Lock mechanism of railway switch
JPS59128044A (ja) * 1983-01-13 1984-07-24 株式会社京三製作所 防水型電気転てつ機
JPS60121172A (ja) * 1983-12-02 1985-06-28 日本信号株式会社 割出し電気転てつ機

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52106506A (en) * 1976-03-03 1977-09-07 Japanese National Railways<Jnr> Lock mechanism of railway switch
JPS59128044A (ja) * 1983-01-13 1984-07-24 株式会社京三製作所 防水型電気転てつ機
JPS60121172A (ja) * 1983-12-02 1985-06-28 日本信号株式会社 割出し電気転てつ機

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001035213A1 (fr) * 1999-11-11 2001-05-17 Information System Development Institute Procede et dispositif de reproduction de programme, et support de programme pour enregistrement de reproduction de programme
AU760395B2 (en) * 1999-11-11 2003-05-15 Information System Development Institute Program reproducing method and device, and medium on which program for program reproduction recording
EP1465068A1 (en) * 2002-04-29 2004-10-06 Hewlett-Packard Company Improvements in structuring program code
JP2009245250A (ja) * 2008-03-31 2009-10-22 Nec Corp 記述処理装置、記述処理方法およびプログラム
US8375376B2 (en) 2008-03-31 2013-02-12 Nec Corporation Description processing device, description processing method, and recording medium
JP6341582B1 (ja) * 2017-04-05 2018-06-13 石田 伸一 ソースコード変換装置、ソースコード変換プログラム及びソースコード変換方法

Similar Documents

Publication Publication Date Title
JPH0210429A (ja) プログラム構造化処理方式
JP2001255912A (ja) モーションプログラムの実行方法
JP3554651B2 (ja) 高速シーケンス制御方法とその装置、プログラム作成方法
JPS61169936A (ja) ジヨブ制御言語自動発生方式
JPH03126103A (ja) ロボット用プログラム作成装置
JPH0250730A (ja) 共通機械語による言語変換方式
JPS6232557A (ja) 通信プロトコ−ル変換装置
JPH01194053A (ja) コマンドプロシジャの処理方式
JPS6361329A (ja) プログラム作成装置
JPS6115236A (ja) オブジエクトリストの部分作成方法
JPH04248624A (ja) プログラム変換処理装置
JPH0272407A (ja) ラダー・プログラム変換装置
JPH07334399A (ja) 固定長レコード向けコード変換方式
JPH03144830A (ja) 並列処理方式
JPS63133230A (ja) ソ−スプログラムコンパイル方式
JPH05313910A (ja) 機械語命令生成方式
JPH0580992A (ja) 手続き・関数関連図出力方式
JPS62239236A (ja) プログラムのコンパイル装置
JPS6057437A (ja) コンパイラ装置
JPH05158706A (ja) 中間言語の最適化処理方式
JPS61161514A (ja) 数値制御方式
JPS63104139A (ja) Cobolソ−スリスト編集方式
JPH05233241A (ja) プログラム作成装置
JPH0311428A (ja) 入力画面依存型対話処理プログラム生成方式
JPH0371229A (ja) プログラム制御装置