Flexyの構文解析はyaccとかで作ってる?
「Flexyをとりあえず動かしてみる - maru.cc@はてな」の続き。
少しずつ時間の合間に、Flexyのソースを追ってます。
その中で、HTML/Template/Flexy/Tokenizer.php の中を見ていて気づいたのだが、最近どっかで見たコードに似ている。
「ベイエリア情報局: Haskell Hackathonに参加してきた」
btoさんが、Haskell Hackathonで書いたソースの
http://bz2.jp/misc/php_haskell/
http://bz2.jp/misc/php_haskell/parser.php
これに似ている。
よくわかってないが、宣言部分の配列宣言の数値羅列とか。
変数名のプレフィックスに「yy」と付いているあたりとか。
kmyacc? yacc? なんか自動生成しているのかな?
というわけで、ぐぐってみたら、それらしいことをされている方がいました。
HTML_Template_Flexy - 機能の拡張 - ループ構造の追加
Tokenizer.lexとやらを、どーのこーのするらしいので、環境作ってやってみよう。