33 symbol_table_t symbol_table;
35 symbol_table.add_function(
"print",
38 printf(
"%1d",
static_cast<int>(t));
42 const std::string e_10k_digits_spigot =
43 " const var num_digits := 10000; "
44 " var a[num_digits] := [2:1]; "
45 " var b[num_digits] := [1]; "
49 " for (var digit := 0; digit < num_digits; digit += 1) "
53 " for (var i := (b[] - 1); i > 0; i -= 1) "
55 " var q := floor(b[i] / a[i]); "
56 " var r := floor(b[i] % a[i]); "
57 " b[i - 1] := b[i - 1] + q; "
61 " print(floor(b[0] / a[0])); "
66 expression_t expression;
67 expression.register_symbol_table(symbol_table);
70 parser.
compile(e_10k_digits_spigot,expression);