2008-03-04から1日間の記事一覧

caperが吐いたコードを読む

LALR(1)はどうやって動作しているのでしょうか? 理解を完全にするために、caperの吐いたコードを追いかけてみたいと思います。 caperは、jonigataさんの作られたパーサジェネレーターです。パーサジェネレータの中では群を抜いてきれいなコードを吐いてくれ…

頭の悪いパーサジェネレータ

あんだけ進めといてアレなのですが、方針転換します。パーサジェネレータ作ります。 OCamlのコンパイラが吐くエラーメッセージは正気とは思えないため、最終的に使う言語自身で書いたほうがパーサジェネレータ用の間に合わせの構文よりも嬉しいというパーサ…

頭の悪いぱーさめも

LLとか言われても「再帰下降」、LALRとか言われても「表引くやつ」と言い直さないとぴんと来ないのでまとめる。あるごりずむ LL……トップダウン LL(1)……JavaCC他、手書きできる LL(k)……ANTLR他、手書きできる 再帰下降+バックトラック……Parsec*1他(たぶんREBO…