JPH11327887A - 自動部品化機能付コンパイラシステムおよび記録媒体 - Google Patents

自動部品化機能付コンパイラシステムおよび記録媒体

Info

Publication number
JPH11327887A
JPH11327887A JP15065698A JP15065698A JPH11327887A JP H11327887 A JPH11327887 A JP H11327887A JP 15065698 A JP15065698 A JP 15065698A JP 15065698 A JP15065698 A JP 15065698A JP H11327887 A JPH11327887 A JP H11327887A
Authority
JP
Japan
Prior art keywords
component
program
description
program source
similar
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
JP15065698A
Other languages
English (en)
Inventor
Hideaki Watanabe
英明 渡邊
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP15065698A priority Critical patent/JPH11327887A/ja
Publication of JPH11327887A publication Critical patent/JPH11327887A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 プログラムソース中の類似記述に対して同様
の修正がある場合、修正に要する時間および手間の軽減
を図ること。 【解決手段】 入力装置1から与えられたコンパイル指
示に従ってコンパイラ2がプログラムソース31のコン
パイルを行なった後、入力装置1から与えられた部品化
指示が部品化手段21に与えられる。部品化手段21
は、部品化を行う場合、コンパイラ2の解析結果をもと
に重複または類似した記述を検索し、類似記述が検索さ
れた場合は、該類似記述を部品化してプログラム部品3
2として出力し、プログラムソース31中の類似記述部
分についての前記プログラム部品を読み出す部品呼出し
記述に編集し、編集済プログラムソース33を出力し、
さらに部品化に関する情報を出力装置4に表示する。

Description

【発明の詳細な説明】
【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は、部品化指示判定処理によ
り部品化処理の実行について決定する(ステップS
1)。この結果、部品化を行わない場合は部品化処理を
終了する。
【0011】ステップS1において部品化処理の実行を
決定すると、類似記述検索処理を行い、コンパイラ2の
解析結果をもとにプログラムソース31中の重複または
類似した記述を検索する(ステップS2,ステップS
3)。ステップS3において類似した記述が検索できな
い場合は、部品化を行なっていない処理結果を出力し
(ステップS6)、部品化処理を終了する。
【0012】一方、ステップS3において、コンパイラ
2の解析結果をもとにプログラムソース31中の重複ま
たは類似した記述を検索できた場合には、ステップS4
の類似記述部品化処理へ進み、前記ステップS2の類似
記述検索処理により検索した類似した記述を部品化して
プログラム部品32として出力し記憶装置3へ格納す
る。そして、ステップS4の類似記述部品化処理の実行
後、プログラムソース編集処理へ進む(ステップS
5)。このプログラムソース編集処理では、プログラム
ソース31中の類似記述部分について前記プログラム部
品を読み出す部品呼出し記述に編集し、編集済プログラ
ムソース33として記憶装置3へ格納し、部品化結果出
力処理へ進む(ステップS6)。この部品化結果出力処
理では、部品化に関する情報を出力装置4に表示する。
【0013】従って、コンパイル時にプログラムソース
31の類似記述をプログラム部品化するとともに、前記
類似記述部分について前記プログラム部品を読み出す部
品呼出し記述として前記プログラムソースを編集し、前
記プログラムソースの前記類似記述についての修正につ
いては、前記部品呼出し記述や当該部品呼出し記述によ
り読み出した前記プログラム部品32により行うことが
出来、プログラムソース31の修正に対し常に最新のプ
ログラム部品32を取得することが可能になり、類似記
述部分に対する同様な修正がプログラム部品32や前記
部品呼出し記述を修正するだけで済み、修正に要する時
間および手間を軽減でき、また部品化のみのための処理
を行う必要がなくなる。
【0014】次に、本実施の形態の自動部品化機能付コ
ンパイラシステムの動作を具体例を用いて説明する。な
お、説明に際しては広く知られているCOBOL言語を
例として使用する。先ず、入力装置1から与えられたコ
ンパイル指示に従い、図3に示す内容のプログラムソー
ス31に対しコンパイラ2がコンパイルを行う。次に、
入力装置1から与えられた部品化指示に従い、部品化を
行うか行なわないかを部品化指示判定処理手段(ステッ
プS1)により決定する。次に、類似記述検索処理手段
21aにより、図3に示すプログラムソース31の10
30行から1070行と2010行から2050行とに
類似性のある記述が存在していることを検索結果として
得る。次に、類似記述部品化処理手段21bにより、類
似記述をプログラム部品32として出力し、記憶装置3
に格納する。次に、プログラムソース編集処理21cに
より、図3の1030行から1070行部分、および2
010行から2050行部分をそれぞれ部品呼出し記述
33a,33bに編集して編集済プログラムソース33
を出力し、記憶装置3に格納する。最後に、部品化結果
出力処理手段21dにより、図3の1030行から10
70行部分、および2010行から2050行部分を部
品化した際の情報を出力装置4に表示する。
【0015】従って、コンパイル時にプログラムソース
31の類似記述部分をプログラム部品化するとともに、
前記類似記述部分を部品呼出し記述33a,33bとし
て前記プログラムソースを編集し、前記プログラムソー
スの前記類似記述部分についての修正については、前記
部品呼出し記述33a,33bや当該部品呼出し記述3
3a,33bにより読み出した前記プログラム部品32
により行うことが出来る。また、プログラムソース31
の修正に対し常に最新のプログラム部品32を取得し
て、前記プログラム部品32や前記部品呼出し記述33
a,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へ格納し、類似記述のある個所
を部品呼出し記述に編集して編集済プログラムソース3
3として記憶装置3に格納する。最後に、部品化した際
の情報を出力装置4に表示させる。
【0019】以上のように、本実施の形態によれば、コ
ンパイル指示が入力装置1から入力されると、記録媒体
6に記憶したコンパイラが解析結果をもとに重複または
類似した記述を検索し、類似した記述が検索された場
合、検索された前記類似した記述を部品化してプログラ
ム部品32として出力し、またプログラムソース31中
の類似記述部分について前記プログラム部品を読み出す
部品呼出し記述に編集し、編集済プログラムソース33
として出力し、これらプログラム部品32および編集済
プログラムソース33を記憶装置3に格納し、さらに部
品化に関する情報が出力装置4に表示される構成である
ため、プログラムソース修正後のコンパイル時に、記録
媒体6から読み込んだコンパイラにより自動的に部品化
が行われ、プログラムソースの修正に対し常に最新のプ
ログラム部品を取得して、前記プログラムソースの類似
記述部分に対する同様な修正がプログラム部品や部品呼
出し記述を修正するだけで済み、修正に要する時間およ
び手間を軽減でき、また部品化のみのための処理を行う
必要がなくなる。
【0020】
【発明の効果】以上のように本発明によれば、プログラ
ムソースの修正に対し常に最新のプログラム部品を取得
することが可能になり、前記プログラムソースの類似記
述部分に対する同様な修正がプログラム部品や部品呼出
し記述を修正するだけで済み、修正に要する時間および
手間を軽減でき、また部品化のみのための処理を行う必
要がなくなる効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の一形態の自動部品化機能付コ
ンパイラシステムの構成を示すブロック図である。
【図2】 本発明の実施の一形態の自動部品化機能付コ
ンパイラシステムの動作を示すフローチャートである。
【図3】 本発明の実施の一形態の自動部品化機能付コ
ンパイラシステムの動作の具体例を示す説明図である。
【図4】 本発明の他の実施の形態の自動部品化機能付
コンパイラシステムの構成を示すブロック図である。
【符号の説明】
2……コンパイラ、3……記憶装置(プログラム部品記
憶手段,編集済みプログラムソース記憶手段)、21…
…部品化手段、21a……類似記述検索処理手段、21
b……類似記述部品化処理手段、21c……プログラム
ソース編集処理手段、21d……部品化結果出力処理手
段、31……プログラムソース、32……プログラム部
品、33……編集済みプログラムソース、33a,33
b……部品呼出し記述。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンパイル時にプログラムソースの類似
    記述をプログラム部品化するとともに、前記類似記述部
    分について前記プログラム部品を読み出す部品呼出し記
    述として前記プログラムソースを編集し、該プログラム
    ソースの前記類似記述の修正について前記部品呼出し記
    述や前記プログラム部品により行うことを可能にする部
    品化手段を備えた自動部品化機能付コンパイラシステ
    ム。
  2. 【請求項2】 前記部品化手段は、 プログラムソース中の類似記述を検索し抽出する類似記
    述検索処理手段と、 該類似記述検索処理手段により抽出された前記類似記述
    を部品化する類似記述部品化処理手段と、 前記類似記述検索処理により抽出された前記プログラム
    ソースの類似記述部分についてプログラム部品を読み出
    す部品呼出し記述に編集し、該編集した部品呼出し記述
    を用いて前記プログラムソースに対する編集済みプログ
    ラムソースを生成するプログラムソース編集処理手段
    と、 該プログラムソース編集処理手段による前記編集した結
    果を出力する部品化結果出力処理手段とを備えているこ
    とを特徴とする請求項1記載の自動部品化機能付コンパ
    イラシステム。
  3. 【請求項3】 前記類似記述部品化処理手段により部品
    化された類似記述をプログラム部品として記憶するプロ
    グラム部品記憶手段と、 前記プログラムソース編集処理手段が生成した編集済み
    プログラムソースを記憶する編集済みプログラムソース
    記憶手段とを備えた請求項1または請求項2記載の自動
    部品化機能付コンパイラシステム。
  4. 【請求項4】 コンパイル時にプログラムソースの類似
    記述をプログラム部品化するとともに、前記類似記述部
    分について前記プログラム部品を読み出す部品呼出し記
    述として前記プログラムソースを編集し、該プログラム
    ソースの前記類似記述の修正について、前記部品呼出し
    記述や前記プログラム部品により行うことを可能にする
    部品化手段を備えたコンパイラを記録した記録媒体。
  5. 【請求項5】 プログラムソース中の類似記述を検索し
    抽出する類似記述検索処理手段と、 該類似記述検索処理手段により抽出された前記類似記述
    を部品化する類似記述部品化処理手段と、 前記類似記述検索処理により抽出された前記プログラム
    ソースの類似記述部分について前記プログラム部品を読
    み出す部品呼出し記述に編集し、該編集した部品呼出し
    記述を用いて前記プログラムソースに対する編集済みプ
    ログラムソースを生成するプログラムソース編集処理手
    段と、 該プログラムソース編集処理手段による前記編集した結
    果を出力する部品化結果出力処理手段とを有した部品化
    手段を備えたコンパイラを記録した記録媒体。
JP15065698A 1998-05-13 1998-05-13 自動部品化機能付コンパイラシステムおよび記録媒体 Pending JPH11327887A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15065698A JPH11327887A (ja) 1998-05-13 1998-05-13 自動部品化機能付コンパイラシステムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15065698A JPH11327887A (ja) 1998-05-13 1998-05-13 自動部品化機能付コンパイラシステムおよび記録媒体

Publications (1)

Publication Number Publication Date
JPH11327887A true JPH11327887A (ja) 1999-11-30

Family

ID=15501627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15065698A Pending JPH11327887A (ja) 1998-05-13 1998-05-13 自動部品化機能付コンパイラシステムおよび記録媒体

Country Status (1)

Country Link
JP (1) JPH11327887A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005522772A (ja) * 2002-04-15 2005-07-28 ギーゼッケ ウント デフリエント ゲーエムベーハー コンパイラ生成プログラムコードの最適化
JP2010108213A (ja) * 2008-10-30 2010-05-13 Nec Electronics Corp プログラム変換方法及びプログラム変換装置
JP2013210920A (ja) * 2012-03-30 2013-10-10 Nec Corp コンパイル装置、コンパイル方法及びコンパイラ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005522772A (ja) * 2002-04-15 2005-07-28 ギーゼッケ ウント デフリエント ゲーエムベーハー コンパイラ生成プログラムコードの最適化
US7805718B2 (en) 2002-04-15 2010-09-28 Giesecke & Devrient Gmbh Optimisation of a compiler generated program code
JP2010108213A (ja) * 2008-10-30 2010-05-13 Nec Electronics Corp プログラム変換方法及びプログラム変換装置
JP2013210920A (ja) * 2012-03-30 2013-10-10 Nec Corp コンパイル装置、コンパイル方法及びコンパイラ

Similar Documents

Publication Publication Date Title
JPH11249875A (ja) プログラミング支援方法及びその装置
US6151699A (en) Computer apparatus and method for editing programs, and readable medium
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JP3058050B2 (ja) ソースプログラム修正支援装置
JPH05197561A (ja) コンパイル方式
JP2002215391A (ja) プログラム解析装置及びプログラム解析方法及び記録媒体
JPH09274570A (ja) コンパイル方法及びコンパイラシステム
JPH0358225A (ja) ファイル編集方式
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JP2990701B2 (ja) ファイル編集方式
JPH11282691A (ja) ソフトウェア開発システム
JP5109808B2 (ja) 追加実行可能情報生成装置、情報処理装置、及びプログラム
JP2000132405A (ja) インライン展開処理装置及び方法
JP2000242483A (ja) 2000年問題対応プログラム修正装置、修正方法及び記憶媒体
JPH01140236A (ja) プログラムの逆コンパイル方式
JPH05274126A (ja) プログラム合成システム
JP2000339145A (ja) プログラム保守支援方法、装置及び記録媒体
JPH03156641A (ja) コンパイル処理方式
JPH09128227A (ja) プログラムの自動変更履歴作成手段
JPH07141156A (ja) 情報処理装置およびそのプログラム合体方法
JPH04101229A (ja) コンパイルエラー表示制御方式
JPH07334387A (ja) シンボル・ファイル生成装置
JPH04209029A (ja) 並列処理プログラム翻訳処理装置