(57)【要約】【課題】プログラム編集装置においてプログラムの開発効率を向上させる。【解決手段】プログラム編集装置は、出力装置を介して変換イメージをユーザに提示し、入力装置を介してユーザから編集指示を受付け、変換イメージ記憶部に記憶される変換イメージを編集する。また、該装置は、当該変換イメージを編集中、変換イメージに含まれる識別子を編集時名称に付け替え、当該識別子と当該編集時名称との対応関係を置換内容記憶部に記憶する。該装置は、置換内容記憶部に該対応関係を記憶した場合、当該対応関係に基づいて、ソースコードに含まれる識別子を当該識別子に対応する編集時名称に変換して変換イメージを再生成し、ユーザに提示する変換イメージを更新する。【選択図】図１
2011100398.tif 000002
【特許請求の範囲】
【請求項１】
入力装置及び出力装置と接続可能に構成されたプログラム編集装置であって、
ソースコードを記憶するソースコード記憶部と、
前記ソースコードに含まれる識別子と当該識別子の編集時名称との対応関係を記憶する置換内容記憶部と、
前記置換内容記憶部に記憶される対応関係に基づいて、前記ソースコード記憶部に記憶されるソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを生成する置換手段と、
前記置換手段で置換した変換イメージを記憶する変換イメージ記憶部と、
前記出力装置を介して前記変換イメージをユーザに提示し、前記入力装置を介してユーザから編集指示を受付け、前記変換イメージ記憶部に記憶される変換イメージを編集する編集手段と、
前記編集手段で前記変換イメージを編集した場合、前記置換内容記憶部に記憶される対応関係に基づいて前記編集した変換イメージに含まれる編集時名称を当該編集時名称と対応する識別子に置換し、前記ソースコード記憶部を更新する逆置換手段と、
識別子と編集時名称との対応関係を決定し、当該対応関係を前記置換内容記憶部に記憶する名前付替手段とを備え、
前記置換手段は、前記編集手段で前記変換イメージを編集中、前記名前付替手段で前記置換内容記憶部に前記対応関係を記憶した場合、前記置換内容記憶部に記憶する対応関係に基づいて、前記ソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを再生成し、前記変換イメージ記憶部を更新する、
ことを特徴とするプログラム編集装置。
【請求項２】
前記ソースコードに対する識別子の置換適用範囲の指定を前記入力装置を介してユーザから受付け、
前記置換手段は、前記置換適用範囲内で前記置換を行なう、
ことを特徴とする請求項１記載のプログラム編集装置。
【請求項３】
前記置換内容記憶部は、前記識別子と当該識別子と対応する編集時名称との対応関係をユーザ毎に記憶する、
ことを特徴とする請求項１又は２記載のプログラム編集装置。
【請求項４】
入力装置及び出力装置と接続可能に構成されたプログラム編集装置のプログラム編集方法であって、
ソースコードに含まれる識別子と当該識別子と対応する編集時名称との対応関係に基づいて、ソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを生成する置換ステップと、
前記出力装置を介して前記変換イメージをユーザに提示し、前記入力装置を介してユーザから編集指示を受付け、前記置換ステップで置換した変換イメージを編集する編集ステップと、
前記編集ステップで前記変換イメージを編集した場合、前記対応関係に基づいて前記編集した変換イメージに含まれる編集時名称を当該編集時名称と対応する識別子に置換し、前記ソースコードを更新する逆置換ステップと、
識別子と編集時名称との対応関係を決定し、当該対応化関係を記憶する名前付替ステップとを有し、
前記置換ステップは、前記変換イメージを編集中、前記名前付替ステップで前記対応関係を記憶した場合、当該対応関係に基づいて、前記ソースコードに含まれる識別子を当該識別子に対応する編集時名称に変換して変換イメージを再生成し、前記変換イメージを更新する、
ことを特徴とするプログラム編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを編集するプログラム編集装置及びそのプログラム編集方法に関する。
【背景技術】
【０００２】
ユーザがプログラミングする場合において、保守性、可読性を重視するか、又はコーディング中の刹那的な効率性を重視するかによって、変数名や関数名に付与したい名前が異なる場合が多い。このような場合に、ユーザが保守性、可読性を重視して名前を付与すると開発効率が損なわれ、一方、効率性を重視して名前を付与すると保守性、可読性が損なわれる可能性がある。
【０００３】
例えば、保守性、可読性の観点からは、変数名や関数名は用途や役割が推測できるようある程度の長さを持った名前を付与することが望ましいが、内容が把握できている編集中に限っては入力する式が冗長になると長い変数名や関数名を入力することが煩雑となり、効率性の低下につながる。
【０００４】
一方、提供されているライブラリやアプリケーションで定まっている名前が長い変数名や関数名である場合、例えば、マクロ機能等を用いて独自の略記を変数名や関数名に対して定義して編集時の効率を向上させることも可能であるが、このように定義してしまうとユーザ以外の者にとって把握しづらいソースコードとなって保守性、可読性が低下する。
【０００５】
また、複数人で開発を行う場合には変数名や関数名の命名ポリシーを統一することが望ましいが、複数人の間で調整を図ってポリシーを統一することは容易ではない。
【０００６】
ここで、シンボル名登録手段に、ある入出力機器に割当てられたアドレスと、例えば使用者にとって分かりやすい任意のシンボル名とを対応付けて登録し、ユーザがそのシンボル名を使用して制御プログラムの入力を行なうことを可能とする技術がある（例えば、特許文献１参照）。かかる技術ではプログラム変換手段が、制御プログラムの変換時には、シンボル名の使用の有無を表すフラグを各命令毎の変換されたコードに付加すると共に、シンボル名が入力されている場合にはシンボル名登録手段に登録されているアドレスに変換する。
【０００７】
さらに、プログラム逆変換手段は、制御プログラムの逆変換時にコード中のフラグを参照してシンボル名の使用の有無を判断し、その結果によってアドレスを表示手段にそのまま表示させるか、若しくは、シンボル名登録手段に登録されたシンボル名に置き換えて表示させ、その入力時の形式で表示させることができるようにすることで利便性の向上を図っている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３４７７８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１の技術の変換及び逆変換は、プログラミングを行なう装置におけるコンパイルという位置付けになっており、制御プログラムの編集操作とは切り離された静的なものである。このため、制御プログラムの編集中の変更内容はソースに反映されないので、編集中に付与するシンボル名を付け替えて再度逆変換すると、付け替え前のシンボル名で記述した編集の内容が失われてしまうことになる。
【００１０】
また、上記特許文献１の技術を複数のユーザで制御プログラムを編集する際に適用した場合、依然として、複数ユーザ間でシンボル名の命名ポリシーを統一しなければならないという問題が残る。
【００１１】
本発明は、上記事情に鑑みてなされたものであり、その目的は、プログラムの開発効率を向上させるプログラム編集装置及びそのプログラム編集方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、入力装置及び出力装置と接続可能に構成されたプログラム編集装置であって、ソースコードを記憶するソースコード記憶部と、前記ソースコードに含まれる識別子と当該識別子の編集時名称との対応関係を記憶する置換内容記憶部と、前記置換内容記憶部に記憶される対応関係に基づいて、前記ソースコード記憶部に記憶されるソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを生成する置換手段と、前記置換手段で置換した変換イメージを記憶する変換イメージ記憶部と、前記出力装置を介して前記変換イメージをユーザに提示し、前記入力装置を介してユーザから編集指示を受付け、前記変換イメージ記憶部に記憶される変換イメージを編集する編集手段と、前記編集手段で前記変換イメージを編集した場合、前記置換内容記憶部に記憶される対応関係に基づいて前記編集した変換イメージに含まれる編集時名称を当該編集時名称と対応する識別子に置換し、前記ソースコード記憶部を更新する逆置換手段と、識別子と編集時名称との対応関係を決定し、当該対応関係を前記置換内容記憶部に記憶する名前付替手段とを備え、前記置換手段は、前記編集手段で前記変換イメージを編集中、前記名前付替手段で前記置換内容記憶部に前記対応関係を記憶した場合、前記置換内容記憶部に記憶する対応関係に基づいて、前記ソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを再生成し、前記変換イメージ記憶部を更新する、ことを特徴とするプログラム編集装置。
【発明の効果】
【００１３】
本発明によると、プログラムの開発効率を向上させるプログラム編集装置及びそのプログラム編集方法を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係るプログラム編集装置の構成を概略的に示す図である。
【図２】同実施の形態に係る置換内容記憶部で管理される内容の例を示す図である。
【図３】同実施の形態に係る編集処理を示すフローチャートである。
【図４】同実施の形態に係る逆置換処理を示すフローチャートである。
【図５】同実施の形態に係る名前付替処理を示すフローチャートである。
【図６】同実施の形態に係る名前の付け替えの具体例を説明するための図である。
【図７】同実施の形態に係る他の名前の付け替えの具体例を説明するための図である。
【図８】同実施の形態に係る日本語による名前の付け替えの具体例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。
【００１６】
図１は、本発明が適用されたプログラム編集装置１００の構成を概略的に示す図である。プログラム編集装置１００は、入力装置１、データ処理装置２、情報記憶装置３及び出力装置４を有している。
【００１７】
入力装置１は、例えば、キーボード、マウス等である。入力装置１は、ユーザがプログラムを編集（プログラムの入力及び修正等を含む）する際に用いられる。
【００１８】
データ処理装置２は、入力装置１から入力されたデータを処理し、その処理結果を情報記憶装置３に記憶するとともに、その処理結果を出力装置４に出力する機能を備えており、具体的にはプログラムの編集に関するデータ処理を行う。
【００１９】
情報記憶装置３は、データ処理装置２の処理結果等の情報を記憶し、データ処理装置２からの所定の指示に基づいて記憶している情報をデータ処理装置２へ出力する。
【００２０】
また、情報記憶装置３は、ソースコード記憶部３１、置換内容記憶部３２及び変換イメージ記憶部３３を有している。
【００２１】
ソースコード記憶部３１は、ソースコードを記憶する。ここで、「ソースコード」とは編集中のプログラムの実体であり、ファイルとして情報記憶装置３に保存される内容である。
【００２２】
置換内容記憶部３２は、ソースコードに含まれる識別子と当該識別子の編集時名称との対応関係を置換内容として記憶する。この置換内容記憶部３２に記憶される内容は、プログラム編集装置１００でプログラムの編集を行なうユーザ毎に作成される。
【００２３】
ここで図２を参照して置換内容記憶部３２で管理する置換内容の一例を説明する。置換内容記憶部３２では複数の置換内容が管理され、置換前の識別子と置換後の編集時名称との対をリストとして保持している。
【００２４】
図２に示すように、置換内容記憶部３２は、置換前の識別子を記憶する置換前フィールド３２Ａと、当該識別子に対応する編集時名称を記憶する置換後フィールド３２Ｂとが対となって構成されている。例えば、置換前フィールド３２Ａに識別子「length_input」が記憶されるとともに、置換後フィールド３２Ｂに編集時名称「l_in」が記憶され、これらが対となって記憶されている。
【００２５】
変換イメージ記憶部３３は、ソースコードに含まれる識別子を置換内容記憶部３２に記憶される置換内容で置換した変換イメージを記憶する。つまり、「変換イメージ」とは、ソースコードから所定の識別子（プログラムに用いる変数名及び関数名など）を編集時名称（ユーザが任意に設定した記号の列）に置換することにより生成された仮想的なプログラムコードである。
【００２６】
出力装置４は、例えば、ディスプレイ装置である。出力装置４は、ユーザがプログラムを編集する際に、当該プログラムを編集するために必要な情報を出力する。
【００２７】
次に、データ処理装置２の有する機能について説明する。データ処理装置２は、編集手段２１、名前付替手段２２、逆置換手段２３、及び置換手段２４を有している。これら編集手段２１、名前付替手段２２、逆置換手段２３及び置換手段２４は、データ処理装置２内のメモリ（図示しない。）に記憶されたプログラムをＣＰＵ（図示しない。）が実行することによりハードウェア（図示しない。）を動作させて実現される機能である。
【００２８】
編集手段２１は、出力装置４を介して変換イメージをユーザに提示し、入力装置１を介してユーザから編集指示を受付け、変換イメージ記憶部３３に記憶される変換イメージを編集する。より詳細には、編集手段２１は、既述のように仮想的なプログラムコードである変換イメージを編集（例えば、一般的なテキスト編集）するための編集インタフェースを出力装置４を介してユーザに提示し、入力装置１を介して当該編集インタフェースに表示された変換イメージを編集する指示等を受付ける。
【００２９】
このように、ユーザは、上記編集インタフェースに表示される「変換イメージ」に基づいてプログラムの編集作業を行う。すなわち、当該「変換イメージ」がユーザの編集対象となる。
【００３０】
名前付替手段２２は、編集手段２１で変換イメージを編集中、変換イメージに含まれる所定の識別子又は編集時名称を別の編集時名称に付け替え、当該所定の識別子と当該別の編集時名称との対応関係を置換内容記憶部３２に記憶する。より詳細には、名前付替手段２２は、既述の編集インタフェース上に名前付け替えのための名前付替インタフェースを提供するとともに、ユーザから入力装置１を介して入力される情報に基づき、変換イメージ上で表示する識別子又は編集時名称を別の編集時名称に付け替えるための処理を行う。
【００３１】
当該名前付替インタフェースは、少なくとも名前の付け替え対象の識別子又は編集時名称を指定できるインタフェースであればよいが、編集インタフェースに表示される変換イメージ上で識別子又は編集時名称の記述箇所を編集している状態からは、その識別子又は編集時名称を対象として簡易に呼び出せるものとする。例えば、後述する図６等においては、カーソルを合わせた識別子又は編集時名称の近傍に新しい名前を入力するためのプルダウンボックスを表示し、ユーザが編集時名称を入力できるようになっている。
【００３２】
逆置換手段２３は、編集手段２１で変換イメージを編集中、変更内容が確定する都度、置換内容記憶部３２に記憶される置換内容に基づいて変換イメージに含まれる編集時名称を識別子に置換し、ソースコード記憶部３１を更新する。より詳細には、逆置換手段２３は、変換イメージ記憶部３３に記憶している変換イメージに含まれる編集時名称に対し、置換内容記憶部３２の置換を逆向きに適用して編集時名称を当該編集時名称と対応する識別子に置換し、この置換により得られたソースコードに基づいてソースコード記憶部３１を更新する。
【００３３】
なお、置換が適用されるのは編集時名称として置換内容記憶部３２に記憶される置換内容と一致する箇所であり、文字列としてではない。例えば、編集時名称「ａ」を識別子「ｂ」に置換した場合でも、「example」が「exbmple」と置換されるようなことはない。
【００３４】
置換手段２４は、置換内容記憶部３２に記憶される対応関係に基づいて、ソースコード記憶部３１に記憶されるソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを生成する。また、置換手段２４は、編集手段２１で変換イメージを編集中、名前付替手段２２で置換内容記憶部３２に上記対応関係を記憶した場合、置換内容記憶部３２に記憶する対応関係に基づいて、ソースコードに含まれる識別子を当該識別子に対応する編集時名称に置換して変換イメージを再生成し、変換イメージ記憶部３３を更新する。
【００３５】
次に、以上のように構成されたプログラム編集装置１００の処理について図３乃至図５を参照して説明する。
【００３６】
図３は、編集処理を示すフローチャートである。
【００３７】
置換手段２４は、編集開始時に、ソースコード記憶部３１にソースコードがある場合はこれを読み出し、置換内容記憶部３２に記憶されている対応関係に基づいて、変換イメージを生成し、当該生成した変換イメージを変換イメージ記憶部３３に記憶する（Ｓ１００）。なお、当該変換イメージは、既述の編集インタフェース上に表示される。
【００３８】
次に、編集手段２１は、ユーザにより既述の編集インタフェース上でなされたプログラムの編集操作に基づいて、変換イメージを変更する（Ｓ１０１）。続いて、編集手段２１は、例えば、リターンキーの押下等のユーザ操作に基づき、変換イメージの変更内容が確定したか否かを判定する（Ｓ１０２）。
【００３９】
編集手段２１は、変換イメージの変更内容が確定しない場合は（Ｓ１０２：ＮＯ）、ステップＳ１０１の処理へ戻り、変換イメージの編集指示を受付ける処理を継続する。
【００４０】
一方、変換イメージの変更内容が確定した場合は（Ｓ１０２：ＹＥＳ）、編集手段２１は、変換イメージ記憶部３３に記憶している変換イメージに基づいてソースコードを更新するため、逆置換手段２３を呼び出してソースコード記憶部３１に当該変更内容を反映する逆置換処理を実行する（Ｓ１０３）。なお、当該逆置換処理の詳細については、図４を参照して後述する。
【００４１】
逆置換処理が終了すると、編集手段２１は、例えば、編集終了ボタンのクリック等のユーザ操作に基づき、変換イメージの編集が終了したか否かを判定する（Ｓ１０４）。編集手段２１は、変換イメージの編集が終了していない場合は（Ｓ１０４：ＮＯ）、ステップＳ１０１の処理へ戻り、変換イメージの編集指示を受付け、変換イメージの編集が終了した場合は（Ｓ１０４：ＹＥＳ）、当該処理を終了する。
【００４２】
図４は、逆置換手段２３が実行する逆置換処理を示すフローチャートである。
【００４３】
なお、逆置換処理中の読み込み対象は変換イメージ記憶部３３に記憶されている変換イメージであり、出力先はソースコード記憶部３１である。
【００４４】
逆置換手段２３は、先ず、変換イメージに含まれている識別子及び編集時名称を区別するため構文解析を行い（Ｓ２０１）、トークン読込みを行う（Ｓ２０２）。ここで、トークンとはソースコードを構成する単語のことである。
【００４５】
次に、逆置換手段２３は、トークンがまだあるか否かを判定し（Ｓ２０３）、トークンがもうないと判定した場合は（Ｓ２０３：ＮＯ）、処理を終了する。
【００４６】
一方、逆置換手段２３は、トークンがまだあると判定した場合は（Ｓ２０３：ＹＥＳ）、トークンが識別子又は編集時名称か否かを判定する（Ｓ２０４）。
【００４７】
逆置換手段２３は、トークンが識別子又は編集時名称であると判定した場合は（Ｓ２０４：ＹＥＳ）、トークンが編集時名称か否かを判定する（Ｓ２０５）。この判定は、既述の置換内容記憶部３２に記憶される置換内容に基づいて行なわれる。逆置換手段２３は、編集時名称であると判定した場合は（Ｓ２０５：ＹＥＳ）、編集時名称を当該編集時名称と対応する識別子に置換して出力する（Ｓ２０６）。
【００４８】
一方、逆置換手段２３は、トークンは識別子又は編集時名称でないと判定した場合（Ｓ２０４：ＮＯ）、及び編集時名称でないと判定した場合は（Ｓ２０５：ＮＯ）、そのまま出力する（Ｓ３０７）。
【００４９】
このように、逆置換手段２３は、トークン単位で走査を行い、各トークンについては、編集時名称があった場合は編集時名称から識別子に置換して出力し、その他の場合はそのままを出力する。
【００５０】
図５は、名前付替手段２２が実行する名前付替処理を示すフローチャートである。
【００５１】
当該処理は、名前付替手段２２により提供される名前付替えインタフェース上で、ユーザにより、名前の付け替え対象となる識別子又は当該識別子に対応する編集時名称が指定されるとともに、当該識別子の名前を置換する編集時名称が入力された場合に実行される。
【００５２】
名前付替手段２２は、入力された編集時名称が他と重複しないか否か、具体的には、入力された編集時名称が置換内容記憶部３２に既に記憶されている編集時名称のいずれかと重複しているか否かを判定する（Ｓ３０１）。
【００５３】
名前付替手段２２は、入力された編集時名称が重複していると判定した場合、つまり、置換内容が単射でないと判定した場合は（Ｓ３０１：ＮＯ）、逆置換を一意に定めることができないため、処理を中断する。
【００５４】
一方、名前付替手段２２は、入力された編集時名称が他と重複していない、すなわち、置換内容記憶部３２に既に記憶されている編集時名称のいずれとも重複していないと判定した場合は（Ｓ３０１：ＹＥＳ）、逆置換を一意に定めることができるため、置換内容記憶部３２に新規の置換内容の追加を行なうか、または既存の置換内容の変更を行なう（Ｓ３０２）。
【００５５】
続いて、名前付替手段２２は、置換手段２４を呼び出して変換イメージ記憶部３３の内容を再生成する置換処理を実行する（Ｓ３０３）。
【００５６】
次に、置換手段２４が実行する置換処理（Ｓ３０３）について説明する。
【００５７】
置換手段２４は、ソースコード記憶部３１内に記憶されるソースコードに含まれる識別子に対し、名前付替手段２２で既述のＳ３０２の処理により新規の置換内容の追加、または既存の置換内容の変更が行なわれた置換内容記憶部３２の置換内容を適用し、変換イメージを再生成し、当該再生成した変換イメージを変換イメージ記憶部３３に記憶することにより、変換イメージ記憶部３３を更新する。
【００５８】
なお、置換処理の動作については、逆置換処理と置換の向きが異なり、読み込み対象がソースコード記憶部３１に記憶されるソースコード、出力先が変換イメージ記憶部３３となる以外は、同様な処理となる。
【００５９】
次に、プログラム編集装置１００の名前付け替えの具体例を説明する。
【００６０】
図６は、ユーザが識別子「length_input」を「l_in」と名前を付け替え、プログラムの編集を行う際の具体例を説明するための図である。
【００６１】
図６に示す破線の左側は、プログラミングを行なうユーザが視認できないソースコード６１及び６２を概念的に示しており、破線の右側はプログラム編集装置１００の出力装置４に出力されユーザが視認できる変換イメージ７１乃至７４を概念的に示している。なお、変換イメージ７１乃至７４は、既述のように編集手段２１の編集インタフェース上に表示される。
【００６２】
プログラム編集装置１００は、初期状態では置換内容記憶部３２に置換内容として保存されるデータはない。したがって、ソースコード６１と変換イメージ７１とは同じ状態となっており、ソースコード及び変換イメージはともに「int length_input;」となっている。この状態ではプログラム編集装置１００は、一般的な編集装置と何ら変わりはない。なお、ソースコードに示す「int length_input;」の行はユーザが新規作成状態から入力した、もしくは既存ファイルを読み込んだものである。
【００６３】
ここでユーザが、例えば、適切な変数名として「length_input」と記述したが、この「length_input」だけもっと簡易に記述したい、又は、共同開発者のソースコードで「length_input」となっており替えるわけにはいかないが個人的に別の名前の方が分かりやすい、等の理由により変数名を替えたいという要望が生じた場合は、名前付替手段２２の名前付け替えインタフェースを用いて名前の付け替えを行なう。
【００６４】
ユーザは、入力装置１を操作して、変換イメージ７２上の「int length_input;」に含まれる「length_input」を例えば、カーソルで指定（図中では太字となっている。）するとともに、名前付替えインタフェース７２Ａに、「l_in」と入力する。これにより、図２に示すように置換内容記憶部３２の置換前フィールド３２Ａに識別子「length_input」及び置換後フィールド３２Ｂに編集時名称「l_in」が対となって記憶される。続いて、置換手段２４により置換処理が実行されソースコードに含まれる識別子「length_input」を編集時名称「l_in」に置換する処理により変換イメージが再生成され、当該再生成された変換イメージが変換イメージ記憶部３３に記憶される。
【００６５】
以上のように、名前の付け替えが反映され、変換イメージ７１及び７２に示す「int length_input;」が変換イメージ７３に示す「int l_in;」に置換される。
【００６６】
ユーザは、当該変換イメージ「int l_in;」を視認しながら更なるプログラムの編集作業を行なう。例えば、ユーザは、変換イメージ７４に示すように、「l_in = 16;」のように入力し、プログラムの編集を行なうことができる。すなわち、ユーザは、あたかも変数名「length_input」が「l_in」であるかのようにプログラムを編集することができる。
【００６７】
このように変換イメージ７３上でプログラムが編集され、当該変更内容が確定すると、既述の逆置換手段２３の逆置換処理が実行され、置換内容記憶部３２に記憶された置換内容に基づいて、変換イメージに含まれる編集時名称「l_in」が識別子「length_input」に置換され、当該置換後のソースコードに基づいて、ソースコード記憶部３１が更新される。すなわち、ソースコード６２に示すように、ソースコード記憶部３１が「int length_input;   length_input = 16;」に更新され、ユーザが行なった変更内容がソースコード記憶部３１に反映される。
【００６８】
次に、上記のように変更されたソースコードにおいて、変数名「l_in」を更に「l Input」と置換する場合の具体例について図７を参照して説明する。
【００６９】
図６で説明したように、変数名「length_input」が「l_in」に置換されているため、ソースコード６２の「int length_input;   length_input = 16;」が変換イメージ７４では、「int l_in;  l_in = 16;」と置換され表示されている。
【００７０】
ここでユーザは、変換イメージ７４の「l_in = 16;」に含まれる「l_in」を入力装置１によりカーソルで指定した後、名前付替インタフェース７５Ａに、「l Input」と入力する。これにより、置換内容記憶部３２の置換前フィールド３２Ａに識別子「length_input」及び置換後フィールド３２Ｂに編集時名称「l Input」が対となって記憶されるように、既存の記憶内容（図２の識別子「length_input」及び編集時名称「l_in」）が変更される。
【００７１】
このように編集中に識別子の名前付け替えが行なわれると、置換内容記憶部３２に記憶される内容に基づいて、ソースコード記憶部３１に記憶されるソースコードに含まれる識別子「length_input」が編集時名称「l Input」に置換されて変換イメージが再生成され、当該再生成された変換イメージに基づいて、変換イメージ記憶部３３が更新される。
【００７２】
この際、変換イメージ上での編集内容が反映されたソースコードから変換イメージを再生成しているため、変換イメージ７５の「l_in = 16;」に含まれる「l_in」についての名前の付け替えだけでなく「int l_in;」に含まれる「l_in」についても同期して、編集時名称「l_in」が編集時名称「l Input」に付け替えられている。
【００７３】
上記実施の形態のプログラム編集装置１００によると、ソースコードの変数名および関数名を変えることなく、ユーザの編集しやすいように名前を付け替えた状態でプログラムの編集を行うことができ、ユーザは、共同開発を行う場合のポリシー統一やプログラミング言語仕様で規定される命名規則と関係なく、各自の記述しやすいもしくは理解しやすい名前に変数名や関数名を自由に付け替えることができるため開発効率が向上する。
【００７４】
また、置換内容記憶部３２に記憶される置換内容がユーザごとに作成されるため、同じソースコードでも人によって違った変換イメージで編集することができ、置換後の名前はその名前の付け替えを行なったユーザだけが用い、他のユーザが参照する際には元の名前もしくは参照するユーザが独自に設定した名前を用いることができる。
【００７５】
また、置換手段２４及び逆変換手段２３の処理が編集及び名前の付け替えと連動しているため、プログラムの編集中に自動かつ動的に識別子と編集時名称との置換が行なわれる。これにより、識別子から編集時名称への名前付け替えをプログラムの編集途中で何回行っても、前の編集時名称で記述した編集内容を維持して、ソースコード中の対象となる識別子を自動的に置換することができる。
【００７６】
なお、上記実施の形態では、名前の付け替えに「l_in」及び「l Input」というアルファベット等からなる文字列を使用したが、名前の付け替えに使用する編集時名称はこれらに限るものではなく、ユーザが任意に付けることができる。
【００７７】
例えば、図８に示すように、名前の付け替えに日本語を用いても良い。図８では、「length_input → 入力長」と置換するように名前を入力するため、ソースコード６１の「int length_input;」が変換イメージ７７の「int 入力長;」に置換される。そして、ユーザは、変換イメージ７７に基づいて変換イメージ７８のようにプログラムの編集を行なうことができる。
【００７８】
このように、ユーザは、識別子に日本語を用いることができないプログラミング言語であっても、識別子の編集時名称として日本語を用いてプログラム編集を行なうことができる。
【００７９】
更に、上記実施の形態では、名前の付け替えを行なう範囲（置換適用範囲）について限定していないが、当該置換適用範囲の指定を入力装置１を介してユーザから関数単位又はスコープ単位で受付けるようにして、当該範囲を限定するようにしても良い。このように当該範囲を限定することにより、ユーザは、ソースコードの識別子を編集時名称に置換することによりソースコードの実態が視認できなくなる範囲を必要最小減にとどめることができ、安心感を持ってプログラムの編集を行なうことができる。
【００８０】
また、上記実施の形態では、置換の内容を情報記憶装置３の置換内容記憶部３２に記憶する場合で説明したが、置換の内容をプログラム編集装置１００の外部の記憶装置に保存し、当該外部の記憶装置から置換の内容を読み込むようにしても良い。変換イメージ記憶部３３に記憶される変換イメージは編集中のみ生成される一時的なものであるが、外部の記憶装置に変換イメージを記憶することによりユーザは、編集を再開する際に前の編集時の変換イメージを直ちに生成することができる。
【産業上の利用可能性】
【００８１】
本発明は、あらゆるプログラミング言語のプログラムの編集に用いるプログラム編集装置及びプログラム編集方法に適用することが可能である。
【符号の説明】
【００８２】
１・・・・入力装置
２・・・・データ処理装置
３・・・・情報記憶装置
４・・・・出力装置
２１・・・編集手段
２２・・・名前付替手段
２３・・・逆置換手段
２４・・・置換手段
３１・・・ソースコード記憶部
３２・・・置換内容記憶部
３３・・・変換イメージ記憶部
６１，６２・・・ソースコード
７１〜７８・・・変換イメージ
１００・・プログラム編集装置
【図１】
2011100398.tif 000003
【図２】
2011100398.tif 000004
【図３】
2011100398.tif 000005
【図４】
2011100398.tif 000006
【図５】
2011100398.tif 000007
【図６】
2011100398.tif 000008
【図７】
2011100398.tif 000009
【図８】
2011100398.tif 000010