BASIC 構造化プリプロセッサ
SBPP(Structured BASIC Pre-Processor)の主な機能は、
(1) ソースコードに行番号を付加します。
ソースコードの行数と生成行番号が対応します。
(行数の10倍の行番号を生成します)
(例)
input a
print a*10
↓
10 input a
20 print a*10
(2) 構造化制御キーワード(if-else, switch-case, while-loop等)を解析し、
非構造化BASICの構文に変換します。
(例)
@if a=100
print "Good"
@else
print "Bad"
@endif
↓
10 if a=100 then else *else.1
20 print "Good"
25 goto *endif.1
30 *else.1
40 print "Bad"
50 *endif.1
(3) 行頭のスペースやタブコードと『’』によるコメントを削除します。
(例)
'Program No.1
input a '入力
if a<100 goto *jump '百点でなかったら無言
print "Good" '褒める
*jump
↓
20 input a
30 if a<100 goto *jump
40 print "Good"
50 *jump
(4) Sharp Add-in BASIC の『先頭タイトルコメント行』に対応しています。
(3)の例を『#』オプションで変換すると
1 'Program No.1
10 input a
20 if a<100 goto *jump
30 print "Good"
40 *jump
(1)の例を『#』オプションで変換すると
1 'Title-line not found !!
10 input a
20 print a*10