Обработка завершается с использованием фреймворка Spirit Parser Framework
-
06-09-2019 - |
Вопрос
Я пытаюсь разобрать строку, похожую на следующую, используя анализатор spirit:
<junk> -somearg#this is a string with a literal ## in it# <junk>
То, что я ищу, - это грамматика, которая может извлекать часть внутри знаков #, но разумно пропускать двойной ## посередине, который является экранированием, означающим буквальный #.
Это было то, что я имел в виду:
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
Однако это возвращает:
#this is a string with a literal ##
Я бы хотел, чтобы это перескочило через ##
Персонажи....возможно ли это?
Билли3
Решение
Я решил эту проблему, добавив звездочку kleene в анализатор confix.В любом случае, спасибо!
*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
работает, как и ожидалось.
Не связан с StackOverflow