X-BASIC
X-BASICは、シャープX68000用にハドソンおよびシャープが開発したBASIC言語である。
特徴としてはC言語に似た独自の構文をもった構造化言語であり、他の多くのBASICとは似ていないという印象が強い。一般にBASICには大文字を基本としているものが多いが、小文字を使うのも特徴である。
セーブとロード
[編集]ユーザが記述した関数部分は行番号なしでsave
することによって、ライブラリ的なファイルを作って再利用することも可能である(なお行番号なしでsave
された関数を実行する際には、行番号付きでend
よりも後の行にload
する必要がある)。
外部関数
[編集]X-BASICインタプリタ環境は、アセンブリ言語などで記述された機械語の外部モジュールを追加/削除することによって、インタプリタで処理できる外部関数の機能をカスタマイズできる仕様になっている。
構文
[編集]実行可能なコードでは、標準的なBASICと同様にすべての行の先頭に行番号を記述する。 トークンの大文字・小文字を区別し、予約ステートメントは小文字で記述される。
ブロックは、ブラケット文字{と}で囲んで複数行に渡って構文を記述することができる。
変数
[編集]変数は型を持ち、変数の宣言を記述する。
- 整数型
int
32ビット長の符号付き整数を扱う。 - 整数型
char
8ビット長の符号なし整数を扱う。 - 浮動小数点型
float
倍精度浮動小数点数を扱う。 - 文字列型
str
255文字以内の文字列を扱う。
配列
[編集]配列はdimステートメントを用いて定義し添字は(と)で括る。
制御
[編集]繰り返し制御には、for
~next
の他に、break
およびcotinue
の制御が可能なwhile
~endwhile
、repeat
~until
ステートメントを有する。
関数
[編集]ユーザー関数の定義はend
より後の行にて、func
~endfunc
ステートメントを用いて定義することができ、引数は(と)の間にカンマで区切って変数の型を含めて定義する。
コード例
[編集] 10 /* Tiny EDITOR ted.bas
20 str fname[20]
30 str buff[200]
40 int fp, fc
50 char CR=13, LF=10
60 /*
70 title()
80 fninput ()
90 fp=fopen(fname, "c")
100 edit()
110 fc=fclosc(fp)
120 end
130 /*
140 func title()
150 str dummy
160 cls
170 print "これは簡易エデイタです。"
180 print "メモなどを作成するときにお伎いください。"
190 print "なお、すでに存在するファイル名を指定したときは、無条"
200 print "件にそのファイルの内容を削除してしまいます。"
210 print
220 print " 何かキーを押してください ";
230 dummy=inkey$
240 cls
250 endfunc
260 func fninput()
270 print "Input file name >";
280 linput fname
290 endfunc
300 func edit()
310 print "Input data(END =/)":print
320 while buff <> "/"
330 linput ">";buff
340 if buff <> "/" then {
350 fwrites(buff,fp)
360 fputc(CR,fp)
370 fputc(LF,fp)
380 }
390 endwhile
400 endfunc
コンパイル
[編集]X68000本体を購入すると標準で付属していたX-BASIC開発環境は、エディタ機能を持ったインタプリタであるが、別売りのCコンパイラを購入すると、X-BASICからC言語に変換するツールを用いて機械語にコンパイルして実行できる。
構文チェッカ
[編集]X-BASICとC言語の言語仕様では、演算子の優先順位などプログラミング上問題になりやすい若干の差異があったために、「XBAStoC CHECKER PRO-68K(CZ-260LS)」(BCチェッカ)という構文検査ツールが発売されていた。
関連書籍
[編集]- 荻野浩一郎、ほか 著、トーコーシステム監修 編『X68000X-BASIC入門』ビー・エヌ・エヌ、東京〈X68000 books 1〉、1988年。ISBN 4-89369-044-2。OCLC 47426273。全国書誌番号:89013958。
- 宮原哲也、深沢幸三『X68000活用研究 II:X-BASIC マスター編』 2巻、電波新聞社、東京。OCLC 47430054。