PLY(http://systems.cs.uchicago.edu/ply/)

海外の子はPython好きも多いから並行して同じスクリプトPythonで勉強用に書いてたところ、同様のパーサジェネレータを探してて見つけた。docstring に rule 書くってのは思いつかなかったなあ。便利かどうかはともかく。もちろん or ('|'ね) で 1 ルールをまとめて書けるんだけど、内部の if 文でトークン見て分けないといかんのがちょっと。そこをルールに出してるんちゃうんか。