我最近一直在寻找Boost.Spirit(Boost 1.39中包含的版本),但是我对单独的文档很困惑.我正在寻找的是一个用Boost.Spirit实现的玩具语言的例子 - 一些微小的Javascript或Lua左右的东西,你基本上创建一个AST和进程.如果它只支持函数/变量定义和基本运算符,我会很高兴,我只想看看如何使用Boost.Spirit创建一个普通的AST,以及如何实现标识符,声明等基本规则.
到目前为止,我已经尝试过计算器示例,但我不清楚如何使用Spirit实现更大的语法.另一方面捆绑的mini_c示例看起来已经非常复杂了,并且记录得不是很好.是否有一些易于理解的Boost.Spirit指南,或者可能是一本书?
来自CP的介绍性文章
使用CodeProject中的Boost.Spirit实现的JSON解析器
精神应用程序库
Spirit文档包括示例和教程.包括为类似于迷你XML的语言生成AST的示例.Joel de Guzman和Hartmut Kaiser也提供了非常有用的概述.
请记住,有一个更新的提升精神版本与全新的方法生成AST.