Boost.Spirit是一组用于解析和输出生成的C ++库,使用表达式模板和模板元编程实现为域特定嵌入式语言(DSEL)。 Spirit库使目标语法能够专门用C ++编写。内联语法规范可以与其他C ++代码自由混合,并且由于C ++模板的生成能力,可以立即执行。
我决定学习Boost Spirit并开始学习看这里。但是,我很失望,因为第一个示例 calc1.cpp 没有在我的计算机上编译,并且给出了以下错误消息: 计算...
我有一个逗号分隔的 id 对列表,空列表也有效 a b, c d 我的规则是 id > id 的预期序列 有效 但是当我尝试在前面添加一个可选的整数值时,例如 -...
免责声明:这是一个更大的解析器的一部分 - 简化以解释我的问题 我遇到的情况是,我可以拥有 3 种类型的标识符起始 rhs 值 - .并且:只是一个例子...
为什么 Spirit 不抛出 qi::expectation_failure 而只是用未解析的左值解析 ok?
我(故意)遗漏了真正的单元测试和语法推导;) 似乎只有当 Spirit 已经检测到规则适用(从一开始)时,期望才相关,否则
我得到了一个基于 Spirit 的工作解析器+AST,可以解析参数初始化 - 一切正常 遗憾的是,有一些(旧的)数据库想要 AST 的一部分作为原始字符串(我在...
更新:我自己修复了它,请参阅我自己的答案 “a b c, a b c,...”的(可选空)列表应解析为 std:vector 它或多或少有效 剩余问题:空字符串无法...
尝试解析一个简单的“\s*identifier\s+identifier\s+identifier\s*”字符串
我想解析这样的字符串 “呜呜呜呜” ” 球状 布利布 废话 ” “呜呜呜” 并提取“blub”、“blib...
我总是在使用精神解析器时失败,这次我试图找出如何实现一个极其简单的目标:将三个单词解析为 3 个字符串的元组 - 我什至无法让它工作......
请告知升压精神替代运营商。 test_parser() 发布在官方网站上。 test_parser("你好",字符串("地狱") | 字符串("你好")); 输出...
如何在 Boost::Spirit::x3 中执行通用的可重用规则?
在我目前正在开发的解析器中,我正在编写一些规则/“子解析器”,其大小相当重要。问题是:因为这个解析器可能需要编译器付出一定的努力......
我是个新手,也许这甚至是很容易得到的东西。 但是,编写 boost::spirit 解析器的最佳方法是什么?该解析器允许您仅在单词是孤立的情况下才匹配字符串中的单词? 示例...
感谢任何帮助。我正在编写一个解析器,它可以与 GCC 4.9.3 + Boost 1_55 及更早版本一起使用,但不能与 Boost(或 GCC)的更高版本一起使用。 错误是: 错误:与“operator->”不匹配(操作数 t...
boost::spirit::错误:'struct xxx'中没有名为'value_type'的类型
我正在尝试我的第一个精神解析器,似乎我遇到了属性传播问题。尝试 plantuml 语法。如果我破解它就该死,如果我不破解就该死...... 完整要点是
使用 boostspirit 识别带双括号的令牌字符串时遇到问题
解析字符串时: 1815 ((sd-pam)) S 1778 1778 1778 ... 我试图省略“((sd-pam))”标记 我使用了以下内容: omit_string %= lexeme['(' >> +(char_ - ')') >> '...
使用 Boost Spirit 将 INI 文件解析为结构时出现问题
我正在尝试使用以下代码将 INI 文件信息存储在结构中: #包括 #包括 #包括 #我...
使用 Boost.Spirit 解析 INI 部分时出现问题
我正在为一个大学项目研究解析器。我发现了 Boost.Spirit 并决定使用它。在阅读其文档并实现一些基本示例后,我尝试制作一个解析器
Boost Spirit x3:解析向量,但仅有条件地将项目放入结果
考虑 (int ":" int )* 形式的字符串。我想按以下方式将这样的字符串解析为整数向量:如果第二个值是奇数,则将第一个值添加到结果中。其他...
我正在尝试解析以下形式的字符串: f 1 2 3 4 f 1 2 3 f 1 2 3 4 5 使用增强精神,我有: 使用 boost::spirit::qi::uint_; 使用 boost::spirit::qi::double_; 使用 boost::spirit::qi::_1; 你...
使用 boost::spirit::x3 v1.84 编译错误
请注意,此代码在 boost v1.69 的spirit x3 上编译时没有错误,该代码最初是为此开发的。错误起源于 x3::parse() 行,但使用此模板噪声......
Boost Spirit X3 中属性类别的模板实例化不明确
我正在为计算器编写一个简单的解析器,我希望有一个变体运算符作为参数传递来构造表达式。 #包括 #