boost-spirit

    0热度

    1回答

    我有问题得到一个小精神/ qi语法编译。构建堆栈跟踪的fugly足够多到没有任何意义,我(尽管有些assertion_failed我可以在那里看到,但没有带来多大的信息) 输入语法标题: inputGrammar.h #include <boost/config/warning_disable.hpp> #include <boost/spirit/include/qi.hpp> #inclu

    1热度

    3回答

    我有这个简单的解析器,旨在解析VB风格双引号字符串。因此,解析器应该把类似 "This is a quoted string containing quotes ("" "")" 成 This is a quoted string containing quotes (" ") 这里的输出是我想出了这个语法: namespace qi = boost::spirit::qi; names

    0热度

    2回答

    我正在学习如何使用boost精灵齐二进制的末尾解析器。我根据here和basics examples编写了一个小测试解析器程序,但它不能正常工作。它给了我味精:“错误:不匹配”。 这是我的代码。 #include "boost/spirit/include/qi.hpp" #include "boost/spirit/include/phoenix_core.hpp"

    4热度

    1回答

    我是Boost.Spirit.Lex中的新手 每次我在我的简单词法分析器中尝试在语义操作中使用lex :: _val时,都会出现一些奇怪的错误: #ifndef _TOKENS_H_ #define _TOKENS_H_ #include <iostream> #include <string> #include <boost/spirit/include/lex_lexertl.hpp

    4热度

    1回答

    我有问题得到一个小精神/ qi语法编译。我使用boost 1.43和g ++ 4.4.1。 输入语法标题: 构建错误似乎指向'指令'规则的定义,也许它是'[sp :: _ val = sp :: _ 1]',但以某种方式破坏它或多或少基于什么精神文档教程与XML解析器节点做 inputGrammar.h #include <boost/config/warning_disable.hpp> #i

    50热度

    1回答

    在这个article about boost spirit semantic actions应提到的是 实际上有2个参数 传递:解析器上下文和 引用到布尔“重灾区” 参数。解析器上下文是 ,只有当语义动作 附加到某个规则的右侧 的某处时才有意义。我们很快就会看到更多关于此的信息 。 布尔值可以设置为false 里面的语义动作无效 匹配回溯,使得 解析器失败。 一切都很好,但我一直在试图找到传递一个

    9热度

    1回答

    我试图解析C函数像树这样的表达式如下(使用Spirit Parser Framework): F(A() , B(GREAT(SOME , NOT)) , C(YES)) 在此,我想使用在以下三个规则语法: template< typename Iterator , typename ExpressionAST > struct InputGrammar : qi::grammar<Iter

    3热度

    1回答

    好 我想建立一个语法,目前它看起来像这样: #ifndef _INPUTGRAMMAR_H #define _INPUTGRAMMAR_H #include <boost/config/warning_disable.hpp> #include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/phoenix_cor

    3热度

    1回答

    假设我有一个像这样的Boost Spirit语法,其中父规则将继承的属性传递给其子级。 template <typename Iterator> struct MyGrammar : qi::grammar<Iterator, vector<Foo>()> { qi::rule<Iterator, vector<Foo>()> start; qi::rule<Iterat

    3热度

    1回答

    我已经创建了一个测试应用程序来说明我的问题。它解析由“a =”或“b =”开始的整数列表,并用“\ r \ n”分隔。该列表包含以任意顺序出现的多个这些字段。 #include <string> #include <vector> #include <iostream> #include <boost/spirit/include/qi.hpp> #include <boost/spi