そろそろ yacc/lex でパーザを書くことに限界(コンフリクトやメンテナンス性)を感じているので、パーザコンビネータなどでコンフリクトがなく、またメンテナンスしやすいパーザプログラミング手法に注目しています. Haskell の Parsec や、 Packrat パーザがそのようなコンフリクトがなくて、かつメンテナンスしやすいパーザ記述手法になるようです. 最近はかなり Python っ子なので、同様なものが Python でないか探したところ、pyparsing という同様なことができるライブラリを見つけました. http://pyparsing.wikispaces.com/ Packrat なパーザも制限がありますがサポートされています. pyparsing を使って簡単な四則演算パーザを作ってみました. それぞれの項 or 式で AST(Abstract Syntax Tr