Обработка Escape с использованием Spirit Parser Framework - PullRequest
2 голосов
/ 30 мая 2009

Я пытаюсь разобрать строку, похожую на следующую, используя анализатор спирта:

<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 ##
Я бы хотел пропустить символы ## .... это возможно?

Billy3

1 Ответ

2 голосов
/ 31 мая 2009

Я решил это, добавив звездочку клини в парсер confix. В любом случае, спасибо!

*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#')) работает как положено.

...