c ++上下文无关语法库

时间:2013-10-28 06:15:04

标签: c++ parsing grammar context-free-grammar

我需要一个允许我解析文件的c ++库。它不是XML或任何其他标准。看起来我可以用正则表达式来做它,但是我更喜欢我给它一个无上下文语法的东西,它给了我一个解析树。它还必须能够接受浮点值,让我看看它们是什么。

我更喜欢我可以用整个sudo apt-get的东西下载而不必自己安装它。

3 个答案:

答案 0 :(得分:2)

如果你可以使用C ++ 11,你可以使用一个名为PEGTL的头文件库,可以在https://github.com/ColinH/PEGTL找到。这很简单,它只是标题,所以你可以下载库来使用它。

答案 1 :(得分:1)

你看过Boost.Spirit吗? Spirit.Qi看起来像是对你有用: http://www.boost.org/doc/libs/1_54_0/libs/spirit/doc/html/index.html

答案 2 :(得分:1)

标准解决方案仍然是lex / yacc,GNU实现flex / bison。通常用于生成C;但是通过适当的参数化,也可以生成C ++。