2014年8月18日月曜日

【Quartz】プログラミング言語を作…りたい話

組み込み環境のLinuxでドライバを作る場合、ドライバ自体は割りと
簡単に作れるけど、一番面倒なのがテスト。ドライバはGPIO使って
LEDとかスイッチとか制御するだけでも、そのテスト用のアプリは
意外と面倒なんですよね~。

あと、特定機能のライブラリとか作る場合も一緒。ライブラリをコール
するためのサンプルアプリとかって、網羅的に機能を試そうとすると
結構複雑な構成になるわけです。

今まではしょぼ目のコマンドセットを使っていて、まあこれでも大体
目的は果たせてたんだけど、色々欲張るうちにIF文やループの機能が
増えていって、字句解析、構文解析を端折ったような構成だったから
内部がどんどん複雑に…。テスト用なのでしっかり作る必要性も
ないっちゃないんだけど、ここらでちゃんとしたものを作っておいても
いいかなあ…と言うのが動機です。

Luaを使っても良かったんだけど、簡素に出来てるLuaであっても
目的にはちょっとオーバースペック。オブジェクト指向っぽいもの
とか全然必要ないし( ̄ー ̄)。BASICのサブセットでもいいぐらい。

■名前:Quartz
 ・まだ実装もしてないけど名前だけは決まってると言う…(^^;。
  プログラム言語の名前は飲料系(コーヒーかな)とか宝石系とか
  動物系が多いんだけど、「組み込んで使えるちょっとしたもの」
  が良かったので石英(Quartz)としてみました。

■機能・特徴
 ・C言語のライブラリとして提供される。
 ・アプリケーションに組み込んで使う
 ・機能的には最低限の言語機能だけ提供し、その他の必要な機能は
  ユーザーがQuartz上で使える関数を(C言語で)実装するような
  イメージ。
 ・最低限…とはいいつつ、自分が良くつかうのでスレッドとソケットは
  扱えるようにする。