« 【チラシのうら 7日目】LET文を実装してみる | トップページ | 「スーパーの裏でヤニ吸うふたり」の為にABEMAプレミアムに入るか悩む »

2026年6月23日 (火)

【チラシのうら 8日目】FOR~NEXT文を実装してみる

行番号を入れてソースコードを保存する仕組みを作ってないのでマルチステートメントで
FOR I=1 to 2:PRINT I:NEXT
とかの場合を対象にします。
基本的には同じことなはずなので…
NEXTの動きと制限はどうするの?は悩ましいのでポケコンのBASICの制限を参考にします。
が…
1) FOR~NEXTループ内に外から飛び込むことはできません。
2) FOR~NEXTループから外に飛び出さした場合、そのループは終了したことになりません。
3) FOR~NEXTループ内ではCLEAR,ERACE,DIM命令は使用できません。

FOR命令を実行スタックに積んでいる間はFOR~NEXTループ内って判断で良さそうか?
2)の制限はBREAK文がないと辛くないか? M5Z-80 BASICにはBREAK文を導入しよう。


------------------------
M5Z-80 BASIC Ver.0.1
------------------------
READY.

---- utf8 でエンコードされたメッセージを送信しました: "PRINT \"123\" : FOR I=1+2 to 4+10 step 1+2 : print i : next i : print \"456\"" ----
PRINT "123" : FOR I=1+2 to 4+10 step 1+2 : print i : next i : print "456"
123
3
6
9
12
456
READY.


付けようと思ったBREAK文がまだですが…後回しかな。

ここまでの成果

  • FOR文を実装してみた。

|

« 【チラシのうら 7日目】LET文を実装してみる | トップページ | 「スーパーの裏でヤニ吸うふたり」の為にABEMAプレミアムに入るか悩む »

BASIC」カテゴリの記事

コメント

この記事へのコメントは終了しました。