JP3299259B2 - プログラムの構造図編集処理方式 - Google Patents

プログラムの構造図編集処理方式

Info

Publication number
JP3299259B2
JP3299259B2 JP12462990A JP12462990A JP3299259B2 JP 3299259 B2 JP3299259 B2 JP 3299259B2 JP 12462990 A JP12462990 A JP 12462990A JP 12462990 A JP12462990 A JP 12462990A JP 3299259 B2 JP3299259 B2 JP 3299259B2
Authority
JP
Japan
Prior art keywords
program
editing
section
display
source 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.)
Expired - Fee Related
Application number
JP12462990A
Other languages
English (en)
Other versions
JPH0424733A (ja
Inventor
澄生 田坂
義雄 林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP12462990A priority Critical patent/JP3299259B2/ja
Publication of JPH0424733A publication Critical patent/JPH0424733A/ja
Application granted granted Critical
Publication of JP3299259B2 publication Critical patent/JP3299259B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 〔概要〕 ソースプログラムの編集機能を有するデータ処理装置
において,プログラムの構造図を編集することにより,
ソースプログラム自体にその結果を反映できるようにし
たプログラムの構造図編集処理方式に関し, トップダウンプログラミングを支援し,プログラムの
生産性,拡張性,保守性を向上させるツールを提供する
ことを目的とし, ソースプログラムを解析し,プログラムの制御構造に
関係する構成単位をソースプログラムから抽出して,各
構成単位の結び付きを表す構造図を作成し表示する構造
図展開表示処理部と,構造図における各構成単位につい
ての追加,削除を含む編集を対話型処理により行う構造
図編集処理部と,編集された構造図に基づいて,ソース
プログラムを新規作成または更新するソースプログラム
反映処理部とを備えるように構成する。
〔産業上の利用分野〕
本発明は,ソースプログラムの編集機能を有するデー
タ処理装置において,プログラムの構造図を編集するこ
とにより,ソースプログラム自体にその結果を反映でき
るようにしたプログラムの構造図編集処理方式に関す
る。
プログラムの規模が大きくなればなるほど,プログラ
ムの開発が困難になり,生産性や保守性が悪くなる傾向
にある。大きなプログラムであっても,全体の見通しが
容易で,単なる小さなプログラムの集まりと同じように
取り扱うことができる開発支援ツールが望まれている。
特に,トップダウンプログラミングを支援し,プログラ
ムの構造を簡明に組み立てて設計することができるツー
ルが必要とされている。
〔従来の技術〕
ソフトウェアを開発する場合,要求仕様から機能設
計,構成設計を行い,さらに詳細化,コーディング,テ
ストというように開発が進められる。このようなソフト
ウェアの生産性を向上させる方法として,構造化プログ
ラミングやその他の各種手法が提案されている。
従来,構成設計からコーディングに至る過程で,ある
処理単位やサブプログラムなどのプログラムの制御構造
に関係する構成単位から,プログラムの構造を決め,そ
れをソースプログラムに反映させる場合に,人間が手書
きでプログラムの構造図を作成し,それを見てソースプ
ログラムの編集を行わなければならなかった。
また,プログラムを開発し,そのメンテナンスのため
に,そのプログラムの構造に関するドキュメントを残し
ておく必要がある場合には,人間が開発されたソースプ
ログラムや開発に使用した設計書を参考にして,プログ
ラムの構造図を書きおこすことを行っていた。
また,既に開発したプログラムを改良する場合には,
プログラムの構造図を参考にして,それに修正を加え,
その結果の構造図をもとに,さらにソースプログラムを
骨組みから編集しなおす必要があった。
〔発明が解決しようとする課題〕
従来技術では,プログラムの構造図をみて,ソースプ
ログラムを編集する場合に,人間が編集を行わなければ
ならないので,作業が大変であり,また,編集誤りなど
により,プログラムの構造図が正しくソースプログラム
に反映されないことがあるという問題があった。
また,既存のプログラムの構造解析を行い,概要を把
握しようとした場合に,適切なドキュメントが残ってい
ないために,その概要を把握するのがきわめて困難なこ
とがあるという問題があった。
さらに,従来,プログラムのある部分を変更した場合
に,その影響範囲がわかりにくく,プログラムの制御構
造を変えることが難しいという問題があった。
本発明は上記問題点の解決を図り,トップダウンプロ
グラミングを支援し,プログラムの生産性,拡張性,保
守性を向上させるツールを提供することを目的としてい
る。
〔課題を解決するための手段〕
第1図は本発明の原理説明図である。
第1図において,10はCPUおよびメモリなどからなるデ
ータ処理装置,11は構造図編集に関する全体の制御を行
う主制御部,12は構造図を展開し表示する構造図展開表
示処理部,13は構造図編集処理部,14は構造図をソースプ
ログラムに反映するソースプログラム反映処理部,15は
コマンドルートバーなどによるコマンドの処理を行うコ
マンド処理部,16〜20はコマンドにより指定された処理
を行う各処理部,21はソースプログラムが格納されたソ
ースプログラムファイル,22は構造図の編集に用いる作
業ファイル,23は構造図を表示するディスプレイ装置,24
はキーボードやマウスなどの入力装置を表す。
構造図展開表示処理部12は,指定されたソースプログ
ラムファイル21からソースプログラムを読み込み,それ
を解析してプログラムの制御構造に関係する構成単位
(以下,セクションという)を抽出する処理を行う。そ
して,抽出した各セクションについて,その結び付きを
表す構造図を作成し,ディスプレイ装置23に表示する処
理を行う。
構造図編集処理部13は,各セクションの結び付きを表
す構造図を新規作成したり,構造図展開表示処理部12が
展開した構造図について,各セクションの追加(挿
入),削除を含む編集を,対話型処理により行うもので
ある。編集結果については,作業ファイル22等に格納し
ておく。
ソースプログラム反映処理部14は,編集時における書
込み指示や編集終了時における保存指示があったとき
に,構造図編集処理部13により編集された構造図に基づ
いて,ソースプログラムを新規作成または更新し,ソー
スプログラムファイル21′に出力する処理を行うもので
ある。
上記構造図は,例えばセクションを要素とする木構造
で表される。
コマンド処理部15は,構造図の編集を支援する各種コ
マンドに関する処理を行うものである。コマンドとして
は,例えば番号表示,非表示,ボックス変更,レイアウ
トなどの各種機能が,コマンドルートバーにより提供さ
れている。
番号表示処理部16は,番号表示のコマンドに対して,
各セクションについての木構造における階層位置を示す
階層位置番号および対応するソースプログラムにおける
位置を示す行番号などを選択的に表示する処理を行う。
非表示処理部17は,非表示のコマンドに対して,構造
図を読みやすくし,概要の把握を容易にするために,指
定された階層以下のセクションを表示しないように抑止
する処理を行う。
構造図におけるプログラムの各セクションは,ディス
プレイ装置23の画面に示すように,矩形領域のボックス
で表される。
ボックス変更処理部18は,ボックス変更のコマンドに
対して,行数および行内文字数を入力し,ボックス内の
表示文字数を変更する処理を行う。
レイアウト表示処理部19は,レイアウトのコマンドに
対し,構造図の全体を縮小して表示する処理を行うもの
である。さらに,縮小して表示したレイアウト表示内
で,表示のジャンプ指定があると,ジャンプ処理部20
は,その指定位置に,表示する構造図の位置づけを行
い,その部分に表示先を移行する処理を行う。
〔作用〕
構造図展開表示処理部12は,第1図に示すソースプロ
グラムファイル21中に図示されるようなソースプログラ
ムから,ディスプレイ装置23の画面に示す構造図を作成
し,表示する。
これにより,既存のソースプログラムについての構造
を容易に把握することができる。
構造図編集処理部13は,通常の図形編集や文書編集と
同様な操作による対話型処理により,ディスプレイ装置
23に表示されている構造図を編集する。
例えば,ディスプレイ装置23に表示されている構造図
のセクション[処理A2]の下方にカーソルを合わせ,挿
入を指示すると,ディスプレイ装置23′に示すようなセ
クション[処理A3]が追加される。このボックス内に
は,入力装置24から入力したセクション名が記入され
る。
ソースプログラム反映処理部14は,構造図編集処理部
13が編集した構造図に対応するソースプログラムの自動
編集を行う。この例では,処理A3が追加されており,ソ
ースプログラムは,ソースプログラムファイル21′に示
すように更新されることになる。
これにより,プログラム中のある処理機能を追加した
り削除したりする作業を,ソースプログラムファイル21
に対して直接行うのではなく,それから展開した構造図
に対して行うことができ,ソースプログラムの編集を誤
りなく,容易に行うことができる。
構造図編集処理部13は,既存のソースプログラムファ
イル21から作成した構造図の編集だけでなく,構造図の
新規作成も行うことができる。新規作成の場合には,作
成された構造図から新しいソースプログラムのスケルト
ンが,ソースプログラム反映処理部14によって作成され
ることになる。
これにより,トップダウンプログラミングを容易に実
現することが可能になり,構造図によって概要記述から
徐々に詳細化していくことができる。
構造図の編集支援のために,番号表示のコマンドが用
意され,ソースプログラムの行番号や構造図における各
セクションの階層位置番号を表示することができるよう
になっているので,構造図およびソースプログラムにお
ける各セクションの位置づけを容易に把握することがで
きる。
また,非表示のコマンドが用意され,これにより,構
造図における概要の把握に必要な上位階層だけを表示さ
せることができるので,構造図の表示を見やすくし,全
体の構造の把握を容易化することができる。
ボックス変更コマンドによって,各セクションを表す
ボックスのサイズを簡単に変更できるので,構造図の全
体サイズを任意に変えることができる。
構造図が大きい場合に,レイアウト・コマンドが用意
されているので,構造図における現在の表示位置を容易
に把握することができる。また,レイアウト表示におい
て表示のジャンプ先を指定できるので,必要な構造図の
部分を迅速に選択して表示させることができる。
なお,構造図編集処理部13は,ソースプログラムのエ
ディタをと連携させることが可能であり,構造図で選択
したセクションに対応するソースプログラムを表示さ
せ,その部分についてのソースプログラムを直接更新す
ることも可能である。
〔実施例〕
以下の実施例の説明では,ソースプログラムとして,
論理図型仕様記述言語であるYPS言語によるプログラム
を例にとりあげて説明する。
第2図は,そのYPS言語によるソースプログラムの例
を示している。この論理図型仕様記述言語では,処理お
よびデータの構造を表記する図形要素と,その内容を表
すテキスト文との組み合わせによって,プログラムを記
述し,ソースプログラム自体が設計ドキュメントとなり
得るようになっている。このソースプログラムをプリコ
ンパイラにより,C言語やCOBOLなどの他の言語のソース
プログラムに展開することが可能である。
このプログラムは,初期処理とメイン処理とからな
り,初期処理ではファイルオープン処理を行っている。
ファイルオープン処理では,エラー処理を呼び出してい
る。また,メイン処理では,編集処理と売上データ処理
を行い,編集処理では,エラー処理を呼び出している。
第3図は,第2図に示すソースプログラムに対応する
構造図をディスプレイに表示した例を示している。
第3図において,30は構造図の編集画面,31はウインド
ウ名やファイル名を表示するタイトル表示域,32はコマ
ンドルートバーを表示するコマンドルートバー表示域,3
3はシステムからのメッセージを表示するメッセージ表
示域,34は編集機能選択用の編集機能メニュー,35は操作
位置を示すカーソルを表す。
第1図に示す構造図展開表示処理部12により,第2図
に示すソースプログラムを入力し,第3図に示す構造図
を自動表示させることができる。この構造図では,初期
処理やメイン処理,ファイルオープン処理等のセクショ
ンが,木構造状に階層化されて表示される。
一方,第3図に示すような構造図を,構造図編集処理
部13により新規作成して,ソースプログラム反映処理部
14により,第2図に示すようなソースプログラムを作り
出すことも可能になっている。
この例におけるセクション構造図表記と,ソースプロ
グラム言語の対応は,第4図に示すとおりである。
セクションには,一般セクションと共用セクションと
サブプログラムとがある。他に,あらかじめ部品として
用意されたプログラム要素からなる部品セクションがあ
るが,ここでの説明は省略する。
一般セクションは,1箇所でしか参照されないセクショ
ンであって,第4図(a)に示すように,四角の枠で示
され,枠内にセクション名が白字で表示される。論理図
型仕様記述言語によるソースプログラムでは,概要記述
を示す■を付けた文と,その詳細部を示す▼および▲で
囲まれた部分の内容に対応する。これらの概要記述と詳
細部は,例えばCOBOLプログラムにおけるPERFORM文とSE
CTIONの処理とに対応すると考えてよい。
共用セクションは,詳細部すなわちプログラムの実体
が1つであって,複数箇所からの呼び出しがあるセクシ
ョンである。第4図(b)に示すように上下が二重線に
なっている枠で示され,セクション名が緑字で表示され
る。ソースプログラムにおける表記は,一般セクション
と同様であって,複数箇所で参照される点が異なる。
サブプログラムのセクションは,関数呼び出しにより
呼び出されるセクションである。第4図(c)に示すよ
うに,左右が二重線になっている枠で示され,セクショ
ン名が赤字で表示される。外部プログラムの呼び出しと
内部プログラムの呼び出しとがある。COBOLプログラム
におけるCALL文に対応する。
構造図の展開では,ソースプログラムにおけるこれら
の制御構造を示す図形表記と出現場所および出現回数と
を調べることにより,構造解析を行う。
次に,構造図の編集操作の例について説明する。
第5図は,本発明の一実施例によるセクション挿入の
例を示している。
編集機能メニューにより,「挿入」を選択し,挿入し
たい位置をマウスでクリックすることにより,構造図中
にセクションを挿入することができる。
第5図(イ)に斜線で示すボックスの上側部分をマウ
スで指定すると,新しいセクションが第5図(ロ)に示
すように追加される。
第5図(ハ)に示すように,ボックスの右側部分をマ
ウスで指定すると,第5図(ニ)に示すように,そのボ
ックスの下位の階層にセクションが追加される。
第5図(ホ)に示すように,ボックスの下側部分をマ
ウスで指定すると,第5図(ヘ)に示すようにセクショ
ンが追加される。
第5図(ト)に示すように,ボックスの左側部分をマ
ウスで指定すると,第5図(チ)に示すようにセクショ
ンが追加されるが,下位に複数のセクションがくるよう
に追加したい場合には,第5図(リ)示すように,上位
側のボックスのすぐ右側をマウスで指定する。これによ
り,第5図(ヌ)に示すようにセクションが追加され
る。
第6図は,本発明の一実施例によるセクション削除の
例を示している。
指定セクションに子セクションがある場合,子セクシ
ョンを含めて構造ごと削除することができる。
削除する場合には,編集機能メニューにより,「削
除」を選択し,第6図(イ)に示すように,削除したい
セクション(AAA)にカーソルを合わせて,マウスでク
リックする。これにより,第6図(ロ)に点線で示すよ
うに削除対象のセクションの色が変わる。「実行します
か?」という確認メッセージが表示されるので,実行す
る場合には,マウスの左ボタンを押す。これにより,指
定された範囲が削除され,構造図は,第6図(ハ)に示
す状態になる。
第6図(ロ)に示す状態で,確認メッセージに対しマ
ウスの右ボタンを押すと,指定した1つのセクションだ
けが削除対象となり,第6図(ニ)に点線で示すよう
に,その色が変わる。この状態で,マウスの左ボタンを
押すと,そのセクションだけが削除される。右ボタンを
押した場合には,削除はキャンセルされ,第6図(イ)
に示す状態に戻る。
第7図は,本発明の一実施例によるセクション移動の
例を示している。
移動操作では,指定セクションに子セクションがある
場合,子セクションを含めて移動する。
編集機能メニューにより,「移動」を選択し,第7図
(イ)に示すように,移動したいセクションのボックス
をマウスで指定する。これにより,移動するセクション
の色が変わる。
次に,移動先をマウスで指定すると,第7図(ロ)に
示すように,移動対象のセクションが移動先に表示され
る。「実行しますか?」という確認メッセージに対し,
マウスの左ボタンを押すと,移動が実行され,右ボタン
を押すと移動がキャンセルされる。
複写操作についても,移動操作と同様である。移動で
は,移動元にセクションが残らないのに対し,複写で
は,複写元のセクションがそのまま残る。一般セクショ
ンを複写した場合,複写されたセクションは複数箇所で
参照されることになるので,自動的に共用セクションに
変更される。
以上のようにマウス等により,簡単に構造図を編集す
ることが可能である。
構造図として表示されているセクションのセクション
名の変更や,一般,共用,サブプログラム等の属性の変
更は,編集機能メニューにより,「変更」を選択して,
変更したいセクションをマウスで指定することにより行
うことができる。
編集機能メニューにおいて,「書込」を選択すると,
構造図の編集結果をソースプログラムに反映したもの
を,指定されたファイルに書き込む。
また,編集機能メニューに,「詳細記述」という項目
があり,これを選択すると,確認メッセージの応答の
後,ソースプログラム・エディタが起動される。これに
より,構造図の編集モードからソースプログラムの編集
モードに移り,ソースプログラムを直接編集することが
できる。編集が終了し,エディタを終了させると,構造
図の編集モードに戻る。
編集機能メニューの「操作説明」により,以上の操作
についての説明を,画面に表示させることができる。
編集機能メニューで「終了」選択すると,終了メニュ
ーが表示され,編集結果を保存するかどうかの問い合わ
せが行われる。この終了メニューで保存を指定すると,
構造図の編集結果をソースプログラムに反映したもの
を,指定したファイルに格納する。
以上の編集機能の他に,コマンドルートバーによる編
集支援機能が提供されている。
コマンドルートバーによる機能の選択は,マウス・カ
ーソルをコマンドルートバー内の実行したい機能のアイ
コン表示に合わせ,左ボタンをクリックすることにより
行う。
第8図は,このコマンドによる番号表示機能の説明図
である。
番号表示機能のアイコン表示を,マウスでクリックす
ると,各セクションの左上に,そのセクションが対応す
るソースプログラム中の行番号が,例えば第3図に示す
ように,8桁の数字で表示される。さらに,マウスの左ボ
タンをクリックすると,行番号の代わりに,第8図に示
すように,各セクションの階層位置を示す番号が表示さ
れる。もう一度,左ボタンをクリックすると,番号表示
は消える。
第9図は,コマンドによる非表示機能の説明図であ
る。
コマンドルートバーによって,「非表示機能」を選択
することにより,指定階層以下を表示しないようにする
ことができる。非表示となる子セクションがある場合,
該当位置に○が表示される。
非表示機能を選択した後,表示を省略したい位置をマ
ウスで指定すると,非表示域の色が変わる。そこで,実
行する場合には,マウスの左ボタンを押す。例えば,第
8図に示す構造図について,第2階層以下を非表示にし
たい場合,その位置にマウス・カーソルを合わせて左ボ
タンをクリックする。そうすると,非表示域の色が変わ
り,確認メッセージが出力される。そこで,マウスの左
ボタンをクリックすると,構造図は,第9図に示すよう
に第2階層以下が省略された状態で表示される。非表示
域の色が変わった状態でマウスの右ボタンをクリックす
ると,非表示がキャンセルされる。
非表示状態に入った後,それを解除したい場合には,
再びコマンドルートバーにより,「非表示機能」を選択
する。
第10図は,コマンドによるボックス変更機能の説明図
である。
コマンドルートバーによって,「ボックス変更機能」
を選択することにより,セクションを表示するボックス
の大きさ,表示文字数を変更することができる。なお,
この機能による変更は一時的なものであり,セットアッ
プとは無関係である。
コマンドルートバーにより,「ボックス変更機能」を
選択すると,第10図(イ)に示すようなボックス変更メ
ニューが表示される。行数は,1行から3行まで,1行の文
字数は,半角の6文字から20文字(全角の3文字から10
文字)までの中から選択可能である。
例えば第9図に示すような構造図について,1行・半角
6文字のボックス変更を行うと,構造図は第10図(ロ)
に示すように,縮小されて表示される。
第11図は,コマンドによるレイアウト機能の説明図で
ある。
レイアウト機能により,構造図全体の縮小図を表示
し,現在の構造図の表示位置を表示させることができ
る。また,マウスで指定位置へのジャンプ表示を指示す
ることができる。
コマンドルートバーにより,「レイアウト機能」を選
択すると,第11図に示すレイアウト表示40のように,セ
クション構造図の全体が縮小されて表示される。このレ
イアウト表示40では,W1のように,現在ディスプレイに
表示されている箇所が異なる色で表示される。
マウス・カーソル35でジャンプ先を指定すると,W2の
枠で示す箇所に,元の構造図の画面の表示が変わる。
コマンドルートバーには,他に複数のウインドウによ
る編集を可能とする「ウインドウ機能」やセクションを
マークし,その指定セクションへのジャンプを行う「マ
ーク機能」が用意されている。
次に,構造図を展開したり,編集したりするための内
部のデータ構造とそれの処理について説明する。
第12図は構造図展開処理説明図,第13図はセクション
管理のためのテーブル構成図,第14図は編集結果の管理
に用いる作業ファイル説明図,第15図は本発明の一実施
例に係る構造図展開表示処理フロー,第16図は本発明の
一実施例に係る構造図編集処理フローを示す。
第12図において,21は入力のソースプログラムファイ
ル,21′は出力されるソースプログラムファイル,22は作
業ファイル,50は構造図を表示するディスプレイ画面,51
はメモリ,52はセクションの論理画面における配置位置
を決めるために用いるマップ,53は各セクションを管理
する制御テーブルのレコードからなる制御ブロック,54
は制御ブロックの全体が格納される制御ファイルを表
す。
ソースプログラムファイル21から構造図を作成する場
合,ソースプログラムを解析して,各セクションごとに
レコードを作り,制御ブロック53に設定する。なお,メ
モリ51上の制御ブロック53は,制御ファイル54のバッフ
ァとして用いられると考えてよい。各セクションのレコ
ードは,それぞれのリレーション情報と,ソースプログ
ラムの内容に関連づける情報とを持つ。
マップ52は,ディスプレイの論理画面に対応し,制御
ブロック53における各セクションのレコードに対するポ
インタを持つ。各セクションをそのリレーションに従っ
て論理画面に配置し,その配置状態をマップ52からのポ
インタによって表すことにより,ディスプレイ画面50に
示すような構造図の表示が可能になる。
セクションの挿入や削除などの構造図の編集を行った
場合,ディスプレイ画面50の位置に対応するマップ52か
ら,該当するセクションのレコードを探し,レコードの
修正,追加,削除などを行う。この編集処理では,処理
を容易にするために,ソースプログラムの内容を固定長
レコードで管理する作業ファイル22を用い,制御ブロッ
ク53で管理すセクションと,作業ファイル22における対
応するソースプログラムの内容とを関連づけ,編集結果
を作業ファイル22上に反映しておくようにする。
編集時における書込み指示や終了時における保存指示
があった場合,作業ファイル22ら編集結果のソースプロ
グラム情報を読み出し,ソースプログラムファイル21′
に出力する。
第12図に示す制御ブロック53および制御ファイル54で
管理されるレコードによる制御テーブルの構成は,具体
的には第13図に示すようになっている。
第13図において,R1は全体の制御情報を管理するコン
トロールレコード,R2,R3は空きレコード,R4〜R9はセク
ション管理用の制御テーブルを内容とするレコードを表
す。なお,第13図に示すレコードのテーブル構成は,第
12図に示すディスプレイ画面50に表示している構造図に
対応するものである。
コントロールレコードR1は,先頭セクションのレコー
ドと最終セクションのレコードに対するポインタを持
つ。また,空きレコードR2に対するポインタを持つ。空
きレコードR2,R3,…は,前後のポインタによってキュー
管理される。
セクション管理用制御テーブルのレコードR4〜R9は,
親のセクションへのポインタ,子のセクションへのポイ
ンタ,上のセクションへのポインタ,下のセクションへ
のポインタを持つ。また,共用セクションである場合
に,同じ共用セクションの代表となっている親の共用セ
クションへのポインタ,次の共有セクションへのポイン
タ,直前の共用セクションへのポインタを持つ。
また,セクション管理用制御テーブルのレコードR4〜
R9は,作業ファイル22中のソースプログラムに対応する
レコードに対するポインタであって,セクションの呼び
出し部と,実体部と,コメントがあればコメント部のレ
コードに対するポインタを持つ。
この他に,セクション名,セクションの属性情報,属
性に応じた線色の情報などを管理している。
第13図に示す制御テーブルの内容から,AAAのセクショ
ンが,BBB,CCCおよび共用セクションの親になっているこ
とがわかる。また,ポインタ関係から,レコードR9の共
用セクションと,BBBの配下に接続されるレコードR6の共
用セクションの実体は同じものであることがわかる。
これらのレコードにより,構造図を表すことができる
ことは,説明するまでもないであろう。
第14図は,制御ファイル54で管理するセクション管理
用の制御テーブルと作業ファイル22との関係を示してい
る。
作業ファイル22のレコードは,ソースプログラムの各
ステートメントを固定長にしたものであって,各レコー
ドの出現順序を示す前番号/後番号のポインタを持つ。
この各レコードの内容は,行番号(SEQ),オペレーシ
ョンの種別を示す情報,文字テキストなどの項目からな
る。
制御ファイル54中のセクション管理用制御テーブルか
ら,作業ファイル22中の該当する呼び出し部,実体部,
コメント部のレコードがポイントされる。
構造図の編集により,作業ファイル22中のレコードの
削除や挿入が必要になると,セクション構造の変更と同
時に,レコードの削除,挿入を行い,各レコードの並び
を示す前番号/後番号を更新する。これらの番号をたど
ることにより,必要なとき,ソースプログラムに展開す
ることができる。
第15図は,第1図に示す構造図展開表示処理部12の処
理フローを示している。以下,第15図に示す処理〜
に従って説明する。
指定されたソースプログラムファイルからソースプ
ログラムを読み込む。
読み込んだソースプログラムを解析し,概要記述や
その詳細部などのプログラムの制御構造に関係する構成
単位を抽出する。
抽出した構成単位から,第13図で説明したようなセ
クション管理用制御テーブルを作成し,メモリまたは制
御ファイルに格納する。
セクション管理用制御テーブルから,各セクション
のリレーションを調べ,論理画面におけるセクションの
配置位置を決めて,マップを作成する。
ディスプレイの表示画面に対応する位置のマップ要
素からポイントされるセクション管理用制御テーブルを
参照し,各セクションをボックス化して表示する。以
下,編集モードに移る。第16図は,第1図に示す構造図
編集処理部13の処理フローを示している。以下,第16図
に示す処理〜に従って説明する。
構造図の編集画面上で,指定により編集機能メニュ
ーを表示し,そのメニューで選択された編集機能に応じ
て以下の処理を行う。
マウス等により画面上で指定された編集対象の位置
から,マップの位置を割り出す。
マップから編集の操作対象となるセクションおよび
位置を識別する。
選択された編集機能に応じて,編集対象となったマ
ップ,制御テーブル,作業ファイルの内容を修正する。
修正した結果の構造図を画面バッファに展開し,表
示する。以下,次の処理に移る。
第1図に示すソースプログラム反映処理部14の処理
は,第14図に示す作業ファイル22の内容から,ソースプ
ログラムを復元する処理であり,容易に実現できるの
で,処理フローによる説明は省略する。また,各種コマ
ンドルートバーによる機能を実現する処理内容について
も,第8図ないし第11図により,具体的に何を行うかを
説明したので,明らかであり,処理フローによる説明は
省略する。
上記実施例では,論理図型仕様記述言語によるソース
プログラムから構造図を抽出して編集する例をとりあげ
て説明したが,COBOLやC言語などの他のプログラム言語
を用いたソースプログラムについても,同様に本発明を
適用することができる。なお,構造図を表示するだけで
なく,構造図を印刷する機能も用意することができるこ
とは言うまでもない。
〔発明の効果〕
以上説明したように,本発明によれば,構造図によっ
てプログラムの構造を決め,ソースプログラムのスケル
トンを自動生成することができるので,トッププログラ
ミングによる開発手法を効率よく実現でき,ソフトウェ
アの生産性を向上させることができる。また,構造を意
識した編集を簡単に行うことができ,構造図とソースプ
ログラムとの不一致が生じることがないので,信頼性の
高いプログラムの開発が可能となる。既存プログラムの
構造解析を,構造図によって容易に行うことができ,プ
ログラムの変更や保守を簡易化することができる。
【図面の簡単な説明】
第1図は本発明の原理説明図, 第2図は本発明の実施例を説明するためのソースプログ
ラムの例, 第3図は本発明の実施例による構造図編集画面の例, 第4図は本発明の実施例を説明するための構造図表記・
プログラム言語の対応図, 第5図は本発明の実施例によるセクション挿入の例, 第6図は本発明の実施例によるセクション削除の例, 第7図は本発明の実施例によるセクション移動の例, 第8図は本発明の実施例に係る番号表示機能説明図, 第9図は本発明の実施例に係る非表示機能説明図, 第10図は本発明の実施例に係るボックス変更機能説明
図, 第11図は本発明の実施例に係るレイアウト機能説明図, 第12図は本発明の実施例による構造図展開処理説明図, 第13図は本発明の実施例におけるセクション管理説明
図, 第14図は本発明の実施例による編集結果の管理に用いる
作業ファイル説明図, 第15図は本発明の一実施例に係る構造図展開表示処理フ
ロー, 第16図は本発明の一実施例に係る構造図編集処理フロー
を示す。 図中,10はデータ処理装置,11は主制御部,12は構造図展
開表示処理部,13は構造図編集処理部,14はソースプログ
ラム反映処理部,15はコマンド処理部,16は番号表示処理
部,17は非表示処理部,18はボックス変更処理部,19はレ
イアウト表示処理部,20はジャンプ処理部,21はソースプ
ログラムファイル,22は作業ファイル,23はディスプレイ
装置,24は入力装置を表す。
フロントページの続き (56)参考文献 特開 昭62−162177(JP,A) 原田編,構造エディタ,日本,共立出 版,P.135−146,159−160 情報処理学会第36回(昭和63年前期) 全国大会講演論文集,日本,1998年3月 16日,P.901−902,884 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 - 9/44

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】ソースプログラムの編集機能を有するデー
    タ処理装置において, ソースプログラムにおける制御構造を示す表記を調べる
    ことにより構造解析を行い,プログラムの制御構造に関
    係する構成単位をソースプログラムから抽出して,各構
    成単位をブロックとして表すとともに,それらのブロッ
    クの結び付きを表す構造図を作成し表示する構造図展開
    表示処理部と, 構造図における各構成単位についての追加,削除を含む
    編集を対話型処理により行う構造図編集処理部と, 編集された構造図に基づいて,ソースプログラムを新規
    作成または更新するソースプログラム反映処理部と を備えたことを特徴とするプログラムの構造図編集処理
    方式。
  2. 【請求項2】請求項1記載のプログラムの構造図編集処
    理方式であって, 構造図が各構成単位を要素とする木構造で表され, 少なくとも各構成単位についての木構造における階層位
    置を示す情報および対応するソースプログラムにおける
    位置を示す情報を,コマンドの指定によって選択的に切
    り換えて表示する番号表示処理部を備えたことを特徴と
    するプログラムの構造図編集処理方式。
  3. 【請求項3】請求項1または請求項2記載のプログラム
    の構造図編集処理方式であって, 構造図が各構成単位を要素とする木構造で表され, コマンドにより,指定された階層以下のすべての構成単
    位を表示しないように処理する非表示処理部を備えたこ
    とを特徴とするプログラムの構造図編集処理方式。
  4. 【請求項4】請求項1ないし請求項3いずれか記載のプ
    ログラムの構造図編集処理方式であって, 構造図におけるプログラムの各構成単位がボックスで表
    され, コマンドにより,そのボックス内の表示文字数を一時的
    に変更する処理を行うボックス変更処理部を備えたこと
    を特徴とするプログラムの構造図編集処理方式。
  5. 【請求項5】請求項1ないし請求項4いずれか記載のプ
    ログラムの構造図編集処理方式であって, コマンドにより,構造図の全体を縮小して表示するレイ
    アウト表示処理部と, 縮小して表示したレイアウト表示内における指定位置
    に,表示する構造図の位置づけを行い,その部分に表示
    先を移行するレイアウトによるジャンプ処理部と を備えたことを特徴とするプログラムの構造図編集処理
    方式。
JP12462990A 1990-05-15 1990-05-15 プログラムの構造図編集処理方式 Expired - Fee Related JP3299259B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12462990A JP3299259B2 (ja) 1990-05-15 1990-05-15 プログラムの構造図編集処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12462990A JP3299259B2 (ja) 1990-05-15 1990-05-15 プログラムの構造図編集処理方式

Publications (2)

Publication Number Publication Date
JPH0424733A JPH0424733A (ja) 1992-01-28
JP3299259B2 true JP3299259B2 (ja) 2002-07-08

Family

ID=14890144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12462990A Expired - Fee Related JP3299259B2 (ja) 1990-05-15 1990-05-15 プログラムの構造図編集処理方式

Country Status (1)

Country Link
JP (1) JP3299259B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3569153B2 (ja) 1999-03-29 2004-09-22 富士通株式会社 図形編集装置、および図形編集方法、並びにそのためのプログラムを格納した記憶媒体
CA2562012C (en) 2004-04-28 2013-01-22 Fujitsu Limited Source-code-generation supporting program and source-code-generation supporting method
JP5222470B2 (ja) * 2006-03-09 2013-06-26 コニカミノルタエムジー株式会社 学習支援システム
JP5012887B2 (ja) * 2009-12-28 2012-08-29 富士通株式会社 プログラム、編集方法、およびコンピュータ
JP7322255B2 (ja) * 2018-12-07 2023-08-07 株式会社東芝 電子計算機、方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
原田編,構造エディタ,日本,共立出版,P.135−146,159−160
情報処理学会第36回(昭和63年前期)全国大会講演論文集,日本,1998年3月16日,P.901−902,884

Also Published As

Publication number Publication date
JPH0424733A (ja) 1992-01-28

Similar Documents

Publication Publication Date Title
US6493732B2 (en) Method of and an apparatus for displaying version information and configuration and a computer-readable recording medium on which a version and configuration information display program is recorded
US6792595B1 (en) Source editing in a graphical hierarchical environment
JP4058118B2 (ja) プログラム生成システム及び方法
EP1768034A1 (en) Document processing device and document processing method
US20070198915A1 (en) Document Processing Device And Document Processing Method
JP3227066B2 (ja) プログラム部品を用いたプログラム生成方法
JP3299259B2 (ja) プログラムの構造図編集処理方式
JP3448874B2 (ja) 文書処理装置および文書処理方法
JPH07239850A (ja) 構造化文書作成支援システム
JP3741450B2 (ja) 項目部品エレメントの実行方法および実行装置
JPH10240732A (ja) Www用htmlファイル作成方法及び装置
JPH0384661A (ja) 文書作成装置
JP4719743B2 (ja) グラフ処理装置
JP2000227914A (ja) 文書編集装置
JP3424558B2 (ja) オブジェクト管理方法
JPH05257665A (ja) Hcpチャート/ソースプログラム連動編集装置
JPH04140834A (ja) プログラム生成方法およびそのための仕様入力方法
JP2001134423A (ja) 対話型既存システムを利用する新システムの画面情報出力方法
JP3298456B2 (ja) ビジュアルシミュレーション支援方法及び装置
JPH03119465A (ja) 文書編集装置
JPH07141158A (ja) データ編集システム
JP2900504B2 (ja) 情報処理装置
JPH0668183A (ja) 設計支援装置
JPH05181855A (ja) データ登録支援装置
JPH02297149A (ja) 文書作成格納方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080419

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees