2011-01-04から1日間の記事一覧

構文木はどう処理するか?

構文木はインラインアセンブラの場合は、アセンブラの抽象構文木に変換された後、ホスト言語のコンパイル結果と混じって1つのコードを出力することになるでしょう。コード出力部が十分小さければ、実行時にJITすることも同じロジックを使って行えるようにな…

演算子空間と文法空間

インラインアセンブラは asm {}の中身はアセンブラとして構文解析されました。インラインアセンブラを作る場合、新しい演算子空間に入ったところで文法も変わり、抽象構文木は別物にすることになるでしょう。ホスト言語の文法に対して、ドメイン特化言語の文…

演算子空間の実装方法

次に実装方法について考えます。 具体的なJSONを使って記述した演算子表を以下に示します。 { infixes:{100:"+",200:"*"}, operatorSpace:{ asm:{ extends:"root", infixes:{100:"-",200:"/"} } } }infixes は中置演算子の表です。oparatorSpace が演算子空…

演算子空間と文法空間

k.inabaさんのPoemyの実装が公開されていました。 レイヤーという概念がなかなか面白い言語です。 そこで、レイヤーからインスパイアされて考えたことを以下に書きます。 結構まとまってないので納得がいかないなぁと思いつつ、数日たってしまったので、公開…

ゲーム

あと、yahooモバゲーのDivineいうカードゲームにハマってしまって、 クリアできるところまで行ってしまった。なんか、勝てそうで勝てないのが悔しくて、思わずもう一回、 もう一回って繰り返してしまうという。http://yahoo-mbga.jp/game/12003651/play課金…

フラッシュのワークフロー

年末年始は、flex4をゴリゴリ。flash catalystが凄いらしいので使ってみる。 htmlをそのまま、mxmlに書き換えた感じに出来ると何かと嬉しいんじゃまいか。 ってことで、そんなライブラリと言うか開発手法を考えてて面白い。 とりあえず、htmlで作る感じでPHP…

あけましておめでとうございます

あけましておめでとうございます。 今年も、ぼちぼち、言語を作っていきます。