タグ

ブックマーク / h-sakurai.hatenadiary.org (1)

  • バイナリツリーバリデータ改 - Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記

    全ての値をバイナリツリーにしてしまうと、switch文だけで文法をチェックできます。 エラーを発見したらthrowすることにすると、returnの値がtrueかfalseかとか 関係なくなるので、アクションとか追加できそうな雰囲気です。 ガードとか無いので、match構文なんていらない!ってところまではならないかもしれないですが、 いい感じなのではないかと。 これを使って、インタプリタや、スタックマシンへのコンパイラを作ってみると、アクションを どう追加したら良いかが分かってくると思います。 <script> function BTree(a,b,c) { this.l = a; this.op = b; this.r = c; } BTree.prototype.toString = function() { return "B("+this.l+","+this.op+","+this

    バイナリツリーバリデータ改 - Scala で TAPLを勉強しつつ LLVM コンパイラを作る日記
    authorNari
    authorNari 2008/08/04
    binarytree, btree, 構文解析
  • 1