【チラシのうら 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文を実装してみた。
| 固定リンク
「BASIC」カテゴリの記事
- 【チラシのうら 42日目】約3倍 高速化しました。(2026.08.30)
- 【チラシのうら 41日目】便利だわ GitHubCopilot(2026.08.29)
- 【チラシのうら 40日目】実行中間コード化(2)(2026.08.25)
- 【チラシのうら 39日目】実行中間コード化(2026.08.22)
- 【チラシのうら 37日目】SDカードユニットの交換で問題解決(2026.08.13)
この記事へのコメントは終了しました。

コメント