JPH05298082A - プログラム編集装置及びその方法 - Google Patents

プログラム編集装置及びその方法

Info

Publication number
JPH05298082A
JPH05298082A JP9822292A JP9822292A JPH05298082A JP H05298082 A JPH05298082 A JP H05298082A JP 9822292 A JP9822292 A JP 9822292A JP 9822292 A JP9822292 A JP 9822292A JP H05298082 A JPH05298082 A JP H05298082A
Authority
JP
Japan
Prior art keywords
label
name
program
new
same function
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
JP9822292A
Other languages
English (en)
Inventor
Mitsuteru Kataoka
充照 片岡
Mineaki Shiyou
峰晶 邵
Jun Okui
順 奥井
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 JP9822292A priority Critical patent/JPH05298082A/ja
Publication of JPH05298082A publication Critical patent/JPH05298082A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 簡単な操作で確実にラベルの名前の置換がで
き、作業の効率を向上させることができるプログラム編
集装置、及びそのプログラム編集方法を提供すること。 【構成】 ラベル指示部12が、置換すべきラベルをそ
の機能とともに指示し、同一機能ラベル選択部13が、
その指示されたラベルと同一機能を有するラベルを、対
象となるプログラム11中から、選択し、名前入力部
が、新ラベル名を入力し、重複判定部14が、プログラ
ム11中に含まれるラベル名と新ラベル名が重複するか
どうか判定し、新ラベル名が重複しない場合、名前置換
部16が、選択されたラベルのラベル名を新ラベル名に
置換する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プログラムの開発と
保守を行う際に、プログラムを効率よく編集するプログ
ラム編集装置及びその方法に関するものである。
【0002】
【従来の技術】一般に、プログラム中の変数名、関数
名、利用者が定義した型名などのラベルの名前を置換す
る作業においては、プログラム中の同一の機能を有する
ラベル全てに対して、その名前を同一の内容に置換する
ことが必要である。また置換によってプログラム中に存
在する他のラベルと名前の重複が発生してはならない。
【0003】以下、従来の作業手順の一例を図3を参照
しながら説明する。
【0004】まず、名前を置換しようとするラベルの名
前を入力し、入力された置換対象であるラベルの名前と
等しい文字列を対象とするプログラム中から検索する
(ステップS31)。但し検索はプログラムの頭からの
前方検索とする。文字列の検索には、例えばテキストエ
ディタなどの文字列検索機能を用いる。
【0005】次に直前のステップで検索に失敗した場
合、作業を終了する(ステップS32)。
【0006】次に検索された文字列が置換すべきラベル
と同一の機能を持つラベルであるか否かを、プログラミ
ング言語の文法に基づき編集者が判定する(ステップS
33)。同一の機能を持つラベルではないと判定された
場合は、次の文字列を検索する処理(ステップS35)
へ進む。
【0007】検索された文字列が同一の機能を持つラベ
ルであると判定された場合は、その文字列を新しい名前
に置換する(ステップS34)。
【0008】続いてプログラム中から置換対象のラベル
の名前と等しい文字列を検索する(ステップS35)。
但し検索は、直前に検索された文字列の直後からの前方
検索とする。
【0009】第1の文献「対話型編集システム」(N.
Meyroiwitz著、石川・瀬川訳、bit12月
号別冊「コンピュータ・サイエンス」,pp.75−1
66,1983)に述べられているように、ステップS
31、S32、S34をまとめた機能をglobal
change(全域的変更)コマンドとして備えている
対話型編集システムが少なくない。
【0010】
【発明が解決しようとする課題】プログラム中には変数
名、関数名、利用者が定義した型名など、文法の許す範
囲でプログラマが自由に名前を付けることが可能なラベ
ルが存在する。このラベルの名前を置換する作業におい
ては、同一の機能を有するラベルについて、同一に取り
扱うことが必要である。しかしプログラム中には名前が
同一であっても、プログラミング言語の文法上では同一
の機能を有していないラベルが存在する場合がある。
【0011】例えば、C言語において大域変数の変数c
ountと局所変数の変数countとが同一プログラ
ム中において同時に定義されている場合、これらの2変
数は名前がいずれもcountで等しいが、異なる記憶
領域を有しているといる点において同一の機能を有して
いない。このため、局所変数の変数countの名前を
置換する際には、プログラム中から単に名前がcoun
tである変数を検索するだけではなく、それが局所変数
の変数countか、大域変数の変数countかを判
定する必要がある。
【0012】従来、複数のラベル同士が同一の機能を有
するか否かの判定は、上記従来の技術で述べたようにプ
ログラミング言語の文法に基づき編集者が手作業で行っ
ていた。このため、ラベルの名前を置換する作業におい
て、編集者がプログラムをよく理解する必要があり、置
換の対象となるべきラベルの見落としや、逆に置換の対
象となるべきではないラベルの名前が置換されることが
ある。また置換によってラベルの名前が重複し、本来、
独立した機能を持つべき複数のラベルが同一の機能を持
つことや、ラベルが多重定義されることがある。
【0013】従って、以上のような方法では、ラベルの
名前の置換において不確実であり、作業の効率が低いと
いう課題がある。
【0014】本発明は、従来のこのような課題を考慮
し、簡単な操作で確実にラベルの名前の置換ができ、作
業の効率を向上させることができるプログラム編集装
置、及びその方法を提供することを目的とするものであ
る。
【0015】
【課題を解決するための手段】請求項1の本発明は、置
換すべきラベルをその機能とともに指示するためのラベ
ル指示手段と、その指示されたラベルと同一機能を有す
るラベルを、対象となるプログラム中から、選択する同
一機能ラベル選択手段と、新ラベル名を入力するための
名前入力手段と、選択されたラベルのラベル名を新ラベ
ル名に置換する名前置換手段とを備えたプログラム編集
装置である。
【0016】請求項4の本発明は、置換すべきラベルを
その機能とともに指示するステップと、その指示された
ラベルと同一機能を有するラベルを、対象となるプログ
ラム中から選択するステップと、新ラベル名を入力する
ステップと、前記選択されたラベルのラベル名を前記新
ラベル名に置換するステップとを備えたプログラム編集
方法である。
【0017】
【作用】本発明は、ラベル指示手段が、置換すべきラベ
ルをその機能とともに指示し、同一機能ラベル選択手段
が、その指示されたラベルと同一機能を有するラベル
を、対象となるプログラム中から、選択し、名前入力手
段が、新ラベル名を入力し、名前置換手段が、選択され
たラベルのラベル名を新ラベル名に置換する。
【0018】
【実施例】以下に、本発明をその実施例を示す図面に基
づいて説明する。
【0019】図1は、本発明にかかる一実施例のプログ
ラム編集装置の構成を示すブロック図である。すなわ
ち、編集の対象であるプログラム11は、例えば、プロ
グラミング言語Cで記述されているプログラムのリスト
であり、編集者との対話情報によってプログラム11の
中のラベルを指示するラベル指示部12に入力されてい
る。ラベルは例えば、プログラム11がC言語で記述さ
れている場合、関数名、変数名、ユーザの定義した型名
をラベルとして取り扱うことが可能である。このとき、
ディスプレイ上に表示されたプログラム11のリスト中
のこれらのラベルを、編集者がマウスなどのポイティン
グデバイスで指し示すことによりラベルを指示する。ラ
ベル指示部12は指示されたラベルの機能を自動的に検
出する処理も行う。
【0020】又、プログラム11は、以下の機能を持つ
同一機能ラベル選択部13に入力されている。同一機能
ラベル選択部13は、ラベル指示部12から入力された
ラベルに対して同一の機能を有するラベルをプログラム
11の中から選択する。但し、このとき選択されたラベ
ルには指示されたラベルも含まれる。同一機能ラベルの
選択は、例えば、プログラム11の100行目にある変
数countが入力されたとき、同一機能ラベル選択部
13は、100行目の変数countと同一の機能を有
する変数countをプログラム11の中から捜し出
し、捜し出した変数についてプログラム11の中での位
置を得る。
【0021】同一機能ラベル選択部13の処理に必要な
技術は、構文エディタにおける構文解析に関する従来技
術と同様である。構文エディタの概要については、第1
の文献に、構文エディタにおける構文解析の手法につい
ては第2の文献「ザ・シンセサイザ・ジェネレータ」
(T.Teitelbaum,“The Synthe
sizer Generator”,Sigplan
Notices 19(5),pp.42−48,19
84)に詳しく述べられている。
【0022】一方、編集者との対話情報によってラベル
の新しい名前を入力するための名前入力部15が設けら
れ、その名前入力部15は、以下の機能を持つ重複判定
部14に接続されている。重複判定部14には、プログ
ラム11も入力されており、選択されたラベルの名前
を、入力された新しい名前に置換した場合に、プログラ
ム中に含まれる他のラベルとの名前の重複が発生するか
否かを判定する。これは、例えば、“プロブラム11の
200行目にある変数total”と、名前“all”
が入力された場合、即ち、“プログラム11の200行
目にある変数total”と同一の機能を持つ変数に対
しその名前を“all”に置換する場合を考える。今、
プログラム中に名前が“all”である変数が既に存在
しており、上記置換の実行によりこの既存の変数と変数
“total”とが共通の記憶領域を持つようになると
きに、重複判定部14は名前の重複が発生すると判定す
る。
【0023】重複判定部14の処理に必要な技術も、同
一機能ラベル選択部13と同様に構文エディタにおける
構文解析に関する従来技術と同様である。
【0024】又、重複判定部14により、新しい名前が
プログラム中の他のラベルの名前と重複するか否かを判
定した結果、重複すると判定された場合は、入力された
新しい名前が無効であるとして、表示部(図示省略)に
その情報を表示し、再度新しい名前の入力を行うように
促す。
【0025】上述の同一機能ラベル選択部13の出力及
び重複判定部14の出力は、名前置換部16に接続され
ている。名前置換部16では、同一機能ラベル選択部1
3により選択されたラベルの名前を、重複判定部14で
重複しないと判定された新しい名前に置換する。
【0026】以上のラベル指示部12、同一機能ラベル
選択部13、重複判定部14、名前入力部15及び名前
置換部16は、それぞれ、ラベル指示手段、同一機能ラ
ベル選択手段、重複判定手段、名前入力手段及び名前置
換手段を構成している。
【0027】次に、上記実施例の動作について、図2に
示したフローチャートを参照して説明する。
【0028】まず、編集者が対話情報をラベル指示部1
2に与えることによって、ラベル指示部12はプログラ
ム中の対象とするラベルを1つ指示する(ステップS2
1)。このラベルの指示は例えば、ディスプレイに表示
されたプログラム11のリスト中に現れたラベルをポイ
ンティングデバイスでクリックすることにより指示す
る。又、指示されたラベルの機能が検出される。
【0029】次に指示されたラベルに対して同一の機能
を有するラベルを、同一機能ラベル選択部13が、プロ
グラミング言語の文法に基づいて、プログラム11の中
から選択する(ステップS22)。
【0030】次に編集者が対話情報を名前入力部15に
与えることによって、選択されたラベルにつけるべき新
しい名前を入力する(ステップS23)。
【0031】次に、入力された新しい名前が、プログラ
ム11中の他のラベルの名前と重複するか否かを、重複
判定部14により判定する(ステップS24)。重複す
ると判定された場合は、その入力された名前が無効であ
るとし、その旨を編集者に通告した後、再度新しい名前
の入力を促す。
【0032】重複判定部14で名前が重複しないと判定
された場合、名前置換部16によって、選択されたラベ
ルの名前をその新しい名前に置換する(ステップS2
5)。
【0033】従来、複数のラベル同士が同一の機能を有
するか否かの判定は、編集者の手作業によって行われて
いたが、本発明においてはこの判定は同一機能ラベル選
択部14によって行われる。
【0034】この結果、同一の機能を有するラベルの全
てが置換の対象となるので、置換の対象となるべきでは
ないラベルに対して置換が行われることがない。また、
同一の機能を有するラベルのみが置換の対象となるの
で、置換の対象となるべきラベルが見落とされることが
ない。更に、名前入力部15で入力された新しい名前
が、プログラム中の他のラベルの名前と重複するか否か
を予め判定し、重複する場合には名前の入力を再度行っ
ているので、置換による名前の重複が発生しない。
【0035】以上のことから、編集者は置換すべきラベ
ルを指示しラベルの新しい名前を入力するという、必要
最小限の操作を行うだけで、置換作業を確実に行うこと
が可能となる。
【0036】以上のように本発明によれば、次のような
効果を奏することができる。
【0037】(1)プログラム編集装置が自動的に、同
一の機能を持つラベルを抜き出すので、置換の対象とな
るべきラベルが拾われないことや、逆に置換の対象とな
るべきではないラベルの名前が置換されたり、置換によ
ってラベルの名前が重複することがないので、ラベルの
名前の置換を確実に行うことができる。
【0038】(2)編集者は、名前を置き換えるラベル
の指示と、新しいラベル名の入力を行うという必要最小
限の操作を行うだけで置換ができるので、作業の効率が
向上する。
【0039】なお、上記実施例では、重複判定手段を備
えた構成について説明したが、名前置換作業の効率を向
上させる目的であれば、特に重複判定手段がない構成と
してもよい。
【0040】また、上記実施例では、プログラミング言
語をC言語、ラベルを関数名、変数名、ユーザの定義し
た型名として説明したが、これに限らず、例えばプログ
ラミング言語をオブジェクト指向言語、ラベルをクラス
名、メソッド名としたり、あるいは又、他の関数型言語
の場合等においても同様に適用可能である。
【0041】また、上記実施例では、置換すべきラベル
の指示及び選択を行った後、新しい名前の入力及び重複
判定を行うように構成したが、これに限らず、名前の置
換の処理が行われる前に、それら置換すべきラベルの指
示、選択、新しい名前の入力、重複判定が終了していれ
ばよく、例えば、新しい名前の入力及び重複判定を行っ
た後、ラベルの指示及び選択を行ってもよい。あるいは
又、新しい名前の入力及び置換すべきラベルの指示を先
に行い、その後入力された名前の重複判定及びラベルの
選択を行う等のようにしてもよい。
【0042】また、上記実施例では、ラベル指示手段は
指示されたラベルからそのラベルの機能を検出するよう
に構成したが、これに代えて、ラベルとともにそのラベ
ルの機能を直接指示するように構成してもよい。
【0043】また、上記実施例では、重複判定手段の出
力を名前置換手段に入力するように構成したが、これに
代えて、重複判定手段の出力を同一機能ラベル選択手段
に入力するように構成して、入力された名前が重複しな
いと判定された後、同一機能のラベルを選択させるよう
にしてもよい。
【0044】
【発明の効果】以上述べたところから明らかなように本
発明は、確実にラベルの名前の置換ができ、作業の効率
を向上させることができるという長所を有する。
【図面の簡単な説明】
【図1】本発明にかかる一実施例のプログラム編集装置
の構成を示すブロック図である。
【図2】同実施例の動作を示すフローチャートである。
【図3】従来例の作業手順を示すフローチャートであ
る。
【符号の説明】
11 プログラム 12 ラベル指示部 13 同一機能ラベル選択部 14 重複判定部 15 名前決定部 16 名前置換部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 置換すべきラベルをその機能とともに指
    示するためのラベル指示手段と、その指示されたラベル
    と同一機能を有するラベルを、対象となるプログラム中
    から、選択する同一機能ラベル選択手段と、新ラベル名
    を入力するための名前入力手段と、前記選択されたラベ
    ルのラベル名を前記新ラベル名に置換する名前置換手段
    とを備えたことを特徴とするプログラム編集装置。
  2. 【請求項2】 プログラム中の特定のラベルのみを指示
    し、そのラベルの持つ機能を前記プログラムから検出す
    るラベル指示手段と、その指示されたラベルと同一機能
    を有するラベルを、対象となるプログラム中から、選択
    する同一機能ラベル選択手段と、新ラベル名を入力する
    ための名前入力手段と、前記選択されたラベルのラベル
    名を前記新ラベル名に置換する名前置換手段とを備えた
    ことを特徴とするプログラム編集装置。
  3. 【請求項3】 更に、前記新ラベル名が前記プログラム
    中に含まれるラベル名と重複しないかどうかを判定し、
    その判定結果が重複しない場合は、前記同一機能ラベル
    手段又は前記名前置換手段に、前記判定結果を出力する
    重複判定手段を備えたことを特徴とする請求項1又は2
    記載のプログラム編集装置。
  4. 【請求項4】 置換すべきラベルをその機能とともに指
    示するステップと、その指示されたラベルと同一機能を
    有するラベルを、対象となるプログラム中から選択する
    ステップと、新ラベル名を入力するステップと、前記選
    択されたラベルのラベル名を前記新ラベル名に置換する
    ステップとを備えたことを特徴とするプログラム編集方
    法。
  5. 【請求項5】 プログラム中の特定のラベルのみを指示
    し、そのラベルの持つ機能を前記プログラムから検出す
    るステップと、その指示されたラベルと同一機能を有す
    るラベルを、対象となるプログラム中から選択するステ
    ップと、新ラベル名を入力するステップと、前記選択さ
    れたラベルのラベル名を前記新ラベル名に置換するステ
    ップとを備えたことを特徴とするプログラム編集方法。
  6. 【請求項6】 更に、前記新ラベル名が前記プログラム
    中に含まれるラベル名と重複しないかどうかを判定し、
    その判定結果が重複しない場合に前記判定結果を出力す
    るステップを備えたことを特徴とする請求項4又は5記
    載のプログラム編集方法。
JP9822292A 1992-04-17 1992-04-17 プログラム編集装置及びその方法 Pending JPH05298082A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9822292A JPH05298082A (ja) 1992-04-17 1992-04-17 プログラム編集装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9822292A JPH05298082A (ja) 1992-04-17 1992-04-17 プログラム編集装置及びその方法

Publications (1)

Publication Number Publication Date
JPH05298082A true JPH05298082A (ja) 1993-11-12

Family

ID=14213941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9822292A Pending JPH05298082A (ja) 1992-04-17 1992-04-17 プログラム編集装置及びその方法

Country Status (1)

Country Link
JP (1) JPH05298082A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135377A (ja) * 2003-09-30 2005-05-26 Microsoft Corp ランタイムおよび設計でのテキスト変換と多言語サポートをするラベルシステム
JP2008146391A (ja) * 2006-12-11 2008-06-26 Internatl Business Mach Corp <Ibm> コンピュータ・プログラムのメニュー設計を検証する方法及びプログラム
US8677272B2 (en) 2005-12-13 2014-03-18 International Business Machines Corporation Graphical user interface design utility

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135377A (ja) * 2003-09-30 2005-05-26 Microsoft Corp ランタイムおよび設計でのテキスト変換と多言語サポートをするラベルシステム
US8677272B2 (en) 2005-12-13 2014-03-18 International Business Machines Corporation Graphical user interface design utility
JP2008146391A (ja) * 2006-12-11 2008-06-26 Internatl Business Mach Corp <Ibm> コンピュータ・プログラムのメニュー設計を検証する方法及びプログラム

Similar Documents

Publication Publication Date Title
US5845119A (en) Software development tool for combining software components/modules
US6993487B2 (en) Software code comments management method and system supporting speech recognition technology
US20010018764A1 (en) Method and apparatus for translating between source and target code
JPH08190587A (ja) 業務プロセスのシミュレーションシステム
JPH10207913A (ja) 自習可能な上級検索方法及び装置並びにそれらに用いるコンピュータープログラム
JP2005537532A (ja) 自然言語理解アプリケーションを構築するための総合開発ツール
US6339439B1 (en) Device for modifying appearance of related display planes
JPH0540616A (ja) プログラム仕様生成方法
JPH05298082A (ja) プログラム編集装置及びその方法
US20050022170A1 (en) Visual debugging interface
JPH06168111A (ja) デバッグ文の自動作成方式
JP2000207246A (ja) デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
JPH0926897A (ja) プログラム解析装置及びプログラム解析方法
JPH07146785A (ja) プログラム自動生成方法および装置
JP7469999B2 (ja) 検索装置、検索方法、および検索プログラム
JPH09101880A (ja) プログラム分析装置
JP3167412B2 (ja) データベース検索処理装置
JPH09330212A (ja) プログラミング言語処理システム
JP2581381B2 (ja) 自然言語インタフェース方式
US6564200B1 (en) Apparatus for cross referencing routines and method therefor
JPH0793144A (ja) プログラム解析装置
JP3031767B2 (ja) 自然言語処理装置
JPH056291A (ja) テスト資源の作成・管理方法
JPH06290039A (ja) プログラム変更方法
JPH0934750A (ja) 試験用ソースプログラム生成システム