boost spriti で symbols に対して、no_case を使うときは小文字が必須2024年01月25日 12時07分55秒

Boost Spriti は C++ で書けるパーサー。symbols は map を利用して、値の変換をする時に便利。

no_case は文字列をパースする時に使う。これを使うと、大文字小文字を無視できる。

最近、spirit qi no_case directive applied to grammar を見付けた。これによると、no_case は小文字で指定するとある。実は、no_case は以前から利用しているが、大文字で指定しても問題なく動作している。

しかし、最近 symbols に no_case を試してみたら、確かに symbols 越しに利用する場合は小文字にしないと動作しない様だ。