boost::spirit メモ

Operators

"*"
0回以上
"!"
0または1回
"+"
1回以上

Primitives

alnum_p
 数字
alpha_p
 アルファベット
eol_p
行末

http://www.boost.org/libs/spirit/doc/predefined_actors.html

  • value は、パースの結果得られた値。
  • ref は、結果を格納するためのオブジェクトへの参照。
  • value_refは、オブジェクトへの参照。
  • vt は、type::value_type 
assign_a(ref)
ref = value
insert_key_a(ref, value_ref)
ref.insert(vt(value, value_ref))

それにしても、boost::spirit は出来上がったバイナリのサイズが大きくなるのが欠点。動的なパーサーだからしょうがない点もあるけど、せっかくならテンプレートであることを利用した出来るだけ静的でコンパクトなパーサも用意してほしいところ…あ、共有ライブラリになってないからサイズが大きいのか orz.