32 typedef typename compositor_t::function function_t;
36 symbol_table_t symbol_table;
38 symbol_table.add_package(io_package);
40 compositor_t compositor(symbol_table);
43 function_t(
"fibonacci")
46 (
" (n < 2) ? n : fibonacci(n - 1) + fibonacci(n - 2); " ));
49 const std::string fibonacci_program =
50 " const var n := 35; "
52 " for (var i := 0; i <= n; i += 1) "
54 " var fib_i := fibonacci(i); "
55 " println('fib(',i,') = ', fib_i); "
58 expression_t expression;
59 expression.register_symbol_table(symbol_table);
62 parser.compile(fibonacci_program,expression);
71 printf(
"Total time: %8.4fsec\n",timer.
time());