JPH0455937A - プログラム清書処理装置 - Google Patents
プログラム清書処理装置Info
- Publication number
- JPH0455937A JPH0455937A JP16751590A JP16751590A JPH0455937A JP H0455937 A JPH0455937 A JP H0455937A JP 16751590 A JP16751590 A JP 16751590A JP 16751590 A JP16751590 A JP 16751590A JP H0455937 A JPH0455937 A JP H0455937A
- Authority
- JP
- Japan
- Prior art keywords
- program
- line
- characters
- remaining
- processing
- 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
Links
- 238000000034 method Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 4
- 230000003252 repetitive effect Effects 0.000 abstract description 2
- 238000007373 indentation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機ソースプログラムの清書処理に利用する
。本発明は計算機プログラムのソースプログラムに対し
プログラム構造を見易くするための清書処理に関し、特
に一つの文を二つの行に分割する処理を行う装置に関す
る。
。本発明は計算機プログラムのソースプログラムに対し
プログラム構造を見易くするための清書処理に関し、特
に一つの文を二つの行に分割する処理を行う装置に関す
る。
本発明は計算機の装置プログラム構造を見易くなるよう
に清書するプログラム清書処理装置において、 プログラムを意味のある最小構造単位に分割し、この最
小構造単位をベースにして清書処理を行うことにより、 プログラムの構造を見易くなるようにしたものである。
に清書するプログラム清書処理装置において、 プログラムを意味のある最小構造単位に分割し、この最
小構造単位をベースにして清書処理を行うことにより、 プログラムの構造を見易くなるようにしたものである。
計算機プログラムの入力は“エディタ”と呼ばれる人力
編集プログラムを用いて人手で行う方法が一般的である
。プログラム構造を見易くするためには適当に空白を挿
入したり、繰り返しや分岐などの構造を明確にするため
に字下げを行うことが多い。
編集プログラムを用いて人手で行う方法が一般的である
。プログラム構造を見易くするためには適当に空白を挿
入したり、繰り返しや分岐などの構造を明確にするため
に字下げを行うことが多い。
このようにして作成されたプログラムは、一定のルール
に則った形で作成されていれば後々のデバッグやメンテ
ナンスの工程で効率化が図れるが、エディタで入力を行
うときにそこまで注意して作業することは逆に入力の効
率を下げることになる。
に則った形で作成されていれば後々のデバッグやメンテ
ナンスの工程で効率化が図れるが、エディタで入力を行
うときにそこまで注意して作業することは逆に入力の効
率を下げることになる。
従って、第4図に示すように、入力時にはプログラム構
造の見易さは犠牲にして必要最低限の空白を入れる程度
にとどめ、人力完了後に一括して清書処理を行う方法が
効率的であり、個人差のない標準化されたソースプログ
ラムを作成することができる。
造の見易さは犠牲にして必要最低限の空白を入れる程度
にとどめ、人力完了後に一括して清書処理を行う方法が
効率的であり、個人差のない標準化されたソースプログ
ラムを作成することができる。
従来のこの種の清書処理は計算機上でソースプログラム
清書ユーティリティとして利用者に提供されている。入
力となるソースプログラムファイル、清書後の出力光フ
ァイルおよび種々のオプション機能(例えば字下げ幅や
空白の処理方法など)を指定すると致命的な誤りがない
限り所定のルールに則って清書処理が行われ出力ファイ
ルが得られるようになっている。第5図は第4図のソー
スプログラムをFORTRANの清書ユーティリティに
より清書処理を施したもので、ループ構造、条件分岐、
制御文の飛び先などが容易に認識でき、プログラム構造
が見易くなっている(ここでは説明を簡単にするため1
行を50文字とした)。
清書ユーティリティとして利用者に提供されている。入
力となるソースプログラムファイル、清書後の出力光フ
ァイルおよび種々のオプション機能(例えば字下げ幅や
空白の処理方法など)を指定すると致命的な誤りがない
限り所定のルールに則って清書処理が行われ出力ファイ
ルが得られるようになっている。第5図は第4図のソー
スプログラムをFORTRANの清書ユーティリティに
より清書処理を施したもので、ループ構造、条件分岐、
制御文の飛び先などが容易に認識でき、プログラム構造
が見易くなっている(ここでは説明を簡単にするため1
行を50文字とした)。
従来の清書処理方法では、元々複数行にまたがる文や繰
り返しや判定文による字下げ処理により2行に分割処理
する際、コマンドやステートメントの意味に関わらず行
末で無条件に分割していた。
り返しや判定文による字下げ処理により2行に分割処理
する際、コマンドやステートメントの意味に関わらず行
末で無条件に分割していた。
したがって、長い計算式や多重括弧を含む式、多重繰り
返しや多重判定構造による字下げの影響でもともと一行
だった文が、無条件に切り離されてしまい、かえってプ
ログラムが見にくくなってしまう欠点があった。第5図
の210〜220行がその例を示すもので、1行を50
文字としたときに“C3*Y (K−1)”という項が
行末で分断されてしまっている。実際の場面では1行あ
たり80とか136文字が使われることが多いが、“D
O”文や“IP”文が多重化されると字下げにより1行
あたりの配置可能文字数が制限されてしまうため、この
ようなケースは頻繁に見受けられる。
返しや多重判定構造による字下げの影響でもともと一行
だった文が、無条件に切り離されてしまい、かえってプ
ログラムが見にくくなってしまう欠点があった。第5図
の210〜220行がその例を示すもので、1行を50
文字としたときに“C3*Y (K−1)”という項が
行末で分断されてしまっている。実際の場面では1行あ
たり80とか136文字が使われることが多いが、“D
O”文や“IP”文が多重化されると字下げにより1行
あたりの配置可能文字数が制限されてしまうため、この
ようなケースは頻繁に見受けられる。
本発明はこのような問題を解決するもので、文末でコマ
ンドやステートメントが分割されることをなくし、プロ
グラム構造を見易くすることができる装置を提供するこ
とを目的とする。
ンドやステートメントが分割されることをなくし、プロ
グラム構造を見易くすることができる装置を提供するこ
とを目的とする。
本発明は、端末からの入力指示を受けエディタによりソ
ースファイルに編集入力されたソースプログラムの清書
処理を行うプログラム清書処理装置において、プログラ
ムのコマンド、ステートメントを意味のある最小構造に
分解するプログラム構造解析部と、行末までの残りの文
字数を計数する残り文字数計数部と、分解された最小構
造ごとに行頭から清書処理を行い前記残り文字数計数部
の出力値が負の値になったときに残りの文を次の行に継
続行として分割させる清書処理部とを備えたことを特徴
とする。
ースファイルに編集入力されたソースプログラムの清書
処理を行うプログラム清書処理装置において、プログラ
ムのコマンド、ステートメントを意味のある最小構造に
分解するプログラム構造解析部と、行末までの残りの文
字数を計数する残り文字数計数部と、分解された最小構
造ごとに行頭から清書処理を行い前記残り文字数計数部
の出力値が負の値になったときに残りの文を次の行に継
続行として分割させる清書処理部とを備えたことを特徴
とする。
プログラムのコマンドやステートメントを意味のある最
小構造に分解し、行末までの残り文字数を計数する。分
解された最小構造ごとに行頭から清書処理を行い計数値
が負の値になったときに残りの文を次の行に継続行とし
て分割する。
小構造に分解し、行末までの残り文字数を計数する。分
解された最小構造ごとに行頭から清書処理を行い計数値
が負の値になったときに残りの文を次の行に継続行とし
て分割する。
これにより、文末でコマンドやステートメントが無条件
に分割されることがなくなり、長い計算式や多重括弧を
含む式、あるいは多重繰返しや多重判定構造による字下
げが含まれるプログラムであってもそのプログラムの構
造を見易くすることができる。
に分割されることがなくなり、長い計算式や多重括弧を
含む式、あるいは多重繰返しや多重判定構造による字下
げが含まれるプログラムであってもそのプログラムの構
造を見易くすることができる。
次に、本発明実施例を図面に基づいて説明する。
第1図は本発明実施例の構成を示すブロック図である。
本発明実施例は、端末1からの人力指示を受けエディタ
2によりソースファイル3に編集人力されたプログラム
のコマンド、ステートメントを意味のある最小構造に分
解するプログラム構造解析部4と、行末までの残りの文
字数を計数する残り文字数計数部5と、分解された最小
構造ごとに行頭から清書処理を行い残り文字数計数部5
の出力値が負の値になったときに残りの文を次の行に継
続性として分割させる清書処理部6と、処理結果を一時
格納し出力ファイル8に転送するバッファ7を備える。
2によりソースファイル3に編集人力されたプログラム
のコマンド、ステートメントを意味のある最小構造に分
解するプログラム構造解析部4と、行末までの残りの文
字数を計数する残り文字数計数部5と、分解された最小
構造ごとに行頭から清書処理を行い残り文字数計数部5
の出力値が負の値になったときに残りの文を次の行に継
続性として分割させる清書処理部6と、処理結果を一時
格納し出力ファイル8に転送するバッファ7を備える。
入力となるソースファイル3は利用者が端末1からエデ
ィタ2を起動して入力、編集を行って作成される。清書
処理ではまずソースファイル3はプログラム構造解析部
4により意味のある最小構造に分解される。清書処理部
6はこの解析部から一つずつ構造単位を受取りながら清
書処理を行いその結果をバッフ77に書き込む。行末ま
での残り文字数計数部5は初期値として1行の最大文字
数を持ち、清書処理部6から使用した文字数を受取り順
次減算する。文末まで処理が完了するとバッファ7の内
容を出力ファイル8に転送し、次の行に対する処理に移
る。
ィタ2を起動して入力、編集を行って作成される。清書
処理ではまずソースファイル3はプログラム構造解析部
4により意味のある最小構造に分解される。清書処理部
6はこの解析部から一つずつ構造単位を受取りながら清
書処理を行いその結果をバッフ77に書き込む。行末ま
での残り文字数計数部5は初期値として1行の最大文字
数を持ち、清書処理部6から使用した文字数を受取り順
次減算する。文末まで処理が完了するとバッファ7の内
容を出力ファイル8に転送し、次の行に対する処理に移
る。
これら行単位に行う一連の処理過程を第2図のフローチ
ャートに示す。まず処理11で残り文字数を例えば50
に設定する。次に行頭の文番号、コメント行かどうかの
マーク、制御文の飛び先番号の処理を行い、これに要し
た文字数を計算する。該当項目がない場合は相当する空
白を挿入する。これを残り文字数から減算するとともに
処理結果をバッファ7に書き込む。
ャートに示す。まず処理11で残り文字数を例えば50
に設定する。次に行頭の文番号、コメント行かどうかの
マーク、制御文の飛び先番号の処理を行い、これに要し
た文字数を計算する。該当項目がない場合は相当する空
白を挿入する。これを残り文字数から減算するとともに
処理結果をバッファ7に書き込む。
続いて、繰り返し構造や条件判断文に関する字下げ処理
を行う。処理14からが清書処理のメインとなるもので
、まずプログラム構造解析部4から最初の最小構造単位
(コマンドやステートメントの一区切り)を受取り文字
数を計算する。これを残り文字数から減算し、結果が負
にならなければ該当行に配置可能と判断しその最小構造
単位をそのままバッファ7に書き込む。これを文の終わ
りまで繰り返す。
を行う。処理14からが清書処理のメインとなるもので
、まずプログラム構造解析部4から最初の最小構造単位
(コマンドやステートメントの一区切り)を受取り文字
数を計算する。これを残り文字数から減算し、結果が負
にならなければ該当行に配置可能と判断しその最小構造
単位をそのままバッファ7に書き込む。これを文の終わ
りまで繰り返す。
もし途中で減算結果が負になった場合は、改行コードを
バッファ7に書き込み、それまで処理していた次の行番
号を書き込み必要数の字下げを行った後にその最小構造
単位をバッファ7に書き込む。このようにしてソースフ
ァイル3から読み8した処理対象行に対する処理がすべ
て完了したら処理20でバッファ7の内容を清書処理結
果として出力ファイル8に書き込み次の処理対象行への
処理に移る。
バッファ7に書き込み、それまで処理していた次の行番
号を書き込み必要数の字下げを行った後にその最小構造
単位をバッファ7に書き込む。このようにしてソースフ
ァイル3から読み8した処理対象行に対する処理がすべ
て完了したら処理20でバッファ7の内容を清書処理結
果として出力ファイル8に書き込み次の処理対象行への
処理に移る。
第3図は本発明実施例における清書処理後のプログラム
リストを示す図である。第5図に示す従来例で問題とな
った210行に対する処理は、第3図においては文末を
意味のある表現で区切ることにより解決している。すな
わち4番目の最小構造単位である“C2*X (K−2
)”を配置した時点で残り文字数は3であったため、次
の“03*Y(K−1)” (文字数9)を配置すると
減算結果が3−9=−6と負になってしまうので5番目
の最小構造単位は210行には配置せず、新たに行番号
220を継続性として配置したものである。なお継続付
以外の清書処理に関しては従来例と何ら変わらない。
リストを示す図である。第5図に示す従来例で問題とな
った210行に対する処理は、第3図においては文末を
意味のある表現で区切ることにより解決している。すな
わち4番目の最小構造単位である“C2*X (K−2
)”を配置した時点で残り文字数は3であったため、次
の“03*Y(K−1)” (文字数9)を配置すると
減算結果が3−9=−6と負になってしまうので5番目
の最小構造単位は210行には配置せず、新たに行番号
220を継続性として配置したものである。なお継続付
以外の清書処理に関しては従来例と何ら変わらない。
以上ソースプログラムとしてFORTRAN77のファ
イルを例に説明したが、本発明による清書処理方法はF
ORT RA N77に限られたものではな(、他の
計算機プログラム言語についてもまったく同様に適用す
ることができる。
イルを例に説明したが、本発明による清書処理方法はF
ORT RA N77に限られたものではな(、他の
計算機プログラム言語についてもまったく同様に適用す
ることができる。
以上説明したように本発明によれば、プログラムを意味
のある最小構造単位に分割し、この最小構造単位をベー
スに清書処理を行うことにより、文末でコマンドやステ
ートメントが無条件に分割されることをなくし、長い計
算式や多重括弧を含む式、あるいは多重繰り返しや多重
判定構造による字下げが含まれるプログラムにおいても
プログラム構造を見易くすることができる効果がある。
のある最小構造単位に分割し、この最小構造単位をベー
スに清書処理を行うことにより、文末でコマンドやステ
ートメントが無条件に分割されることをなくし、長い計
算式や多重括弧を含む式、あるいは多重繰り返しや多重
判定構造による字下げが含まれるプログラムにおいても
プログラム構造を見易くすることができる効果がある。
第1図は本発明実施例の構成を示すブロック図。
第2図は本発明実施例の処理過程を示すフローチャート
。 第3図は本発明実施例における清書処理後のプログラム
リストを示す図。 第4図は本発明実施例における利用者がエディタにより
人力したソースプログラムリストを示す図。 第5図は従来のFORTRANの清書ユーティリティに
より清書処理を施したプログラムリストを示す図。 1・・・端末、2・・・エディタ、3・・・ソースファ
イル、4・・・プログラム構造解析部、5・・・残り文
字数計数部、6・・・清書処理部、7・・・バッファ、
訃・・出力ファイル。
。 第3図は本発明実施例における清書処理後のプログラム
リストを示す図。 第4図は本発明実施例における利用者がエディタにより
人力したソースプログラムリストを示す図。 第5図は従来のFORTRANの清書ユーティリティに
より清書処理を施したプログラムリストを示す図。 1・・・端末、2・・・エディタ、3・・・ソースファ
イル、4・・・プログラム構造解析部、5・・・残り文
字数計数部、6・・・清書処理部、7・・・バッファ、
訃・・出力ファイル。
Claims (1)
- 【特許請求の範囲】 1、端末からの入力指示を受けエディタによりソースフ
ァイルに編集入力されたソースプログラムの清書処理を
行うプログラム清書処理装置において、 プログラムのコマンド、ステートメントを意味のある最
小構造に分解するプログラム構造解析部と、 行末までの残りの文字数を計数する残り文字数計数部と
、 分解された最小構造ごとに行頭から清書処理を行い前記
残り文字数計数部の出力値が負の値になったときに残り
の文を次の行に継続行として分割させる清書処理部と を備えたことを特徴とするプログラム清書処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16751590A JPH0455937A (ja) | 1990-06-25 | 1990-06-25 | プログラム清書処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16751590A JPH0455937A (ja) | 1990-06-25 | 1990-06-25 | プログラム清書処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0455937A true JPH0455937A (ja) | 1992-02-24 |
Family
ID=15851119
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16751590A Pending JPH0455937A (ja) | 1990-06-25 | 1990-06-25 | プログラム清書処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0455937A (ja) |
-
1990
- 1990-06-25 JP JP16751590A patent/JPH0455937A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5367468A (en) | Design aid method and design aid apparatus for integrated circuits | |
| JPS61282935A (ja) | プログラムにおける属性割当て検査方法及び装置 | |
| JPH0455937A (ja) | プログラム清書処理装置 | |
| JPS5922140A (ja) | 対話型コンパイル方式 | |
| JPH042961B2 (ja) | ||
| JP3003459B2 (ja) | プログラム作成支援装置 | |
| Hazel | Development of the ZED text editor | |
| JP2765911B2 (ja) | データ駆動型制御方法およびコンパイル装置 | |
| JPS60116035A (ja) | ソフトウエア図形デ−タ作成方式 | |
| JPH06162075A (ja) | 自動リライト装置 | |
| JPS61234434A (ja) | プログラム編集方式 | |
| JPH04153737A (ja) | コンパイル更新情報出力方式 | |
| JPH0196732A (ja) | マクロ展開リストの出力方式 | |
| JP3532603B2 (ja) | 自動番号割当方法 | |
| JPH03150664A (ja) | 構文解析装置 | |
| JPH04209029A (ja) | 並列処理プログラム翻訳処理装置 | |
| JPH04237365A (ja) | テキスト処理装置における差分検出方式および自動編集方式 | |
| JPH02159629A (ja) | 計算機言語翻訳方式 | |
| JPH03176744A (ja) | ソフトウェアテスト方式 | |
| JPH0589103A (ja) | 文書編集処理装置 | |
| JPS60100226A (ja) | 木構造チヤ−ト・テキスト処理装置 | |
| JPH0368028A (ja) | ピクチャー句解析方式 | |
| JPH0237429A (ja) | 再翻訳処理の高速化方式 | |
| JPS61234435A (ja) | プログラム開発支援方式 | |
| JPS63127331A (ja) | プログラム作成装置 |