目次
前
次
BASIC言語仕様
BASICインタプリタを開発するので、使うBASIC言語の
仕様を決めなくてはなりません。
BASICインタプリタをのせたマイコンとしてIchigoJamが
あったので、このBASICに似せた仕様とします。
BASIC言語の仕様は、以下としました。
- 大文字、小文字を区別せずに同じとみなす。
- 変数はAからZの26個用意。
- 配列は、<0>から<100>の101個用意。
- 変数、配列へ値代入は、LETを利用。
- 変数、配列に格納できる値は、32ビットとする。
- 行番号をつけたステートメントで動作を記述。
- 行番号とステートメントの間は、最低1個スペースを入れる。
- マルチステートメントは使えない。
- 1行の最大文字数は、行番号を含め256文字。
- 変数の表示には、PRINTあるいは?を使う。
- 算術演算は、加減乗除(+-*/)と剰余(%)とする。
- 論理演算は、積(&)和(|)排他的論理和(^)とする。
- 比較演算は、一致(=)不一致(<>)小なり(<)小なり一致(<)大なり(>)大なり一致(>=)とする。
- 比較演算では、演算子と2項の間にスペースを入れる。
- 演算は、2項に限定する。
- 選択には、IF ... THEN ... ENDIFを使える。
- 選択には、IF ... THEN ... ELSE ... ENDIFを使える。
- 選択のIF ... ENDIFは、ひとつの行に書く。
- 反復には、WHILE ... WEND を使える。
- 反復ステートメントは、WHILEとWENDに挟み、2つの予約語を含まない。
- 反復には、FOR ... NEXT を使える。
- 反復ステートメントは、FORとNEXTに挟み、2つの予約語を含まない。
- 分岐には、GOTOを使う。
- GOTOで分岐するとき、分岐先には行番号を使う。
- サブルーチンは、GOSUBで分岐先を行番号で指定する。
- サブルーチンからの復帰は、RETURNを使う。
- プログラム終了は、ENDで指定。
- 入出力は、8ビット入力と8ビット出力に限定。
- 入力は、1ビットの入力を扱う場合、関数INを利用。
- 入力は、8ビット全体の入力を扱う場合、関数INPを利用。
- 出力は、1ビットの出力を扱う場合、手続きOUTを利用。
- 出力は、8ビット全体の出力を扱う場合、手続きOUTPを利用。
上記仕様によるBASICプログラムの例は、以下。
5 LET B,20
10 LET <90>,10,B+2,12,13
20 LET A,0
30 ? A,B,C+1,<91>
40 LET A,A+1
50 IF A < 10 THEN GOTO 60 ELSE GOTO 30 ENDIF
60 IF B = 0 THEN GOTO 90 ENDIF
70 GOSUB 100
80 GOTO 20
90 END
100 '
110 ? A,B,C
120 RETURN
目次
前
次