Я ищу чистый способ C ++ для анализа строки, содержащей выражения, заключенные в $ {}, и построения строки результата из выражений, полученных программным способом.
Пример: «Hi $ {user} from $ {host}» будет оцениваться как «Hi foo from bar», если я реализую программу, чтобы позволить «user» вычислить значение «foo» и т. Д.
Текущий подход, о котором я думаю, состоит из конечного автомата, который ест один символ за раз из строки и оценивает выражение после достижения '}'. Любые советы или другие предложения?
Примечание: boost :: приветствуется! : -)
Обновление Спасибо за первые три предложения! К сожалению, я сделал пример слишком простым! Мне нужно уметь проверять содержимое в $ {}, так что это не простой поиск и замена. Возможно, он скажет $ {uppercase: foo}, а затем мне придется использовать «foo» в качестве ключа в хэш-карте, а затем преобразовать его в верхний регистр, но я пытался избежать внутренних деталей $ {} при написании исходного вопроса выше ...: -)