1

Spirit X3 を使い始めたばかりで、最初のテストに関して少し質問があります。この関数が「false」を返す理由を知っていますか?

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;
}

問題が文法の書き方に関連しているのを見てきました。これに置き換えると、「true」が返されます

alpha >> -alnum >> "literal" >> *alnum

Boost 1.61.0に含まれるSpiritバージョンを使用しています。

前もって感謝します、

セン

4

1 に答える 1