33 typedef typename compositor_t::function function_t;
37 compositor_t compositor;
40 function_t(
"fibonacci")
52 " while ((x -= 1) > 0) "
62 symbol_table_t& symbol_table = compositor.symbol_table();
63 symbol_table.add_constants();
64 symbol_table.add_variable(
"x",x);
66 std::string expression_str =
"fibonacci(x)";
68 expression_t expression;
69 expression.register_symbol_table(symbol_table);
72 parser.compile(expression_str,expression);
74 for (std::size_t i = 0; i < 40; ++i)
76 x =
static_cast<T
>(i);
78 const T result = expression.value();
80 printf(
"fibonacci(%3d) = %10.0f\n",