Если вы хотите продолжить синтаксический анализ, вы можете зарегистрировать обработчик ошибок, как и раньше, за исключением того, что вы должны указать accept
в качестве политики обработчиков:
rule<Iterator> r = ... > !eps;
on_error<accept>(r, handler);
Добавленный > !eps
вызывает ошибку в любом случае и вызывает handler
как обычно, но он примет совпадение после «ошибки», продолжая, как будто ничего не произошло.