> RENUMコマンドって、コードの中のGOTO文なんかの飛び先まで書き換えてくれる
これは一番大事なキモというやつですが,色々なやり方があると思いますので,一旦置いておきましょう。
> 最終仕様のものまで一気に作ってしまおうか、という気もする。
そうですね。としきさんがサブセットで満足できるとは思えません。
ただ,現実的な一定の制限を持つ仕様は必要だと思います。
> ただ、条件判定で気になるのが、仮に増分を1000番刻みの場合、行番号が32000の
> 次は33000になるわけですが、素直に作ると、なんとなく比較が破綻しそうな値。
増分が1000番刻みって,あまりにも非現実的な気がするのですが,本当にそういうものを目指すのですか? そもそも増分をどこで設定するのでしょう。ここがはっきりしないと先に進めないように思います。
> また、BASICとして正当ではない行がある場合。
この判定は,無理ということはないですか?
そもそも正当な行とは?
> 数字のあとに英字や記号がくっついている場合も処理中止。
これだけならそれほど問題はありませんが……
> 論理行の要件チェック。
この要件を列挙していただけますか?
でないと,なぜ「1文字ごとに cd で見ていくのが確実」なのか分かりません。
> 行番号の上限チェック。
行数と増分の積というわけではないのですか?
> 初期値の取得
例えば,初期値と増分を決めておいてはいけないのですか?
経験的には,番号初期値は 1000 に決めていたりしたように思いますが……。
フルセットを目指すのは大切だと思いますが,行番号の初期値が 40000 とか,自分にとっては相当の違和感があります。
それは別として,&n で対応できないロング整数の取得の方法はないわけではないですが,けっこう面倒です。例えば,
「カーソル位置の数字列を数値として取得するには」(VZマクロFAQ)
http://mezala.la.coocan.jp/vz/faq/opera.html#opera_015