小编Dav*_* O.的帖子

Boost :: Spirit难以解析字符串

我正在尝试使用Boost :: Spirit解析字符串,但是我无法使其正常工作。从今天开始,我没有使用Boost :: Spirit的经验。

该字符串由用“;”分隔的命令组成。这些命令是

“ INC someInteger”

“ BOMB第一整数第二整数”

“移动第一整数第二整数第三第三整数”

“ MSG someString”

“等待”

我设法做到了这一点:

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

using namespace boost::spirit;

int main() {    
    std::string testInput = "MOVE 1 2 43;BOMB 0 3;INC 6;MOVE 2 3 99;MOVE 1 2 6";

    typedef std::string::iterator iter;
    using boost::phoenix::ref;

    iter start = testInput.begin();

    std::vector<int> IncCommands;
    std::vector<std::pair<int, int>> BombCommands;
    std::vector<std::tuple<int, int, int>> MoveCommands;

    qi::rule<iter, std::vector<int>(), ascii::space_type> nextIncrease = ("INC " >> qi::int_);
    //qi::rule<iter, std::vector<std::pair<int, int>>(), ascii::space_type> nextBomb = ("BOMB " >> qi::int_ …
Run Code Online (Sandbox Code Playgroud)

c++ parsing boost boost-spirit qi

2
推荐指数
1
解决办法
407
查看次数

标签 统计

boost ×1

boost-spirit ×1

c++ ×1

parsing ×1

qi ×1