> 一方で、行番号系でやりたいことも、あるにはある。
> なにかというと、BASICでいうところのRENUMコマンド相当の動作。
> つまり、行番号の付け替え。
ちょっとまじめに考えてみました。
すると、これ、思ったより大変かもしれないということに気づきました。
N88-BASICに限りませんが、ほとんどのBASICインタプリタはプログラムを内部表現
に変換して格納しているのですよ。例えば、GOTOは89H、GOSUBは8DH、みたいな感じ。
つまり
GOTO 1280 -> 89 20 20 00 05
GOSUB 80 -> 8D 20 50 00
といったように。
なので、インタプリタなら対応する内部コードのうしろを変換するだけで済むの
ですが、テキスト処理だとこれがなかなか難しい。
例えば、以下の例。
10 REM GOTO 100
20 'GOSUB 200
30 PRINT "GOTO 300"
当然、これらは変換してはいけないわけです。
こんなものは存在しない、という前提で作ればそれなりに簡単ですけれど、これらに
まじめに対応したマクロを作るのは、私のおつむではちょっと難しい。
頭の体操にはいいかもしれないけど。
> とはいえ、対応する必要があるのは GOTO GOSUB THEN ELSE ぐらいかなぁ。
RETURNも行番号をとるけれど、そんな汚いコード、書いた事はないはず。
ん、RESTOREなんてコマンドもある。これは対応が必要だ。
あと、RESUMEぐらいは対応してもいいかも。
これ以上何かをするのなら、めざらさんのところの掲示板かなぁ。