Как построить грамматику со значением по умолчанию с помощью Boost Spirit?

Я анализирую научный текст, формат которого похож на

Keyword
{ 1.0  22.2  59.6 'cm' 'yes' }

Я плохо знаком с духом, и после изучения документа я могу использовать дух для решения ключевого слова фиксированного формата.

Но для следующего формата я не знаю, как построить грамматику. У меня вопрос: В ключевом слове Scientific, с которым я встречался, для некоторых элементов данных можно использовать встроенные значения по умолчанию. Описание ключевого слова указывает, когда могут применяться значения по умолчанию. Есть два способа установить для количеств значения по умолчанию. Во-первых, при преждевременном завершении записи данных косой чертой '}' оставшиеся неуказанные количества устанавливаются на значения по умолчанию. Во-вторых, выбранные количества, расположенные перед '}', можно установить по умолчанию, введя n *, где n - количество последовательных количеств, которые должны быть установлены по умолчанию. Например, 3 * приводит к тому, что следующим трем величинам в данных ключевого слова присваиваются значения по умолчанию.

Например,

Person
{ 'Tom' 188 80 'male' 32 }

говорят, что «мужской» и «32» являются значениями по умолчанию, и его эквивалент может быть:

Person
{ 'Tom' 188 88 2* }

] или

Person
{ 'Tom' 188 88 'male' 1* }

или

Person
{ 'Tom' 188 88 }

Я искал прошлые сообщения, и этот дает мне некоторое представление, но как мне написать правило n *?

5
задан Community 23 May 2017 в 10:29
поделиться