14得票1回答
Boost Spirit X3无法使用变量因子编译重复指令。

我正在尝试使用Boost Spirit X3指令repeat以可变重复因子。 基本思想是标题+有效载荷,其中标题指定有效载荷的大小。 一个简单的例子“3 1 2 3”被解释为header = 3,data = {1,2,3}(3个整数)。 我只能在spirit qi文档中找到示例。 它使用b...

11得票1回答
在Spirit X3解析器规则中消除左递归问题

我目前在尝试使用boost spirit x3解析一条规则,但卡住了。 这是我正在尝试解析的EBNF(使用spirit的%运算符表示列表): type ::= class_type | lambda_type lambda_type ::= more_arg_lambda | one_ar...

10得票1回答
boost-spirit 3在哪里?它是否已被放弃?

我找不到任何关于boost spirit 3的下载链接。似乎官方网站在去年十二月底就不再提及了? 它去哪了?

10得票1回答
不明确的变体和boost spirit x3

尝试修改Boost Spirit X3计算示例,以解析可以接受函数作为参数的函数。但它无法编译。namespace client{ namespace ast{ struct ts; struct fnc; typedef boost::variant< ...

9得票1回答
避免将两个连续的相同类型属性合并为向量的 Boost.Spirit.x3

我是一名学习Boost.Spirit的初学者,但我遇到了困难。 我正在尝试将一个字符串解析成以下结构: struct employee { std::string name; std::string location; }; 当两个相同类型的属性挨在一起时,它们会逻辑上...

8得票2回答
Spirit X3,语义动作使编译失败:属性大小不符预期。

这段代码无法编译(gcc 5.3.1 + boost 1.60): #include <boost/spirit/home/x3.hpp> namespace x3 = boost::spirit::x3; template <typename T> void p...

8得票3回答
使用 boost spirit x3 进行编译所需时间

我正在尝试了解新的Spirit X3(boost 1.61.0)。 我的电脑是一台运行Linux的MacBook Pro(i7-4750HQ)。 之前我使用过Spirit的第二个版本,已经习惯了较长的编译时间,但这次似乎不太对劲。 对于表达式解析器的以下初步步骤,编译需要20秒。 我原以...

8得票1回答
Boost Spirit X3是否已经可以投入生产?

我正在将一个手写的解析器迁移到 Boost.Spirit (2.5.4)。我的第一印象很好,但由于我使用的是 C++17,因此 X3 似乎是一个非常有吸引力的选择。 幸运的是,有许多关于 X3 的资源: 许多 Stackoverflow 上关于 X3 的问题 一些 YouTube 上关于...

7得票1回答
使用单独的规则定义和实例化时,Boost Spirit X3 AST与语义动作不兼容。

我正在尝试使用Boost Spirit X3和语义动作将结构解析为AST。如果我使用没有分开定义和实例化的规则,它可以正常工作,例如: #include <vector> #include <string> #include <iostream> #inc...