Parser探索

今日の午後はParserの探索をしていた。
色々とふらふらしてあっちこっち調べたけど結局使うのを一つに絞る事にした。
peg/leg ― recursive-descent parser generators for C
http://piumarta.com/software/peg/

examplesフォルダにある拡張子が peg のファイルが規則のテンプレートで、拡張子が ref のファイルが入力サンプルだった。
例題の数は思ったより多いけど自然言語での解説は無い。考えるな、感じろ、って事なのかな…いやいやいや。。
あまり入力サンプルがプログラムの活用をするようにはなっていない感じ。自分で試せって事なのかな。。はい。

pegファイルはタブ幅8でインデントされている。
dcv のサンプルが自分がやりたかった事の取っ掛かりになりそう。すっきりするもんだ。

PEG(Parsing Expression Grammar)だと字句解析規則を構文解析と同じところに記述出来るんだなぁ。bisonとかだとBNFというやつだったけど、それと比べると曖昧さが無くて使いやすいらしい。

PEGはメタ言語界のLLだ
http://sideport.g.hatena.ne.jp/anatoo/20110317/1300379258

PEG基礎文法最速マスター
http://d.hatena.ne.jp/kmizushima/20100203/1265183754

PEG と 文脈自由文法の違い
http://tnomura9.exblog.jp/7792070/