Как разобрать формулу из строки?
Например, у меня есть строка((data1 + data2) ^ data3) / data4
и я хочу, чтобы моя маленькая программа получила эту строку и сделала что-то вроде этого:
int main(int argc, char **argv) {
double data1 = 1.0;
double data2 = 2.0;
double data3 = 3.0;
double data4 = 4.0;
double result = parse_formula("((data1 + data2) ^ data3) / data4");
printf("Result is %d\n", result);
return 0;
}
Есть ли в стандартной библиотеке такой парсер? Если нет, то как бы я сам создал такой парсер?