开发词法分析器的主要问题是所分析的数据的组成结构具有大量的规则。 例如,C++ 支持很多的语言结构,开发一个相应的词法分析器可能需要无数个 表达式来识别任意所能想象到的 C++ 代码是否有效。

    Boost.Spirit 的基本思想类似于正则表达式。 即不用 表达式来查找指定模式的文本,而是将模式以正则表达式的方式指定出来。 然后就可以使用象 Boost.Regex 这样的库来执行相应的查找国,因此开发者无需关心其中的细节。

    虽然 Boost.Spirit 简化了词法分析器的开发,但是还没有人能够成功地基于这个库写出一个 C++ 词法分析器。 这类词法分析器的开发仍然是 Boost.Spirit 的一个长期目标,不过,由于 C++ 语言的复杂性,目前还未能实现。 Boost.Spirit 目前还不能很好地适用于这种复杂性或二进制格式。