目次
前
次
BASICコードへの行番号追加(AWK)
IchigoJamのBASIC、豊四季BASICは行番号を利用しています。
構造化プログラムを作成するときには、行番号でサブルーチンを
指定するので、ある程度コードを作成した時点で行番号追加を
考えた方が楽と考えました。
次のIchigoJamのBASICコードに、行番号を追加するとします。
'
FOR I=0 TO 3
IF P=1 LET J,I+4 ELSE LET J,I
LET [J],IN(I)
NEXT
RETURN
100行からのサブルーチンを作成とすれば、AWKスクリプトは以下。
{
printf("%03d %s\n",10*(NR-1)+100,$0)
}
実際にAWKスクリプトとテキストファイルを利用して実験。
行番号を追加した内容をファイルに保存したければ
I/Oリダイレクトで処理すれば充分。
サブルーチンの開始行番号を変更するには、100を200、300と
するだけでよいので、AWKスクリプトを直接入力すればよい
でしょう。
アクションの方には手を入れたくないので、BEGINクローズに
オフセット値を指定して対応します。
コードとしては、単純で以下とします。
BEGIN {
xofs = 200
}
{
printf("%3d %s\n",10*(NR-1)+xofs,$0)
}
BEGINクローズの中で初期化する変数xofsの
設定値を変更しての対応にします。
実際に利用すると、以下。
目次
前
次