2009-05-01から1ヶ月間の記事一覧

haXeで作るプログラミング言語(6)

今回は括弧演算子を作ります。括弧演算子って何?って思うかもしれませんが以下のようなものを括弧演算子と呼びます。 括弧 () {} [] で、括弧の中身が空であることを表すために、vidという特別なものを作ります。voidにしたいのだけど、voidだとぶつかるの…

haXeで作るプログラミング言語(5)

今回は変数を追加します。例)a = 1それと代入演算子は左結合と右結合の話もちょっとします。 同じ優先順位の演算子が2つ並んだ場合に、 どっちが優先して結合されるかっていうのが右結合とか左結合というわけ方になります。 変数への値の代入 変数への値の…

haXeで作るプログラミング言語(4)

さて、今回はさらに簡略化しまっす。 パーサを手書きでどんどん増やすのも手なのですけど、メンドクサイので再帰下降型の演算子順位法を使って、演算子をいくらでも追加できるようなパーサの構造に変えます。今回作ったのは以下のソースです。 enum Exp { ni…

haXeで作るプログラミング言語(3)

こんにちは。今日は3回目になりますね。 RubyのGCを弄り回しているid:authorNariさんがついにRuby1.8のGCの高速化を実現したそうです。 構文木の寿命が基本長いので隔離することで高速化できたようです。 すばらしいですね。継続は力なりだなぁっと思います…

haXeで作るプログラミング言語(2)

さて今回は、2パスの計算機を作ります。 パスってのはプログラムを動かす上での段階ってかんじで、何段に分かれてるかをあらわすのにいいます。 前回は、パースしながら計算してたので1パスでした。 今回は、1パースした結果を構文木に保存する 2構文木…

インストール

haXeのホームページはこちらです。 http://haxe.org/?lang=jp日本語のページはこちら。 http://haxe.org/haXeのページの面白いところは翻訳機能のついたwikiだってことです。 おかげで、日本人の興味のある人が興味のあるページだけ翻訳って事が出来て非常に…

haXeで作るプログラミング言語(1)

Flash上でFlashのコンパイルを出来るライブラリがそろっている言語。 私の中でHaxeとはそんな言語です。 今回はひとつ、頑張ってhaXeで俺言語を作るってのを書いていこうと思います。 どんな言語を作るかというと、Algol文法にLISPのマクロと同等の能力を持…