Стоит задача разобрать строку, запрашивая для каждой функции ее значение с сервера. Если функция среди параметров содержит функции, то сначала надо вычислить их значение.
Подскажите какие есть простые способы распарсить такую строку и хранить функции (в том числе при необходимости заменяя\добавляя их значениями)?
Мне пришло в голову парсить с конца записи, находить крайнюю функцию и ее значение добавлять в массив аргументов.
Может быть есть уже какие-то готовые реализации по разбору подобных записей?
Лобовое решение состоит в следующем:
0) Выбросить из строки пробелы и их эквиваленты.
1) Проверить корректность входной строки, чтобы хотя бы скобки стояли корректно.
2) Найти самые глубоко вложенные скобки, слева от них до разделителя (скобки или запятой) стоит имя функции, а в них - аргументы.
3) Вызвать функцию.
4) Врезать на место функции и ее аргументов результатиз п. 4.
5) Вернуться к 2.