boost-spirit

    1热度

    3回答

    我正在使用Boost Spirit解析器,并且随着解析器解析,语义动作被反映到类ParserActions的一个实例中。 下面是解析器代码(相关部分) struct urdf_grammar : public grammar<urdf_grammar> { template <typename ScannerT> struct definition { definiti

    6热度

    1回答

    我有一个记录分析器,它会抛出几个异常中的一个来指示哪个规则失败。 前面的问题: #include <iostream> #include <sstream> #include <stdexcept> #include <string> #include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/phoeni

    9热度

    1回答

    不应该有一个简单的eol这样做吗? #include <algorithm> #include <boost/spirit/include/qi.hpp> #include <iostream> #include <string> using boost::spirit::ascii::space; using boost::spirit::lit; using boost::spir

    6热度

    2回答

    我一直在努力尝试和(增量)从文档,但没有太大的不同,我没有得到我预期的行为修改示例代码。特别是,当if(我的意图是)它应该传递时(有一个“else”但解析器的那部分在调试期间被移除)时,“if”语句失败。赋值语句正常工作。我有一个“while”语句,它与“if”语句具有相同的问题,所以我相信如果我能找到帮助来弄清楚为什么一个人不工作,应该很容易让其他人去做。它必须有点微妙,因为这几乎是逐字的例子之

    3热度

    1回答

    比方说,我必须定义为像一个语法: some_rule := a b [c [d]] 其中c,并d是可选的,默认为一定值(比方说14)如果不给。如果没有给出该值,我可以将它默认为14吗?我想制作std::vector永远是大小的4 我来最接近的是这样的: qi::rule<Iterator, std::vector<int>(), ascii::space_type> some_rule; s

    1热度

    1回答

    几乎所有的我已经走了,在看了这么远的例子:http://boost-spirit.com/repository/applications/show_contents.php使用旧的语法。我已阅读并重新阅读http://www.boost.org/doc/libs/1_42_0/libs/spirit/doc/html/index.html的实际文档以及其中的示例。我知道Joel在博客http://

    12热度

    1回答

    我已经想出了如何使用精神 - 即我写了一个适度复杂的语法。我总是采取制定计划的方法 - 一次一个子系统。我已经为最高级别的4种类型的复杂模型编写了数据结构。 我想用grammar composed from rules approach一次解析一种类型的顶级类型 - 即我想用一种顶级语法写4个语法。如果这是可能的(我开始怀疑),有人可以张贴一个片段或参考这样做的项目。 一个顶级语法与50+(可能更

    4热度

    1回答

    我有模式的一部分,我需要解析一个模型。可以说它看起来像下面这样。 { type = "Standard"; hostname="x.y.z"; port="123"; } 的属性是: 元素可以出现无序的。 作为架构一部分的所有元素都必须显示,而不能包含其他元素。 所有元素的合成属性都放入结构中。 (可选)模式将来可能取决于类型字段 - 即基于类型的不同字段 -

    1热度

    1回答

    我正在写一个小工具来分析简单的B机器替代作为大学研究工作的一部分。该代码成功解析了mySubst形式的测试输入:= var1 + var2。但是,我收到一条弹出式错误消息,说“此应用程序请求运行时以非常规方式终止它。”在命令提示符窗口中,我收到“断言失败的消息”。 // BMachineTree.cpp : Defines the entry point for the console appli

    3热度

    2回答

    Boost lambda允许使用ret<T>模板覆盖推导的返回类型。 我曾尝试在凤凰中搜索等价物,但找不到一个。 菲尼克斯有没有等价物?我知道如何让自己的替代品,但我宁愿不。谢谢