サンプルを作ってみて葵の文法再考
葵でテトリスを作ってみて思ったことをいくつか。
オブジェクト指向の方が解りやすい?
わかりやすくするために、葵では、なでしこにあったオブジェクト指向を排除しました。
しかし、ボタンやエディタなど、オブジェクト指向でないと使いづらい操作が意外と多いです。
オブジェクト指向は本当に不要か考えなおしたほうが良いかも。
セッター・ゲッターが必要
それから、「線色は、赤色。」や「塗り色は、黄色。」などと、プロパティを設定するときに、
「赤色を線色に設定。」などと書くのは、非常に冗長です。
「(関数名)=(値)」と書いたら、セッターとして「関数名(値)」と関数呼び出しとして動作する仕組みが欲しいです。なでしこではこの仕組みのおかげで便利でした。
遅い
もともと遅いだろうとは思っていたけど、予想以上の遅さです。
長時間、スクリプトが走ると、応答がありません!と警告が出てしまうし。
MTASCをアーカイブに梱包することにして、ネイティブコードを吐き出して、
SWFへコンパイルようにした方が良いかも。
すうだとすると、こんな手順です。
- 葵のソース→(aoi2コンパイラ)→葵中間言語
- 葵中間言語→(中間表記からActionScriptへコンパイル)→ActionScript
- ActionScript→(MTASC)→SWFファイル
これなら、Flashネイティブのスピードが出る上で、
日本語のわかりやすさ、親しみやすさを享受できます。
ただ、この方法だと、中間コード→ActionScriptに変換の過程で難しい問題が。。。
ラベルジャンプはどうやってActionScriptに変換したら良いのかな?
そう思ったら、パーサーの段階で、直接ActionScriptに変換した方が楽かも。
どうしようか。