JPH10293685A - プログラム理解支援方法 - Google Patents

プログラム理解支援方法

Info

Publication number
JPH10293685A
JPH10293685A JP24282897A JP24282897A JPH10293685A JP H10293685 A JPH10293685 A JP H10293685A JP 24282897 A JP24282897 A JP 24282897A JP 24282897 A JP24282897 A JP 24282897A JP H10293685 A JPH10293685 A JP H10293685A
Authority
JP
Japan
Prior art keywords
program
description
variable
translation
pattern
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
JP24282897A
Other languages
English (en)
Inventor
Takashi Okayama
敬 岡山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP24282897A priority Critical patent/JPH10293685A/ja
Publication of JPH10293685A publication Critical patent/JPH10293685A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】プログラム中の各記述に対して十分なコメント
付けがなされたコメント付きプログラムを自動生成す
る。 【解決手段】セミコロンなどの記号を用いてプログラム
11を記述毎に分解することにより、プログラム中の記
述の中からそれを構成する個々の記述要素が解析部21
1によって取り出される。そして、抽出部213による
パターン翻訳辞書41の検索により、取り出された各記
述要素に対応する翻訳文が決定される。この後、決定し
た翻訳文と入力プログラム11の記述とが合成されて、
コメント付きプログラム31が出力される。したがっ
て、プログラム11中の記述に対応してコメント文を自
動生成できるようになり、プログラム11中の各記述に
対して十分なコメント付けがなされたコメント付きプロ
グラム31を作成することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータを用
いたプログラム開発支援システムに適用されるプログラ
ム理解支援方法に関する。
【0002】
【従来の技術】従来より、プログラム開発支援の分野で
はプログラマが作成したプログラムの理解を支援するた
めの機能として、プログラムモジュール構造作成システ
ムおよびアルゴリズムチャート作成システムなどが提供
されている。
【0003】プログラムモジュール構造作成システム
は、ソースプログラムに含まれる情報に基づいてそのプ
ログラムのモジュール構造図を生成するものであり、こ
れによりプログラム全体の構造がビジュアル化されて利
用者に提示される。しかし、このシステムはプログラム
全体の大まかな構造理解には適しているが、プログラム
中に含まれる個々の記述の意味を理解することは困難で
ある。
【0004】プログラム中に含まれる個々の記述の意味
を理解するためには、プログラムコーディング時に予め
コメント文を付加しておくことが重要である。このよう
なコメント付きプログラムを作成しておくことにより、
プログラムの修正や改造が容易となるばかりか、他のプ
ログラムにパーツとして利用することが容易となる。
【0005】一方、アルゴリズムチャート作成システム
は、ソースプログラムに含まれる情報に基づいてそのプ
ログラムの制御構造を示すアルゴリズムチャート(フロ
ーチャート)を生成するものであり、これによりプログ
ラムによって実行される処理の流れを利用者に提示する
ことができる。しかし、コメント付けされてないソース
プログラムからアルゴリズムチャートを生成すると、分
岐などの制御構造だけのアルゴリズムチャートしか得ら
れず、アルゴリズムチャート内の個々のステップに対応
する矩形枠にはコメント文字は表示されず空白となって
しまう。したがって、アルゴリズムチャート作成システ
ムを使用する場合においても、コメント付きプログラム
を作成しておくことが重要である。
【0006】しかし、ほとんどのプログラミング言語に
おいては、コメント付けする場合の形式的スタイルにつ
いては規定されているものの、コメント付けするか否か
や、コメント付けの位置およびコメント文の内容などに
ついては全てプログラマに任されている。このため、実
際には、たとえコメントが付けられていても、プログラ
ム中の各記述に対して十分なコメント付けがなされてい
るというケースは比較的まれである事が多い。
【0007】
【発明が解決しようとする課題】上述したように、従来
では、十分なコメント付けがなされたプログラムを使用
しない限り、たとえモジュール構造作成システムやアル
ゴリズムチャート作成システムを使用してもプログラム
中の各記述の意味を理解するのに十分な情報を利用者に
提供することができないと問題があった。
【0008】この発明はこのような点に鑑みてなされた
ものであり、入力プログラムを解析することによりその
プログラム中の記述に対応してコメント文を自動生成で
きるようにし、プログラム中の各記述に対して十分なコ
メント付けがなされたコメント付きプログラムを作成す
ることが可能なプログラム理解支援方法を提供すること
を目的とする。
【0009】
【課題を解決するための手段】この発明は、コンピュー
タを用いてプログラム作成を支援するプログラム理解支
援方法であって、コーディングされたソースプログラム
を入力し、この入力プログラムの記述の中からそれを構
成する記述要素を取り出し、所定の記述パターンとその
内容を表す翻訳文との対応関係が定義された記述パター
ン辞書を参照して、前記入力プログラムから取り出した
記述要素に対応する翻訳文を決定し、この決定した翻訳
文と前記入力プログラムの記述とを合成して、コメント
付きプログラムを出力することを特徴とする。
【0010】このプログラム理解支援方法においては、
例えばC言語でコーディングされたソースプログラムの
場合には、セミコロンなどの記号を用いてプログラムを
記述毎に分解することにより、プログラム中の記述の中
からそれを構成する個々の記述要素が取り出される。そ
して、記述パターンとその内容を表す翻訳文との対応関
係が定義された記述パターン辞書の検索により、取り出
された各記述要素に対応する翻訳文が決定される。この
後、決定した翻訳文と入力プログラムの記述とが合成さ
れて、コメント付きプログラムが出力される。したがっ
て、プログラム中の記述に対応してコメント文を自動生
成できるようになり、プログラム中の各記述に対して十
分なコメント付けがなされたコメント付きプログラムを
作成することができる。
【0011】また、記述パターン辞書には、所定の関数
を含む記述パターンについてその関数の引数の値に応じ
て異なる複数の翻訳文を定義しておくことが好ましい。
これにより、プログラムから取り出した記述要素に含ま
れる関数の引数に合致した翻訳文を記述パターン辞書か
ら取得することが可能となり、同一の関数であっても引
数の違いにより異なるコメントを付加することができ
る。
【0012】また、記述パターン辞書に加え、変数とし
て使用可能な所定のシンボルマークとそれに対応する変
数名などの用語との対応関係が定義されたシンボル辞書
を用意しておき、入力プログラムから取り出した記述要
素が変数宣言等であるときは、シンボル辞書を参照する
ことにより、その変数宣言で使用されるシンボルマーク
に対応した変数名を決定して、その変数名を前記変数宣
言のコメント文として前記入力プログラムの記述に合成
することが好ましい。
【0013】また、シンボル辞書は、入力プログラムか
ら取り出した記述要素に変数が含まれるときもその変数
名を決定するために使用することができる。この場合、
記述パターン辞書から得た翻訳文とシンボル辞書から得
た変数名とを合成することにより、変数を含む記述要素
に合致したコメント文を生成することができる。
【0014】また、入力プログラム中に含まれる変数の
変数名がコメント文によって予め記述されているとき
は、その変数を示すシンボルマークについてそのプログ
ラム中の出現位置と変数名とを示すローカルシンボル辞
書を作成し、このローカルシンボル辞書を参照して、コ
メント付けされてない記述要素に含まれるシンボルに対
応する変数名を、そのシンボルの出現位置に応じて決定
することが好ましい。これにより、プログラム中に含ま
れる複数の関数に同一の変数が使用されている場合で
も、入力プログラムに予め付加されているコメントで定
義された変数名に従って、各関数内における変数を使用
した記述に対して適切なコメント付けを行うことができ
る。
【0015】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の第1実施形
態に係るプログラムパターン翻訳システムの機能構成が
示されている。このプログラムパターン翻訳システム2
1は、コンピュータを利用してプログラム開発・作成を
支援するためのソフトウェアであり、C言語などでコー
ディングされたソースプログラム11を入力し、そのソ
ースプログラム11をパターン翻訳辞書41およびシン
ボル翻訳辞書42を用いて解析することによりコメント
付きプログラム21を出力する。
【0016】このプログラムパターン翻訳システム21
は、図示のように、入力部21、解析部212、抽出部
213、および出力部214から構成されている。入力
部21は、コメント付けの対象となるソースプログラム
11を入力し、解析部212に渡す。解析部212は、
入力されたソースプログラム11中の記述を解析してそ
の記述を記述要素毎に分解する。この分解は、たとえば
セミコロンなどの記号で区切られたステートメント文毎
に行われ、これによって得られた各記述要素(変数宣
言、関数宣言、関数内における内部変数宣言、関数内で
使用する関数の宣言、実行文など)は、パターン翻訳辞
書41およびシンボル翻訳辞書42を検索可能な記述形
式(記述パターン)に変換されて抽出部213に渡され
る。
【0017】抽出部213は、解析部212により変換
された記述形式を用いてパターン翻訳辞書41およびシ
ンボル翻訳辞書42の検索を行い、各記述要素の意味を
表す翻訳文をそれら辞書から取り出す。出力部214
は、抽出部213によって抽出された翻訳文とソースプ
ログラム11の記述とを合成して、コメント付きプログ
ラム31を出力する。
【0018】パターン翻訳辞書41には、例えばC言語
などのプログラム言語で用いられる各関数やIF文、W
HILE文などで用いられる制御構造毎にそれを使用し
た所定の記述パターンとその内容を表す翻訳文との対応
関係が定義されている。このパターン翻訳辞書41の内
容の一例を図2に示す。
【0019】図2においては、記述パターンの一例とし
て、“open( ,0_RDONLY)”、“ex
it(0)”、“stat”,“close”が定義さ
れており、それに対応する翻訳文としては、「読み込み
モードでファイルをオープンする」、「正常終了す
る」、「ステータスを取得」、「クローズする」が定義
されている場合が示されている。
【0020】シンボル翻訳辞書42には、例えばC言語
で記述されたプログラム中に変数名や関数名として使用
可能な所定のシンボルマークとそれに対応する翻訳用語
との対応関係が定義されている。このシンボル翻訳辞書
42の内容の一例を図3に示す。
【0021】図3においては、シンボルマークの一例と
して、変数“fd”,“struct stat”,
“st−time”が定義されており、それに対応する
翻訳用語としては、「ファイルディスクプリタ」、「フ
ァイルステータス構造体」、「ファイル修正時刻」が定
義されている場合が示されている。
【0022】このシンボル翻訳辞書42は、例えば、ソ
ースプログラム11中の変数宣言で使用されるシンボル
マークからそれに対応する変数名を決定したり、記述パ
ターンの翻訳文中で使用される変数名を決定するためな
どに用いられる。
【0023】次に、図4のフローチャートを参照して、
図1のプログラムパターン翻訳システムによって実行さ
れるコメント付け処理の手順を説明する。まず、入力部
211によってコメント付け対象のソースプログラム1
1が入力され(ステップS111)、その入力プログラ
ムが解析部212により各記述毎に分解される(ステッ
プS112)。そして、以下のステップS113〜S1
23までの処理が全ての記述パターンに対して順番に実
行される。
【0024】すなわち、まず、翻訳対象の記述パターン
に対してパターン翻訳辞書41の検索が行われ、その記
述パターンに対応する翻訳文の定義が存在するか否かが
調べられる(ステップS114,S115)。翻訳文の
定義が存在しないならば、その記述パターンは翻訳され
ずにそのまま出力部214から出力される(ステップS
116)。
【0025】翻訳文の定義が存在する場合には、その記
述パターンに対応する翻訳文がパターン翻訳辞書41か
ら取り出され(ステップS117)、翻訳文の定義中
(または、それに対応する記述パターン中)に変数が含
まれるか否かが調べられる(ステップS118)。変数
が含まれているならば、その変数に対応するシンボルマ
ークを用いたシンボル翻訳辞書42の検索が行われ、そ
のシンボルマークに対応する翻訳用語の定義が存在する
か否かが調べられる(ステップS119,S120)。
翻訳用語の定義が存在する場合には、その翻訳用語がシ
ンボル翻訳辞書42から取り出され(ステップS12
1)、その翻訳用語はパターン翻訳辞書41から取り出
された翻訳文と合成される(ステップS122)。そし
て、その合成結果は現在対象となっている記述パターン
に対するコメント文としてその記述パターンに合成され
て、出力部214から出力される(ステップS12
3)。
【0026】この図4のフローチャートの処理で得られ
るコメント付きプログラムの一例を図5に示す。図5
(a)はコメント付け対象の入力プログラム11であ
り、図5(b)はそのプログラムを解析することによっ
て得られたコメント付きプログラム31である。
【0027】 ここでは、変数宣言の記述パターン struct stat sts に対するコメント文として /*ファイルステータス構造体を定義*/ が付加され、実行文の記述パターン if(!(fd=(int *)open(file,0_RDONLY) ))return NULL に対するコメント文として /*読み込みモードでファイルをオープンする*/ が付加されている。
【0028】 また、同じく実行文の記述パターン stat(file,&sts) に対するコメント文として、 /*パスで指定されたファイルのステータス取得*/ が付加され、 contents=(char *)malloc(sts.st_siz e) に対するコメント文として /*指定されたサイズの領域をメモリ上に確保する*/ が付加され、 close(fd) に対するコメント文として */ファイルをクローズする*/ が付加されている。
【0029】ここで、*/はコメント分の開始を示し、
*/は終了を示している。以上のように、第1実施形態
に係るプログラム翻訳システム21においては、セミコ
ロンなどの記号を用いてプログラム11を記述毎に分解
することにより、プログラム中の記述の中からそれを構
成する個々の記述要素が取り出される。そして、パター
ン翻訳辞書41の検索により、取り出された各記述要素
に対応する翻訳文が決定される。この後、決定した翻訳
文と入力プログラム11の記述とが合成されて、コメン
ト付きプログラム31が出力される。したがって、プロ
グラム11中の記述に対応してコメント文を自動生成で
きるようになり、プログラム11中の各記述に対して十
分なコメント付けがなされたコメント付きプログラム3
1を作成することができる。
【0030】また、パターン翻訳辞書41に加え、変数
や関数として使用可能な所定のシンボルマークとそれに
対応する変数名などの用語との対応関係が定義されたシ
ンボル翻訳辞書42を使用する事により、入力プログラ
ム11から取り出した記述要素が変数宣言等であるとき
は、シンボル翻訳辞書42を参照することにより、その
変数宣言で使用されるシンボルマークに対応した変数名
を決定して、その変数名を変数宣言のコメント文として
入力プログラム11の記述に合成することができる。ま
た、シンボル翻訳辞書42は、入力プログラム11から
取り出した記述要素に変数が含まれるときにその変数名
を決定するためにも使用され、パターン翻訳辞書41か
ら得た翻訳文とシンボル翻訳辞書42から得た変数名と
を合成することにより、変数を含む記述要素に合致した
コメント文を生成することができる。
【0031】図6には、この発明の第2実施形態に係る
プログラムパターン翻訳システム21の構成が示されて
いる。このプログラムパターン翻訳システム21におい
ては、図1のパターン翻訳辞書41の代わりに、順序付
きパターン翻訳辞書43が使用されており、他の構成は
図1と同じである。
【0032】順序付きパターン翻訳辞書43には、図1
のパターン翻訳辞書41のようにある特定の限定的な記
述パターンについての翻訳文が定義されているだけでな
く、所定の関数を含む一般的な記述パターンについては
その関数の引数の値に応じて異なる複数の翻訳文が順序
づけされて定義されている。例えば、図7に示されてい
るように、オープン関数を用いた記述パターンに対して
は、図2で説明した限定的な記述パターン“open
( ,0_RDONLY)”に加え、引数の違うオー
プン関数の記述パターンとして、“open( ,
n),0<n<16”と、“open( ,n),n
>15”が登録されている。ここで、nはオープン関数
のモード番号を示す引数であり、書き込み用ファイルと
してオープンするなどといった他のファイルオープンモ
ードの種類を表している。
【0033】引数nが1から15までの範囲であるとき
は「モードnでファイルをオープンする」という翻訳文
が用いられ、引数nがオープン関数に未定義のモードを
示すときは「エラー;存在しないモードnでオープンし
ている」という翻訳文が用いられる。
【0034】次に、図8のフローチャートを参照して、
図6のプログラムパターン翻訳システムによって実行さ
れるコメント付け処理の手順を説明する。まず、入力部
211によってコメント付け対象のソースプログラム1
1が入力され(ステップS211)、その入力プログラ
ムが解析部212により各記述毎に分解される(ステッ
プS212)。そして、以下のステップS213〜S2
25までの処理が全ての記述パターンに対して順番に実
行される。
【0035】すなわち、まず、翻訳対象の記述パターン
に対して順序付きパターン翻訳辞書43の検索が行わ
れ、その記述パターンに対応する翻訳文の定義が存在す
るか否かが調べられる(ステップS214,S21
5)。そして、その記述パターンに対応する翻訳文が複
数順序づけされて定義されている場合には、それら翻訳
文が順に参照されることにより記述パターンに最もマッ
チした翻訳文が決定される(ステップS216)。これ
により、例えば、引数が異なる同一関数についての翻訳
文が複数定義されている場合には、記述パターンに含ま
れる引数に合致した翻訳文が選択されることになる。
【0036】該当する翻訳文の定義が存在しないなら
ば、その記述パターンは翻訳されずにそのまま出力部2
14から出力される(ステップS217,S218)。
該当する翻訳文の定義が存在する場合には、その記述パ
ターンに対応する翻訳文が順序付きパターン翻訳辞書4
3から取り出され(ステップS219)、翻訳文の定義
中(または、それに対応する記述パターン中)に変数が
含まれるか否かが調べられる(ステップS220)。変
数が含まれているならば、その変数に対応するシンボル
マークを用いたシンボル翻訳辞書42の検索が行われ、
そのシンボルマークに対応する翻訳用語の定義が存在す
るか否かが調べられる(ステップS221,S22
2)。翻訳用語の定義が存在する場合には、その翻訳用
語がシンボル翻訳辞書42から取り出され(ステップS
223)、その翻訳用語は順序付きパターン翻訳辞書4
3から取り出された翻訳文と合成される(ステップS2
24)。そして、その合成結果は現在対象となっている
記述パターンに対するコメント文としてその記述パター
ンに合成されて、出力部214から出力される(ステッ
プS225)。
【0037】以上のように、第2実施形態においては、
所定の関数を含む記述パターンについてその関数の引数
の値に応じて異なる複数の翻訳文を定義しておくことに
より、プログラム11から取り出した記述パターンに含
まれる関数の引数に合致した翻訳文を順序付きパターン
翻訳辞書43から取得することが可能となり、同一の関
数であっても引数の違いにより異なるコメントを付加す
ることができるようになる。
【0038】図9には、この発明の第3実施形態に係る
プログラムパターン翻訳システム21の構成が示されて
いる。このプログラムパターン翻訳システム21におい
ては、図1のパターン翻訳辞書41およびシンボル翻訳
辞書42に加え、ローカルシンボル翻訳辞書44が設け
られており、他の構成は図1と同じである。
【0039】ローカルシンボル翻訳辞書44は、コメン
ト付け対象のプログラム11毎にその記述に基づいて生
成されるシンボル翻訳辞書であり、プログラム11に予
め付加されているコメント文に基づいてプログラム11
中に出現する変数名の定義をその変数の出現場所毎に管
理するために用いられる。すなわち、C言語等において
は、変数は宣言した位置や記憶クラスによってスコープ
と称される変数の有効範囲が異なり、ある関数内でのみ
有効な変数を用いたり、また、関数外で宣言された変数
についてはプログラムファイルの全ての範囲において使
用できるといった規定がある。
【0040】このため、第3実施形態においては、プロ
グラム11中に含まれる変数の変数名がコメント文によ
って予め記述されているときは、その変数を示すシンボ
ルマークについてそのプログラム中の出現位置と変数名
とを示すローカルシンボル翻訳辞書44を作成し、この
ローカルシンボル翻訳辞書44を参照することによっ
て、コメント付けされてない記述パターンに含まれるシ
ンボルに対応する的確な変数名をそのシンボルの出現位
置に応じて決定するようにしている。
【0041】例えば、図10のソースプログラム11の
ように、関数外にある整数型変数宣言“int fd”
に対して「ユーザファイル1」というコメント付けがな
されており、またメイン関数“main( )”の記述
内部にある整数型変数宣言“int fd”に対して
「ユーザファイル2」というコメント付けがなされてい
るプログラムの場合には、図11に示されているよう
に、ローカルシンボル翻訳辞書44には、シンボルマー
クfdについて、関数外(−)とメイン関数(mai
n)の2つの出現エリアと、それらに対応する翻訳文
「ユーザファイル1」、「ユーザファイル2」が登録さ
れる。
【0042】この場合、メイン関数“main( )”
の記述内部にある記述パターン“fd=open(
, )”に対しては、「ユーザファイル2をオー
プンする」といったコメント付けがなされることにな
る。
【0043】次に、図12のフローチャートを参照し
て、図9のプログラムパターン翻訳システムによって実
行されるコメント付け処理の手順を説明する。まず、入
力部211によってコメント付け対象のソースプログラ
ム11が入力され(ステップS311)、その入力プロ
グラムが解析部212により各記述毎に分解されるとと
もに、各記述内に付加されているコメント文に従ってロ
ーカルシンボル翻訳辞書44の作成が行われる(ステッ
プS312)。そして、以下のステップS313〜S3
26までの処理が全ての記述パターンに対して順番に実
行される。
【0044】すなわち、まず、翻訳対象の記述パターン
に対してパターン翻訳辞書41の検索が行われ、その記
述パターンに対応する翻訳文の定義が存在するか否かが
調べられる(ステップS314,S315)。翻訳文の
定義が存在しないならば、その記述パターンは翻訳され
ずにそのまま出力部214から出力される(ステップS
316)。
【0045】翻訳文の定義が存在する場合には、その記
述パターンに対応する翻訳文がパターン翻訳辞書41か
ら取り出され(ステップS317)、翻訳文の定義中
(または、それに対応する記述パターン中)に変数が含
まれるか否かが調べられる(ステップS318)。変数
が含まれているならば、その変数に対応するシンボルマ
ークを用いたローカルシンボル翻訳辞書44の検索が行
われ、そのシンボルマークに対応する翻訳用語の定義が
存在するか否かが調べられる(ステップS319,S3
20)。翻訳用語の定義が存在する場合には、その出現
位置に対応する翻訳用語がローカルシンボル翻訳辞書4
4から取り出され(ステップS321)、その翻訳用語
はパターン翻訳辞書41から取り出された翻訳文と合成
される(ステップS325)。そして、その合成結果は
現在対象となっている記述パターンに対するコメント文
としてその記述パターンに合成されて、出力部214か
ら出力される(ステップS326)。
【0046】一方、ローカルシンボル翻訳辞書44に対
応する翻訳用語の定義が存在しない場合には、シンボル
翻訳辞書42の検索が行われ、該当する翻訳用語の定義
が存在するか否かが調べられる(ステップS322,S
323)。翻訳用語の定義が存在する場合には、その翻
訳用語がシンボル翻訳辞書42から取り出され(ステッ
プS324)、その翻訳用語はパターン翻訳辞書41か
ら取り出された翻訳文と合成される(ステップS32
5)。そして、その合成結果は現在対象となっている記
述パターンに対するコメント文としてその記述パターン
に合成されて、出力部214から出力される(ステップ
S326)。
【0047】なお、この第3実施形態のローカルシンボ
ル翻訳辞書44は、第2実施形態の順序付きパターン翻
訳辞書43と組み合わせて使用することもできる。ま
た、第1乃至第3実施形態のコメント付け処理の手順を
コンピュータに実行させるコンピュータプログラムをフ
ロッピーディスクやCD−ROMなどの記録媒体に格納
して配布することにより、任意のコンピュータ上でコメ
ント付けを伴うプログラムの作成作業を支援することが
可能となる。
【0048】
【発明の効果】以上説明したように、この発明によれ
ば、入力プログラムを解析することによりそのプログラ
ム中の記述に対応してコメント文を自動生成できるよう
になり、プログラム中の各記述に対して十分なコメント
付けがなされたコメント付きプログラムを作成すること
が可能となる。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係るプログラムパタ
ーン翻訳システムの機能構成を示すブロック図。
【図2】同第1実施形態のシステムに適用されるパター
ン翻訳辞書の具体的な記述例を示す図。
【図3】同第1実施形態のシステムに適用されるシンボ
ル翻訳辞書の具体的な記述例を示す図。
【図4】同第1実施形態のシステムによって実行される
コメント付け処理の手順を示すフローチャート。
【図5】同第1実施形態のシステムでコメント付け対象
となる入力プログラムと、コメント付け処理された出力
プログラムの一例を示す図。
【図6】この発明の第2実施形態に係るプログラムパタ
ーン翻訳システムの機能構成を示すブロック図。
【図7】同第2実施形態のシステムに適用される順序付
きパターン翻訳辞書の具体的な記述例を示す図。
【図8】同第2実施形態のシステムによって実行される
コメント付け処理の手順を示すフローチャート。
【図9】この発明の第3実施形態に係るプログラムパタ
ーン翻訳システムの機能構成を示すブロック図。
【図10】同第3実施形態のシステムにおける入力プロ
グラムの一例を示す図。
【図11】同第3実施形態のシステムにおいて図10の
入力プログラムから生成されるローカルシンボル翻訳辞
書の一例を示す図。
【図12】同第3実施形態のシステムによって実行され
るコメント付け処理の手順を示すフローチャート。
【符号の説明】
11…ソースプログラム、21…プログラムパターン翻
訳システム、31…コメント付きプログラム、41…パ
ターン翻訳辞書、42…シンボル翻訳辞書、43…順序
付きパターン翻訳辞書、44…ローカルシンボル翻訳辞
書、211…入力部、212…解析部、213…抽出
部、214…出力部。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータを用いてプログラム作成を
    支援するプログラム理解支援方法であって、 コーディングされたソースプログラムを入力し、 この入力プログラムの記述の中からそれを構成する記述
    要素を取り出し、 所定の記述パターンとその内容を表す翻訳文との対応関
    係が定義された記述パターン辞書を参照して、前記入力
    プログラムから取り出した記述要素に対応する翻訳文を
    決定し、 この決定した翻訳文と前記入力プログラムの記述とを合
    成して、コメント付きプログラムを出力することを特徴
    とするプログラム理解支援方法。
  2. 【請求項2】 前記記述パターン辞書には、各関数およ
    び制御構造毎にそれを使用した記述パターンとそれに対
    応する翻訳文との対応関係が定義されていることを特徴
    とする請求項1記載のプログラム理解支援方法。
  3. 【請求項3】 前記記述パターン辞書には、所定の関数
    を含む記述パターンについてその関数の引数の値に応じ
    て異なる複数の翻訳文が定義されており、 前記入力プログラムから取り出した記述要素に含まれる
    関数の引数に合致した翻訳文が前記記述パターン辞書か
    ら取得されることを特徴とする請求項1記載のプログラ
    ム理解支援方法。
  4. 【請求項4】 前記入力プログラムから取り出した記述
    要素が変数宣言であるとき、変数として使用可能な所定
    のシンボルマークとそれに対応する変数名との対応関係
    が定義されたシンボル辞書を参照して、前記変数宣言で
    使用されるシンボルマークに対応した変数名を決定し、 この決定した変数名を、前記変数宣言のコメント文とし
    て前記入力プログラムの記述に合成することを特徴とす
    る請求項1記載のプログラム理解支援方法。
  5. 【請求項5】 前記入力プログラムから取り出した記述
    要素に変数が含まれるとき、変数として使用可能な所定
    のシンボルマークとそれに対応する変数名との対応関係
    が定義されたシンボル辞書を参照して、前記記述要素に
    含まれる変数に対応した変数名を決定し、 この決定した変数名と前記記述要素に対応する翻訳文と
    を合成して、変数を含む記述要素に対応したコメント文
    を生成することを特徴とする請求項1記載のプログラム
    理解支援方法。
  6. 【請求項6】 前記入力プログラム中に含まれる変数の
    変数名がコメント文によって予め記述されているとき、
    その変数を示すシンボルマークについてそのプログラム
    中の出現位置と変数名とを示すローカルシンボル辞書を
    作成し、 このローカルシンボル辞書を参照して、コメント付けさ
    れてない記述要素に含まれるシンボルに対応する変数名
    を、そのシンボルの出現位置に応じて決定することを特
    徴とする請求項1記載のプログラム理解支援方法。
  7. 【請求項7】 コンピュータプログラムを記録した記録
    媒体であって、前記プログラムには、 コーディングされたソースプログラムを入力し、 この入力プログラムの記述の中からそれを構成する記述
    要素を取り出し、 所定の記述パターンとその内容を表す翻訳文との対応関
    係が定義された記述パターン辞書を参照して、前記入力
    プログラムから取り出した記述要素に対応する翻訳文を
    決定し、 この決定した翻訳文と前記入力プログラムの記述とを合
    成して、コメント付きプログラムを出力する手続きが記
    述されていることを特徴とするプログラム記録媒体。
JP24282897A 1997-02-19 1997-09-08 プログラム理解支援方法 Pending JPH10293685A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24282897A JPH10293685A (ja) 1997-02-19 1997-09-08 プログラム理解支援方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-35036 1997-02-19
JP3503697 1997-02-19
JP24282897A JPH10293685A (ja) 1997-02-19 1997-09-08 プログラム理解支援方法

Publications (1)

Publication Number Publication Date
JPH10293685A true JPH10293685A (ja) 1998-11-04

Family

ID=26373935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24282897A Pending JPH10293685A (ja) 1997-02-19 1997-09-08 プログラム理解支援方法

Country Status (1)

Country Link
JP (1) JPH10293685A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program

Similar Documents

Publication Publication Date Title
US10698682B1 (en) Computerized software development environment with a software database containing atomic expressions
EP1306775A1 (en) Machine translation
EP1349079A1 (en) Machine translation
JPH09509271A (ja) コンピュータ間通信の方法とプロセスおよびそのためのプログラム作成のための一般化された方法
JPH11249875A (ja) プログラミング支援方法及びその装置
JPH10293685A (ja) プログラム理解支援方法
de Moura Action notation transformations
JP2581381B2 (ja) 自然言語インタフェース方式
Fraternali et al. Almost rerere: An approach for automating conflict resolution from similar resolved conflicts
JP3584204B2 (ja) 原始プログラム自動変換装置
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
Harmer et al. Transformations to Restructure and Re–engineer COBOL Programs
JP2006268777A (ja) ソースコード管理システム、ソースコード管理方法、およびソースコード管理プログラム
JP3014409B2 (ja) 自然言語自動翻訳装置
JP2817497B2 (ja) 辞書編集装置
Porubän et al. Abstraction of computer language patterns: The inference of textual notation for a dsl
JPH10269066A (ja) 日本語によるシェル自動作成装置
JP4071657B2 (ja) テキスト処理装置
Gregory et al. A computational model of ellipsis resolution
JPH0916593A (ja) 専門用語抽出装置及び文書理解支援システム
Black Jr AI assistance for requirements management
JPH06259466A (ja) 機械翻訳装置
JPH07334504A (ja) 日本語処理システム
Marting et al. FST trimming: ending dictionary redundancy in Apertium
Lane Porting Pan I to Allegro COMMON Lisp