BASICインタープリター
2012年5月31日
KM-Z80(MZ-80K互換マイコン)で使える高級言語として、BASICインタープリターを作成中。
オリジナルのMZ-80K用には、SP-5010とかSP-5030などがあるが、以前持っていたカセットテープは保存していなかったので、手元にはない。インターネットを色々探すと取得できないことはないが、これを使うとなると著作権上の問題が出る。一つ大丈夫そうなのは、「整数型ベーシックコンパイラー for MZ-80K/C, MZ-1200」というもの。ただ、これに関しても著作権はグレーで、製作者の方によると「著作権が放棄されていない以上将来に渡って問題が起こらないとは断言できません」とのこと。
ならば、自作しかないと言うことで、作ることにした。大まかな仕様は、次のようなものを考えている。
・BASICインタープリター
・整数型(16ビット)
・編集は、行番号形式
・実行は、コンパイルされたオブジェクトを介して行う、JIT compile形式
JIT形式により、普通のインタープリターとコンパイラーの中間ぐらいの速度は出ると考えている。本格的にコンパイラーを用いて何かを作りたければ、先日紹介したSDCCを用いればよいので、速度はあまり気にせずに作成する予定。
開発はC言語(SDCC)を用い、テストはMZ-700エミュレーターのMZ-80Kモードで行っている。現在のところ、整数の四則演算と文字列の表示まで出来ている。テストの結果は、上の画像のとおり。
オリジナルのMZ-80K用には、SP-5010とかSP-5030などがあるが、以前持っていたカセットテープは保存していなかったので、手元にはない。インターネットを色々探すと取得できないことはないが、これを使うとなると著作権上の問題が出る。一つ大丈夫そうなのは、「整数型ベーシックコンパイラー for MZ-80K/C, MZ-1200」というもの。ただ、これに関しても著作権はグレーで、製作者の方によると「著作権が放棄されていない以上将来に渡って問題が起こらないとは断言できません」とのこと。
ならば、自作しかないと言うことで、作ることにした。大まかな仕様は、次のようなものを考えている。
・BASICインタープリター
・整数型(16ビット)
・編集は、行番号形式
・実行は、コンパイルされたオブジェクトを介して行う、JIT compile形式
JIT形式により、普通のインタープリターとコンパイラーの中間ぐらいの速度は出ると考えている。本格的にコンパイラーを用いて何かを作りたければ、先日紹介したSDCCを用いればよいので、速度はあまり気にせずに作成する予定。
開発はC言語(SDCC)を用い、テストはMZ-700エミュレーターのMZ-80Kモードで行っている。現在のところ、整数の四則演算と文字列の表示まで出来ている。テストの結果は、上の画像のとおり。