2009-07-14 365 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的全新的方法。