ラズパイ用 BASIC の話の続き。BASIC の処理系を作り始めています。とりあえず、Mac 上では動き出した。
本当にラズパイに載せられるかどうかはわからん。ベアメタル化は自分の技術では無理なので、Linux の CUI から立ち上げる形になると思う。X Window は使わず、フレームバッファ直書きで。
BASIC の仕様はこんな感じ。
- 数値は 32 ビット整数か 64 ビット浮動小数点数。変数の後ろに '#' をつけると浮動小数点型になる。
- 文字列変数は実装予定だがまだ手つかず。
- 行番号なし。制御構造として
IF...THEN...ELSEIF...END IF
,DO...LOOP WHILE
,DO WHILE...LOOP
,FOR...TO...STEP...NEXT
がある。このへんは、JIS Basic の仕様を参考にした。ラベルへのGOTO
も一応ある。 FUNC...END FUNC
,SUB...END SUB
で関数、手続きを定義できる。再帰呼び出し可能。DIM
変数は4次元まで。関数・手続きにも参照呼び出しで渡せる。
IchigoJam などの Tiny Basic の流れではなくて、もう少し大きな処理系を目指すことになる。どこまで行けるかわからないけど、とりあえず走ってみるつもり。
タグ:Raspberry Pi