(57)【要約】【課題】ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができること。【解決手段】シンボル情報抽出部１０４ｂは、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出し、シンボル情報記憶部１０３ｂは、シンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶し、プログラム編集部１０４ｃは、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集し、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報とを比較して、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。【選択図】        図１
2005234856.tif 000002
【特許請求の範囲】
【請求項１】
ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを入力する入力手段を備えたプログラム編集支援装置であって、
前記ソースプログラムから前記シンボルと該シンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとから該シンボルと該シンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出するシンボル情報抽出手段と、
前記シンボルと該シンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶するシンボル情報記憶手段と、
前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを編集するプログラム編集手段と、
前記抽出シンボル情報と前記記憶シンボル情報とを比較して、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御する編集制御手段と、
を備えたことを特徴とするプログラム編集支援装置。
【請求項２】
前記シンボルと前記シンボル情報を対応付けて編集するシンボル情報編集手段をさらに備え、
前記編集制御手段は、前記抽出シンボル情報と前記記憶シンボル情報のシンボルが同じで、該抽出シンボル情報のシンボルがＣ＋＋言語の関数または異なるスコープの内部変数である場合は、該抽出シンボル情報を前記シンボル情報編集手段によって編集し、前記シンボル情報記憶手段に記憶するよう制御することを特徴とする請求項１に記載のプログラム編集支援装置。
【請求項３】
前記編集制御手段は、前記抽出シンボル情報と前記記憶シンボル情報のシンボルが同じで、該抽出シンボル情報のシンボルがＣ＋＋言語の関数でなく、また異なるスコープの内部変数でない場合は、前記入力手段によって修正入力された抽出シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御することを特徴とする請求項１または２に記載のプログラム編集支援装置。
【請求項４】
前記シンボルのプログラム機能であるシンボル機能と該シンボル機能の情報であるシンボル機能情報とを対応付けて編集するシンボル機能編集手段と、
前記シンボル機能と前記シンボル機能情報とを対応付けて記憶するシンボル機能記憶手段と、をさらに備え、
前記編集制御手段は、前記抽出シンボル情報が新規である場合は、前記入力手段によって入力されたシンボル機能とシンボル機能情報を対応付けて前記シンボル機能編集手段によって編集し、前記シンボル機能記憶手段によって記憶するよう制御することを特徴とする請求項１、２または３に記載のプログラム編集支援装置。
【請求項５】
前記抽出シンボル情報と前記記憶シンボル情報の間の相互の整合性を確認する情報である整合性確認情報を記憶する整合性確認情報記憶手段をさらに備え、
前記編集制御手段は、前記整合性確認情報を用いて前記抽出シンボル情報と前記記憶シンボル情報の間の相互の整合性を確認し、確認した結果が不整合であった場合は、前記入力手段によって修正入力された抽出シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御することを特徴とする請求項１〜４のいずれか一つに記載のプログラム編集支援装置。
【請求項６】
前記編集制御手段は、前記抽出シンボル情報に含まれるシンボル機能である抽出シンボル機能と、前記記憶シンボル情報に含まれるシンボル機能である記憶シンボル機能とを比較し、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御することを特徴とする請求項１〜５のいずれか一つに記載のプログラム編集支援装置。
【請求項７】
前記編集制御手段は、前記抽出シンボル機能と前記記憶シンボル機能が重複し、前記入力手段によって前記抽出シンボル機能と該抽出シンボル機能に対応付けられたシンボル機能情報とが変更されなかった場合は、前記記憶シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御することを特徴とする請求項６に記載のプログラム編集支援装置。
【請求項８】
前記編集制御手段は、前記抽出シンボル機能と前記記憶シンボル機能とが重複し、前記入力手段によって前記抽出シンボル機能と該抽出シンボル機能に対応付けられたシンボル機能情報とが変更された場合は、変更された抽出シンボル機能と該変更された抽出シンボル機能に対応付けられたシンボル機能情報とを前記シンボル機能編集手段によって編集し、前記シンボル機能記憶手段によって記憶し、該変更されたシンボル機能を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集し、また該変更されたシンボル機能を用いて前記抽出シンボル情報を前記シンボル情報編集手段によって編集し、前記シンボル情報記憶手段によって記憶するよう制御することを特徴とする請求項６または７に記載のプログラム編集支援装置。
【請求項９】
前記編集制御手段は、前記入力手段から入力されたシンボルと該シンボルに対応付けられたシンボル情報とを用いて前記記憶シンボル情報を前記シンボル情報編集手段によって変更した場合は、変更した記憶シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御することを特徴とする請求項１〜８のいずれか一つに記載のプログラム編集支援装置。
【請求項１０】
ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを入力する入力工程を含んだプログラム編集支援方法であって、
前記ソースプログラムから前記シンボルと該シンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとから該シンボルと該シンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出するシンボル情報抽出工程と、
前記シンボルと該シンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶するシンボル情報記憶工程と、
前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを編集するプログラム編集工程と、
前記抽出シンボル情報と前記記憶シンボル情報とを比較して、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集工程によって編集するよう制御する編集制御工程と、
を含んだことを特徴とするプログラム編集支援方法。
【請求項１１】
前記シンボルのプログラム機能であるシンボル機能と該シンボル機能の情報であるシンボル機能情報とを対応付けて編集するシンボル機能編集工程と、
前記シンボル機能と前記シンボル機能情報とを対応付けて記憶するシンボル機能記憶工程と、をさらに含み、
前記編集制御工程は、前記抽出シンボル情報が新規である場合は、前記入力工程によって入力されたシンボル機能とシンボル機能情報を対応付けて前記シンボル機能編集工程によって編集し、前記シンボル機能記憶工程によって記憶するよう制御することを特徴とする請求項１０に記載のプログラム編集支援方法。
【請求項１２】
前記抽出シンボル情報と前記記憶シンボル情報の間の相互の整合性を確認する情報である整合性確認情報を記憶する整合性確認情報記憶工程をさらに含み、
前記編集制御工程は、前記整合性確認情報を用いて前記抽出シンボル情報と前記記憶シンボル情報の間の相互の整合性を確認し、確認した結果が不整合であった場合は、前記入力工程によって修正入力された抽出シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集工程によって編集するよう制御することを特徴とする請求項１０または１１に記載のプログラム編集支援方法。
【請求項１３】
前記編集制御工程は、前記抽出シンボル情報に含まれるシンボル機能である抽出シンボル機能と、前記記憶シンボル情報に含まれるシンボル機能である記憶シンボル機能とを比較し、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集工程によって編集するよう制御することを特徴とする請求項１０、１１または１２に記載のプログラム編集支援方法。
【請求項１４】
前記編集制御工程は、前記入力工程から入力されたシンボルと該シンボルに対応付けられたシンボル情報とを用いて前記記憶シンボル情報を前記シンボル情報編集工程によって変更した場合は、変更した記憶シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集工程によって編集するよう制御することを特徴とする請求項１０〜１３のいずれか一つに記載のプログラム編集支援方法。
【請求項１５】
ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを入力する入力手順をコンピュータに実行させるプログラム編集支援プログラムであって、
前記ソースプログラムから前記シンボルと該シンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとから該シンボルと該シンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出するシンボル情報抽出手順と、
前記シンボルと該シンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶するシンボル情報記憶手順と、
前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを編集するプログラム編集手順と、
前記抽出シンボル情報と前記記憶シンボル情報とを比較して、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手順によって編集するよう制御する編集制御手順と、
をコンピュータに実行させることを特徴とするプログラム編集支援プログラム。
【請求項１６】
前記シンボルのプログラム機能であるシンボル機能と該シンボル機能の情報であるシンボル機能情報とを対応付けて編集するシンボル機能編集手順と、
前記シンボル機能と前記シンボル機能情報とを対応付けて記憶するシンボル機能記憶手順と、をさらにコンピュータに実行させ、
前記編集制御手順は、前記抽出シンボル情報が新規である場合は、前記入力手順によって入力されたシンボル機能とシンボル機能情報を対応付けて前記シンボル機能編集手順によって編集し、前記シンボル機能記憶手順によって記憶するよう制御することを特徴とする請求項１５に記載のプログラム編集支援プログラム。
【請求項１７】
前記抽出シンボル情報と前記記憶シンボル情報の間の相互の整合性を確認する情報である整合性確認情報を記憶する整合性確認情報記憶手順をさらにコンピュータに実行させ、
前記編集制御手順は、前記整合性確認情報を用いて前記抽出シンボル情報と前記記憶シンボル情報の間の相互の整合性を確認し、確認した結果が不整合であった場合は、前記入力手順によって修正入力された抽出シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手順によって編集するよう制御することを特徴とする請求項１５または１６に記載のプログラム編集支援プログラム。
【請求項１８】
前記編集制御手順は、前記抽出シンボル情報に含まれるシンボル機能である抽出シンボル機能と、前記記憶シンボル情報に含まれるシンボル機能である記憶シンボル機能とを比較し、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手順によって編集するよう制御することを特徴とする請求項１５、１６または１７に記載のプログラム編集支援プログラム。
【請求項１９】
前記編集制御手順は、前記入力手順から入力されたシンボルと該シンボルに対応付けられたシンボル情報とを用いて前記記憶シンボル情報を前記シンボル情報編集手順によって変更した場合は、変更した記憶シンボル情報を用いて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手順によって編集するよう制御することを特徴とする請求項１５〜１８のいずれか一つに記載のプログラム編集支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラム編集支援装置、プログラム編集支援方法およびプログラムに関し、特に、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができるプログラム編集支援装置、プログラム編集支援方法およびプログラムに関するものである。
【背景技術】
【０００２】
従来、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを入力する入力手段を備えたプログラム編集支援装置が知られている。かかる装置においては、ソースプログラムを作成する場合、ユーザがソースプログラムの内容を容易に理解できるようにソースプログラムに記述されているシンボルに説明のコメントを記述する。ソースプログラムを作成する過程では、変数や関数などのシンボルが変更される場合が頻繁に生じ、その度にコメントも変更する必要がある。
【０００３】
また、ソースプログラムを作成する過程では、ソースプログラムに記述されたシンボルが変更されたにも関わらず、コメントが変更されないために、シンボルとコメントが不整合になることがしばしば生じる。また、ソースプログラムの作成者以外の人がソースプログラムを改定したために、同じ機能を有する異なるシンボルが不必要に重複するということがしばしば生じる。結果的に、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができなかった。そこで、ソースプログラムに記述されたシンボルに説明のコメントを入力する従来技術が開示されている。
【０００４】
例えば、特許文献１では、ソースプログラムを作成する場合に、コメントを記述するか否かに関するユーザの恣意を排して、ソースプログラムの内容から判断してコメントを必要とする部分に漏れなくコメントを記述する従来技術が開示されている。また、特許文献２では、ソースプログラムの不用意な改竄を防ぎ、簡易にソースプログラムにコメントを記述できるフォーマットを提供する従来技術が開示されている。
【０００５】
【特許文献１】特開平９−４４３４３号公報
【特許文献１】特開平５−１１３８８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１の従来技術では、ソースプログラムを作成する場合に、コメントを記述するか否かに関するユーザの恣意を排して、ソースプログラムの内容から判断してコメントを必要とする部分に漏れなくコメントを記述できるが、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができないという課題を解決することができなかった。また、特許文献２の従来技術では、ソースプログラムの不用意な改竄を防ぎ、簡易にソースプログラムにコメントを記述できるフォーマットを提供することができるが、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができないという課題を解決することができなかった。
【０００７】
この発明は、上記に鑑みてなされたもので、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができるプログラム編集支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、この発明に係るプログラム編集支援装置は、ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを入力する入力手段を備えたプログラム編集支援装置であって、前記ソースプログラムから前記シンボルと該シンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとから該シンボルと該シンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出するシンボル情報抽出手段と、前記シンボルと該シンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶するシンボル情報記憶手段と、前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを編集するプログラム編集手段と、前記抽出シンボル情報と前記記憶シンボル情報とを比較して、比較した結果に基づいて前記ソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとを前記プログラム編集手段によって編集するよう制御する編集制御手段と、を備えたことを特徴とする。
【０００９】
この発明のプログラム編集支援装置は、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出し、シンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶し、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集し、抽出シンボル情報と記憶シンボル情報とを比較して、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集するよう制御することとしたので、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【発明の効果】
【００１０】
この発明のプログラム編集支援装置によれば、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出し、シンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶し、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集し、抽出シンボル情報と記憶シンボル情報とを比較して、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集するよう制御するよう構成したので、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明に係るプログラム編集支援装置の好適な実施の形態を詳細に説明する。ここでは、（１）プログラム編集支援装置の概要と主要な特徴、（２）プログラム編集支援装置の構成、（３）ソースプログラム記憶部のソースプログラムとシンボル情報記憶部の記憶シンボル情報の具体例、（４）整合性確認情報記憶部の整合性確認情報の具体例、（５）シンボル機能記憶部のシンボル機能情報の具体例、（６）編集制御部の出力表示の具体例、（７）プログラム編集支援装置のプログラム編集手順の順番に説明する。
【００１２】
（実施の形態）
（１）プログラム編集支援装置の概要と主要な特徴
最初に、図１を参照して、プログラム編集支援装置の概要と主要な特徴について説明する。図１は、本実施の形態に係るプログラム編集支援装置１０を説明する概念図である。本発明に係るプログラム支援装置は、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを入力する入力部１０１を備えた装置であり、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができることを特徴とする。
【００１３】
図１を参照して説明すると、シンボル情報抽出部１０４ｂは、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出し、シンボル情報記憶部１０３ｂは、シンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶し、プログラム編集部１０４ｃは、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集し、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報とを比較して、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００１４】
（２）プログラム編集支援装置の構成
次に、図２を参照して、本実施の形態に係るプログラム編集支援装置１０の構成を示す。図２は、本実施の形態に係るプログラム編集支援装置１０の構成を示す機能ブロック図である。同図に示すように、プログラム編集支援装置１０は、入力部１０１、出力部１０２、記憶部１０３、制御部１０４を有する。
【００１５】
入力部１０１は、シンボルおよびシンボルに対応付けられたシンボル情報、シンボル機能およびシンボル機能に対応付けられたシンボル機能情報を入力する入力装置であり、キーボード、マウスなどである。また、出力部１０２は、シンボルおよびシンボルに対応付けられたシンボル情報、シンボル機能およびシンボル機能に対応付けられたシンボル機能情報を表示する表示装置であり、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などである。
【００１６】
記憶部１０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶装置であり、ソースプログラム記憶部１０３ａ、シンボル情報記憶部１０３ｂ、整合性確認情報記憶部１０３ｃ、シンボル機能記憶部１０３ｄを有する。ソースプログラム記憶部１０３ａは、プログラム編集支援装置１０が編集をするソースプログラムを記憶する記憶部である。
【００１７】
シンボル情報記憶部１０３ｂは、シンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶する記憶部である。また、整合性確認情報記憶部１０３ｃは、複数のシンボルおよび複数のシンボルに対応付けられたシンボル情報の間の相互の整合性を確認する情報である整合性確認情報を記憶する記憶部である。また、シンボル機能記憶部１０３ｄは、シンボル機能とシンボル機能情報とを対応付けて記憶する記憶部である。なお、ソースプログラム、記憶シンボル情報、整合性確認情報、シンボル機能およびシンボル機能情報については別途詳細に説明する。
【００１８】
制御部１０４は、プログラム編集支援装置１０の全体を制御する制御部であり、編集制御部１０４ａ、シンボル情報抽出部１０４ｂ、プログラム編集部１０４ｃ、シンボル情報編集部１０４ｄ、シンボル機能編集部１０４ｅを有する。
【００１９】
編集制御部１０４ａは、シンボル情報抽出部１０４ｂによって抽出されたシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報と、シンボル情報記憶部１０３ｂによって記憶されたシンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を比較して、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する処理部である。
【００２０】
具体的には、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報のシンボルが同じで、抽出シンボル情報のシンボルがＣ＋＋言語の関数または異なるスコープの内部変数である場合は、抽出シンボル情報をシンボル情報編集部１０４ｄによって編集し、シンボル情報記憶部１０３ｂに記憶するよう制御する。
【００２１】
また、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報のシンボルが同じで、抽出シンボル情報のシンボルがＣ＋＋言語の関数でなく、異なるスコープの内部変数でない場合は、入力部１０１によって修正入力された抽出シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００２２】
また、編集制御部１０４ａは、抽出シンボル情報が新規である場合は、入力部１０１によって入力されたシンボル機能とシンボル機能情報とを対応付けてシンボル機能編集部１０４ｅによって編集し、シンボル機能記憶部１０３ｄによって記憶するよう制御する。
【００２３】
また、編集制御部１０４ａは、整合性確認情報を用いて抽出シンボル情報と記憶シンボル情報との間の相互の整合性を確認し、確認した結果が不整合であった場合は、入力部１０１によって修正入力された抽出シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００２４】
また、編集制御部１０４ａは、抽出シンボル情報に含まれるシンボル機能である抽出シンボル機能と、記憶シンボル情報に含まれるシンボル機能である記憶シンボル機能とを比較し、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００２５】
また、編集制御部１０４ａは、抽出シンボル機能と記憶シンボル機能とが重複し、入力部１０１によって抽出シンボル機能と抽出シンボル機能に対応付けられたシンボル機能情報とが変更されなかった場合は、記憶シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００２６】
また、編集制御部１０４ａは、抽出シンボル機能と記憶シンボル機能とが重複し、入力部１０１によって抽出シンボル機能と抽出シンボル機能に対応付けられたシンボル機能情報とが変更された場合は、変更された抽出シンボル機能と変更された抽出シンボル機能に対応付けられたシンボル機能情報とをシンボル機能編集部１０４ｅによって編集し、シンボル機能記憶部１０３ｄによって記憶し、変更されたシンボル機能を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集し、また変更されたシンボル機能を用いて抽出シンボル情報をシンボル情報編集部１０４ｄによって編集し、シンボル情報記憶部１０３ｂによって記憶するよう制御する。
【００２７】
また、編集制御部１０４ａは、入力部１０１から入力されたシンボルとシンボルに対応付けられたシンボル情報とを用いて記憶シンボル情報をシンボル情報編集部１０４ｄによって変更した場合は、変更した記憶シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００２８】
シンボル情報抽出部１０４ｂは、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出する処理部である。また、プログラム編集部１０４ｃは、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集する処理部である。また、シンボル情報編集部１０４ｄは、シンボルとシンボル情報を対応付けて編集する処理部である。
【００２９】
（３）ソースプログラム記憶部のソースプログラムとシンボル情報記憶部の記憶シンボル    情報の具体例
次に、図３〜図６を参照して、図２に示すソースプログラム記憶部１０３ａとシンボル情報記憶部１０３ｂが記憶するソースプログラムと記憶シンボル情報のそれぞれの具体例について説明する。まず、図３を参照して、図２に示すソースプログラム記憶部１０３ａが記憶するソースプログラムの一例について説明する。図３は、図２に示すソースプログラム記憶部１０３ａが記憶するソースプログラムの一例を示す図である。
【００３０】
同図に示すように、ソースプログラム記憶部１０３ａが記憶するソースプログラムは、クラスＣの宣言文（３００〜３１１）、クラスＤの宣言文（３２０〜３２６）、メンバ関数ｓｅｔ＿ｄａｔａの定義文（３４０〜３４５）、メンバ関数ｐｕｔ＿ｉの定義文（３６０〜３６５）、メンバ関数Ｄｉｓｐｌａｙの定義文（３８０〜３８５）、ｍａｉｎ関数の実行文（４００〜４０８）からなる。
【００３１】
これらの宣言文、定義文または実行文の最初の２行、すなわち“／＊”と“＊／”にはさまれた行、３００と３０１、３０６と３０７、３２０と３２１、３４０と３４１、３６０と３６１、３８０と３８１、４００と４０１がコメントである。また、コメントは、２行で１対になっており、変数、関数、クラスに関するシンボルとシンボル情報を含んでいる。
【００３２】
シンボル情報抽出部１０４ｂは、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出する。この場合、シンボル情報抽出部１０４ｂは、あらかじめ決められたシンボルとシンボル情報との対応規則にしたがって抽出シンボル情報を抽出する。ここで、図４および図５を参照して、Ｃ言語およびＣ＋＋言語におけるシンボルとシンボル情報との対応規則の例について説明する。図４は、Ｃ言語におけるシンボルとシンボル情報との対応規則の一例を示す図である。また、図５は、Ｃ＋＋言語におけるシンボルとシンボル情報との対応規則の一例を示す図である。
【００３３】
図４に示すように、Ｃ言語においては、変数のシンボルは、スコープ、使用側関数、シンボル機能をシンボル情報として有し、配列シンボルは、スコープ、使用側関数、配列数、シンボル機能をシンボル情報として有し、関数のシンボルは、親関数、子関数、戻り値の型、引数、使用変数、シンボル機能をシンボル情報として有する。なお、配列は、変数の特殊な形の例であり、変数はポインタ、構造体、共用体などに必要に応じて分類することができる。また、親関数とは、その関数を呼び出す側の関数であり、子関数とは、呼び出される側の関数である。
【００３４】
図５に示すように、Ｃ＋＋言語においては、変数のシンボルは、所属クラス、スコープ、使用側関数、シンボル機能をシンボル情報として有し、関数のシンボルは、所属クラス、親関数、子関数、戻り値の型、引数、使用変数、シンボル機能をシンボル情報として有し、クラスのシンボルは、メンバ、メンバ関数、継承関係をシンボル情報として有する。
【００３５】
図４および図５に示すように、それぞれのプログラム言語において、シンボルとシンボル情報との対応規則が設定され、シンボル情報抽出部１０４ｂは、設定された対応規則にしたがってソースプログラムに記述されたシンボルとシンボルに対応付けられたコメントから抽出シンボル情報を抽出する。そして、編集制御部１０４ａは、シンボル情報抽出部１０４ｂによって抽出された抽出シンボル情報が新規の場合は、シンボル情報編集部１０４ｄによって抽出シンボル情報を編集し、シンボル情報記憶部１０３ｂによって記憶シンボル情報として記憶するよう制御する。ここで、図６を参照して、図２に示すシンボル情報記憶部１０３ｂが記憶する記憶シンボル情報の一例について説明する。図６は、図２に示すシンボル情報記憶部１０３ｂが記憶する記憶シンボル情報の一例を示す図である。
【００３６】
図６に示すように、変数ｉの記憶シンボル情報は、図３のコメント３０６，３０７から抽出され、シンボル名がｉで、所属クラスがＣで、スコープがクラススコープであり、変数ｉを使用する関数である使用側関数がｓｅｔ＿ｄａｔａ、ｐｕｔ＿ｉ、Ｄｉｓｐｌａｙである。
【００３７】
また、関数ｍａｉｎの記憶シンボル情報は、図３のコメント４００，４０１から抽出され、シンボル名がｍａｉｎで、子関数がｓｅｔ＿ｄａｔａ、Ｄｉｓｐｌａｙであり、シンボル機能がＭＡＩＮである。
【００３８】
また、関数ｓｅｔ＿ｄａｔａの記憶シンボル情報は、図３のコメント３４０，３４１から抽出され、シンボル名がｓｅｔ＿ｄａｔａで、親関数がｍａｉｎで、引数がｉｎｔ  ｄａｔａで、使用変数がｉであり、シンボル機能がＳＥＴである。
【００３９】
また、関数ｐｕｔ＿ｉの記憶シンボル情報は、図３のコメント３６０，３６１から抽出され、シンボル名がｐｕｔ＿ｉで、所属クラスがＣで、親関数がＤｉｓｐｌａｙで、戻り値の型がｉｎｔで、使用変数がｉであり、シンボル機能がＲＥである。
【００４０】
また、関数Ｄｉｓｐｌａｙの記憶シンボル情報は、図３のコメント３８０，３８１から抽出され、シンボル名がＤｉｓｐｌａｙで、所属クラスがＤで、親関数がｍａｉｎで、子関数がｐｕｔ＿ｉで、使用変数がｉであり、シンボル機能がＰＤである。
【００４１】
また、クラスＣの記憶シンボル情報は、図３のコメント３００，３０１から抽出され、シンボル名がＣで、メンバが変数ｉで、メンバ関数がｓｅｔ＿ｄａｔａ、ｐｕｔ＿ｉであり、継承関係が無いである。
【００４２】
また、クラスＤのシンボル情報は、図３のコメント３２０，３２１から抽出され、シンボル名がＤで、メンバが無いで、メンバ関数がＤｉｓｐｌａｙであり、クラスＣとの継承関係が有るである。
【００４３】
（４）整合性確認情報記憶部の整合性確認情報の具体例
次に、図７を参照して、図２に示す整合性確認情報記憶部１０３ｃが記憶する整合性確認情報の一例について説明する。図７は、図２に示す整合性確認情報記憶部１０３ｃが記憶する整合性確認情報の一例を示す図である。
【００４４】
同図に示すように、整合性確認情報は、編集制御部１０４ａが抽出シンボル情報と記憶シンボル情報との間の相互の整合性を確認する情報である。具体的には、編集制御部１０４ａは、図６示す変数ｉの整合性を確認するために、図７に示す変数ｉの整合性確認情報「所属クラス欄のクラス“Ｃ”のメンバ欄に“ｉ”があるか？」に基づいて整合性を確認する。そして、編集制御部１０４ａは、クラス“Ｃ”のメンバ欄に“ｉ”が無ければ不整合であると判定する。
【００４５】
また、編集制御部１０４ａは、図６に示す関数ｍａｉｎの整合性を確認するために、図７に示す関数ｍａｉｎの整合性確認情報「子関数欄の関数“ｓｅｔ＿ｄａｔａ”、“Ｄｉｓｐｌａｙ”の親関数欄に関数“ｍａｉｎ”があるか？」に基づいて整合性を確認する。そして、編集制御部１０４ａは、関数“ｓｅｔ＿ｄａｔａ”、“Ｄｉｓｐｌａｙ”の親関数欄に関数“ｍａｉｎ”が無ければ不整合であると判定する。
【００４６】
以上のように、編集制御部１０４ａは、整合性を確認し、確認した結果が不整合であった場合は、入力部１０１によって修正された抽出シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００４７】
（５）シンボル機能記憶部のシンボル機能情報の具体例
次に、図８を参照して、図２に示すシンボル機能記憶部１０３ｄが記憶するシンボル機能情報の一例について説明する。図８は、図２に示すシンボル機能記憶部１０３ｄが記憶するシンボル機能情報の一例を示す図である。
【００４８】
同図に示すように、シンボル機能記憶部１０３ｄは、シンボルのプログラム機能であるシンボル機能とシンボル機能の情報であるシンボル機能情報を対応付けて記憶する。具体的には、シンボル機能記憶部１０３ｄは、シンボル機能“ＭＡＩＮ”とシンボル機能情報“ｍａｉｎ関数”、シンボル機能“ＳＥＴ”とシンボル機能情報“値をセット（ＳＥＴ）する”、シンボル機能“ＲＥ”とシンボル機能情報“値を返す（ＲＥｔｕｒｎ）”、シンボル機能“ＰＤ”とシンボル機能情報“画面に出力（Ｐｒｉｎｔ  Ｄｉｓｐｌａｙ）”等を対応付けて記憶する。なお、シンボル機能およびシンボル機能情報は、シンボル情報とは異なり、ユーザが任意に決定することができる。また、シンボル機能は、基本的にはシンボル機能情報の略語であり、場合によってはシンボル機能情報をそのまま利用しても良い。
【００４９】
特に、編集制御部１０４ａは、抽出シンボル情報が新規である場合は、入力部１０１によって入力されたシンボル機能とシンボル機能情報とを対応付けてシンボル機能編集部１０４ｅによって編集し、シンボル機能記憶部１０３ｄによって記憶するよう制御する。
【００５０】
（６）編集制御部の出力表示の具体例
次に、図９〜図１６を参照して、図２に示す編集制御部１０４ａが出力する表示の例について説明する。図９は、シンボル名が重複した場合に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報１と記憶シンボル情報２の表示の一例を示す図である。また、図１０は、シンボル名の重複を修正した後に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報３と記憶シンボル情報２の表示の一例を示す図である。
【００５１】
図９に示すように、編集制御部１０４ａは、シンボル名が重複しているので、抽出シンボル情報１と記憶シンボル情報２を出力部１０２に表示して、ユーザに警告して確認を求める。そして、図１０に示すように、ユーザは、抽出シンボル情報１のシンボル名を関数“Ｄｉｓｐｌａｙ”から関数“ｐｕｔ＿ｉ”に修正して、入力部１０１から入力する。さらに、編集制御部１０４ａは、入力部１０１から修正入力された抽出シンボル情報３を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００５２】
また、図１１は、抽出シンボル情報１ａが新規である場合に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報１ａとシンボル機能およびシンボル機能情報４との表示の一例を示す図である。また、図１２は、シンボル機能とシンボル機能情報が入力された後に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報３ａとシンボル機能およびシンボル機能情報４ａとの表示の一例を示す図である。
【００５３】
図１１に示すように、編集制御部１０４ａは、抽出シンボル情報１ａが新規である場合は、抽出シンボル情報１ａとシンボル機能およびシンボル機能情報４とを出力部１０２に表示して、ユーザに警告して確認を求める。そして、図１２に示すように、ユーザは、抽出シンボル情報１ａとシンボル機能およびシンボル機能情報４とに対しシンボル機能およびシンボル機能情報を入力部１０１から入力する。さらに、編集制御部１０４ａは、入力部１０１から修正入力された抽出シンボル情報３ａを用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００５４】
また、図１３は、シンボルまたはシンボル情報が不整合である場合に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報１ｂと記憶シンボル情報２ｂの表示の一例を示す図である。また、図１４は、シンボルまたはシンボル情報の不整合が修正された後に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報３ｂと記憶シンボル情報２ｂとの表示の一例を示す図である。
【００５５】
図１３に示すように、編集制御部１０４ａは、抽出シンボル情報１ｂと記憶シンボル情報２ｂが不整合である場合は、抽出シンボル情報１ｂと記憶シンボル情報２ｂを出力部１０２に表示して、ユーザに警告して確認を求める。そして、図１４に示すように、ユーザは、抽出シンボル情報１ｂのシンボル名を“ｎ”から“ｉ”に修正して、入力部１０１から入力する。さらに、編集制御部１０４ａは、入力部１０１から修正入力された抽出シンボル３ｂを用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００５６】
また、図１５は、シンボル機能が重複している場合に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報１ｃと記憶シンボル情報２ｃの表示の一例を示す図である。また、図１６は、シンボル機能の重複が修正された後に、図２に示す編集制御部１０４ａが出力する抽出シンボル情報３ｃと記憶シンボル情報２ｃとの表示の一例を示す図である。
【００５７】
図１５に示すように、編集制御部１０４ａは、抽出シンボル情報１ｃと記憶シンボル情報２ｃとのシンボル機能が重複している場合は、抽出シンボル情報１ｃと記憶シンボル情報２ｃを出力部１０２に表示して、ユーザに警告して確認を求める。そして、図１６に示すように、ユーザは、抽出シンボル情報１ｃのシンボル機能を“ＰＤ”から“ＲＥ”に修正して、入力部１０１から入力する。さらに、編集制御部１０４ａは、入力部１０１から修正入力された抽出シンボル３ｃを用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御する。
【００５８】
（７）プログラム編集支援装置のプログラム編集手順
次に、図１７を参照して、図２に示すプログラム編集支援装置１０のプログラム編集手順について説明する。図１７は、図２に示すプログラム編集支援装置１０のプログラム編集手順を示すフローチャートである。
【００５９】
同図に示すように、シンボル情報抽出部１０４ｂは、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとから抽出シンボル情報を抽出する（ステップＳ９０１）。そして、編集制御部１０４ａは、シンボル情報記憶部１０３ｂによって記憶された記憶シンボル情報と抽出シンボル情報とを比較して（ステップＳ９０２）、抽出シンボル情報と記憶シンボル情報のシンボル名が同じであるか否かを調べる（ステップＳ９０３）。その結果、抽出シンボル情報と記憶シンボル情報のシンボル名が同じでない場合は（ステップＳ９０３否定）、編集制御部１０４ａは、ステップＳ９０９の手順に進む。
【００６０】
一方、抽出シンボル情報と記憶シンボル情報のシンボル名が同じである場合は（ステップＳ９０３肯定）、編集制御部１０４ａは、さらに抽出シンボル情報と記憶シンボル情報のシンボル情報が同じであるか否かを調べる（ステップＳ９０４）。その結果、抽出シンボル情報と記憶シンボル情報のシンボル情報が同じである場合は（ステップＳ９０４肯定）、編集制御部１０４ａは、ステップＳ９０９の手順に進む。
【００６１】
一方、抽出シンボル情報と記憶シンボル情報のシンボル情報が同じでない場合は（ステップＳ９０４否定）、編集制御部１０４ａは、さらに抽出シンボル情報のシンボルがＣ＋＋言語の関数または異なるスコープの内部変数であるか否かを調べる（ステップＳ９０５）。その結果、抽出シンボル情報のシンボルがＣ＋＋言語の関数または異なるスコープの内部変数である場合は（ステップＳ９０５肯定）、編集制御部１０４ａは、ステップＳ９０８の手順に進んで、抽出シンボル情報をシンボル情報編集部１０４ｄによって編集し、シンボル情報記憶部１０３ｂに記憶するよう制御する（ステップＳ９０８）。
【００６２】
一方、抽出シンボル情報のシンボルがＣ＋＋言語の関数でなく、また異なるスコープの内部変数でない場合は（ステップＳ９０５否定）、図９および図１０に示すように編集制御部１０４ａは、ユーザに確認し、入力部１０１から修正された抽出シンボル情報を入力する（ステップＳ９０６）。そして、編集制御部１０４ａは、入力された抽出シンボル情報をプログラム編集部１０４ｃに出力し、プログラム編集部１０４ｃは、出力された抽出シンボル情報を使用してソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集する（ステップＳ９０７）。さらに、編集制御部１０４ａは、入力された抽出シンボル情報をシンボル情報編集部１０４ｄに出力し、シンボル情報編集部１０４ｄは、出力された抽出シンボル情報を編集し、シンボル情報記憶部１０３ｂに記憶するよう制御する（ステップＳ９０８）。
【００６３】
そして、編集制御部１０４ａは、抽出シンボル情報が新規であるか否かを調べる（ステップＳ９０９）。その結果、抽出シンボル情報が新規でない場合は（ステップＳ９０９否定）、編集制御部１０４ａは、ステップＳ９１２の手順に進む。一方、抽出シンボル情報が新規である場合は（ステップＳ９０９肯定）、図１１および図１２に示すように編集制御部１０４ａは、ユーザに確認し、入力部１０１から入力されたシンボル機能およびシンボル機能情報をシンボル機能編集部１０４ｅに出力し、シンボル機能編集部１０４ｅは、出力されたシンボル機能およびシンボル機能情報を編集し（ステップＳ９１０）、シンボル機能記憶部１０３ｄが記憶するよう制御する（ステップＳ９１１）。
【００６４】
さらに、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報との整合性が取れているか否かを調べる（ステップＳ９１２）。その結果、抽出シンボル情報と記憶シンボル情報との整合性が取れている場合は（ステップＳ９１２肯定）、編集制御部１０４ａは、ステップＳ９１５の手順に進む。一方、抽出シンボル情報と記憶シンボル情報との整合性が取れていない場合は（ステップＳ９１２否定）、図１３および図１４に示すように編集制御部１０４ａは、ユーザに確認し、入力部１０１から修正された抽出シンボル情報を入力する（ステップＳ９１３）。そして、編集制御部１０４ａは、入力された抽出シンボル情報をプログラム編集部１０４ｃに出力し、プログラム編集部１０４ｃは、出力された抽出シンボル情報を使用してソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集する（ステップＳ９１４）。
【００６５】
さらに、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報とのシンボル機能が重複しているか否かを調べる（ステップＳ９１５）。その結果、抽出シンボル情報と記憶シンボル情報とのシンボル機能が重複していない場合は（ステップＳ９１５否定）、編集制御部１０４ａは、本手順を終了する。一方、抽出シンボル情報と記憶シンボル情報とのシンボル機能が重複している場合は（ステップＳ９１５肯定）、編集制御部１０４ａは、さらに抽出シンボル情報を記憶シンボル情報で置換するか否かをユーザに確認する（ステップＳ９１６）。その結果、抽出シンボル情報を記憶シンボル情報で置換する場合は（ステップＳ９１６肯定）、編集制御部１０４ａは、プログラム編集部１０４ｃによってソースプログラムの抽出シンボル情報を記憶シンボル情報で置換し、編集して（ステップＳ９２０）、本手順を終了する。
【００６６】
一方、抽出シンボル情報を記憶シンボル情報で置換しない場合は（ステップＳ９１６否定）、編集制御部１０４ａは、ユーザに確認し、入力部１０１から入力されたシンボル機能およびシンボル機能情報をシンボル機能編集部１０４ｅに出力し、シンボル機能編集部１０４ｅは、出力されたシンボル機能およびシンボル機能情報を編集し（ステップＳ９１７）、シンボル機能記憶部１０３ｄが記憶する（ステップＳ９１８）。さらに、編集制御部１０４ａは、シンボル機能を入力された抽出シンボル情報をシンボル情報編集部１０４ｄに出力し、シンボル情報編集部１０４ｄは、出力された抽出シンボル情報を編集し、シンボル情報記憶部１０３ｂに記憶する（ステップＳ９１９）。そして、編集制御部１０４ａは、シンボル機能を入力された抽出シンボル情報を用いてプログラム編集部１０４ｃによってソースプログラムのシンボルとシンボルに対応付けられたコメントとを編集して（ステップＳ９２０）、本手順を終了する。
【００６７】
上記に述べてきたように、本実施の形態では、シンボル情報抽出部１０４ｂは、ソースプログラムからシンボルとシンボルに対応付けられたコメントとを識別し、識別したシンボルとコメントとからシンボルとシンボルに対応付けられたシンボル情報とからなる抽出シンボル情報を抽出し、シンボル情報記憶部１０３ｂは、シンボルとシンボルに対応付けられたシンボル情報とからなる記憶シンボル情報を記憶し、プログラム編集部１０４ｃは、ソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとを編集し、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報とを比較して、比較した結果に基づいてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、ソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００６８】
また、シンボル情報編集部１０４ｄは、シンボルとシンボル情報を対応付けて編集し、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報のシンボルが同じで、抽出シンボル情報のシンボルがＣ＋＋言語の関数または異なるスコープの内部変数である場合は、抽出シンボル情報をシンボル情報編集部１０４ｄによって編集し、シンボル情報記憶部１０３ｂに記憶するよう制御することとしたので、Ｃ＋＋言語の関数または異なるスコープの内部変数の場合は同じシンボルを用いることができ、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００６９】
また、編集制御部１０４ａは、抽出シンボル情報と記憶シンボル情報のシンボルが同じで、抽出シンボル情報のシンボルがＣ＋＋言語の関数でなく、また異なるスコープの内部変数でない場合は、入力部１０１によって修正入力された抽出シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、Ｃ＋＋言語の関数または異なるスコープの内部変数の場合を除き同じシンボルが異なるシンボル機能を持つことが無いようにすることができ、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００７０】
また、シンボル機能編集部１０４ｅは、シンボルのプログラム機能であるシンボル機能とシンボル機能の情報であるシンボル機能情報とを対応付けて編集し、シンボル機能記憶部１０３ｄは、シンボル機能とシンボル機能情報とを対応付けて記憶し、編集制御部１０４ａは、抽出シンボル情報が新規である場合は、入力部１０１によって入力されたシンボル機能とシンボル機能情報を対応付けてシンボル機能編集部１０４ｅによって編集し、シンボル機能記憶部１０３ｄによって記憶するよう制御することとしたので、他のプログラム言語で作成されたシンボルおよびコメントを流用することができる。
【００７１】
また、整合性確認情報記憶部１０３ｃは、抽出シンボル情報と記憶シンボル情報の間の相互の整合性を確認する情報である整合性確認情報を記憶し、編集制御部１０４ａは、整合性確認情報を用いて抽出シンボル情報と記憶シンボル情報の間の相互の整合性を確認し、確認した結果が不整合であった場合は、入力部１０１によって修正入力された抽出シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、シンボルとコメントの整合性を維持することができ、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００７２】
また、編集制御部１０４ａは、抽出シンボル情報に含まれるシンボル機能である抽出シンボル機能と、記憶シンボル情報に含まれるシンボル機能である記憶シンボル機能とを比較し、比較した結果に基づいてソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、同じ機能を有する異なるシンボルを重複して作成する必要があるか否かを判断でき、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００７３】
また、編集制御部１０４ａは、抽出シンボル機能と記憶シンボル機能が重複し、入力部１０１によって抽出シンボル機能と抽出シンボル機能に対応付けられたシンボル機能情報とが変更されなかった場合は、記憶シンボル情報を用いてソースプログラムに記述されているシンボルと該シンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、同じ機能を有する異なるシンボルを作成しないようにすることができ、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００７４】
また、編集制御部１０４ａは、抽出シンボル機能と記憶シンボル機能とが重複し、入力部１０１によって抽出シンボル機能と抽出シンボル機能に対応付けられたシンボル機能情報とが変更された場合は、変更された抽出シンボル機能と変更された抽出シンボル機能に対応付けられたシンボル機能情報とをシンボル機能編集部１０４ｅによって編集し、シンボル機能記憶部１０３ｄによって記憶し、変更されたシンボル機能を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集し、また変更されたシンボル機能を用いて抽出シンボル情報をシンボル情報編集部１０４ｅによって編集し、シンボル情報記憶部１０３ｄによって記憶するよう制御することとしたので、必要な場合には同じ機能を有する異なるシンボルを重複して作成することができ、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００７５】
また、編集制御部１０４ａは、入力部１０１から入力されたシンボルとシンボルに対応付けられたシンボル情報とを用いて記憶シンボル情報をシンボル情報編集部１０４ｄによって変更した場合は、変更した記憶シンボル情報を用いてソースプログラムに記述されているシンボルとシンボルに対応付けられたコメントとをプログラム編集部１０４ｃによって編集するよう制御することとしたので、シンボルとコメントの整合性を維持しながらソースプログラムを編集することができ、もってソースプログラムに記述されたシンボルとコメントとの一貫性を保つことができる。
【００７６】
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてもよいものである。
【００７７】
例えば、本実施の形態では、ソースプログラムがＣ＋＋言語で記述された場合について説明したが、本発明はこれに限定されるものでなく、ソースプログラムが他のプログラム言語、例えば、Ｆｏｒｔｒａｎ、Ｃ言語、ＪＡＶＡ（登録商標）などの言語で記述された場合に適用することができる。
【００７８】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置（プログラム編集支援装置）の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８０】
なお、本実施の形態で説明したプログラム編集支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【００８１】
以上のように、本発明に係るプログラム編集支援装置は、あらゆるプログラム言語で記述されたプログラム編集支援装置に有用であり、特に、Ｃ言語、Ｃ＋＋言語で記述されたプログラム編集支援装置に適している。
【図面の簡単な説明】
【００８２】
【図１】本実施の形態に係るプログラム編集支援装置を説明する概念図である。
【図２】本実施の形態に係るプログラム編集支援装置の構成を示す機能ブロック図である。
【図３】図２に示すソースプログラム記憶部が記憶するソースプログラムの一例を示す図である。
【図４】Ｃ言語におけるシンボルとシンボル情報との対応規則の一例を示す図である。
【図５】Ｃ＋＋言語におけるシンボルとシンボル情報との対応規則の一例を示す図である。
【図６】図２に示すシンボル情報記憶部が記憶する記憶シンボル情報の一例を示す図である。
【図７】図２に示す整合性確認情報記憶部が記憶する整合性確認情報の一例を示す図である。
【図８】図２に示すシンボル機能記憶部が記憶するシンボル機能情報の一例を示す図である。
【図９】シンボル名が重複した場合に、図２に示す編集制御部が出力する抽出シンボル情報と記憶シンボル情報の表示の一例を示す図である。
【図１０】シンボル名の重複を修正した後に、図２に示す編集制御部が出力する抽出シンボル情報と記憶シンボル情報の表示の一例を示す図である。
【図１１】抽出シンボル情報が新規である場合に、図２に示す編集制御部が出力する抽出シンボル情報とシンボル機能およびシンボル機能情報との表示の一例を示す図である。
【図１２】シンボル機能とシンボル機能情報が入力された後に、図２に示す編集制御部が出力する抽出シンボル情報とシンボル機能およびシンボル機能情報との表示の一例を示す図である。
【図１３】シンボルまたはシンボル情報が不整合である場合に、図２に示す編集制御部が出力する抽出シンボル情報と記憶シンボル情報の表示の一例を示す図である。
【図１４】シンボルまたはシンボル情報の不整合が修正された後に、図２に示す編集制御部が出力する抽出シンボル情報と記憶シンボル情報との表示の一例を示す図である。
【図１５】シンボル機能が重複している場合に、図２に示す編集制御部が出力する抽出シンボル情報と記憶シンボル情報の表示の一例を示す図である。
【図１６】シンボル機能の重複が修正された後に、図２に示す編集制御部が出力する抽出シンボル情報と記憶シンボル情報との表示の一例を示す図である。
【図１７】図２に示すプログラム編集支援装置のプログラム編集手順を示すフローチャートである。
【符号の説明】
【００８３】
１，１ａ，１ｂ，１ｃ，３，３ａ，３ｂ，３ｃ  抽出シンボル情報
２，２ｂ，２ｃ  記憶シンボル情報
４，４ａ  シンボル機能およびシンボル機能情報
１０  プログラム編集支援装置
１０１  入力部
１０２  出力部
１０３  記憶部
１０３ａ  ソースプログラム記憶部
１０３ｂ  シンボル情報記憶部
１０３ｃ  整合性確認情報記憶部
１０３ｄ  シンボル機能記憶部
１０４  制御部
１０４ａ  編集制御部
１０４ｂ  シンボル情報抽出部
１０４ｃ  プログラム編集部
１０４ｄ  シンボル情報編集部
１０４ｅ  シンボル機能編集部
【図１】
2005234856.tif 000003
【図２】
2005234856.tif 000004
【図３】
2005234856.tif 000005
【図４】
2005234856.tif 000006
【図５】
2005234856.tif 000007
【図６】
2005234856.tif 000008
【図７】
2005234856.tif 000009
【図８】
2005234856.tif 000010
【図９】
2005234856.tif 000011
【図１０】
2005234856.tif 000012
【図１１】
2005234856.tif 000013
【図１２】
2005234856.tif 000014
【図１３】
2005234856.tif 000015
【図１４】
2005234856.tif 000016
【図１５】
2005234856.tif 000017
【図１６】
2005234856.tif 000018
【図１７】
2005234856.tif 000019