« 【チラシのうら 2日目】まずは…変数? | トップページ | 【チラシのうら 4日目】PRINT文で計算結果を表示してみる »

2026年6月18日 (木)

【チラシのうら 3日目】計算してみる

計算できるようにします。
数式計算機のコードを参考に、変数と型変換を組み込みました。
トークンを逆ポーランド記法用のスタックに積む際に変数値を同時にスタックに積んでいるので参照代入式(CやJavaにあるa++とか--bとか)が出てくると詰みます。
BASICに参照代入式はないので問題ない筈です。


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

---- utf8 でエンコードされたメッセージを送信しました: "A=1/2*3/(4+5)" ----
A=1/2*3/(4+5)
READY.

---- utf8 でエンコードされたメッセージを送信しました: "PRINT A" ----
PRINT A
0.166667
READY.

---- utf8 でエンコードされたメッセージを送信しました: "B=123" ----
B=123
READY.

---- utf8 でエンコードされたメッセージを送信しました: "C=A+B" ----
C=A+B
READY.

---- utf8 でエンコードされたメッセージを送信しました: "PRINT C" ----
PRINT C
123.167
READY.


エラーチェックとかガバガバなので
A=1--3 は [A] [=] [1] [-] [-3]で評価できますが
A=1---3 の時はどうなるの?

--- TokenVec dump ---
[2] TK_NUMBER '1' INT = 1
[3] TK_MINUS '-' INT = 0
[4] TK_UNARYMINUS '-' INT = 0
[5] TK_UNARYMINUS '-' INT = 0
[6] TK_NUMBER '3' INT = 3

で A = 1 - (-(-3)) ⇒ A = 1 - 3 になりました。

良いのかコレ?
と思わなくもないのですが、ポケコンで実行しても同じ結果になるので ヨシ‼

Image1_20260618065901

ここまでの成果

  • 計算が出来るようになった

|

« 【チラシのうら 2日目】まずは…変数? | トップページ | 【チラシのうら 4日目】PRINT文で計算結果を表示してみる »

BASIC」カテゴリの記事

コメント

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