C++ 上下文自由语法库

c++ context free grammar library

本文关键字:语法 自由 上下文 C++      更新时间:2023-10-16

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

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

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

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

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