JPH0455938A - プログラム仕様書自動生成方式 - Google Patents

プログラム仕様書自動生成方式

Info

Publication number
JPH0455938A
JPH0455938A JP16644290A JP16644290A JPH0455938A JP H0455938 A JPH0455938 A JP H0455938A JP 16644290 A JP16644290 A JP 16644290A JP 16644290 A JP16644290 A JP 16644290A JP H0455938 A JPH0455938 A JP H0455938A
Authority
JP
Japan
Prior art keywords
comment
program
information
comment information
line
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
JP16644290A
Other languages
English (en)
Inventor
Shigeki Naota
直田 繁樹
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 JP16644290A priority Critical patent/JPH0455938A/ja
Publication of JPH0455938A publication Critical patent/JPH0455938A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 プログラムからコメント付の仕様書を自動生成するプロ
グラム仕様書自動生成方式に関し、プログラム中に記述
されたコメント情報を抽出しておき、自動生成する仕様
書に反映し、より分かり易い仕様書を自動生成すること
を目的とし、入力されたプログラムから構文解析時にコ
メント情報を行番号に対応づけて抽出するコメント抽出
部と、入力されたプログラムを構文解析して行番号を付
加して住成した中間表現に対して、上記抽出したコメン
ト情報の行番号をもとに当該コメント情報を付加するコ
メント付加部とを備え、このコメント情報を付加した中
間表現をもとにコメント付の仕様書を生成するように構
成する。
〔産業上の利用分野〕
本発明は、プログラムからコメント付の仕様書を自動生
成するプログラム仕様書自動性成方式に関するものであ
る。銀行システムのような膨大な既存のプログラムの保
守作業を容易にするために、仕様書を電子的に管理し、
参照検索を容易にすることが要求されている。既存のプ
ログラムの仕様書の多くは手書きであり、電子的に管理
できる仕様書を作るために、プログラムから仕様情報を
抽出して仕様書を自動生成することが望まれている。
〔従来の技術〕
従来の仕様書生成方式は、プログラムの構文を解析する
際に直接関係のないコメント情報を削除していた。しか
し、コメントは、プログラムでは記述しない説明的な情
報が書かれており、プログラムを理解し、保守するため
に重要なものである。
〔発明が解決しようとする課題〕
従来の方式は、コメントを削除していたため、自動生成
される仕様書が人間に分かり難いものとなってしまうと
いう間即があった。
本発明は、プログラム中に記述されたコメント情報を抽
出しておき、自動生成する仕様書に反映し、より分かり
易い仕様書を自動生成することを目的としている。
〔課題を解決するための手段〕
第1図は、本発明の原理構成図を示す。
第1図において、プログラム1は、コメント付の仕様書
を生成する対象のプログラムである。
コメント抽出部3は、構文解析時にプログラム1からコ
メント情報5を抽出するものである。
中間表現6は、プログラム1を構文解析して生成した行
番号付の中間表現である。
コメント付加部7ば、中間表現6にコメント情報5を付
加したり、中間表現6から生成した仕様情報にコメント
情報5を付加したりするものである。
仕様書生成部8は、コメント付の中間表現6がら仕様書
を生成したり、中間表現6から行番号付の仕様情報を生
成したりするものである。
〔作用〕
本発明は、第1図に示すように、コメント抽出部3が入
力されたプログラムから構文解析時にコメント情報5を
行番号に対応づけて抽出し、コメント付加部7が入力さ
れたプログラムを構文解析して行番号を付加して生成し
た中間表現6に対して、抽出したコメント情報50行番
号をもとに当該コメント情報5を付加し、このコメント
情報5を付加した中間表現6をもとに仕様書生成部8が
コメント付の仕様書を自動生成するようにしている。
また、コメント抽出部3が入力されたプログラムから構
文解析時にコメント情@5を行番号に対応づけて抽出し
、仕様書生成部8が入力されたプログラムを構文解析し
て行番号を付加して住成した中間表現6をもとに行番号
付の仕様情報を住成し、コメント付加部7がコメント情
報5の行番号をもとに当該コメント情報5を仕様情報に
付加し、仕様書を自動生成するようにしている。
従って、プログラム中に記述されたコメント情報を行番
号に対応づけて抽出しておき、自動生成する仕様書に反
映することにより、より分かり易い仕様書を自動生成す
ることが可能となる。
〔実施例〕
まず、第1図から第9図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
第1図において、構文解析部2は、プログラムlを構文
解析し、行番号を付加した中間表現6を生成するもので
ある。
行番号カウンタ4は、構文解析中のプログラム1の行番
号をカウントするものである。
第2図は、本発明の1実施例構成図を示す。
第2図において、プログラム1は、ソースプログラムで
あって、例えばC0BOL言語で記述した第5図プログ
ラム例である。
コメント抽出部3ば、構文解析部2から呼び出され、後
述する第3図フローチャートに従い、例えば第5図プロ
グラム例から第7図コメント情報5を抽出するものであ
る。
行番号カウンタ4は、コメント抽出部3がコメント情報
5をプログラム1から抽出するときに当該プログラム1
の行番号をカウントするものである。
中間表現fi+ 6−1は、プログラム1を構文解析し
て生成した行番号を付加した中間表現+1)である。
例えば第5図プログラム例から第6図行番号を付加した
中間表現例である。
コメント付加部7は、中間表現1) 6−1に対して、
コメント情報50行番号をもとに当該コメント情報5を
付加し、中間表現+216−2を生成するものである0
例えば第6図中間表現例(中間表現(1))に、第7図
コメント情報例を付加し、第8図中間表現例(中間表現
(2))を生成するものである。
中間表現+216−2は、中間表現+1)6−1にコメ
ント情報5を付加した中間表現である。
仕様書生成部8ば、コメント情H5を付加した中間表現
(216−2から仕様書9を生成するものである0例え
ば第8図中間表現例(中間表現(2))から第9図仕様
書例を生成するものである。
仕様書9は、プログラム1から生成したコメント情報付
の仕様書であって、例えば第9図仕様書例である。
次に、第3図フローチャートに示す順序に従い、第2図
コメント抽出部3の処理を、第5図ないし第7図を用い
て詳細に説明する。
第3図において、■は、 行番号カウンター1 コメントフラグ off 記号フラグ   off コメント−空文字列 記号−空文字列 に初期設定する。
Oは、プログラムを1文字読み込む。これは、例えば第
5図プログラム例の若い行番号からプログラムを1文字
読み込む。
■は、改行コードか否かを判別する。YESの場合には
、[相]で行番号カウンタ4を1増やす(プログラム1
から読み込んだ1文字が改行であったので、次の行番号
に設定するために、行番号カウンタの内容を1増す)、
一方、Noの場合には、[相]を行う。
■は、コメントフラグがOnか否かを判別する。
YESの場合(現在処理中の1文字がコメントの場合)
には、[相]ないし[相]を行う、NOの場合(現在処
理中の1文字がコメントでない場合)には、[相]でこ
の1文字がコメント開始文字(例えば第5図コメント開
始文字“*”)であるか否かを判別し、YESのときに
Oで コメントに1文字追加 コメントフラグ on コメント行番号−行番号カウンタ(現在の行番号) とし、0以降を繰り返し行い、Noのときに@以降を繰
り返し行う、一方、NOの場合には、コメント抽出を行
うことなく、[相]ないし[相]で記号抽出を行う。
[相]は、コメント終了文字(例えばコメント終了文字
“車”)か否かを判別する。YESの場合には、[相]
でコメント行番号とコメントを組にしてコメント情報と
して保存する。更に、 コメントフラグ off コメント−空文字列 に設定し、@以降を繰り返し行う、一方、NOの場合に
は、[相]でコメントに1文字、追加し、@以降を繰り
返し行う。
以上の■ないし[相]の処理によって、プログラム1 
(例えば第5図プログラム例)からコメント情報5(例
えば第7図コメント情報例中の文1と記載した部分のコ
メント情N)を抽出する。
第3図において、■は、記号構成文字か否かを判別する
。YESの場合には、@で記号フラグがOnか否かを判
別し、YESのときに[相]で記号に1文字追加して@
以降を繰り返し行い、NOのときに0で記号フラグをO
n、記号に1文字追加して@以降を繰り返し行う。一方
、Noの場合には、[相]で記号フラグがonか否かを
判別し、YESのときに[相]で記号を返しく例えば第
5図プログラム例中の0002行の“EVALUATE
”をまとめて返し)で終了し、NOのときに0以降を繰
り返し行う。
以上の■ないし[相]の処理によって、プログラム1 
(例えば第5図プログラム例)から第6図中間表現例を
生成するために必要な記号(例えば0002行からEV
AL[JATE、 KOZ静OCKなど)を抽出する。
次に、第4図フローチャートに示す順序に従い、構文解
析処理を、第5図および第6図を用いて詳細に説明する
第4図において、■は、記号読み込みを行う。
これは、第3図[相]でプログラム中から抽出した記号
(例えば第5図プログラム例の0002行の“EVAL
UATE″、”KOZANOfJ″など)を読み込む。
■は、ファイルの終わりか否かを判別する。YESの場
合には、終了する。NOの場合には、■を行う。
@は、文法にしたがって文をmtbする。
[株]は、1文受理したか否かを判別する。YESの場
合には、[相]で行番号を付与した中間表現を生成する
。これは、例えば1文である第5図プログラム例の全体
を受理した場合、第6図中間表現例を生成する。一方、
NOの場合には、@以降を繰り返し行う。
以上の■ないし@の構文解析処理を、第3図[相]でプ
ログラム(例えば第5図プログラム例)から抽出した記
号について行い、中間表現(1)6−1(例えば第6図
中間表現例)を生成する。
次に、第7図コメント情報例をもとに、第6図中間表現
例(中間表現(1)))にコメント情報を付加し、第8
図中間表現例(中間表現(2))を生成するときの処理
を説明する。
(1)  コメント情報を若い方から1つ取り出す。
これは、第7図コメント情報例から若い方の例えば行番
号0001の“**口座番号の入力チエツク**′を取
り出す。
(2)中間表現+1)をサーチし、近い行番号を見つけ
る。これは、(1)で取り出した“**口座番号の入力
チエツクネ*”の行番号0001に近い行番号をここで
は第6図中間表現(1)の■の位置から行番号“000
2”を見つける。
(3)見つけた行番号を消し、コメントを中間表現に付
加する。これは、(2)で見つけた第6図■の行番号0
002を消し、ここにコメント“**口座番号の入力チ
ェック傘*”を付加し、第8図■に示すように中間表現
(2)にする。
以下同様に、第7図行番号0005の“**入力なしエ
ラー傘*”、行番号001Oの″車車その他のエラー*
*”について、第6図■、■をそれぞれ見つけ、第8図
■、■に示すようにコメントをそれぞれ付加した中間表
現(2)にする 第9図は、本発明に係るコメント付で出力した仕様書例
を示す、これは、第8図中間表現例(中間表現(2))
から仕様書を自動生成したものである。
ここで、第9図■、■、■のコメントは、第8図中間表
現例(中間表現(2))の■、■、■に対応している。
次に、第10図ないし第15図を用いて本発明の他の実
施例構成の動作を詳細に説明する。
第10図は、本発明の他の実施例構成図を示す。
ここで、プログラムl、構文解析部2、コメント抽出部
3、行番号カウンタ4、コメント情報5、中間表現El
+ 6−1は、第2図構成と同じであるので、説明を省
略する。
第10図において、仕様書生成部8−1は、中間表現(
1)6−1から行番号付の仕様情報9−1を生成するも
のである0例えば第6図中間表現(1)6−1から行番
号付の第12図仕様情報例を生成するものである。
仕様情報9−1は、中間表現ill 6−1から生成し
た行番号付の仕様情報(例えば第12図仕様情報例)で
ある。
コメント付加部7−1は、仕様情報9−1に、コメント
情報5中の行番号をもとに当該コメントを付加し、仕様
書(例えば第9図仕様書例)を生成するものである。
第1)図フローチャートに示す順序に従い、仕様書生成
部8−1の処理を説明する。
第1)図において、Oは、中間表現を1文読み込む、こ
れは、既述したように、例えば第5図プログラム例から
生成した第6図中間表現例(中間表現(1))から1文
を読み込む、ここでは、第6図中間表現例が1文である
ので、当該第6図中間表現例を全部読み込む。
@は、中間表現ファイルが空か否かを判別する。
YESの場合には、中間表現の全ての文の処理を終了し
たので、[相]で記録した補足生成部(例えば第9図中
の補足記述)を出力し、終了する。NOの場合には、O
以降を行う。
@は、辞書(第13図)を用いて英字名を日本語名に置
き換える。例えば第6図英字名“KOZANOCK”を
日本語名′口座番号判定コード”に置き換える。
@は、文に変換ルール(第14図)を適用する分岐文の
場合は個々の処理に含まれる文のも再帰的に変換ルール
を適用する。
■は、変換した文が登録パターン(第15図)のパター
ン部とマツチする部分を含むかを調べる。
YESの場合には、[相]以降を行う、Noの場合には
、0で変換結果を出力する(第12図仕様情報を出力す
る)。
[相]は、マツチした部分を登録パターンの結果部で置
き換える。これは、■で変換した文が第15図登録パタ
ーンのパターン部とマツチする部分を含むと判別された
ので、マツチした部分を登録パターンの結果部で置き換
える。
■は、登録パターンが既に使われているかを調べる。Y
ESの場合には、何もしなく、0を行う。
Noの場合には、@で補足生成部(第12図補足記述)
を記憶し、[株]を行う。
以上の処理について、第6図中間表現例について、第1
3図辞書によって日本語に置き換えた後、第14図変換
ルール例および第15図登録パターン例を適用すると、
第12図仕様情報例が得られる。具体的に説明すると、 ■:第6図■に、第14図■を適用し、第12図■を生
成する。この例は、第1)図@N○となり、第15図登
録パターン例と比較しない。
■:第6図■に、第14図■(2つ)を適用し、第12
図■を生成する。この例も、第1)図[相]NO(第1
5図パターン部のマツチする部分を含まないので、@N
o))となり、第15図登録パターン例と比較しない。
■:第6図■に、第14図■(4つ)を通用し、第12
図■を生成する。この例は、第1)図@YESとなり、
第15図登録パターン例のパターン部で、エラーメツセ
ージ番号=1  (=71)、エラー項目番号=口座番
号(=?)、およびセクシッンERR−SECTION
実行、にそれぞれマツチし、結果部で、“処理l (1
、口座番号) ”にそれぞれ置き換えて生成する。また
、補足生成部も生成する。
第12図は、本発明に係る行番号付の仕様情報例を示す
。これは、既述したように、第6図行番号付の中間表現
fi+から第1)図フローチャートに示す処理によって
生成した行番号付の仕様情報である。■ないし■は、第
6図■ないし■から生成したものである。
第13図は、本発明に係る英字名日本語名対応辞書例を
示す。これは、第6図中間表現+1)中の英字名を、日
本語に置き換える辞書である。
第14図は、本発明に係る変換ルール例を示す。
これは、第6図中間表現(1)を第12図仕様情報例に
変換するための変換ルールである0図中の■ないし■は
、第6図中間表現(1)の■ないし■に適用する変換ル
ールを示す。
第15図は、本発明に係る登録パターン例を示す、これ
は、第14図変換ルール例を中間表現(1)に適用し、
第12図仕様情報例を生成するためのものである。
以上の処理によって生成した第12図仕様情報例につい
て、第10図コメント付加部7−1が第7図コメント情
報例の行番号をもとに、近い行番号の位置に当該コメン
ト情報例を埋め込んで付加し、第9図仕様書例を生成す
る。
〔発明の効果〕
以上説明したように、本発明によれば、プログラム中に
記述されたコメント情報を行番号に対応づけて抽出して
おき、自動生成する仕様書に付加する構成を採用してい
るため、より分かり易い仕様書をプログラムから自動生
成することができる。
【図面の簡単な説明】
第1図は本発明の原理構成図、第2図は本発明の1実施
例構成図、第3図は本発明に係るコメント抽出フローチ
ャート、第4図は本発明に係る構文解析フローチャート
、第5図はプログラム例、第6図は本発明に係る構文解
析によって生成した中間表現例、第7図は本発明に係る
保存したコメント情報例、第8図は本発明に係るコメン
トを付加した中間表現例、第9図は本発明に係るコメン
ト付で出力した仕様書例、第10図は本発明の他の実施
例構成図、第1)図は本発明に係る仕様書生成部の処理
フローチャート、第12図は本発明に係る行番号付の仕
様情報例、第13図は本発明に係る英字名日本語名対応
辞書例、第14図は本発明に係る変換ルール例、第15
図は本発明に係る登録パターン例を示す。 図中、1ばプログラム、2は構文解析部、3はコメント
抽出部、4は行番号カウンタ、5はコメント情報、6は
中間表現、6−1は中間表現fil、6−2は中間表現
(2)、7.7−1はコメント付加部、8.8−1は仕
様書生成部、9は仕様書、9−1は仕様情報を表す。

Claims (2)

    【特許請求の範囲】
  1. (1)プログラムからコメント付の仕様書を自動生成す
    るプログラム仕様書自動生成方式において、入力された
    プログラムから構文解析時にコメント情報(5)を行番
    号に対応づけて抽出するコメント抽出部(3)と、 入力されたプログラムを構文解析して行番号を付加して
    生成した中間表現(6)に対して、上記抽出したコメン
    ト情報(5)の行番号をもとに当該コメント情報(5)
    を付加するコメント付加部(7)とを備え、このコメン
    ト情報(5)を付加した中間表現をもとにコメント付の
    仕様書(9)を生成するように構成したことを特徴とす
    るプログラム仕様書自動生成方式。
  2. (2)プログラムからコメント付の仕様書を自動生成す
    るプログラム仕様書自動生成方式において、入力された
    プログラムから構文解析時にコメント情報(5)を行番
    号に対応づけて抽出するコメント抽出部(3)と、 入力されたプログラムを構文解析して行番号を付加して
    生成した中間表現(6)をもとに生成した行番号付の仕
    様情報に対して、上記抽出したコメント情報(5)の行
    番号をもとに当該コメント情報(5)を付加し、仕様書
    (9)を生成するコメント付加部(7)とを備え、 このコメント付加部(7)によって生成したコメント付
    の仕様書(9)を出力するように構成したことを特徴と
    するプログラム仕様書自動生成方式。
JP16644290A 1990-06-25 1990-06-25 プログラム仕様書自動生成方式 Pending JPH0455938A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16644290A JPH0455938A (ja) 1990-06-25 1990-06-25 プログラム仕様書自動生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16644290A JPH0455938A (ja) 1990-06-25 1990-06-25 プログラム仕様書自動生成方式

Publications (1)

Publication Number Publication Date
JPH0455938A true JPH0455938A (ja) 1992-02-24

Family

ID=15831482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16644290A Pending JPH0455938A (ja) 1990-06-25 1990-06-25 プログラム仕様書自動生成方式

Country Status (1)

Country Link
JP (1) JPH0455938A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116918A (ja) * 2000-10-10 2002-04-19 Oki Electric Ind Co Ltd プログラムの意味解析方法プログラムの意味解析プログラムを記録した記憶媒体
US6951010B2 (en) * 2000-09-19 2005-09-27 Fujitsu Limited Program specification generating system
JP2007523407A (ja) * 2004-02-05 2007-08-16 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング コンピュータプログラムを構成する方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6951010B2 (en) * 2000-09-19 2005-09-27 Fujitsu Limited Program specification generating system
JP2002116918A (ja) * 2000-10-10 2002-04-19 Oki Electric Ind Co Ltd プログラムの意味解析方法プログラムの意味解析プログラムを記録した記憶媒体
JP2007523407A (ja) * 2004-02-05 2007-08-16 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング コンピュータプログラムを構成する方法
US8365163B2 (en) 2004-02-05 2013-01-29 Robert Bosch Gmbh Method for configuring a computer program

Similar Documents

Publication Publication Date Title
US6345244B1 (en) System, method, and product for dynamically aligning translations in a translation-memory system
US6345243B1 (en) System, method, and product for dynamically propagating translations in a translation-memory system
US20020026632A1 (en) Universal computer code generator
JPH10301790A (ja) アセンブル処理方式
JPH05266069A (ja) 中国語と日本語との間の双方向機械翻訳方式
JPH0455938A (ja) プログラム仕様書自動生成方式
JPH0351022B2 (ja)
JPH01273171A (ja) 文書書き換え方式および自動翻訳方式
JPH07146784A (ja) 名標辞書生成装置
JPH03260766A (ja) 括弧生成判定機能付翻訳装置
KR100204068B1 (ko) 개념기반 다국어 번역시스템의 문법 자동수정 방법
Gamper et al. Primary data encoding of a bilingual corpus
JPH07121379A (ja) 複数言語混在コンパイラ
JP3868303B2 (ja) 名称変換プログラム及び装置
JP3190377B2 (ja) 関数名変換装置
JPH0668134A (ja) 翻訳用例ベース利用翻訳方式
JPH077421B2 (ja) 複数言語ドキュメントの作成方式
CN117251415A (zh) 一种中文字符抓取国际化方法、系统及存储介质
JP3087699B2 (ja) 定型情報簡易入力システム及び定型情報簡易入力方法
CN111443979A (zh) 文档处理方法、装置、计算机设备及存储介质
JPH01216474A (ja) 重複表現処理装置
JPH06103023A (ja) 日本語コード変換処理方式
JPH03116273A (ja) 対訳文テンプレート対を用いた機械翻訳システム
JPH1063667A (ja) 文書処理システム
JPH0635955A (ja) 機械翻訳装置