boost-spirit 相关问题

Boost.Spirit是一组用于解析和输出生成的C ++库,使用表达式模板和模板元编程实现为域特定嵌入式语言(DSEL)。 Spirit库使目标语法能够专门用C ++编写。内联语法规范可以与其他C ++代码自由混合,并且由于C ++模板的生成能力,可以立即执行。

为什么这个 Boost Spirit 示例无法编译?

我决定学习Boost Spirit并开始学习看这里。但是,我很失望,因为第一个示例 calc1.cpp 没有在我的计算机上编译,并且给出了以下错误消息: 计算...

回答 1 投票 0

在预期序列列表的前面有一个可选值不允许空字符串

我有一个逗号分隔的 id 对列表,空列表也有效 a b, c d 我的规则是 id > id 的预期序列 有效 但是当我尝试在前面添加一个可选的整数值时,例如 -...

回答 1 投票 0

如何解决裁决不明确?

免责声明:这是一个更大的解析器的一部分 - 简化以解释我的问题 我遇到的情况是,我可以拥有 3 种类型的标识符起始 rhs 值 - .并且:只是一个例子...

回答 1 投票 0

为什么 Spirit 不抛出 qi::expectation_failure 而只是用未解析的左值解析 ok?

我(故意)遗漏了真正的单元测试和语法推导;) 似乎只有当 Spirit 已经检测到规则适用(从一开始)时,期望才相关,否则

回答 1 投票 0

是否可以获取解析后的字符串?

我得到了一个基于 Spirit 的工作解析器+AST,可以解析参数初始化 - 一切正常 遗憾的是,有一些(旧的)数据库想要 AST 的一部分作为原始字符串(我在...

回答 1 投票 0

尝试解析逗号分隔的列表 - 可选空或满空格

更新:我自己修复了它,请参阅我自己的答案 “a b c, a b c,...”的(可选空)列表应解析为 std:vector 它或多或少有效 剩余问题:空字符串无法...

回答 1 投票 0

尝试解析一个简单的“\s*identifier\s+identifier\s+identifier\s*”字符串

我想解析这样的字符串 “呜呜呜呜” ” 球状 布利布 废话 ” “呜呜呜” 并提取“blub”、“blib...

回答 1 投票 0

带有 boost::spirit 的极其简单的解析器失败了

我总是在使用精神解析器时失败,这次我试图找出如何实现一个极其简单的目标:将三个单词解析为 3 个字符串的元组 - 我什至无法让它工作......

回答 1 投票 0

提升精神替代干员

请告知升压精神替代运营商。 test_parser() 发布在官方网站上。 test_parser("你好",字符串("地狱") | 字符串("你好")); 输出...

回答 1 投票 0

如何在 Boost::Spirit::x3 中执行通用的可重用规则?

在我目前正在开发的解析器中,我正在编写一些规则/“子解析器”,其大小相当重要。问题是:因为这个解析器可能需要编译器付出一定的努力......

回答 1 投票 0

使用 Boost Spirit 查找字符串中的孤立单词

我是个新手,也许这甚至是很容易得到的东西。 但是,编写 boost::spirit 解析器的最佳方法是什么?该解析器允许您仅在单词是孤立的情况下才匹配字符串中的单词? 示例...

回答 1 投票 0

如何修复成员运算符 boost 词法解析器的错误 ->*

感谢任何帮助。我正在编写一个解析器,它可以与 GCC 4.9.3 + Boost 1_55 及更早版本一起使用,但不能与 Boost(或 GCC)的更高版本一起使用。 错误是: 错误:与“operator->”不匹配(操作数 t...

回答 1 投票 0

boost::spirit::错误:'struct xxx'中没有名为'value_type'的类型

我正在尝试我的第一个精神解析器,似乎我遇到了属性传播问题。尝试 plantuml 语法。如果我破解它就该死,如果我不破解就该死...... 完整要点是

回答 1 投票 0

使用 boostspirit 识别带双括号的令牌字符串时遇到问题

解析字符串时: 1815 ((sd-pam)) S 1778 1778 1778 ... 我试图省略“((sd-pam))”标记 我使用了以下内容: omit_string %= lexeme['(' >> +(char_ - ')') >> '...

回答 1 投票 0

使用 Boost Spirit 将 INI 文件解析为结构时出现问题

我正在尝试使用以下代码将 INI 文件信息存储在结构中: #包括 #包括 #包括 #我...

回答 1 投票 0

使用 Boost.Spirit 解析 INI 部分时出现问题

我正在为一个大学项目研究解析器。我发现了 Boost.Spirit 并决定使用它。在阅读其文档并实现一些基本示例后,我尝试制作一个解析器

回答 1 投票 0

Boost Spirit x3:解析向量,但仅有条件地将项目放入结果

考虑 (int ":" int )* 形式的字符串。我想按以下方式将这样的字符串解析为整数向量:如果第二个值是奇数,则将第一个值添加到结果中。其他...

回答 1 投票 0

在 Boost Spirit 中解析后跟可变数量整数的字符

我正在尝试解析以下形式的字符串: 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; 你...

回答 1 投票 0

使用 boost::spirit::x3 v1.84 编译错误

请注意,此代码在 boost v1.69 的spirit x3 上编译时没有错误,该代码最初是为此开发的。错误起源于 x3::parse() 行,但使用此模板噪声......

回答 1 投票 0

Boost Spirit X3 中属性类别的模板实例化不明确

我正在为计算器编写一个简单的解析器,我希望有一个变体运算符作为参数传递来构造表达式。 #包括 #

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.