小编Kle*_*n81的帖子

编译简单的提升精神语法

我很难得到一个小的boost :: spirit语法来编译.这是一个较大的语法的一小部分,我遇到了麻烦,我正在尝试测试较小的部分来发现我的问题.基本上这个语法应该做的是解析一个double值,它有任意数量的前导/尾随空格.但是当我尝试编译时,我得到了一些我不理解的问题清单.欢迎任何帮助!代码:grammar.h

#ifndef GRAMMAR_H
#define GRAMMAR_H

#include <boost/spirit/include/qi.hpp>

template <typename Iterator>
struct point_double_grammar : boost::spirit::qi::grammar<Iterator, double()>
{
    /**
     * Constructor used to create the grammar.
     * @param   is_point            boolean indicating if the point is used as decimal.
     * @author  Luc Kleeven
     **/
    point_double_grammar() : point_double_grammar::base_type(d)
    {
        d = *boost::spirit::qi::lit(' ') >> boost::spirit::qi::double_ >> *boost::spirit::qi::lit(' ');
    }
    boost::spirit::qi::rule<Iterator, double()> d;
};

#endif // GRAMMAR_H
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include "grammar.h"

int main(int argc, char *argv[])
{
    point_double_grammar<std::string::iterator> point_grammar();

    bool result = false;
    double …
Run Code Online (Sandbox Code Playgroud)

c++ parsing mingw boost-spirit

4
推荐指数
1
解决办法
1381
查看次数

标签 统计

boost-spirit ×1

c++ ×1

mingw ×1

parsing ×1