auto a = parse("3 + 4")

assert_equal(eval(a), 7)

assert_equal(1, a.children.size());
assert_equal("3 + 4", a.children[0].text());

def my_fun()
{
  return 1;
}


assert_equal(true, my_fun.has_parse_tree());
assert_equal(false, `+`.has_parse_tree());

assert_throws("Function does not have a parse tree", fun() { `+`.get_parse_tree(); } );

auto& parsetree = my_fun.get_parse_tree();

assert_equal(1, eval(parsetree));

print(parsetree.text());
