Boost Spirit Внедрение небольшого однострочного DSL в серверном приложении

Извиняюсь, если на этот вопрос уже был дан ответ.

Я хочу вставить небольшой DSL в серверное приложение, над которым я работаю. Синтаксис очень прост, и даже на этом раннем этапе я в тупике. Я просто могуЯ не могу понять, как создать синтаксис в духе.

Вот пример синтаксиса, который я хочу проверить:

WHERE [not]  [ and | or  ]  [parameters]

Предложение WHERE выберет несколько объектов из внутреннего хранилища, протестировав на них именованные свойства. Вектор выбранных объектов затем передается в качестве ввода в объект команды.

Есть 2 возможных теста, которые я хочу выполнить на каждом объекте:

 = "value"

а также

 like 

Также есть 2 команды:

print  [,  [...]]

а также

set  = "value" [,  = "value" [...] ]

поэтому примеры синтаксиса были бы:

where currency like "GBP|USD" set logging = 1, logfile = "myfile"

а также

where not status = "ok" print ident, errorMessage

Я знаю, что это большой вопрос, но мне интересно, есть ли какие-нибудь эксперты по духу, которые могут выбить этот синтаксис за несколько секунд? Я дошел до анализа LIKE и =, но застрял при попытке смешать это с AND, OR и NOT. Для меня проблема в том, что я не знаю, с чего начать, думая о том, как дух справится с этим ».

Ответы на вопрос(1)

Ваш ответ на вопрос