(57)【要約】【課題】行番号付きのソースプログラムを編集する際、行を挿入するとそれ以降の行番号がすべて変更されてしまっていた。【解決手段】行番号付きのソースプログラムを編集するエディタにおいて、あらかじめ設定した行番号の初期値と増分とで決る行番号を基本行番号とし、既存の行の間にプログラム行を挿入するとき、その挿入行を挟む直近の基本行番号を調べ、その前後の基本行番号の間に既存の行と挿入行とで何行あるかを求め、それら既存の行と挿入行の行番号を前後の基本行番号の間で略等間隔になるように付け直す構成である。【選択図】　　図１
2004102502.tif 000002
【特許請求の範囲】
【請求項１】
行番号付きのソースプログラムを編集するエディタにおいて、あらかじめ設定した行番号の初期値と増分とで決る行番号を基本行番号とし、既存の行の間にプログラム行を挿入するとき、その挿入行を挟む直近の基本行番号を調べ、その前後の基本行番号の間に既存の行と挿入行とで何行あるかを求め、それら既存の行と挿入行の行番号を前後の基本行番号の間で略等間隔になるように付け直す、ことを特徴とする行番号付きプログラムの編集方法。
【請求項２】
行番号付きのソースプログラムを編集するエディタにおいて、あらかじめ設定した行番号の初期値と増分とで決る行番号を基本行番号とし、既存の行の間にプログラム行を挿入するとき、挿入行の前後の行番号が詰まっている場合は、その挿入行を挟む直近の基本行番号を調べ、その一方の基本行番号をも行番号の付け直しの対象とし、その付け直し対象の行と挿入行とを間に挟む直近の基本行番号を調べ直し、その前後の基本行番号に挟まれた既存の行及び挿入行の行番号を、前後の基本行番号の間で略等間隔になるように付け直す、ことを特徴とする行番号付きプログラムの編集方法。
【請求項３】
行番号付きのソースプログラムを編集するエディタにおいて、既存の行の間にプログラム行を挿入するとき、前後の行番号の中間の行番号を挿入行に付与するようにし、挿入行の前後の行番号が詰まっている場合は、挿入行の前後一方の行の行番号を１つずらして付け直し、その元の行番号を挿入行に付与し、１つずらして付け直した行番号が既存の行番号と競合する場合はさらにその既存の行番号を同様に１つずらして付け直し、以後同様に付け直した行番号が既存の行番号と競合しなくなるまでこれを繰り返して挿入行の前又は後ろの行番号を付け直す、ことを特徴とする行番号付きプログラムの編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、行番号付きのソースプログラムを画面表示してユーザが編集する際の編集方法に関する。
【０００２】
【従来の技術】
ソースプログラムに行番号を付して作成、編集するプログラム言語として、ＢＡＳＩＣなどがあるが、近年はＶＢやＣ等の行番号を持たないプログラム言語が主流である。また、元々行番号を持っていたプログラム言語でも、最近は行番号を付けない仕様に変わるものもある。このようなプログラムを開発するためのエディタの例として、特許文献１に挙げたものなどがある。
【０００３】
ところで、行番号付きのソースプログラムを編集するためのプログラムエディタにおいては、プログラム行を挿入したとき次のように行番号を編集していた。
【０００４】
１．ユーザがあらかじめ設定した行番号の初期値と増分とで、新たな行の生成時に行番号を発番する。新たな行を既存の行の間に挿入した場合は、後続の行番号をすべて所定の増分だけ大きい番号に付け替える。
【０００５】
２．ユーザが行番号を指定して新たなプログラム行を入力したときは、既存の行番号との関係でソースプログラムの適切な位置に挿入する。
【０００６】
３．但し、その行番号が既に存在していた場合は、そのプログラム行は置換する。
【０００７】
【特許文献１】
特開平６−８３６０２号公報
【０００８】
【発明が解決しようとする課題】
デバッグや機能追加のためにプログラマーに対する変更指示書を書いたり、また、プログラムの解説文を書いたりする際には、プログラムの特定部分をはっきり指定できる行番号があると便利である。
【０００９】
しかしながら、例えば、エディタの設定として行番号の初期値を１０、増分を１０にしてプログラムを編集しているとき、行の挿入を行うと、挿入行より後ろの行番号はすべて１０ずつ大きな番号に変更されてしまう。従って、既に作成されていたプログラム解説書などは、変更された行番号に対応する部分を全部修正しなければならない。プログラム行の挿入箇所がプログラムの先頭に近い部分であるときは、プログラム解説書の全般に渡って修正が必要になるので影響が大きい。
【００１０】
【課題を解決するための手段】
本発明は、行番号付きのソースプログラムを編集するエディタにおいて、あらかじめ設定した行番号の初期値と増分とで決る行番号を基本行番号とし、既存の行の間にプログラム行を挿入するとき、その挿入行を挟む直近の基本行番号を調べ、その前後の基本行番号の間に既存の行と挿入行とで何行あるかを求め、それら既存の行と挿入行の行番号を前後の基本行番号の間で略等間隔になるように付け直すことで、上記課題を解決するものである。
【００１１】
【実施例】
本実施例のプログラムエディタでは、先頭のプログラム行に付ける行番号の初期値と、改行時の行番号の増分とをあらかじめ指定しておくものである。そして、その初期値及び増分とで決まる行番号を基本行番号と呼んでいる。例えば、初期値を１０、増分を１０とした場合は、１０、２０、１００、１１０等の１０で割り切れる行番号は基本行番号である。また、行挿入時の行番号の付け方を２種類用意しており、編集モードとして指定することができる。即ち、第１の編集モードは基本行番号内で調節を行う方法であり、第２の編集モードは前後の行番号で調節を行う方法である。以下、具体的に説明する。
【００１２】
図１及び図２は、第１の編集モードにおける行挿入時の具体的な動作例を示している。符号１で示すのはエディタが出力した行番号であり、２はユーザが入力したテキスト即ちプログラム、３は文字入力位置を示すカーソルである。ここでは、エディタの設定として行番号の初期値を１０、増分を１０にしているものとする。従って、図１（ａ）に示す２行のプログラム行はいずれも基本行番号である。そこで、図示のカーソル位置で改行キーを押して行の挿入を指示すると、エディタは先ず、カーソル３が存在する行と次の行との間に行を挿入したとき、その挿入行を挟む直近の基本行番号を調べる。そして、それら前後の基本行番号の間に既存の行と挿入行とで何行あるかを調べ、それらの行番号を前後の基本行番号の間で等間隔になるように付け直す。図示の例では、基本行番号１１２０と１１３０の間には挿入行が１行だけ入ることになるので、中間の行番号１１２５が挿入行に付与されて同図（ｂ）に示すようになる。
【００１３】
そして、ユーザがプログラムを入力後、同図（ｃ）の状態からさらに改行を指示すると、既存の行１１２５と挿入行とで２行が入ることになるので、エディタは、既存の行番号１１２５を１１２３に付け直し、挿入行には１１２６を付与して略等間隔になるようにし、その結果、同図（ｄ）に示すようになる。
【００１４】
また、前後の基本行番号の間が既に詰まっている状態で挿入した場合には、図２に示すように動作する。即ち、同図（ａ）に示すように行番号１１２０と１１３０の間が全部詰まっている状態で、行番号１１２８の後ろに１行挿入する場合、エディタは先ず、前後どちらかの基本行番号を基本行番号から解除する。即ち、その基本行番号の行も行番号の付け直しの対象にするのである。そして、その付け直し対象の行と挿入行とを間に挟む直近の基本行番号を調べ直し、それらの基本行番号に挟まれたすべての行の行番号を、基本行番号の間で等間隔になるように付け直す。図示の例では、後ろの基本行番号１１３０を基本行番号から解除し、新たな前後の基本行番号１１２０と１１４０の間に存在する挿入行を含む１１行の行番号を、ほぼ等間隔に付け直している。その結果、元の基本行番号１１３０は１１３９に付け直されている。尚、前後どちらの基本行番号を解除するかは、ユーザに問い合わせてその指示に従って処理を進めるようにしてもよい。
【００１５】
次に、第２の編集モードにおける行挿入時の具体的な動作を図３及び図４を用いて説明する。尚、ここでも、エディタの設定として行番号の初期値を１０、増分を１０にしているものとする。図３（ａ）の状態で改行キーを押して行の挿入を指示すると、エディタは、カーソル３が存在する行と次の行との中間の行番号を発番して挿入行に付与する。従って、同図（ｂ）に示すように挿入行には行番号１１２５が与えられる。そしてさらにユーザがその行番号１１２５の後ろに１行挿入すると、エディタは、カーソル行の行番号１１２５と次の行番号１１３０との中間の行番号１１２７を発番し、挿入行に付与する。この結果、同図（ｄ）に示す状態になるものである。
【００１６】
また、行番号が詰まっていて新たな行番号を発番できない状態で挿入しようとした場合には、次のように動作する。例えば、図４（ａ）に示す状態で行番号１１２９の後ろに１行挿入しようとした場合は、後続の行番号１１３０との間に行番号を発生できないので、エディタは、既存の行番号を前後にずらして挿入行の行番号を発生させる余地を作り出す。ここでは、カーソル３が存在する行の行番号を上にずらして、即ち、より小さい行番号に付け直して新たな行番号の生成を可能にする。そして、現在の行番号１１２９を１１２８に付け直し、空いた１１２９を挿入行に与えて同図（ｂ）に示すように１行挿入する。
【００１７】
そして、ユーザがプログラムを入力し、同図（ｃ）に示す状態からさらに１行挿入すると、エディタはやはり、現在の行番号１１２９を上にずらして挿入行の行番号を発生させる余地を作り出そうとする。但し、この場合は、それより前の行番号も詰まっているので、玉突き式に影響を受けるすべての行番号を付け直すものである。即ち、１つずらして付け直した行番号が既存の行番号と競合する場合はさらにその既存の行番号を同様に１つずらして付け直し、以後同様に付け直した行番号が既存の行番号と競合しなくなるまでこれを繰り返すのである。その結果、元の行番号１１２９は１１２８に、１１２８は１１２７に、そして１１２７は１１２６になって、同図（ｄ）に示すようになるものである。
【００１８】
このように実施例では、玉突き式に影響を受けるすべての行番号を付け直すのであるが、それは行番号が詰まっている限られた範囲のことであって、影響が広範囲に及ぶことはないものである。
【００１９】
【発明の効果】
本発明によれば、行挿入時の面倒な行番号付けをエディタが自動で行うので便利である。また、行の挿入による周辺の行番号の付け直しも自動で行い、且つ、その影響も狭い範囲に止まる。従って、行番号を記載したプログラム解説書等の修正も簡単に済むものである。
【図面の簡単な説明】
【図１】実施例における行挿入時の具体的な動作例を示す図である。
【図２】実施例における行挿入時の具体的な動作例を示す図である。
【図３】実施例における行挿入時の具体的な動作例を示す図である。
【図４】実施例における行挿入時の具体的な動作例を示す図である。
【符号の説明】
１　行番号　　２　プログラム　　３　カーソル
【図１】
2004102502.tif 000003
【図２】
2004102502.tif 000004
【図３】
2004102502.tif 000005
【図４】
2004102502.tif 000006