C++ 上下文自由语法库
c++ context free grammar library
我需要一个允许我解析文件的 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++。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 助记符和指向成员语法的指针
- 有人能分解一下这个c++模板的语法吗
- C++避免重复声明的语法是什么
- QMetaObject invokeMethod的基于函数指针的语法
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 如何针对特定情况调试和修复此双自由内存损坏问题
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 将自由函数绑定为类成员函数
- 静态数组的自由动态数组
- 单独定义模板化嵌套类方法的正确语法
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 调试和自由执行中的信号处理
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- 使用基类指针调用基类的值构造函数的语法是什么?
- C++ 上下文自由语法库
- 用Boost.Spirit解析一个标记化的自由形式语法
- 重载运算符== 作为具有模板化参数的自由函数的语法是什么?