1
我刚开始使用Spirit X3,我有一个与我的第一次测试有关的小问题。你知道为什么这个函数返回“false”吗?从精神开始X3
bool parse()
{
std::string rc = "a 6 literal 8";
auto iter_begin = rc.begin();
auto iter_end = rc.end();
bool bOK= phrase_parse(iter_begin, iter_end,
// ----- start parser -----
alpha >> *alnum >> "literal" >> *alnum
// ----- end parser -----
, space);
return bOK && iter_begin == iter_end;
}
我见过这个问题与我如何编写语法有关。如果我用这个替换它,它返回“真”
alpha >> -alnum >> "literal" >> *alnum
我使用包括在Boost 1.61.0中的Spirit版本。
由于提前,
森
在这里,您可以在线测试代码:http://coliru.stacked-crooked.com/a/0ce333c6e9f75f66 – Sen