Обработка побегов с помощью Spirit Parser Framework

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

<junk> -somearg#this is a string with a literal ## in it# <junk>

То, что я ищу, - это грамматика, которая может извлекать часть внутри знаков #, но умна, чтобы пропускать двойной ## в середине, который является escape-символом, означающим буквальный #.

Это было то, что я имел в виду:
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
Однако это возвращает:
#this is a string with a literal ##
Я бы хотел, чтобы он пропускал ## символов .... возможно ли это?

Билли3


person Billy ONeal    schedule 30.05.2009    source источник
comment
+1, потому что я до сих пор не знал о Spirit Parser Framework. Чтение документов.   -  person Sahas    schedule 01.06.2009


Ответы (1)


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

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

person Billy ONeal    schedule 31.05.2009