2009-07-14 91 views
25

我最近一直在寻找Boost.Spirit(包含在Boost 1.39中的版本),但是我从文档中很困惑。我在寻找的是一个用Boost.Spirit实现的玩具语言的例子 - 沿着微小的Javascript或Lua等等的线条,你基本上创建了一个AST和过程。如果它只支持函数/变量定义和基本操作符,我会很高兴,我只想看看如何使用Boost.Spirit创建一个正常的AST,以及如何实现基本规则,如标识符,声明等。Boost.Spirit入门指南?

到目前为止,我已经试过了计算器的例子,但是我不清楚如何用Spirit来实现更大的语法。另一方面,捆绑的mini_c示例已经非常复杂,并且没有太多的文档记录。有没有一些容易理解的Boost.Spirit指南,或者一本书可能?

+0

如果您想了解新的Boost Spirit X3,我会推荐[此视频](https://www.youtube.com/watch?v=xSBWklPLRvw)。幻灯片可以在这里找到(http://ciere.com/cppnow15/using_x3.pdf)。 – 2017-07-07 22:38:13

回答

10
+2

这是我自己在JSON使用Spirit V2 https://github.com/sehe/spirit-v2-json进行比较 – sehe 2013-09-15 11:10:40

+0

这是Dobbs博士的一篇很好的文章:[http://www.drdobbs.com/ cpp/the-spirit-parser-library-inline-parsing/184401692](http://www.drdobbs.com/cpp/the-spirit-parser-library-inline-parsing/184401692?pgno=1) – evilspacepirate 2014-05-03 04:36:58

5

请记住有一个新的提升精神版本对生成AST的全新的方法。