コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

ColdFire JMシリーズで動作するスクリプト言語

ブログ二日目です。一日目の文章を読んで、メタメタな文章で何だコリャと思いましたが、とりあえず、推敲するのが面倒なので、思うままに書きなぐって行こうと思います。

とりあえず、ColdFireのデモボードDEMOJMを購入したので、手元にはMC9S08JM60(以下JM60)とMCF51JM128(以下JM128)があります。迷うこと無く、少しでもメモリが多いJM128をターゲットに考えて行きたいと思います。

スクリプト言語といっても、いろいろありますが、個人的にはLuaが好きです。Lua本も最近ではいろいろと出ていますね。Luaはリオネジャネイロの大学の先生が開発している言語で、C言語で書かれていて軽量、高速で動作し、ちょっとしたスクリプトとして自分のプログラムに組み込み易い言語です。でも、言語はしっかりしていて、連想配列を持っていたり、ガーベージコレクションもサポートされていて、頑張ればオブジェクティブなプログラムも可能です。

それで、これをJM128に組み込んでやろうと試みたのですが、野望はあっけなく崩れさりました。無償版のコードウォリア(以下CW)の生成可能モジュールサイズは64KB、Luaのモジュールはどう見積もっても、ココまでは圧縮できないだろう・・・。ライブラリをガンガン削ればできるのかも知れないけれど、諦めることにしました。しかも、メインメモリが16KBしかないし・・・。

それで、いろいろ考えた末、少ないメインメモリで動作することに特化したスクリプト言語は中々無いという結論に至り、移植は諦めました。移植は諦めまして、自作することにしました。「無い物は自作する」X68魂?

そこで、どうするかということですが、JM128はUSB用のポートを持っています。当然、USBホストにもなります。いや、元々スクリプト言語を読み込むためには、外部メディア(USBメモリ等)が必要だと思って、JM128を選んだのですが・・・。なので、メインメモリが無い分、すべてUSBメモリというか外部メモリを使っちゃえという発想で、考えることにしました。そうすると、16KBなんて目じゃありません。勝算は無いっちゃ無いですが、とにかくやってみることにします。

簡単に言語仕様を考えたいと思います。あっ、その前に、言語の名前とアイコンを考えたいと思います。名前を決めないとやりづらいので。
スクリプト言語なのでプログラムファイルができることになります。そうすると、拡張子がスクリプト名を表すアルファベット3文字になれば、格好良い感じです。そこで、どうするかなと考えた末、どうせ、素人が作る言語なので「とっても処理が遅いだろう」と考え、使われる前に、使ってもいいけど、「遅いよ!」ということをしっかり伝えられるように、「遅スクリプト」と名付けました。拡張子は当然、.osoです。わかりやすい。アイコンは「遅い」からカタツムリにしたいと思います。