型を宣言しない場合は、内部の型がLong型なのかDouble型なのかをはっきりさせて作る方がいいと思います。
Double型の方がいろいろな意味で汎用性がありますが。
ファイルから1単語読み込んで読み込んだ内容をString型で返す関数をLoad()関数として、
コード: 全て選択
Function Main()
Dim A$ As String
Dim B$ As String
Dim C$ As String
Dim D$ As String
Dim ax As Double
A$=Load()
If Defined(A$)=1 then
B$=Load()
If B$="=" then
B$=Load()
C$=Load()'計算記号
D$=Load()
If Defined(B$)=1 And Defined(D$)=1 then
If C$="+" then
ax=GetNowDouble(B$)+GetNowDouble(D$)
ElseIf C$="-" then
ax=GetNowDouble(B$)-GetNowDouble(D$)
ElseIf C$="*" then
ax=GetNowDouble(B$)*GetNowDouble(D$)
ElseIf C$="/" then
ax=GetNowDouble(B$)/GetNowDouble(D$)
EndIf
SetNewDouble(A$,ax)
ElseIf Defined(B$)=1 And D$=Str$(Val(D$)) then
'略
'略
EndIf
EndIf
ElseIf A$="Print" then
B$=Load()
If Defined(B$)=1 then
ax=GetNowDouble(B$)
ElseIf B$=Str$(Val(B$)) then
ax=Val(B$)
EndIf
Print ax
ElseIf A$="Dim" then
B$=Load()
If Defined(B$)=0 then
SetNewDoubleName(B$)
EndIf
EndIf
EndFunction
Do
Main()
If Eof(1) then Exit Do
Loop
のようにやったらいいのではないかと。
エラーコードとか随分省略して書きましたが、参考になれば幸いです。
追伸
もちろんこのままじゃコンパイルできませんよ?
Defined関数、SetNewDouble関数、SetNewDoubleName関数、GetNowDouble関数、Load関数等は各自で工夫して作ってみてください。