● サンプルプログラム - replace
ソースコードの前処理を行う事で、記述法を一部変更する一例です。
プログラムはコンソールアプリケーションで、exe名は test.exe となっています。BASIC ソースは test.txt に記述してください。
行を分けて記述する
中括弧 { } で括られた範囲にある改行文字を空白文字に置き換え、一行に繋げます。中括弧自体も空白文字に置き換えられます。
a {
B
C → a B C D e
D
}
e
StrCalc BASIC では、ステートメントに必要な情報を同じ行に記述する必要がありますが、この前処理を行う事で、複数行に渡って記述する事ができるようになります。
例.
for n = 0 to 10
if n <> 1 then if n <> 3 then if n <> 5 then if n <> 7 then if n <> 9 then
@print n;" B"
else
@print n;" A"
endif
next
↓
for n = 0 to 10
if n <> 1 then {
if n <> 3 then
if n <> 5 then
if n <> 7 then
if n <> 9 then
}
@print n;" B"
else
@print n;" A"
endif
next
このプログラムには、出力用に sc_basic と同じ仕様の @print が定義されています。
注意
- 中括弧は必ず対で使用する必要があります。
括りを入れ子にする事はできません。
- 関数StrCalc_BASIC へ渡す前に処理されるものなので、エラー時の行番号は正確な位置を指しません(中括弧で括られている改行の数だけずれる)。