トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 自動部品化機能付コンパイラシステムおよび記録媒体
【発明者】 【氏名】渡邊 英明

【要約】 【課題】プログラムソース中の類似記述に対して同様の修正がある場合、修正に要する時間および手間の軽減を図ること。

【解決手段】入力装置1から与えられたコンパイル指示に従ってコンパイラ2がプログラムソース31のコンパイルを行なった後、入力装置1から与えられた部品化指示が部品化手段21に与えられる。部品化手段21は、部品化を行う場合、コンパイラ2の解析結果をもとに重複または類似した記述を検索し、類似記述が検索された場合は、該類似記述を部品化してプログラム部品32として出力し、プログラムソース31中の類似記述部分についての前記プログラム部品を読み出す部品呼出し記述に編集し、編集済プログラムソース33を出力し、さらに部品化に関する情報を出力装置4に表示する。
【特許請求の範囲】
【請求項1】 コンパイル時にプログラムソースの類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、該プログラムソースの前記類似記述の修正について前記部品呼出し記述や前記プログラム部品により行うことを可能にする部品化手段を備えた自動部品化機能付コンパイラシステム。
【請求項2】 前記部品化手段は、プログラムソース中の類似記述を検索し抽出する類似記述検索処理手段と、該類似記述検索処理手段により抽出された前記類似記述を部品化する類似記述部品化処理手段と、前記類似記述検索処理により抽出された前記プログラムソースの類似記述部分についてプログラム部品を読み出す部品呼出し記述に編集し、該編集した部品呼出し記述を用いて前記プログラムソースに対する編集済みプログラムソースを生成するプログラムソース編集処理手段と、該プログラムソース編集処理手段による前記編集した結果を出力する部品化結果出力処理手段とを備えていることを特徴とする請求項1記載の自動部品化機能付コンパイラシステム。
【請求項3】 前記類似記述部品化処理手段により部品化された類似記述をプログラム部品として記憶するプログラム部品記憶手段と、前記プログラムソース編集処理手段が生成した編集済みプログラムソースを記憶する編集済みプログラムソース記憶手段とを備えた請求項1または請求項2記載の自動部品化機能付コンパイラシステム。
【請求項4】 コンパイル時にプログラムソースの類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、該プログラムソースの前記類似記述の修正について、前記部品呼出し記述や前記プログラム部品により行うことを可能にする部品化手段を備えたコンパイラを記録した記録媒体。
【請求項5】 プログラムソース中の類似記述を検索し抽出する類似記述検索処理手段と、該類似記述検索処理手段により抽出された前記類似記述を部品化する類似記述部品化処理手段と、前記類似記述検索処理により抽出された前記プログラムソースの類似記述部分について前記プログラム部品を読み出す部品呼出し記述に編集し、該編集した部品呼出し記述を用いて前記プログラムソースに対する編集済みプログラムソースを生成するプログラムソース編集処理手段と、該プログラムソース編集処理手段による前記編集した結果を出力する部品化結果出力処理手段とを有した部品化手段を備えたコンパイラを記録した記録媒体。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、コンパイル時に類似記述を部品化する自動部品化機能付コンパイラシステムおよび記録媒体に関する。
【0002】
【従来の技術】従来、プログラム部品などを利用してソフトウェアの作成作業を行う場合、作成するソフトウェアには重複または類似性の高い記述が多く存在し、また同様な形態の修正を行う場合が多い。このような修正を行う場合には、重複または類似性の高い記述個所に対して同様の修正を全て行う必要があった。
【0003】
【発明が解決しようとする課題】従来のプログラム部品等の利用では、以上のように、全ての修正個所を修正しなければならないため、修正個所が多くなると修正に時間および手間を要する課題があった。また、修正漏れが発生する可能性も高くなる課題があった。
【0004】本発明の目的は、プログラムソース中の類似記述に対して同様の形態での修正がある場合、修正に要する時間および手間を軽減できる自動部品化機能付コンパイラシステムおよび記録媒体を提供することにある。
【0005】
【課題を解決するための手段】本発明に係る自動部品化機能付コンパイラシステムは、コンパイル時にプログラムソースの類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、該プログラムソースの前記類似記述についての修正について、前記部品呼出し記述や前記プログラム部品により行うことを可能にする部品化手段を備えたことを特徴とする。
【0006】本発明に係る記録媒体は、コンパイル時にプログラムソースの類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、該プログラムソースの前記類似記述の修正について、前記部品呼出し記述や前記プログラム部品により行うことを可能にする部品化手段を備えたコンパイラを記録したことを特徴とする。
【0007】本発明の自動部品化機能付コンパイラシステムは、コンパイル時にプログラムソースの類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、前記プログラムソースの前記類似記述の修正について、前記部品呼出し記述や前記プログラム部品により行うことで、プログラムソースの類似記述部分に対する同様な修正が、常に最新のプログラム部品や部品呼出し記述を修正するだけで済み、修正に要する時間および手間が軽減し、また部品化のみのための処理を不要にする。
【0008】本発明の記録媒体は、コンパイル時にプログラムソースの類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、該プログラムソースの前記類似記述の修正について、前記部品呼出し記述や前記プログラム部品により行うことを可能にする部品化手段を備えたコンパイラを記録しており、前記コンパイラが読み出され、コンパイル時にプログラムソースの類似記述を部品化することで、プログラムソースの類似記述部分に対する同様な修正を、常に最新のプログラム部品や部品呼出し記述の修正で済ますことを可能にし、修正に要する時間および手間を軽減させ、また部品化のみのための処理を不要にする。
【0009】
【発明の実施の形態】次に、本発明の実施の一形態について説明する。図1は、本実施の形態の自動部品化機能付コンパイラシステムの構成を示すブロック図である。本自動部品化機能付コンパイラシステムは、キーボード等の入力装置1と、コンパイラ2と、プログラムソース等の情報を記憶する記憶装置3と、ディスプレイ装置や印刷装置等の出力装置4と、データ処理装置5などを備えている。記憶装置3にはプログラムソース31、プログラム部品32、および編集済プログラムソース33などが格納される。コンパイラ2は部品化手段21を備えている。この部品化手段21は、コンパイラ2の解析情報をもとに重複または類似した記述を検索し、類似記述が検索された場合は、検索された前記類似した記述を部品化してプログラム部品32として記憶装置3へ格納し、またプログラムソース31中の類似記述部分について前記プログラム部品を読み出す部品呼出し記述に編集して編集済プログラムソース33として記憶装置3へ出力して格納し、さらに、部品化に関する情報を出力装置4に表示するものである。
【0010】次に、動作について説明する。図2は、本自動部品化機能付コンパイラシステムの動作を示すフローチャートであり、以下、本フローチャートに従って動作を説明する。入力装置1から与えられたコンパイル指示に従ってコンパイラ2がプログラムソース31のコンパイルを行なった後、入力装置1から与えられた部品化指示が部品化手段21に与えられ、部品化処理が開始する。先ず、部品化手段21は、部品化指示判定処理により部品化処理の実行について決定する(ステップS1)。この結果、部品化を行わない場合は部品化処理を終了する。
【0011】ステップS1において部品化処理の実行を決定すると、類似記述検索処理を行い、コンパイラ2の解析結果をもとにプログラムソース31中の重複または類似した記述を検索する(ステップS2,ステップS3)。ステップS3において類似した記述が検索できない場合は、部品化を行なっていない処理結果を出力し(ステップS6)、部品化処理を終了する。
【0012】一方、ステップS3において、コンパイラ2の解析結果をもとにプログラムソース31中の重複または類似した記述を検索できた場合には、ステップS4の類似記述部品化処理へ進み、前記ステップS2の類似記述検索処理により検索した類似した記述を部品化してプログラム部品32として出力し記憶装置3へ格納する。そして、ステップS4の類似記述部品化処理の実行後、プログラムソース編集処理へ進む(ステップS5)。このプログラムソース編集処理では、プログラムソース31中の類似記述部分について前記プログラム部品を読み出す部品呼出し記述に編集し、編集済プログラムソース33として記憶装置3へ格納し、部品化結果出力処理へ進む(ステップS6)。この部品化結果出力処理では、部品化に関する情報を出力装置4に表示する。
【0013】従って、コンパイル時にプログラムソース31の類似記述をプログラム部品化するとともに、前記類似記述部分について前記プログラム部品を読み出す部品呼出し記述として前記プログラムソースを編集し、前記プログラムソースの前記類似記述についての修正については、前記部品呼出し記述や当該部品呼出し記述により読み出した前記プログラム部品32により行うことが出来、プログラムソース31の修正に対し常に最新のプログラム部品32を取得することが可能になり、類似記述部分に対する同様な修正がプログラム部品32や前記部品呼出し記述を修正するだけで済み、修正に要する時間および手間を軽減でき、また部品化のみのための処理を行う必要がなくなる。
【0014】次に、本実施の形態の自動部品化機能付コンパイラシステムの動作を具体例を用いて説明する。なお、説明に際しては広く知られているCOBOL言語を例として使用する。先ず、入力装置1から与えられたコンパイル指示に従い、図3に示す内容のプログラムソース31に対しコンパイラ2がコンパイルを行う。次に、入力装置1から与えられた部品化指示に従い、部品化を行うか行なわないかを部品化指示判定処理手段(ステップS1)により決定する。次に、類似記述検索処理手段21aにより、図3に示すプログラムソース31の1030行から1070行と2010行から2050行とに類似性のある記述が存在していることを検索結果として得る。次に、類似記述部品化処理手段21bにより、類似記述をプログラム部品32として出力し、記憶装置3に格納する。次に、プログラムソース編集処理21cにより、図3の1030行から1070行部分、および2010行から2050行部分をそれぞれ部品呼出し記述33a,33bに編集して編集済プログラムソース33を出力し、記憶装置3に格納する。最後に、部品化結果出力処理手段21dにより、図3の1030行から1070行部分、および2010行から2050行部分を部品化した際の情報を出力装置4に表示する。
【0015】従って、コンパイル時にプログラムソース31の類似記述部分をプログラム部品化するとともに、前記類似記述部分を部品呼出し記述33a,33bとして前記プログラムソースを編集し、前記プログラムソースの前記類似記述部分についての修正については、前記部品呼出し記述33a,33bや当該部品呼出し記述33a,33bにより読み出した前記プログラム部品32により行うことが出来る。また、プログラムソース31の修正に対し常に最新のプログラム部品32を取得して、前記プログラム部品32や前記部品呼出し記述33a,33bを修正するだけで前記類似記述部分に対する修正が済み、修正に要する時間および手間を軽減でき、また部品化のみのための処理を行う必要がなくなる。
【0016】以上のように、本実施の形態によれば、コンパイル指示が入力装置1から入力されると、部品化手段21がコンパイラ2の解析結果をもとに重複または類似した記述を検索し、類似した記述が検索された場合、検索された前記類似した記述を部品化してプログラム部品32として出力し、またプログラムソース31中の類似記述部分について前記プログラム部品を読み出す部品呼出し記述33a,33bに編集し、編集済プログラムソース33として出力し、さらに部品化に関する情報が出力装置4に表示される構成であるため、プログラムソース修正後のコンパイル時に自動的に部品化が行われ、プログラムソース31の修正に対し常に最新のプログラム部品を取得することが可能になり、プログラムソース31の類似記述部分に対する同様な修正がプログラム部品32や部品呼出し記述33a,33bを修正するだけで済み、修正に要する時間および手間を軽減でき、また部品化のみのための処理を行う必要がなくなる。
【0017】次に、本発明の他の実施の形態について説明する。図4は、本実施の形態の自動部品化機能付コンパイラシステムの構成を示すブロック図である。図4において図1と同一または相当の部分については同一の符号を付し説明を省略する。本自動部品化機能付コンパイラシステムは、コンパイラを記録した記録媒体6を備えている。この記録媒体6は磁気ディスク、半導体メモリその他の記録媒体であってよい。
【0018】次に、本実施の形態の動作について説明する。コンパイラは記録媒体6からデータ処理装置7に読み込まれ、データ処理装置7の動作を制御する。データ処理装置7は読み込んだ前記コンパイラの制御により前記実施の形態におけるデータ処理装置5による処理と同一の処理を実行する。入力装置1からコンパイル指示および部品化指示が与えられると、先ずプログラムソース31のコンパイルを行い、入力装置1から部品化指示があれば前記コンパイラの解析結果を利用して類似記述のある個所を検索する。類似記述のある個所が発見された場合は、この類似記述を部品化してプログラム部品32として出力し記憶装置3へ格納し、類似記述のある個所を部品呼出し記述に編集して編集済プログラムソース33として記憶装置3に格納する。最後に、部品化した際の情報を出力装置4に表示させる。
【0019】以上のように、本実施の形態によれば、コンパイル指示が入力装置1から入力されると、記録媒体6に記憶したコンパイラが解析結果をもとに重複または類似した記述を検索し、類似した記述が検索された場合、検索された前記類似した記述を部品化してプログラム部品32として出力し、またプログラムソース31中の類似記述部分について前記プログラム部品を読み出す部品呼出し記述に編集し、編集済プログラムソース33として出力し、これらプログラム部品32および編集済プログラムソース33を記憶装置3に格納し、さらに部品化に関する情報が出力装置4に表示される構成であるため、プログラムソース修正後のコンパイル時に、記録媒体6から読み込んだコンパイラにより自動的に部品化が行われ、プログラムソースの修正に対し常に最新のプログラム部品を取得して、前記プログラムソースの類似記述部分に対する同様な修正がプログラム部品や部品呼出し記述を修正するだけで済み、修正に要する時間および手間を軽減でき、また部品化のみのための処理を行う必要がなくなる。
【0020】
【発明の効果】以上のように本発明によれば、プログラムソースの修正に対し常に最新のプログラム部品を取得することが可能になり、前記プログラムソースの類似記述部分に対する同様な修正がプログラム部品や部品呼出し記述を修正するだけで済み、修正に要する時間および手間を軽減でき、また部品化のみのための処理を行う必要がなくなる効果がある。
【出願人】 【識別番号】000004237
【氏名又は名称】日本電気株式会社
【出願日】 平成10年(1998)5月13日
【代理人】 【弁理士】
【氏名又は名称】野田 茂
【公開番号】 特開平11−327887
【公開日】 平成11年(1999)11月30日
【出願番号】 特願平10−150656