JP2000020296A - プログラム変更支援装置 - Google Patents

プログラム変更支援装置

Info

Publication number
JP2000020296A
JP2000020296A JP10191322A JP19132298A JP2000020296A JP 2000020296 A JP2000020296 A JP 2000020296A JP 10191322 A JP10191322 A JP 10191322A JP 19132298 A JP19132298 A JP 19132298A JP 2000020296 A JP2000020296 A JP 2000020296A
Authority
JP
Japan
Prior art keywords
argument
function
description
condition
program
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
JP10191322A
Other languages
English (en)
Inventor
Masahiro Sekiguchi
雅博 関口
Tsukasa Nagaki
司 永木
Yukiko Iwatsubo
由紀子 岩坪
Hiroshi Aoki
博司 青木
Masako Imachi
真子 井町
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10191322A priority Critical patent/JP2000020296A/ja
Publication of JP2000020296A publication Critical patent/JP2000020296A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 複数の引数を含む関数呼出記述の1つの引数
を変更する作業を行う場合のプログラマの労力を軽減さ
せるプログラム変更支援装置を提供する。 【解決手段】 ソースプログラム中の関数呼出記述中の
複数の引数のうちの1つのプログラマによる変更を支援
するプログラム変更支援装置100は、位置入力受付部
101により1つの引数の位置指定を受け付け、関数・
引数特定部102によりどの関数のどの引数であるかを
特定し、引数候補検索部104により、関数毎にそれぞ
れの引数の条件の情報を格納した引数条件管理テーブル
部105を参照して特定した引数の条件を求め、その条
件を満たす変数すべてをソースプログラム中から検索し
て、引数選択制御部107の制御下で、検索した変数の
選択肢を表示し、1つの変数の選択を受け付け、引数記
述更新部110により、位置指定された1つの引数を選
択を受け付けた変数に変更する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムの作成
を支援するプログラム作成支援技術に関し、特に、引数
を渡して関数を呼び出す関数呼出記述を含むプログラム
における関数呼出記述中の引数を変更するためのプログ
ラム変更支援装置に関する。
【0002】
【従来の技術】近年、コンピュータ関連産業の発達に伴
うソフトウェア需要の増大を背景として、プログラム開
発を支援するための各種プログラムがつくられている。
これらのプログラム開発支援用のプログラムには、開発
すべきプログラムの品質を向上させること、開発すべき
プログラムの作成を容易化すること等が要求される。一
般に、プログラマは、文字列をキーボードを用いて入力
することによりプログラムを作成するが、この作成過程
において、タイプミスその他の要因により、プログラム
に不適切な記述が作り込まれることがある。例えば、プ
ログラマが、予め提供されているライブラリ関数の仕様
を十分に把握せずに、ライブラリ関数を使用することも
上述のプログラムに不適切な記述が作り込まれる要因の
1つとなるが、多量なライブラリ関数のすべてについて
正確に仕様を把握しておくことは不可能に近い。従っ
て、上記の問題を防ぐために、プログラマは、ライブラ
リ関数をプログラム中で使用する場合において、当該ラ
イブラリ関数の引数の型等についての仕様をマニュアル
等によって調査した上で、当該仕様に従って当該ライブ
ラリ関数の呼出記述をプログラム中に記述するようにし
なければならない。このライブラリ関数の使用をする際
におけるプログラマにとっての作業負担を軽減すべく、
プログラム開発支援用プログラムとして、従来、以下の
ものが提案されている。 (1)ユーザから要求を受けると予め提供されているラ
イブラリ関数の一覧を表示し、一覧表示したライブラリ
関数のうちユーザに指定されたライブラリ関数を、ユー
ザが作成中であるプログラムの現在の編集位置に挿入す
るもの。 (2)ライブラリ関数についてのすべての引数の設定を
ユーザに順次行わせるためのウィンドウを開くもの。な
お、ユーザは各引数として作成中のプログラムにおいて
既に宣言記述している変数名を設定することもできる。
【0003】
【発明が解決しようとする課題】しかしながら、上述の
ような従来の技術は、プログラマによるライブラリ関数
の関数呼出記述の新規作成時には効果を発揮するが、作
成済みプログラムの部分的変更を必要とする場合にはあ
まり有効ではない。例えば、プログラム作成後に仕様変
更の必要が生じ、関数呼出記述の中に含まれる複数の引
数の記述のうちの1つだけを、ある変数から他の変数に
変更しなければならない場合、従来の技術を用いると、
プログラマは関数呼出記述中のすべての引数を設定しな
おすことしかできず、プログラム開発作業の効率が良い
とはいえない。本発明は、このような問題点に鑑みてな
されたものであって、複数の引数を含む関数呼出記述の
1つの引数を変更する作業を行う場合のプログラマの労
力を軽減し、プログラム開発作業の効率を向上させるた
めのプログラム変更支援装置を提供することを目的とす
る。
【0004】
【課題を解決するための手段】上記課題を解決するため
に本発明に係るプログラム変更支援装置は、複数の引数
を渡して関数を呼び出す旨の関数呼出記述を含むソース
プログラムの、利用者による変更を支援するプログラム
変更支援装置であって、複数の関数それぞれについて当
該関数が要求する引数それぞれに関する条件を示す引数
条件情報を記憶している引数条件記憶手段と、1つの関
数呼出記述に含まれる1つの引数記述の利用者による指
定を受け付ける指定受付手段と、前記指定受付手段によ
り受け付けられた利用者の指定に係る関数及び引数に基
づき、前記引数条件情報を参照し前記条件を特定する条
件特定手段と、前記条件特定手段により特定された条件
を満たす前記ソースプログラム中の変数であって前記指
定受付手段により受け付けられた前記指定に係る関数呼
出記述において引数として利用可能な1又は複数の変数
を前記ソースプログラムから検索して表示する選択肢表
示手段と、前記選択肢表示手段により表示された前記変
数のうち1つの利用者による選択を受け付ける選択受付
手段と、前記指定受付手段により受け付けられた利用者
の指定に係る引数記述を前記選択受付手段により受け付
けられた利用者の選択に係る変数に変更する引数記述変
更手段とを備えることを特徴とする。上記構成により、
ただ1つの引数記述だけを指定すると、その引数記述に
代えることのできる変数の選択肢が表示され、プログラ
マがそれに応じて1つの選択を行うと、関数呼出記述の
その引数記述のみが変更されるので、プログラマが関数
呼出記述中の1つの引数記述について他の変数に修正し
たい場合に、迅速な修正を可能にする。
【0005】
【発明の実施の形態】<実施の形態1>以下、本発明の
実施の形態1に係るプログラム変更支援装置について図
1〜図6を用いて説明する。 <構成>プログラム変更支援装置は、CPU及びメモリ
を備えるコンピュータで構成され、プログラムをディス
プレイ上にウィンドウ形式で表示し、プログラマによる
関数呼出記述中の1つの引数を変更する作業を支援する
装置である。ここで、関数呼出記述とは、プログラム作
成環境として提供されているライブラリ関数あるいはプ
ログラマが自ら作成した関数を呼び出すための記述であ
り、呼び出すべき関数が引数を必要とするものである場
合には、引数の記述を含むものである。図1は、変更対
象となるプログラムの例を示す図である。プログラム1
0は、C言語のソースプログラムである。プログラム1
0における「Func1(DataA,ID1,Dat
aType);」を関数呼出記述という。また、この関
数呼出記述に含まれるDataA、ID1、DataT
ypeそれぞれを引数という。なお、同図は1つのウィ
ンドウ内に示された状態でのプログラムを示しており、
このウィンドウ中には文字入力位置表示用のカーソル1
2が表示されている。以下、上述のプログラムを変更す
るためのプログラム変更支援装置の機能構成について説
明する。
【0006】プログラム変更支援装置は、一般のプログ
ラム作成支援装置、いわゆるエディタと同様に、プログ
ラムをディスプレイ上にウィンドウ形式で表示しプログ
ラマによる文字列の入力や編集操作を受け付ける機能を
備え、さらに、通常のエディタと相違する機能として、
関数呼出記述中の引数変更機能を備える。一般的な前者
の機能には、ファイルから読み出したソースプログラム
をディスプレイ上に表示する機能、プログラマによる編
集や文字列追加を反映してディスプレイ上のソースプロ
グラムの表示を変更する機能、ディスプレイ上に表示し
ているソースプログラムをファイルに出力する機能等が
含まれ、プログラム変更装置はこれらの機能を選択させ
るために、通常のエディタと同様にディスプレイ上に機
能メニューを表示している。以下、本発明の実施の形態
1に係るプログラム変更支援装置100の特徴である関
数呼出記述中の引数変更機能について着目して詳細に説
明する。図2は、本発明の実施の形態1に係るプログラ
ム変更支援装置100の機能ブロック図である。プログ
ラム変更支援装置100は機能的には、位置入力受付部
101と、関数・引数特定部102と、指定状態表示部
103と、引数候補検索部104と、引数条件管理テー
ブル部105と、検索結果格納部106と、引数選択制
御部107と、引数選択肢表示部108と、引数入力受
付部109と、引数記述更新部110とを備える。
【0007】位置入力受付部101は、プログラマから
のマウス等による操作を受け付け、変更対象となる引数
に関連する位置情報を取得する機能を有する。関数・引
数特定部102は、位置入力受付部101により取得し
た位置情報に基づいて、プログラマがどの関数呼出記述
中のどの引数を変更しようとしているかを特定し、特定
した関数呼出記述及び引数の表示位置を算出して指定状
態表示部103及び引数選択制御部107に通知し、変
更対象となる関数名、引数番号を求めてこれらを前記関
数呼出記述の表示位置とともに引数候補検索部104に
通知する機能を有する。指定状態表示部103は、関数
・引数特定部102から通知された関数呼出記述及び引
数の表示位置についての情報に基づいて、ウィンドウに
表示しているプログラム中の当該関数呼出記述及び当該
引数をアンダーラインを付加して強調表示する機能を有
する。引数条件管理テーブル部105は、引数条件管理
テーブルを格納するものである。ここで引数条件管理テ
ーブルとは、プログラム作成環境においてプログラマが
利用可能なすべてのライブラリ関数について、関数ごと
に引数に関し予め定められた条件を格納するテーブルで
ある。図3は、引数条件管理テーブル20の内容を示す
図である。引数条件管理テーブル20は、関数名及び引
数番号の2次元テーブルになっており、関数名及び引数
番号の組に対して、1つの引数の条件が対応しているテ
ーブルである。C言語における関数の引数には、データ
の型についての条件があり、関数が要求した通りの型を
引数として関数に渡さなければならないので、このデー
タ型が引数の条件となる。同図の例では、Func1と
いう関数については、引数番号が1番目の引数について
はint型、2番目の引数についてはchar型、3番
目の引数についてはint型という条件が定義されてい
ることになる。
【0008】引数候補検索部104は、変更対象とする
関数呼出記述を含むソースプログラムを参照し、関数・
引数特定部102から通知された関数名及び引数番号に
基づいて、引数条件管理テーブル部105に格納されて
いる引数条件管理テーブル20を参照して引数の条件を
取得し、関数・引数特定部102から通知された関数呼
出記述の表示位置に基づいて当該位置で利用可能なソー
スプログラム中の変数のうち、前記の引数の条件を満足
する変数を検索し、検索結果を検索結果格納部106に
出力する機能を有する。ここで、プログラム中の変数と
は、プログラム中に定義記述がある変数をいい、図1に
示す例においては、DataA、DataB、Data
Type等をいう。なお、変数の検索がなされるソース
プログラムには、それがインクルードしているヘッダ情
報が含まれるものとし、ソースプログラムが格納されて
いるファイルと必要に応じて当該ソースプログラムでイ
ンクルードしているヘッダファイルが前記検索の対象と
なるものとする。検索結果格納部106は、引数候補検
索部104によって格納された検索結果を保持するもの
である。従って、検索結果格納部106には、引数の候
補となる1又は複数の変数名が格納されることになる。
引数選択制御部107は、関数・引数特定部102から
通知された関数呼出記述の表示位置の情報に基づき、当
該関数呼出記述を隠さない位置でありかつ当該関数呼出
記述の近傍に、引数選択肢表示部108を介してプログ
ラマに引数を選択させるための引数選択用ウィンドウを
表示し、さらに、引数入力受付部109を制御しプログ
ラマの操作を受け付けさせ、そのプログラマの操作に従
い選択された1つの引数記述を、関数・引数特定部10
2から通知された関数呼出記述の表示位置の情報ととも
に引数記述更新部110に通知する機能を有する。
【0009】引数選択肢表示部108は、引数選択制御
部107から検索結果格納部106を参照することによ
り取得した選択可能な引数記述の候補を通知され、これ
に基づき引数選択用ウィンドウを表示する。また、引数
選択肢表示部108は、引数記述の候補である変数をア
ルファベット順等の所定の順序でソートしてリスト形式
で表示する機能を有する。引数入力受付部109は、引
数選択肢表示部108によって表示した選択肢である変
数のうちの1つを選択するためのプログラマによる操作
を受け付ける機能を有し、特定された1つの変数を引数
選択制御部107に通知する機能を有する。引数記述更
新部110は、引数選択制御部107から通知された関
数呼出記述及び引数の表示位置の情報及び引数記述に基
づいて、当該関数呼出記述中の1つの引数記述を変更す
る。ここで、1つの引数記述の変更とは、プログラマに
選択された変数を引数記述として用いることを意味し、
元の関数呼出記述中に存在した1つの引数記述を削除し
てプログラマに選択された変数をその1つの引数記述と
すること又は元の関数呼出記述中にはその1つの引数記
述がない場合においてプログラマに選択された変数をそ
の1つの引数記述とすることをいう。例えば、元の関数
呼出記述が「Func1(DataA,ID1,Dat
aType);」である場合に、これを「Func1
(DataC,ID1,DataType);」のよう
に変更することや、元の関数呼出記述が「Func
2(,ID2,DataType);」であったとした
場合に、これを「Func2(DataB,ID2,D
ataType);」のように変更することを1つの引
数記述の変更という。
【0010】<動作>以下、上述の機能構成を備えるプ
ログラム変更支援装置100の動作について説明する。
図4は、プログラム変更支援装置100が実行する引数
変更処理を示すフローチャートである。プログラム変更
支援装置100は、変更対象である引数に係る関数呼出
記述が含まれているソースプログラムをウィンドウ形式
でディスプレイ上に表示しており、プログラマによって
関数呼出記述中の引数変更機能が要求された場合に、図
4に示す引数変更処理を行う。なお、プログラマによる
関数呼出記述中の引数変更機能の要求は、キーボードの
特定のキーを押下すること、又はプログラム変更支援装
置100がディスプレイ上に表示している機能メニュー
からマウス等により当該機能を選択することによってな
される。プログラマから引数変更機能の実行要求を受け
て、プログラム変更支援装置100は、プログラマによ
る変更すべき引数についての位置の入力を受け付ける
(ステップS201)。従って、プログラマが、マウス
やキーボードにより変更対象の引数を指定すると、プロ
グラム変更支援装置100における位置入力受付部10
1は、当該引数についての位置情報を取得する。ここで
は、図1に示すソースプログラムを表示中のウィンドウ
に対して、プログラマがマウスを位置づけてクリックし
たとし、文字入力カーソル位置12で示される位置が、
指定されたこととする。位置入力受付部101は、文字
入力カーソル位置12で示される位置である15行目1
3列という位置情報を取得し関数・引数特定部102に
伝えると、関数・引数特定部102は、その位置に関係
する関数呼出記述と引数とを特定する(ステップS20
2)。関数・引数特定部102による関数呼出記述と引
数との特定は、次の手順で行われる。
【0011】まず、位置入力受付部101から伝えられ
た位置情報から、当該位置を含むC言語の1文を把握す
る。次に、その1文中で、当該位置を含む関数呼出記述
を特定する。さらに、当該位置が、関数呼出記述におけ
る括弧内において何番目の引数を示す位置にあるかを、
区切り文字である「,」との関係から求める。この結
果、15行目13列という位置情報から、関数呼出記述
「Func1(DataA,ID1,DataTyp
e);」が特定され、また、1番目の引数が特定され
る。関数・引数特定部102は、関数呼出記述及び引数
を特定すると、計算により当該関数呼出記述、当該引数
それぞれの表示位置が何行目の何列目から何列目までで
あるかを求めて、指定状態表示部103に伝え、これを
受けて指定状態表示部103は、関数呼出記述を破線の
アンダーラインで、当該引数のみを太い実線のアンダー
ラインで強調表示する(ステップS203)。指定状態
表示部103による強調表示の後、関数・引数特定部1
02は特定した関数呼出記述及び引数を引数候補検索部
104に伝え、引数候補検索部104は、引数条件管理
テーブル部105に格納されている引数条件管理テーブ
ル20(図3参照)を参照して引数の条件を求める(ス
テップS204)。関数呼出記述「Func1(Dat
aA,ID1,DataType);」の中の関数名で
あるFunc1について、1番目の引数は、図3の引数
条件管理テーブル20の例によれば、int型のデータ
であることが条件とされており、引数候補検索部104
は、ステップS204でこの条件を得て、当該関数呼出
記述を含みディスプレイ上に表示されているソースプロ
グラムと対応するファイル、及び当該ソースプログラム
でインクルードしているヘッダファイル等から、前記条
件を満足する変数を検索し、検索結果を検索結果格納部
106に出力する(ステップS205)。
【0012】この検索は、当該関数呼出記述の引数の候
補を検索する意義を有し、この検索の結果、既にソース
プログラム等において定義記述済みのint型の変数で
あって、当該関数呼出記述から参照可能な変数すべて
が、検索結果格納部106に格納されることになる。検
索結果格納部106に検索結果が格納された後、引数選
択制御部107は、検索結果格納部106から検索結果
を得て引数選択肢表示部108に渡す。これを受けて引
数選択肢表示部は、引数選択用ウィンドウを表示し、そ
の中に、引数の候補に相当する前記検索結果である変数
をアルファベット順にソートしてリスト形式で表示する
(ステップS206)。図5は、引数選択用ウィンドウ
30を表示した状態におけるディスプレイ面を示す図で
ある。同図に示すように、引数選択肢表示部108が表
示する引数選択用ウィンドウ30には、int型の変数
であるDataA、DataB、DataC、Data
Typeが表示されている。他にもint型の変数が存
在する場合に、プログラマはスクロールバー33をマウ
スで操作することによって、他の変数を表示させること
もできる。この引数選択用ウィンドウ30が表示されて
いる状態において、プログラマは、マウスやキーボード
を操作することにより1つの変数にマークを位置づけ
て、決定ボタン31をマウス等で押下することにより1
つの変数を選択することができ、取消ボタン32をマウ
ス等で押下することにより引数変更機能の実行をキャン
セルすることができる。ここで、マークとは同図におい
て「DataA」を囲んでいる枠であり、この枠はプロ
グラマが操作により移動させることができる。なお、同
図は、上述したステップS203による関数呼出記述の
強調表示も示しており、Func1(DataA,ID
1,DataType);という記述にアンダーライン
が付加されている。引数選択肢表示部108が引数選択
用ウィンドウ30を表示させた後、引数選択制御部10
7は、引数入力受付部109にプログラマの操作による
1つの変数の選択を受け付けさせる(ステップS20
7)。なお、引数入力受付部109は、複数の変数の選
択を受け付けず、1つの変数の選択のみを受け付ける。
【0013】ここで、プログラマがマウス等の操作によ
りDataCを選択したとして説明する。プログラマに
よるDataCの選択操作を受け付けた引数入力受付部
109は、DataCが選択されたことを引数選択制御
部107に通知し、これを受けて引数選択制御部107
は、引数選択肢表示部108を介して引数選択用ウィン
ドウ30を閉じて、引数記述更新部110に、関数呼出
記述Func1(DataA,ID1,DataTyp
e);の1番目の引数をDataCに変更させる(ステ
ップS208)。ここで、引数記述更新部110は、引
数選択制御部107から関数呼出記述及び引数の表示位
置の情報を得て、当該関数呼出記述中の1つの引数記述
DataAを削除して、その代わりにDataCを挿入
する。なお、仮に元の関数呼出記述がFunc1(,I
D1,DataType);というような1番目の引数
を省略した記述であったとしたならば、引数記述更新部
110は、その引数を省略している位置にDataCと
いう記述を挿入する。この結果、ソースプログラムを表
示するウィンドウは、図6に示すようになる。図6は、
ソースプログラムを表示するウィンドウについての引数
変更機能の実行後の状態を示す図である。このように、
プログラム変更支援装置100は、ソースプログラム中
の関数呼出記述のうちの1つの引数がプログラマに指定
されると、引数選択用ウィンドウ30を表示することに
よって、当該引数となり得る変数を一覧表示し、プログ
ラマに1つを選択させることにより前記関数呼出記述を
変更する引数変更機能を有するので、プログラマは迅速
かつ簡易に特定の引数を変更することができる。即ち、
プログラム変更支援装置100によれば、プログラマが
関数の仕様等を熟知していなくても容易に引数の値を設
定することができ、プログラムの変更作業の効率を向上
させることができる。
【0014】<実施の形態2>以下、本発明の実施の形
態2に係るプログラム変更支援装置について図7〜図1
0を用いて説明する。実施の形態2に係るプログラム変
更支援装置は、実施の形態1に係るプログラム変更支援
装置に、複合機能関数の関数呼出記述中の機能識別用の
引数変更機能を付加したものであり、実施の形態1と同
様に、CPU及びメモリを備えるコンピュータで構成さ
れ、プログラムをディスプレイ上にウィンドウ形式で表
示し、プログラマによる関数呼出記述中の1つの引数を
変更する作業を支援する装置である。ここで、複合機能
関数とは、引数として0、1、2等の特定の値を要求す
る関数であり、引数の値を変えて呼び出すと異なる動作
をするものである。以下、この引数とされる特定の値を
特定値という。この複合機能関数は、例えば、識別子で
指定されたボタンの画像を表示する又は非表示にすると
いう2つの機能をもつButtonVisibleとい
った関数であり、ButtonVisible(But
tonID,1);というような関数呼出記述で記述さ
れる。ここで1番目の引数であるButtonIDはボ
タンの識別子であり、2番目の引数である「1」は、例
えば、そのボタンを表示するという意味をもつ。ここ
で、例えば2番目の引数を「0」に代えると、Butt
onVisibleという関数は、そのボタンを見えな
い状態にする。以下、上述の複合機能関数の関数呼出記
述中の機能識別用の特定値である引数についての変更機
能に着目して、当該機能を実現するためのプログラム変
更支援装置の機能構成及び動作について説明する。
【0015】<構成>図7は、本発明の実施の形態2に
係るプログラム変更支援装置300の機能ブロック図で
ある。プログラム変更支援装置300は機能的には、位
置入力受付部101と、関数・引数特定部102と、指
定状態表示部103と、引数候補検索部304と、引数
条件管理テーブル部305と、検索結果格納部106
と、引数選択制御部307と、引数選択肢表示部108
と、引数入力受付部109と、引数記述更新部110と
を備える。プログラム変更支援装置300が実施の形態
1に示したプログラム変更支援装置100と異なる点
は、引数候補検索部104の変形である引数候補検索部
304と、引数条件管理テーブル部105の変形である
引数条件管理テーブル部305と、引数選択制御部10
7の変形である引数選択制御部307とを備える点のみ
であり、他は実施の形態1と同様である。なお、同図
中、実施の形態1と同様な部分には、同一の符号を付し
てあり、その部分については説明を省略する(図2参
照)。引数条件管理テーブル部305は、引数条件管理
テーブルを格納するものである。この引数条件管理テー
ブルも実施の形態1における引数条件管理テーブルのよ
うに、プログラム作成環境においてプログラマが利用可
能なすべてのライブラリ関数について、関数ごとに引数
に関し予め定められた条件を格納するテーブルである。
但し、引数条件管理テーブル部305に格納されている
引数条件管理テーブルは、実施の形態1における引数条
件管理テーブル20と異なり、複合機能関数において要
求される特定値の情報をも含んでいる。図8は、引数条
件管理テーブル部305に格納されている引数条件管理
テーブル320の内容を示す図である。
【0016】引数条件管理テーブル320は、関数名及
び引数番号の2次元テーブルになっており、関数名及び
引数番号の組に対して、1つの引数の条件が対応してい
るテーブルである。これは実施の形態1に示した引数条
件管理テーブル20を意味的に拡張したものであり、デ
ータ内容321に示すように、ButtonVisib
leという関数名の関数についての引数番号2番目の引
数の条件には、特定値である0及び1とデータの型とに
ついての情報が含まれている。また、特定値には、「ボ
タン非表示」、「ボタン表示」といった特定値の意味を
説明する特定値説明情報も付加されている。引数候補検
索部304は、変更対象とする関数呼出記述を含むソー
スプログラムを参照し、関数・引数特定部102から通
知された関数名及び引数番号に基づいて、引数条件管理
テーブル部305に格納されている引数条件管理テーブ
ルを参照して引数の条件を取得し、その引数の条件が、
上述したデータ内容321に示すButtonVisi
bleという関数の2番目の引数のように、データ型の
みでなく特定値を含むものであれば、その特定値及び特
定値説明情報を引数選択制御部307に通知するととも
に、データ型については関数・引数特定部102から通
知された関数呼出記述の表示位置に基づいて当該位置で
利用可能なプログラム中の変数のうち、そのデータ型で
ある変数を検索し、検索結果を検索結果格納部106に
出力する。即ち、引数候補検索部304は、実施の形態
1における引数候補検索部104の機能に加えて必要に
応じて特定値及び特定値説明情報を引数選択制御部30
7に通知する機能が備わったものである。引数選択制御
部307は、関数・引数特定部102から通知された関
数呼出記述の表示位置の情報に基づき、当該関数呼出記
述を隠さない位置でありかつ当該関数呼出記述の近傍
に、引数選択肢表示部108を介してプログラマに引数
を選択させるための引数選択用ウィンドウを表示し、さ
らに、引数入力受付部109を制御しプログラマの操作
を受け付けさせ、そのプログラマの操作に従い選択され
た1つの引数記述を、関数・引数特定部102から通知
された関数呼出記述の表示位置の情報とともに引数記述
更新部110に通知する機能を有するものである点で実
施の形態1における引数選択制御部107と同等だが、
引数候補検索部304から特定値及び特定値説明情報が
通知された場合には、引数選択用ウィンドウを表示する
ための情報としてこの特定値及び特定値説明情報を利用
する。即ち、特定値が選択されるべきときには、引数選
択制御部307は、引数選択肢表示部108を介して、
特定値を選択可能とするような引数選択用ウィンドウを
表示する。
【0017】<動作>以下、上述の機能構成を備えるプ
ログラム変更支援装置300の動作について説明する。
図9は、プログラム変更支援装置300が実行する引数
変更処理を示すフローチャートである。プログラム変更
支援装置300の行う引数変更処理は、基本的には、実
施の形態1において図4のフローチャートでしめしたプ
ログラム変更支援装置100の行う引数変更処理と同様
であるが、引数の条件が引数として特定値を要求するも
のであるか否かを判断するステップS401と、ステッ
プS401で肯定的な判断がなされた場合に、その引数
がとり得る全ての特定値を引数記述の候補とするステッ
プS402とを有する点において相違する。なお、同図
中、プログラム変更支援装置100の行う引数変更処理
と同等の処理ステップには同一の符号を付している(図
4参照)。プログラム変更支援装置300は、変更対象
である引数に係る関数呼出記述が含まれているソースプ
ログラムをウィンドウ形式でディスプレイ上に表示して
おり、プログラマによって関数呼出記述中の引数変更機
能が要求された場合に、図9に示す引数変更処理を行
う。プログラマが、引数変更機能の実行要求をし、編集
中のプログラムに記載されているButtonVisi
ble(ButtonID,0);という関数呼出記述
の2番目の引数について変更したい状況を想定して説明
する。まず、プログラマから引数変更機能の実行要求を
受けて、プログラム変更支援装置300は、プログラマ
による変更すべき引数についての位置の入力を受け付け
る(ステップS201)。従って、プログラマが、マウ
スやキーボードにより変更対象の引数を指定すると、プ
ログラム変更支援装置300における位置入力受付部1
01は、当該引数についての位置情報を取得する。
【0018】ここでは、ButtonVisible
(ButtonID,0);の「0」にプログラマはマ
ウスを位置づけてクリックしたする。位置入力受付部1
01は、表示しているソースプログラムにおけるその
「0」の記述されている位置の情報を取得し関数・引数
特定部102に伝えると、関数・引数特定部102は、
その位置に関係する関数呼出記述「ButtonVis
ible(ButtonID,0);」と2番目の引数
とを特定する(ステップS202)。関数・引数特定部
102は、関数呼出記述及び引数を特定すると、計算に
より当該関数呼出記述、当該引数それぞれの表示位置が
何行目の何列目から何列目までであるかを求めて、指定
状態表示部103に伝え、これを受けて指定状態表示部
103は、関数呼出記述「ButtonVisible
(ButtonID,0);」を破線のアンダーライン
で、「0」を太い実線のアンダーラインで強調表示する
(ステップS203)。指定状態表示部103による強
調表示の後、関数・引数特定部102は特定した関数呼
出記述及び引数を引数候補検索部304に伝え、引数候
補検索部304は、引数条件管理テーブル部305に格
納されている引数条件管理テーブル320(図8参照)
を参照して引数の条件を求める(ステップS204)。
関数呼出記述「ButtonVisible(Butt
onID,0);」の中の関数名であるButtonV
isibleについて、2番目の引数は、図8のデータ
内容321のように、「ボタン非表示」という特定値説
明情報の付随した特定値0又は「ボタン表示」という特
定値説明情報の付随した特定値1であることが条件とさ
れているので(ステップS401)、引数候補検索部3
04は、全ての特定値及び特定値説明情報を引数記述の
候補として引数選択制御部307に通知する(ステップ
S402)。また、データ内容321のように引数の条
件には、int型のデータであることも含まれているの
で、引数候補検索部304は、その関数呼出記述を含み
ディスプレイ上に表示されているソースプログラムと対
応するファイル、及び当該ソースプログラムでインクル
ードしているヘッダファイル等から、前記条件であるi
nt型であることを満足する変数を検索し、検索結果を
検索結果格納部106に出力する(ステップS20
5)。この検索結果として、既にソースプログラム等に
おいて記述済みのint型の変数であって、当該関数呼
出記述から参照可能な変数すべてが、検索結果格納部1
06に格納される。
【0019】検索結果格納部106に検索結果が格納さ
れた後、引数選択制御部107は、ステップS402に
おいて引数候補検索部304から通知された特定値及び
特定値説明情報と、検索結果格納部106に格納されて
いる検索結果とを引数選択肢表示部108に渡す。これ
を受けて引数選択肢表示部は、引数選択用ウィンドウを
表示し、その中に、特定値及び特定値説明情報を数値の
小さい順にソートしてリスト形式で表示し、それに続い
て前記検索結果である変数をアルファベット順にソート
してリスト形式で表示する(ステップS206)。図1
0は、引数選択用ウィンドウ330を表示した状態にお
けるディスプレイ面を示す図である。同図に示すよう
に、引数選択肢表示部108が表示する引数選択用ウィ
ンドウ330には、特定値である「0」とその説明であ
る「ボタン非表示」、特定値である「1」とその説明で
ある「ボタン表示」、int型の変数であるData
A、DataBが表示されている。この引数選択用ウィ
ンドウ330が表示されている状態において、プログラ
マは、例えば、特定値「1」にマークを位置づけて、決
定ボタン331をマウス等で押下することにより、変更
後となる引数記述を選択することができ、取消ボタン3
32をマウス等で押下することにより引数変更機能の実
行をキャンセルすることができる。なお、同図は、上述
したステップS203による関数呼出記述の強調表示も
示しており、ButtonVisible(Butto
nID,0);という記述にアンダーラインが付加され
ている。
【0020】引数選択肢表示部108が引数選択用ウィ
ンドウ330を表示させた後、引数選択制御部307
は、引数入力受付部109にプログラマの操作による1
つの特定値又は変数の選択を受け付けさせる(ステップ
S207)。ここで、プログラマがマウス等の操作によ
り特定値である「1」を選択したとして説明する。プロ
グラマによる特定値「1」の選択操作を受け付けた引数
入力受付部109は、これを引数選択制御部307に通
知し、これを受けて引数選択制御部307は、引数選択
肢表示部108を介して引数選択用ウィンドウ330を
閉じて、引数記述更新部110に、関数呼出記述But
tonVisible(ButtonID,0);の2
番目の引数を「1」に変更させる(ステップS20
8)。ここで、引数記述更新部110は、引数選択制御
部307から関数呼出記述及び引数の表示位置の情報を
得て、当該関数呼出記述中の1つの引数記述「0」を削
除して、その代わりに「1」を挿入する。なお、仮に元
の関数呼出記述がButtonVisible(But
tonID,);というような2番目の引数を省略した
記述であったとしたならば、引数記述更新部110は、
その引数を省略している位置に「1」という記述を挿入
する。このように、プログラム変更支援装置300は、
ソースプログラム中の関数呼出記述のうちの1つの引数
がプログラマに指定されると、引数選択用ウィンドウ3
30を表示することによって、当該引数となり得る特定
値又は変数を一覧表示し、プログラマに1つを選択させ
ることにより前記関数呼出記述を変更する引数変更機能
を有するので、当該関数が特定値を要求するような複合
機能関数であった場合においても、プログラマは迅速か
つ簡易に特定値である引数を変更することができる。即
ち、プログラム変更支援装置300によれば、プログラ
マは、複合機能関数の引数を変更したい場合に、引数と
なり得る値が何かを知らなくても容易に引数の値を設定
することができるので、プログラムの変更作業の効率が
向上する。
【0021】<実施の形態3>以下、本発明の実施の形
態3に係るプログラム変更支援装置について図11〜図
14を用いて説明する。実施の形態3に係るプログラム
変更支援装置は、実施の形態1に係るプログラム変更支
援装置に、引数条件管理テーブルへの関数の検索登録機
能を付加したものであり、実施の形態1と同様に、CP
U及びメモリを備えるコンピュータで構成され、プログ
ラムをディスプレイ上にウィンドウ形式で表示し、プロ
グラマによる関数呼出記述中の1つの引数を変更する作
業を支援する装置である。ここで、引数条件管理テーブ
ルへの関数の検索登録機能とは、必要な関数の定義記述
をソースプログラム中から検索して、その関数定義記述
に基づいて、引数条件管理テーブルにその関数に関する
情報を新たに登録する機能をいう。ここで、関数の定義
記述とは、関数の引数それぞれに関するデータ型等の条
件が含まれている記述をいい、例えば、後述する定義記
述611、612がこれに相当する(図13参照)。以
下、上述の検索登録機能に着目して、当該機能を実現す
るためのプログラム変更支援装置の機能構成及び動作に
ついて説明する。
【0022】<構成>図11は、本発明の実施の形態3
に係るプログラム変更支援装置500の機能ブロック図
である。プログラム変更支援装置500は機能的には、
位置入力受付部101と、関数・引数特定部102と、
指定状態表示部103と、引数候補検索部504と、引
数条件管理テーブル部105と、引数条件登録部511
と、検索結果格納部106と、引数選択制御部107
と、引数選択肢表示部108と、引数入力受付部109
と、引数記述更新部110とを備える。プログラム変更
支援装置500が実施の形態1に示したプログラム変更
支援装置100と異なる点は、引数候補検索部104の
変形である引数候補検索部504と、新たに引数条件登
録部511とを備える点のみであり、他は実施の形態1
と同様である。なお、同図中、実施の形態1と同様な部
分には、同一の符号を付してあり、その部分については
説明を省略する(図2参照)。引数候補検索部504
は、実施の形態1における引数候補検索部104と同様
に、変更対象とする関数呼出記述を含むソースプログラ
ムを参照し、関数・引数特定部102から通知された関
数名及び引数番号に基づいて、引数条件管理テーブル部
105に格納されている引数条件管理テーブル20を参
照して引数の条件を取得し、関数・引数特定部102か
ら通知された関数呼出記述の表示位置に基づいて当該位
置で利用可能なソースプログラム中の変数のうち、前記
の引数の条件を満足する変数を検索し、検索結果を検索
結果格納部106に出力する機能を有する。
【0023】さらに引数候補検索部504は、関数・引
数特定部102から通知された関数名で示される関数に
関する情報が、引数条件管理テーブル部105に格納さ
れている引数条件管理テーブル20に格納されていなか
った場合には、その関数名を引数条件登録部511に通
知して、ソースプログラムから関数の定義記述を検索し
て引数条件管理テーブル20に追加登録するように関数
名を通知して指示を出すものである。引数条件登録部5
11は、引数候補検索部504から通知を受けた関数名
で示される関数の定義記述をソースプログラム中から検
索して、その定義記述からそれぞれの引数についてのデ
ータ型である引数条件を抽出して引数条件管理テーブル
20にその関数に関する情報を登録する。
【0024】<動作>以下、上述の機能構成を備えるプ
ログラム変更支援装置500の動作について説明する。
プログラム変更支援装置500が実行する引数変更処理
は、実施の形態1におけるプログラム変更支援装置10
0と基本的には同様に図4のフローチャートに示すもの
であるが、引数条件を求める処理(ステップS204)
の内容は、引数候補検索部504及び引数条件登録部5
11によって、図12に示す手順で行われる。図12
は、引数候補検索部504及び引数条件登録部511に
より行われる引数条件を求める処理を示すフローチャー
トである。以下、プログラマが自ら作成した関数である
UFuncAについての関数呼出記述中の3番目の引数
を変更しようとしているという例に即して、プログラム
変更支援装置500の具体的動作について説明する。図
13は、ソースプログラムの一部が表示されたウィンド
ウの例を示した図である。プログラマは、カーソル61
5で示すUFuncAの3番目の引数である「Data
X」を変更しようとしている。同図中の定義記述611
は、関数名がUFuncAという関数の定義記述であ
り、定義記述612は、関数名がUFuncBという関
数の定義記述である。いずれの関数定義記述も、関数名
とそれぞれの引数のデータ型についての情報が含まれて
いる。なお、定義記述612中のarg1、arg2、
arg3は、UFuncB関数の引数に割り当てられた
変数名である。プログラム変更支援装置500は、図4
に示すように、プログラマからDataXの位置指定を
受け付けると(ステップS201)、変更の対象とされ
ているのが、関数呼出記述である「UFuncA(Da
taC,ID1,DataX);」の3番目の引数であ
ることを特定し(ステップS202)、その関数呼出記
述をアンダーラインにより強調表示し、引数候補検索部
504によって引数条件管理テーブル部105の引数条
件管理テーブル20を参照して引数の条件を求める(ス
テップS204)。引数候補検索部504は、この引数
の条件を求める処理を図12に示す手順で行う。
【0025】この時点で、引数条件管理テーブル20は
図3に示すような内容であり、この引数条件管理テーブ
ル20にはUFuncAという関数に関する情報は登録
されていなかったとする。引数候補検索部504は、U
FuncAという関数名が引数条件管理テーブル20に
登録されていないと判断し(ステップS701)、UF
uncAという関数名を引数条件登録部511に通知す
る。関数名の通知を受けた引数条件登録部511は、U
FuncAについての関数定義記述をソースプログラム
中から検索し(ステップS702)、図13に示す定義
記述611を検出し、その定義記述から3つの引数それ
ぞれのデータ型を得て、UFuncAに関する情報を引
数条件管理テーブル20に登録する(ステップS70
3)。即ち、引数条件登録部511は、UFuncAの
1番目の引数のデータ型はintであり、2番目の引数
のデータ型はcharであり、3番目の引数のデータ型
はcharであるという情報を得て、引数条件管理テー
ブル20に追加登録する。図14は、新たにUFunc
Aという関数に関する情報が追加登録された引数条件管
理テーブル20を示す図である。ステップS703にお
ける登録の結果、引数条件管理テーブル20は図14に
示すようになり、引数候補検索部504は、この引数条
件管理テーブル20からUFuncAの3番目の引数に
ついての条件として、データ型がcharであることを
得る(ステップS704)。以後、プログラム変更支援
装置500は実施の形態1におけるプログラム変更支援
装置100と同様に、その引数の候補となる変数をソー
スプログラム中から検索し(ステップS205)、その
変数をリスト表示して(ステップS206)、プログラ
マによる1つの変数の選択を受け付け(ステップS20
7)、DataXという記述を、その受け付けた変数に
変更する。
【0026】このように、プログラム変更支援装置50
0は、予め引数条件管理テーブル20に登録されていな
い関数に関する引数条件の情報を、ソースプログラム中
の関数定義記述から得ることによって、引数条件管理テ
ーブル20に追加登録する機能を有するため、関数の定
義記述さえソースプログラム中にあれば予め引数条件管
理テーブルに登録されていなくてもプログラマに1つの
引数記述を簡単に変更させる機能を提供できる。即ち、
このプログラム変更支援装置500によれば、プログラ
マが作成した関数であっても、プログラマは、その関数
に対する呼出記述中の引数記述を容易に変更することが
できる。
【0027】以上、本発明に係るプログラム変更支援装
置について、実施形態に基づいて説明したが、本発明は
これら実施形態に限られないことは勿論である。即ち、
(1)実施の形態では、引数条件管理テーブルが1つの
関数につき引数が3つ以下の例を示したが(図3、図
8、図14)、これに限定されることはなく、引数条件
管理テーブルは、引数が4以上ある関数についても同様
に引数それぞれの条件を含んだものとしてよい。また、
実施の形態では、C言語のソースプログラムをプログラ
マによる変更の対象としたが、これに限定されることは
ない。即ち、C言語を対象とすると引数条件管理テーブ
ルが、引数番号毎でその条件と対応づけられているが、
他の言語であればその言語下における引数の表現方法に
従い、例えば、関数の定義がFunc(arg1=in
t,arg2=char)といった表現とされる言語を
対象とすると、引数番号ではなく、引数識別用の名称で
その引数についての条件と対応づけられていることとし
てもよい。また、実施の形態では、C言語のソースプロ
グラムをプログラマによる変更の対象とした例について
示したため、ソースプログラムのある部分から呼び出さ
れる他の部分を関数として表現したが、C言語における
関数と同等のものであれば、サブルーチン等も実施の形
態示した関数と同等に扱うことができる。
【0028】(2)実施の形態では、プログラム変更支
援装置に対するプログラマによる引数変更機能の要求は
マウス等によりなされることとしたが、このマウス等
は、キーボードや、各種のポインティングデバイスであ
ることとしてもよい。また、実施の形態では、プログラ
マが引数変更機能を要求した後に、変更対象となる引数
に関連する位置をマウス等により指定することとした
が、変更対象とする引数の位置に文字入力位置表示用の
カーソルを位置づけた後に、引数変更機能を要求するこ
ととしてもよいし、例えば、マウスでカーソルを位置づ
けてクリックする等により引数変更機能の要求と、変更
対象となる引数に関連する位置の指定を同時に行うこと
としてもよい。また、変更対象とする引数の位置につい
ては、位置入力受付部101はプログラマにより関数呼
出記述の位置さえ指定されたならば、「何番目の引数を
変更しますか?」というメッセージを表示することによ
りプログラマからの引数番号の指定を受け付け、これに
よって引数を特定することとしてもよい。
【0029】(3)実施の形態における関数・引数特定
部102は、位置入力受付部101により取得した位置
情報に基づいて、関数呼出記述及び引数を特定すること
としたが、位置入力受付部101により取得した位置情
報に特定の修正を加える等して、プログラマによる指定
位置が関数呼出記述から少しずれている場合等に対応す
ることとしてもよい。即ち、プログラマが1つの引数の
記述から多少ずれた位置をマウス等でクリックした場合
にも、その位置に最も近い位置の引数が指定されたのと
同様に扱うこととしてもよい。
【0030】(4)実施の形態における指定状態表示部
103はアンダーラインを付加して関数呼出記述及び引
数を強調表示することとしたが、強調表示の方法はこれ
に限定されることはなく、特定の文字色で表示したり、
反転表示、字体を下線やイタリックにする等であっても
よい。また、関数呼出記述は強調表示せずに引数のみを
強調表示することとしてもよい。
【0031】(5)実施の形態における引数選択制御部
107は、変数の選択肢である引数選択用ウィンドウを
表示してプログラマによる1つの変数の選択を受け付け
るといった制御を行うこととしたが、プログラマが入力
可能なものが変数に限定されることはなく、変数又は即
値を入力できるように制御してもよい。また、変数や即
値の入力を受け付ける場合には、入力値について、条件
であるデータ型を満足するか否かのチェックを行い、満
足しない場合には警告メッセージを表示して再入力を促
すこととしてもよい。また、特定値を即値入力された場
合に、数値であることのチェックを行い数値以外の入力
を受け付けないこととしてもよい。なお、プログラマに
よる引数選択用ウィンドウからの引数記述の選択は、マ
ウスによるダブルクリック等で決定されることとしても
よい。また、引数選択制御部は、引数選択用ウィンドウ
を関数呼出記述の近傍に表示することとしたが、これに
限定されることはなく、他の位置に表示することとして
もよく、画面中の予め定められた位置に表示することと
してもよい。また、引数選択肢表示部108は、プログ
ラマの指示に応じて様々な順でソートして表示したり、
プログラマに指定された関数呼出記述を含む関数内にお
ける変数のみを表示したり、グローバル変数のみを表示
したりしてもよく、変数をソートしないで表示すること
としてもよい。
【0032】(6)実施の形態における引数記述更新部
110は、関数呼出記述中の1つの引数記述の変更を行
うこととしたが、この変更後と同様の内容となるように
当該関数呼出記述が含まれるソースプログラムの格納さ
れているファイルを更新することとしてもよい。
【0033】(7)実施の形態2では、特定値を要求す
るような複合機能関数の引数について、引数選択用ウィ
ンドウに特定値及びその引数のデータ型と同じ型をもつ
変数を表示することとしたが、これに限定されることは
なく、特定値のみを表示して、変数を表示しないことと
してもよい。また、引数選択用ウィンドウに表示する特
定値としては、0、1、2等の数値でなく、それと等価
なものとして定義されているものであれば、TRUE、
FALSE等の文字記述であってもよい、また特定値説
明情報は引数選択用ウィンドウに表示しなくてもよい。
【0034】(8)実施の形態3では、関数の定義記述
をソースプログラム中から検索することにより引数条件
管理テーブルへの情報の追加登録をすることとしたが、
この他に、プログラム変更支援装置は、プログラマがマ
ウス等によって直接的にソースプログラム中の関数の定
義記述を指定した場合に、当該関数の定義記述から得ら
れる情報を引数条件管理テーブルへ追加登録する機能を
備えることとしてもよい。また、引数条件管理テーブル
に登録されている関数の引数条件の情報は、プログラマ
が随時閲覧可能とし、プログラム変更支援装置に引数条
件管理テーブルのメンテナンス機能を設けることによ
り、引数条件管理テーブルへの関数定義記述の直接入力
による登録や、関数名指定での情報の削除等も行えるこ
ととしてもよい。なお、実施の形態1では、引数条件管
理テーブル部105に格納されている引数条件管理テー
ブルが、引数候補検索部104から引数の条件を得るた
めに参照されることとしているが、引数候補検索部10
4は、関数の引数についての条件を得るために、引数条
件管理テーブルの代わりに、ソースプログラム中の関数
の定義記述をそのまま引数条件に関する情報として参照
することとしてもよい。
【0035】(9)実施の形態では、プログラム変更支
援装置は、プログラマに指定された1つの引数の記述に
対して置き換えられることのできる1以上の変数等を選
択肢として表示して1つの変数の選択を受け付けるため
の引数選択用ウィンドウを表示することとしたが、さら
に、プログラマにマウスのドラッグ操作等により2つ以
上の引数の記述が指定された場合には、その指定された
数の引数それぞれについての選択肢を同時に表示するよ
うな引数選択用ウィンドウを表示することとしてもよ
い。
【0036】(10)実施の形態では、プログラマに引
数が指定された場合、引数条件管理テーブルに示される
その引数のデータ型と同じデータ型の変数をソースプロ
グラム中から検索して引数選択用ウィンドウに表示する
こととしたが、例えばC言語におけるキャストのよう
に、データ型を変換する記述を付加できる場合は、同じ
データ型でなくてもキャストによって同じデータ型とな
り得る変数を検索して表示することとしてもよい。な
お、引数選択用ウィンドウからプログラマに選択された
変数がキャストによって元の引数記述と同じデータ型に
なるものであれば、関数呼出記述における元の引数記述
は、キャスト付きの当該変数に変更されることとすれば
よい。
【0037】(11)実施の形態におけるプログラム変
更支援装置による関数呼出記述中の引数変更機能につい
ての処理手順(図4、図9、図12のフローチャートの
手順等)を機械語プログラムにより実現し、これを記録
媒体に記録して流通・販売の対象にしても良い。このよ
うな記録媒体には、ICカード、光ディスク、フレキシ
ブルディスク、ROM等があるが、これらに記録された
機械語プログラムは、プログラム実行機能を有する家電
機器やパーソナルコンピュータ等にインストールされる
ことにより利用に供される。即ち、家電機器やパーソナ
ルコンピュータは、インストールした上記機械語プログ
ラムを逐次実行して、実施の形態に示したような関数呼
出記述中の引数変更機能を実現する。また、パーソナル
コンピュータ等に上述の引数変更機能についての処理手
順を実行させるための制御を行うコンピュータプログラ
ムは、ハードディスク等の記録媒体及び通信回線等を介
してオンラインで流通させ頒布することもできる。
【0038】
【発明の効果】以上の説明から明らかなように、本発明
に係るプログラム変更支援装置は、複数の引数を渡して
関数を呼び出す旨の関数呼出記述を含むソースプログラ
ムの、利用者による変更を支援するプログラム変更支援
装置であって、複数の関数それぞれについて当該関数が
要求する引数それぞれに関する条件を示す引数条件情報
を記憶している引数条件記憶手段と、1つの関数呼出記
述に含まれる1つの引数記述の利用者による指定を受け
付ける指定受付手段と、前記指定受付手段により受け付
けられた利用者の指定に係る関数及び引数に基づき、前
記引数条件情報を参照し前記条件を特定する条件特定手
段と、前記条件特定手段により特定された条件を満たす
前記ソースプログラム中の変数であって前記指定受付手
段により受け付けられた前記指定に係る関数呼出記述に
おいて引数として利用可能な1又は複数の変数を前記ソ
ースプログラムから検索して表示する選択肢表示手段
と、前記選択肢表示手段により表示された前記変数のう
ち1つの利用者による選択を受け付ける選択受付手段
と、前記指定受付手段により受け付けられた利用者の指
定に係る引数記述を前記選択受付手段により受け付けら
れた利用者の選択に係る変数に変更する引数記述変更手
段とを備えることを特徴とする。
【0039】これにより、ただ1つの引数記述だけを指
定すると、その引数記述に代えることのできる変数の選
択肢が表示され、プログラマがそれに応じて1つの選択
を行うと、関数呼出記述のその引数記述のみが変更され
るので、プログラマが関数呼出記述中の1つの引数記述
について他の変数に変更したい場合に、迅速な変更を可
能にする。即ち、プログラマが指定した引数以外の引数
の記述は元のままで、変更必要な部分のみを引数に要求
される条件を満足する変数に変更することができるた
め、プログラマによるこの変更作業は迅速かつ容易なも
のとなる。さらに、プログラマは変数を選択するだけで
適切に修正ができ、その変数の入力を要しないので、変
数の記述上の文字数が長いような場合に、入力ミス等を
防止できる。これは、1つの引数の記述がコンパイルエ
ラーとなった場合や、プログラマが作成したソースプロ
グラムについて、作成後の仕様変更により1つの引数の
名称等を変更する必要が生じた場合等に特に有用とな
り、本発明により効率的なプログラム開発が可能とな
る。ここでいう変更は、記述のないものを記述あるもの
に変更することをも含んでおり、プログラマが無記述で
ある引数記述を指定した場合、即ち、引数記述を省略し
てある箇所を指定した場合にも、プログラマはそこに変
数を設定することが容易かつ迅速に行える。
【0040】また、前記引数条件情報は、引数に要求さ
れるデータ型を前記条件とし、前記条件特定手段は、前
記データ型を特定し、前記選択肢表示手段は、前記条件
特定手段により特定された前記データ型である変数を前
記ソースプログラムから検索して表示することとするこ
ともできる。これにより、変更後の引数記述は、データ
型が正しいことが保証されるので、データ型をプログラ
マが意識しなくても簡単に引数の変更を行うことができ
る。
【0041】また、前記プログラム変更支援装置は、前
記ソースプログラムを画面に表示するものであって、前
記プログラム変更支援装置はさらに、前記指定受付手段
により受け付けられた利用者の指定に係る関数呼出記述
及び引数記述のそれぞれを別の形式で強調表示する強調
表示手段を備え、前記選択肢表示手段は、前記指定受付
手段により受け付けられた前記指定に係る関数呼出記述
の近傍に前記変数をリスト形式で表示することとするこ
ともできる。これにより、プログラマは、プログラム変
更支援装置が引数の指定を受け付けたことが容易に認識
できる。また、引数の指定位置から引数選択用ウィンド
ウの表示位置が近接しているので、プログラマはあまり
視線を移動しなくてよく、思考が妨げられない。
【0042】また、前記選択肢表示手段は、表示すべき
変数が複数のときは、予め定めてある規則に従った順序
で前記変数をならべて表示することとすることもでき
る。これにより、プログラマは、引数選択用ウィンドウ
に表示される複数の変数等の中から所望の変数等を迅速
に探し出せる。
【0043】また、前記プログラム変更支援装置はさら
に、ソースプログラム中の関数の定義記述に基づいて当
該関数が要求する引数それぞれに関する条件を得て、前
記引数条件記憶手段に格納されている前記引数条件情報
に追加する追加手段を備えることとすることもできる。
また、前記引数条件情報は、ソースプログラム中の関数
の定義記述であり、前記条件特定手段は、前記指定受付
手段により受け付けられた利用者の指定に係る関数及び
引数についての前記条件を、当該関数の前記定義記述を
前記ソースプログラム中から検索して当該定義記述を参
照することにより特定することとすることもできる。こ
れらにより、プログラマは自己の作成した関数について
の呼び出し記述中の1つの引数の変更も迅速かつ容易に
行えるようになる。
【0044】このように、本発明に係るプログラム変更
支援装置は、その利用者が効率的に関数呼出記述中の引
数の記述を変更することができるように支援する装置で
あり、ソフトウェア開発の効率化を図ることで、ソフト
ウェア技術の進展に寄与する。
【図面の簡単な説明】
【図1】変更対象となるプログラムの例を示す図であ
る。
【図2】実施の形態1に係るプログラム変更支援装置1
00の機能ブロック図である。
【図3】引数条件管理テーブル20の内容を示す図であ
る。
【図4】プログラム変更支援装置100が実行する引数
変更処理を示すフローチャートである。
【図5】引数選択用ウィンドウ30を表示した状態にお
けるディスプレイ面を示す図である。
【図6】ソースプログラムを表示するウィンドウについ
ての引数変更機能の実行後の状態を示す図である。
【図7】実施の形態2に係るプログラム変更支援装置3
00の機能ブロック図である。
【図8】引数条件管理テーブル部305に格納されてい
る引数条件管理テーブル320の内容を示す図である。
【図9】プログラム変更支援装置300が実行する引数
変更処理を示すフローチャートである。
【図10】引数選択用ウィンドウ330を表示した状態
におけるディスプレイ面を示す図である。
【図11】実施の形態3に係るプログラム変更支援装置
500の機能ブロック図である。
【図12】引数候補検索部504及び引数条件登録部5
11により行われる引数条件を求める処理を示すフロー
チャートである。
【図13】ソースプログラムの一部が表示されたウィン
ドウの例を示した図である。
【図14】新たにUFuncAという関数に関する情報
が追加登録された引数条件管理テーブル20を示す図で
ある。
【符号の説明】
20 引数条件管理テーブル 30 引数選択用ウィンドウ 100 プログラム変更支援装置 101 位置入力受付部 102 関数・引数特定部 103 指定状態表示部 104 引数候補検索部 105 引数条件管理テーブル部 106 検索結果格納部 107 引数選択制御部 108 引数選択肢表示部 109 引数入力受付部 110 引数記述更新部 300 プログラム変更支援装置 304 引数候補検索部 305 引数条件管理テーブル部 307 引数選択制御部 320 引数条件管理テーブル 330 引数選択用ウィンドウ 500 プログラム変更支援装置 504 引数候補検索部 511 引数条件登録部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩坪 由紀子 広島市東区光町1丁目12番20号 株式会社 松下電器情報システム広島研究所内 (72)発明者 青木 博司 広島市東区光町1丁目12番20号 株式会社 松下電器情報システム広島研究所内 (72)発明者 井町 真子 広島市東区光町1丁目12番20号 株式会社 松下電器情報システム広島研究所内 Fターム(参考) 5B076 DA04 DC02 DD08

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数の引数を渡して関数を呼び出す旨の
    関数呼出記述を含むソースプログラムの、利用者による
    変更を支援するプログラム変更支援装置であって、 複数の関数それぞれについて当該関数が要求する引数そ
    れぞれに関する条件を示す引数条件情報を記憶している
    引数条件記憶手段と、 1つの関数呼出記述に含まれる1つの引数記述の利用者
    による指定を受け付ける指定受付手段と、 前記指定受付手段により受け付けられた利用者の指定に
    係る関数及び引数に基づき、前記引数条件情報を参照し
    前記条件を特定する条件特定手段と、 前記条件特定手段により特定された条件を満たす前記ソ
    ースプログラム中の変数であって前記指定受付手段によ
    り受け付けられた前記指定に係る関数呼出記述において
    引数として利用可能な1又は複数の変数を前記ソースプ
    ログラムから検索して表示する選択肢表示手段と、 前記選択肢表示手段により表示された前記変数のうち1
    つの利用者による選択を受け付ける選択受付手段と、 前記指定受付手段により受け付けられた利用者の指定に
    係る引数記述を前記選択受付手段により受け付けられた
    利用者の選択に係る変数に変更する引数記述変更手段と
    を備えることを特徴とするプログラム変更支援装置。
  2. 【請求項2】 前記引数条件情報は、引数に要求される
    データ型を前記条件とし、 前記条件特定手段は、前記データ型を特定し、 前記選択肢表示手段は、前記条件特定手段により特定さ
    れた前記データ型である変数を前記ソースプログラムか
    ら検索して表示することを特徴とする請求項1記載のプ
    ログラム変更支援装置。
  3. 【請求項3】 前記プログラム変更支援装置は、前記ソ
    ースプログラムを画面に表示するものであって、 前記プログラム変更支援装置はさらに、前記指定受付手
    段により受け付けられた利用者の指定に係る関数呼出記
    述及び引数記述のそれぞれを別の形式で強調表示する強
    調表示手段を備え、 前記選択肢表示手段は、前記指定受付手段により受け付
    けられた前記指定に係る関数呼出記述の近傍に前記変数
    をリスト形式で表示することを特徴とする請求項1又は
    2記載のプログラム変更支援装置。
  4. 【請求項4】 前記選択肢表示手段は、表示すべき変数
    が複数のときは、予め定めてある規則に従った順序で前
    記変数をならべて表示することを特徴とする請求項1〜
    3のいずれか1項に記載のプログラム変更支援装置。
  5. 【請求項5】 前記プログラム変更支援装置はさらに、 ソースプログラム中の関数の定義記述に基づいて当該関
    数が要求する引数それぞれに関する条件を得て、前記引
    数条件記憶手段に格納されている前記引数条件情報に追
    加する追加手段を備えることを特徴とする請求項1〜4
    のいずれか1項に記載のプログラム変更支援装置。
  6. 【請求項6】 前記引数条件情報は、ソースプログラム
    中の関数の定義記述であり、 前記条件特定手段は、前記指定受付手段により受け付け
    られた利用者の指定に係る関数及び引数についての前記
    条件を、当該関数の前記定義記述を前記ソースプログラ
    ム中から検索して当該定義記述を参照することにより特
    定することを特徴とする請求項1〜4のいずれか1項に
    記載のプログラム変更支援装置。
  7. 【請求項7】 複数の引数を渡して関数を呼び出す旨の
    関数呼出記述を含むソースプログラムの利用者による変
    更を支援するソースプログラム変更支援処理を、記憶手
    段を備えるコンピュータに実行させるための制御プログ
    ラムを記録した記録媒体であって、 前記制御プログラムは、 複数の関数それぞれについて当該関数が要求する引数そ
    れぞれに関する条件を示す引数条件情報を前記記憶手段
    に格納する引数条件格納ステップと、 前記ソースプログラム中の1つの関数呼出記述に含まれ
    る1つの引数記述の利用者による指定を受け付ける指定
    受付ステップと、 前記指定受付ステップにより受け付けられた利用者の指
    定に係る関数及び引数に基づき、前記引数条件情報を参
    照し前記条件を特定する条件特定ステップと、 前記条件特定ステップにより特定された条件を満たす前
    記ソースプログラム中の変数であって前記指定受付ステ
    ップにより受け付けられた前記指定に係る関数呼出記述
    において参照可能な1又は複数の変数を前記ソースプロ
    グラムから検索して表示する選択肢表示ステップと、 前記選択肢表示ステップにより表示された前記変数のう
    ち1つの利用者による選択を受け付ける選択受付ステッ
    プと、 前記指定受付ステップにより受け付けられた利用者の指
    定に係る引数記述を前記選択受付ステップにより受け付
    けられた利用者の選択に係る変数に変更する引数記述変
    更ステップとを含むことを特徴とする記録媒体。
  8. 【請求項8】 複数の引数を渡して関数を呼び出す旨の
    関数呼出記述を含むソースプログラムの利用者による変
    更を支援するソースプログラム変更支援処理を、コンピ
    ュータに実行させるための制御プログラムを記録した記
    録媒体であって、 前記制御プログラムは、 前記ソースプログラム中の1つの関数呼出記述に含まれ
    る1つの引数記述の利用者による指定を受け付ける指定
    受付ステップと、 前記指定受付ステップにより受け付けられた利用者の指
    定に係る関数及び引数についての条件を、当該関数の前
    記定義記述を前記ソースプログラム中から検索して当該
    定義記述を参照することにより特定する条件特定ステッ
    プと、 前記条件特定ステップにより特定された条件を満たす前
    記ソースプログラム中の変数であって前記指定受付ステ
    ップにより受け付けられた前記指定に係る関数呼出記述
    において参照可能な1又は複数の変数を前記ソースプロ
    グラムから検索して表示する選択肢表示ステップと、 前記選択肢表示ステップにより表示された前記変数のう
    ち1つの利用者による選択を受け付ける選択受付ステッ
    プと、 前記指定受付ステップにより受け付けられた利用者の指
    定に係る引数記述を前記選択受付ステップにより受け付
    けられた利用者の選択に係る変数に変更する引数記述変
    更ステップとを含むことを特徴とする記録媒体。
JP10191322A 1998-07-07 1998-07-07 プログラム変更支援装置 Pending JP2000020296A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10191322A JP2000020296A (ja) 1998-07-07 1998-07-07 プログラム変更支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10191322A JP2000020296A (ja) 1998-07-07 1998-07-07 プログラム変更支援装置

Publications (1)

Publication Number Publication Date
JP2000020296A true JP2000020296A (ja) 2000-01-21

Family

ID=16272638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10191322A Pending JP2000020296A (ja) 1998-07-07 1998-07-07 プログラム変更支援装置

Country Status (1)

Country Link
JP (1) JP2000020296A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525733A (ja) * 2003-06-06 2007-09-06 インテンショナル ソフトウェア コーポレーション プログラムツリー内でカテゴリ別にノードを編成し操作する方法およびシステム
JP2008159074A (ja) * 2008-02-04 2008-07-10 Nec Corp プログラム生成システムおよび方法
CN100533377C (zh) * 2006-11-01 2009-08-26 国际商业机器公司 应用程序的变换设备和变换方法
JP2020149297A (ja) * 2019-03-13 2020-09-17 オムロン株式会社 解析装置、解析方法、及び解析プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525733A (ja) * 2003-06-06 2007-09-06 インテンショナル ソフトウェア コーポレーション プログラムツリー内でカテゴリ別にノードを編成し操作する方法およびシステム
US7730102B2 (en) 2003-06-06 2010-06-01 Intentional Software Corporation Method and system for organizing and manipulating nodes by category in a program tree
JP2010146583A (ja) * 2003-06-06 2010-07-01 Intentional Software Corp プログラムツリー内でカテゴリ別にノードをまとめる方法及びシステム
CN100533377C (zh) * 2006-11-01 2009-08-26 国际商业机器公司 应用程序的变换设备和变换方法
US8140305B2 (en) 2006-11-01 2012-03-20 International Business Machines Corporation Conversion of an application program
JP2008159074A (ja) * 2008-02-04 2008-07-10 Nec Corp プログラム生成システムおよび方法
JP2020149297A (ja) * 2019-03-13 2020-09-17 オムロン株式会社 解析装置、解析方法、及び解析プログラム

Similar Documents

Publication Publication Date Title
KR101323011B1 (ko) 데이터베이스 애플리케이션에 선택 가능 기능 컨트롤을디스플레이하기 위한 명령 사용자 인터페이스
US8091068B2 (en) User configurable language independent code assist method, system, article of manufacture, and computer program product
US20030154185A1 (en) File creation and display method, file creation method, file display method, file structure and program
US5737737A (en) Data management method and apparatus
US5982365A (en) System and methods for interactively generating and testing help systems
JP2006302242A (ja) コントロールパネル機能との検索可能なタスクベースのインターフェイス
EP0740258B1 (en) Data management system
JP2000035969A (ja) 電子化された文書ファイルへのリンク情報付加装置
US9372843B2 (en) Document association device, document association method, and non-transitory computer readable medium
JPH04229364A (ja) 強調特性変更方法及びシステム
JP2006302243A (ja) 基礎となる拡張可能フレームワークを用いたタスクベースインターフェース
US6600498B1 (en) Method, means, and device for acquiring user input by a computer
US7562343B2 (en) User configurable language independent code assist engine method, system, article of manufacture, and computer program product
JP2005182460A (ja) 情報処理装置、注釈処理方法、情報処理プログラムおよび情報処理プログラムを格納した記録媒体
JP2000020296A (ja) プログラム変更支援装置
JP2008146295A (ja) 情報処理装置と情報処理方法とプログラムとコンピュータ読み取り可能な記録媒体
JP2001014152A (ja) データ処理方法、装置及び記憶媒体
JP2003296327A (ja) 翻訳サーバ、ジャンル別オンライン機械翻訳方法、およびそのプログラム
JPH08137648A (ja) 画像入出力装置の操作装置
JP2003256099A (ja) ヘルプシステム
JP3450598B2 (ja) 専門用語辞書選択装置
JP3712320B2 (ja) 可変文書作成システム、可変文書出力装置及び可変原稿作成装置
JPH05342265A (ja) マルチメディア管理装置およびそのメディア提示方法
US6553374B1 (en) Method for controlling file processing, and data processing apparatus and storage medium therefor
JP3371434B2 (ja) レイアウト編集装置