В духе X3 можно построить синтаксический анализатор так:Могу ли я получить более быстрый парсер с помощью спиртового X3, когда я использую ожидать оператор
const auto p = ("Number:" >> x3::_int)
| ("String:" >> +x3::alpha);
Если я знаю, что после того, как строка Number
приходит INT и после String
строка все время я могу использовать >
сказать после Number
только приходит число и так далее.
const auto p = ("Number:" > x3::_int)
| ("String:" > +x3::alpha);
Для меня разница заключается в том, что синтаксический анализатор не выполняет синтаксический анализ ввода. Исключение составляет бросок.
Теперь, мой вопрос в том, должен ли я использовать оператор >
над оператором >>
, когда это возможно? Является ли синтаксический анализатор, который будет сгенерирован с использованием >
быстрее, чем тот, который используется только с помощью оператора >>
?
Нет - '' '' '' '' '' '' '' '', если синтаксический анализ не выполняется. – ildjarn
Если вы когда-нибудь задавались вопросом: «Что быстрее», просто измерьте его. –