boost.spirit,是boost库的一个部分,是一个LL文法解析器,支持EBNF表达式。
boost.spirit 本身是一套设计非常精巧的结构,由一系列完全正交的功能模块组成,除去核心的Parser,你可以感觉不到任何其他外围模块的存在。
boost.spirit 又一次的将C++ 的各个语言特性威力发挥到极致,尤其对templates的运用令人眼花缭乱,目不暇接,继承了boost的优良传统。通过C++重载运算符,boost.spirit 提供的EBNF表达式表示方法几乎可以以假乱真,你都怀疑是否还仍然在C++环境中编程。如果说以前面向语言(OOL)的想法还只是一个新鲜的构思,那么boost.spirit是否已经是一个超前的实验?
我阅读boost.spirit代码有一段时间了,越是深入,越是着迷。为了不致在这个template迷宫里丢失,每往前一步,都会留下印记。
可惜的是,我用word记录的文档,不能很好的贴到此blog上。如果想要全文的请联系我(全文仍未完成)。
关于boost.spirit的使用方法,请参考boost.spirit的帮助文档;我只关注其实现。
Boost.Spirit作为Boost库的一部分,是一个支持EBNF表达式的LL文法解析器。它采用了一种高度模块化的设计,并充分利用C++的特性,尤其是模板,使得语法定义极其直观,接近于EBNF本身的书写方式。
5997

被折叠的 条评论
为什么被折叠?



