1

X3 の精神では、次のようなパーサーを構築できます。

const auto p = ("Number:" >> x3::_int)
             | ("String:" >> +x3::alpha);

Number文字列の後に int が来て、文字列の後Stringに常に続くことがわかっている場合は、 を使用して、数字だけが来るなど>と言うことができます。Number

const auto p = ("Number:" > x3::_int)
             | ("String:" > +x3::alpha);

私にとっての違いは、パーサーが入力の解析に失敗した場合に例外がスローされることです。

ここで私の質問は、可能な限り>演算子よりも演算子を使用する必要があるかどうかです。>>生成されるパーサーは、演算子>のみを使用するパーサーよりも高速ですか?>>

4

1 に答える 1

1

常に物事をプロファイリングする必要があります。

関係なく:

期待演算子を使用すると、spirit X3 を使用してより高速なパーサーを取得できますか?

代替案のバックトラッキングを防ぐ程度に限られますが、それが必要な場合は、とにかく同じことをしていません。

于 2016-08-13T22:56:52.110 に答える