« 【チラシのうら 18日目】トークン分割再修正 | トップページ | 【チラシのうら 20日目】GOTO文を実装してみた »

2026年7月11日 (土)

【チラシのうら 19日目】IF文を実装してみた

MSX形式のIF文で IF~THEN~ELSEが1行で完結する仕様です。
まだGOTO文が実装出来てないので IF <式> THEN <行番号> が実現できてません。
デバック中に他のバグも続々発生 (。-`ω-)
Bが未定義(一度も値を代入されていない)状態で A=B が実行できないとか
FOR I=B TO 3 がダメとか
未定義変数の処理に問題がある事が発覚したので修正ついでに B(2)=10 が実行できるように拡張しました。
次は GOTOの実装ですかね。


------------------------
M5Z-80 BASIC Ver.0.3
------------------------
Largest Internal = 110580(107.988KByte)
Largest PSRAM = 0(0)
Stack Free = 6156 bytes
READY.

list
10 A=0
20 IF A=0 THEN PRINT "TRUE" :PRINT "TRUE-2" ELSE PRINT "FALSE" : PRINT "FALSE-2"
READY.

run
TRUE
TRUE-2
READY.

list
10 A=1
20 IF A=0 THEN PRINT "TRUE" :PRINT "TRUE-2" ELSE PRINT "FALSE" : PRINT "FALSE-2"
READY.

run
FALSE
FALSE-2
READY.


ここまでの成果

  • (不完全だけど)IF文が使えるようになった。
  • DIM宣言なしで(0~10)までの1次元配列が使えるようになった。

|

« 【チラシのうら 18日目】トークン分割再修正 | トップページ | 【チラシのうら 20日目】GOTO文を実装してみた »

BASIC」カテゴリの記事

コメント

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