SyntaxHighlighter

2016年7月16日土曜日

豊四季タイニーBASICのメモ

タイニーBASICをCで書く を購入した。
中身はTTBASIC(豊四季タイニーBASIC)の解説だ。

Tiny BASICをC言語で実装した例はいくつかあるが、
その中でも移植性とわかりやすさに重点を置き、拡張性も高く設計されていることが
ソースコードを読んでわかったので本を購入した。

中心部分は変わらず、各機種対応のプロジェクトファイルが配られているのだが、
Arduino版のソースコードに至っては1行ごとに日本語のコメントが付いている。
C言語が読め、TinyBASIC全体の知識がある人ならそれだけで理解・改造ができるだろう。

自分は、一部のデータ構造の意味などがわからなかったので本を購入したのだが、
図や筆者の言葉でしっかりと全体的な説明がなされており、さらにSAVE・LOAD命令などの
実装例も乗っていたので、かなり助かった。

ただ、初心者向きではない。C言語に関する説明はないからだ。
あくまで、C言語でプログラム作るのにある程度なれており、BASICを導入したいと
考えた人向けだ。

また、TTBASICには機種依存性をなくすため、本当に最低限の機能しかついていない。
改造して使いたい人でないと本を買う意味は無いだろう。

私はこれから、個人用に拡張したBASIC環境を構築しようと考えている。

その上での色々なメモを此処に書いていこうと思う。

・64bit環境では動作しない
 64bitのWindows環境で実行しようとすると、コンパイル時にポインタの型変換に警告が出る。
 「64bitのポインタを32bitで受けようとしているぞ」というもので、
 その状態で構造文(FOR等)を実行すると「スタック足りない」エラーが出る。
 型を変更するか、32bit環境で動かすことをおすすめする。
 もっとも、TTBASIC自体、組み込みなどの環境向けなので、
 64bitなんて贅沢な環境のことは考えていないのだろう。

・Windowsのおせっかい
 debugで実行すると、時折エラーを吐いて落ちることがある。
 関数の戻り値が代入されていない、など。
 設計者の思想的に、エラーで戻るときには戻り値は使われないため、
 ROMを節約するためか、何の値も代入されないようだ。
 正直Windowsの開発者向けおせっかい機能だが、それを切るか、治すかすると良いだろう。
 っていっても、こんなの書かなくても見りゃわかると思うけれども。

改造したものは以下においてある。
https://sites.google.com/site/gpsnmeajp/ttbasic

0 件のコメント:

コメントを投稿