プログラミング言語 a24z
なんかできた。
いや、ね、こう、別にコンパイラを作りたい、というわけではないんだけど、なんか暇だと作ってしまうようで。
シューティングを作ろうと思ったものの、雑魚キャラを書くのが超面倒だったので、雑魚キャラを書くスクリプト言語みたいな感じで。あー、あと、この文法が使えるかどうか、の実験とか、VM作ってみたかった願望とか、C++でなんか書きたかったとか、そういうのをごちゃ混ぜにしたような。
文法はこんなの。
field p : float def start( ) -> void : let: i = 7 in: while 1 : if ( i>8 && i<13 ): p = p+1.0 else: yield i = i+1
次のような特徴が
- 遅い
- 機械語より遅い。
- ライブラリが無い
- 無い。IOすら無い。
- 文字列が無い
- 無い。
- GCが無い
- 無い。というか、メモリアロケーションすら無い。
- コンパイラが酷い
- リークしまくり
- エラーメッセージが酷い
- 行番号すら出ない。
- ドキュメントが無い
- 当然。
- あんまテストしてない
- 当然。
そこらへんを併せて、A言語からZ言語までのアレのナニでa24zとゆー名前にしてるとか、してないとか、と、いうのは、全然嘘で、名前は適当に付けました。誰か僕にネーミングのセンスをください。ILogとかも実はあんまり好きじゃない。参考: ABCの歌
えーと、また明日か明後日にでも続き書きます。サンプルっぽいのも用意しときます。
あと、なんか色々あるので、そこらへんもそのうち書きます。