29 const std::string expression =
"a * sin(3x) + foo(abs(y - z) / w)";
37 symbol_table.
add_function(
"foo",[](T )->T {
return T(0); });
39 std::deque<std::string> variable_list;
40 std::deque<std::string> function_list;
44 printf(
"Error: Failed to collect variables for expression: %s\n",expression.c_str());
45 variable_list.clear();
50 printf(
"Error: Failed to collect functions for expression: %s\n",expression.c_str());
51 function_list.clear();
54 for (
const auto& var : variable_list)
56 printf(
"variable: %s\n",var.c_str());
59 for (
const auto& func : function_list)
61 printf(
"function: %s\n",func.c_str());