■ [ruby] Ruby用PEGパーザ、Treetopを使ってみる TreetopはRuby用のPEG(解析表現文法)のpackrat parserである。 よく分かってないけど、そういうものらしい。 PEGの特徴については適宜google検索してもらうとして(ひどい)、ここではTreetopを使って簡単な文法をパーズしてみた。 1. インストール gem install treetop Vim使いはvim用の色付けもインストールしておくと良いかも。 2. 文法を書く パーザといったら(異論もあろうが)四則演算である。リファレンスを参考に、とりあえず足し算だけの文法を定義してみよう。 dentaku.treetop: grammar Dentaku rule additive (number "+" number) / number end rule number [0-9]+ end