Для приложения iOS я хочу проанализировать HTML-файл, который может содержать переменные стиля UNIX, для замены. Например, HTML может выглядеть так:
<html>
<head></head>
<body>
<h1>${title}</h1>
<p>${paragraph1}</p>
<img src="${image}" />
</body>
</html>
Я пытаюсь создать простую грамматику ParseKit, которая предоставит мне два обратных вызова: один для сквозного HTML, а другой для переменных, которые он обнаруживает. Для этого я создал следующую грамматику:
@start = Empty | content*;
content = variable | passThrough;
passThrough = /[^$]+/;
variable = '$' '{' Word closeChar;
openChar = '${';
closeChar = '}';
У меня есть как минимум две проблемы: для переменной
я изначально объявил ее как openChar Word closeChar
, но это произошло не работает (до сих пор не знаю почему). Вторая проблема (и более важная) заключается в том, что анализатор останавливается, когда находит
(т.е. переменную внутри строки в кавычках).
Мои вопросы: