【チラシのうら 6日目】マルチステートメントを使えるようにしてみる
BASICと言えば:で区切って1行にみっちりステートメントをぶっ込むのがお作法ですから実行単位を:で区切れるようにします。
実のところ4日目の段階でマルチステートメントが使えるようになっていたのですが…
FOR I=1 TO 3:PRINT I:NEXT
と言う例文を思いついてしまいまして… (;゚Д゚)
コレを実現するにはステートメント毎に分解してスタックに積むとかしておかないと無理じゃね?
と思い至りました。
序に仮の行番号が必用じゃね?と思い、ポケコンのマニュアルを参照してみると、行番号0は使用不可になっています。
あ~、コレ、行番号0を仮行番号(ダイレクト実行時の行番号)に使っているに違いない…と判断しまして…
取り合えずトークン分割時にステートメント毎に分割してリストに入れるように修正してみました。
------------------------
M5Z-80 BASIC Ver.0.1
------------------------
READY.
---- utf8 でエンコードされたメッセージを送信しました: "A=1:B=2:C=A+B*3/(4+5):PRINT \"C=\";C" ----
A=1:B=2:C=A+B*3/(4+5):PRINT "C=";C
C=1.66667
READY.
見た目は地味と言うか、目に見える違いがないのでアレですが、進んではいます。
ここまでの成果
- マルチステートメントが使えるようになった
| 固定リンク
「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)
この記事へのコメントは終了しました。

コメント