boost-spirit-x3相关内容

在x3中动态切换符号表

鉴于以下正确解析的x3语法,我想添加参数,限定词和属性的验证.这似乎表明了一种在各种规则中动态切换正在使用哪个符号表的方法.实现此目的的最佳方法是什么?这似乎是语义动作和属性的某种混合,但我不清楚如何实现. #include #include #include #include #include #i ..
发布时间:2020-09-22 05:20:45 C/C++开发

Boost Spirit x3无法编译

我正在关注boost网站上的x3文档,并且我尝试使用后面的注释示例中解释的内容来扩展有关如何组织代码的示例. 编译项目时(使用g ++或MSVC)时出现以下错误: 错误:没有匹配的函数可以调用'boost :: spirit :: x3 :: unused_type :: get()' 在函数on_success的第一行中,以下代码: // tag used to get the ..
发布时间:2020-09-22 05:20:36 C/C++开发

用Boost Spirit X3编写解析器对未来有多安全?

我正在考虑永远写本质上是我的第一个解析器(=自从我最忘记的Uni编译器类以来). 自从我使用C ++以来,我一直在考虑使用Boost Spirit.然后我注意到有一个“常规" 2.5.2,还有一个名为Spirit X3的代码的神奇子集. 我还注意到,Boost Spirit X3已于2年前宣布/讨论/预发布,但Boost Spirit的正式版本是2.5.2.最后,我读到: boo ..
发布时间:2020-07-31 01:33:34 其他开发

Boost Spirit x3条件(三元)运算符解析器(后续问题)

此问题是 中问题的后续问题 Boost Spirit x3条件(三元)运算符解析器 原始问题上下文没有显示ast属性(我不好!),因此答案无法考虑所有活动部分.现在,该问题说明ast属性的外观以及如何使用ast通过符号表评估表达式. 因此,后续的问题是正确拼写的三元条件应该如何改变ast类型以及条件和表达式如何相互作用(根据我的理解,它现在不属于x3 :: variant的一部分)从主 ..
发布时间:2020-05-25 01:20:07 C/C++开发

X3,如何填充更复杂的AST?

尝试生成一个像雇员示例这样的AST,它不仅包含雇员.以我目前的心态,RExpressions示例并没有帮助我.我没有编译示例,但是据我所知,我在员工示例中添加了团队,部门和公司. 我的问题是要了解如何将不同的结构添加到变体中,以及如何将变体添加到phrase_parse中. 在此示例中,可能有多条相同的线紧挨着.因此想知道是否需要进行AST递归. #include ..
发布时间:2020-05-25 01:17:56 C/C++开发

分裂后增强精神x3的奇怪语义行为

我将语法分解为推荐的parser.hpp,parser_def.hpp,parser.cpp文件后,遇到了boost spirit x3的奇怪行为. 我的示例gramar解析了一些简单的枚举: enum = "enum" > identifier > "{" > identifier % "," > "} 这是我的枚举语法. 当我不将枚举和标识符解析器拆分为推荐的文件时,一切正常,尤其是 ..
发布时间:2020-05-25 01:09:02 C/C++开发

使用boost :: spirit :: x3从std :: string解析为boost :: string_view

在我的我上一个问题中,建议我的 boost :: spirit :: x3 解析器的性能可以通过解析为 boost :: string_view 使用 raw 指令。 但是,我无法编译。 这是我发现的: 之前 x3 ,则必须专门处理 assign_to_attribute_from_iterators (请参阅此SO回答 )来处理 raw 指令。 x3 现在使用 move_to ..
发布时间:2016-10-30 04:49:32 C/C++开发